Cursus Raku / Addendum 🆕 / Types en tekstmachines / Reguliere expressies en grammatica’s / Exercises / Een grammatica voor volledige namen
Oplossing: Een grammatica voor volledige namen
Hier is een mogelijke oplossing voor de taak.
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>;🦋 Je kunt de broncode vinden in het bestand grammar-fullname.raku.
Uitvoer
Grace
HopperOpmerkingen
Het token
TOPis waar het ontleden begint; het verwijst op naam naar de andere tokens met<first>en<last>, die sleutels op de match worden.$match<first>is een matchobject; het voorvoegsel~maakt er de kale gematchte tekst van.
Cursusnavigatie
← Een grammatica voor volledige namen | Een grammatica die optelt →