Raku-Kurs / Anhang 🆕 / Typen und Textmaschinen / Reguläre Ausdrücke und Grammatiken / Exercises / Eine Grammatik für vollständige Namen
Lösung: Eine Grammatik für vollständige Namen
Hier ist eine mögliche Lösung der Aufgabe.
Code
grammar FullName {
token TOP { <first> \s+ <last> }
token first { \w+ }
token last { \w+ }
}
my $match = FullName.parse('Grace Hopper');
say ~$match<first>;
say ~$match<last>;🦋 Du findest den Quellcode in der Datei grammar-fullname.raku.
Ausgabe
Grace
HopperKommentare
Beim Token
TOPbeginnt das Zerlegen; es bezieht sich mit<first>und<last>über den Namen auf die anderen Token, die damit zu Schlüsseln auf dem Treffer werden.$match<first>ist ein Matchobjekt; das vorangestellte~verwandelt es in den schlichten getroffenen Text.
Kursnavigation
← Eine Grammatik für vollständige Namen | Eine Grammatik, die addiert →