Corso di Raku / Appendice 🆕 / Tipi e macchine per il testo / Espressioni regolari e grammatiche / Exercises / Una grammatica per i nomi completi
Soluzione: Una grammatica per i nomi completi
Ecco una possibile soluzione del compito.
Codice
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>;🦋 Trova il programma nel file grammar-fullname.raku.
Output
Grace
HopperCommenti
Il token
TOPè il punto in cui l’analisi comincia; si riferisce agli altri token per nome con<first>e<last>, che diventano chiavi sulla corrispondenza.$match<first>è un oggetto match; il prefisso~lo trasforma nel semplice testo corrispondente.
Navigazione del corso
← Una grammatica per i nomi completi | Una grammatica che somma →