Raku-Kurs / Reguläre Ausdrücke und Grammatiken / Grammatiken / Grammatiken erstellen
Parsen mit parse
Um eine Grammatik auszuführen, rufen Sie ihre Methode
.parse mit der zu untersuchenden Zeichenkette auf:
grammar Pair {
token TOP { <key> '=' <value> }
token key { \w+ }
token value { \w+ }
}
my $m = Pair.parse('x=5');
say $m<key>; # 「x」
say $m<value>; # 「5」.parse liefert ein Match-Objekt, wenn die Grammatik die
gesamte Zeichenkette trifft, und Nil, wenn
nicht. Weil die ganze Eingabe treffen muss, sind die Anker
^ und $ nicht nötig — .parse fügt
diese Bedingung für Sie hinzu:
say Pair.parse('x=5').defined; # True
say Pair.parse('x=').defined; # FalseDas Match-Objekt
funktioniert genau wie jene, die Ihnen früher begegnet sind. Jedes in
der Grammatik verwendete Token wird zu einem benannten Capture,
$m<key> und $m<value> liefern also
die getroffenen Teile. Die Tokens verschachteln sich, eine Grammatik
baut also einen kleinen Baum aus Treffern — das Thema eines späteren
Abschnitts.
Praxis
Lösen Sie 1 Quiz zum Inhalt dieses Themas.
Kursnavigation
← Die TOP-Regel | Quiz — Grammatiken erstellen →
💪 Oder springen Sie direkt zu den Übungen dieses
Abschnitts.