Raku-Kurs / Reguläre Ausdrücke und Grammatiken / Grammatiken / Was ist eine Grammatik
Das Schlüsselwort grammar
Eine Grammatik fasst benannte Regexes unter einem Namen
zusammen, ganz ähnlich wie eine Klasse Methoden zusammenfasst. Sie
deklarieren sie mit dem Schlüsselwort grammar:
grammar Greeting {
token TOP { 'Hello, ' <name> '!' }
token name { \w+ }
}Innerhalb der Grammatik wird jedes benannte Muster mit
token geschrieben (einer Art Regex, die Sie gleich
ausführlich kennenlernen). Ein Token, das üblicherweise TOP
heißt, ist der Ausgangspunkt — es beschreibt das Ganze. Hier sagt
TOP: „der Text ist Hello,, dann ein Name, dann
!“, und name sagt, wie ein Name aussieht.
Die Tokens können sich gegenseitig namentlich aufrufen, genau wie die
benannten
Regexes des vorigen Themas. TOP verwendet
<name>, was die Grammatik lesbar hält: Jede Regel hat
eine klare Aufgabe.
Um eine Grammatik auf eine Zeichenkette anzuwenden, rufen Sie ihre
Methode .parse auf:
my $m = Greeting.parse('Hello, Anna!');
say $m<name>; # 「Anna」Der nächste Abschnitt betrachtet TOP und
.parse genauer. Für den Augenblick ist der Gedanke einfach:
Eine Grammatik ist eine benannte Sammlung benannter Regexes, die
zusammen ein ganzes Stück strukturierten Text beschreiben.
Praxis
Lösen Sie 1 Quiz zum Inhalt dieses Themas.
Kursnavigation
← Quiz — Benannte reguläre Ausdrücke | Quiz — Was ist eine Grammatik →
💪 Oder springen Sie direkt zu den Übungen dieses
Abschnitts.