Corso di Raku / Espressioni regolari e grammatiche / Grammatiche / Creare grammatiche
Analizzare con parse
Per far girare una grammatica, chiama il suo metodo
.parse con la stringa da analizzare:
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 restituisce un oggetto match quando la grammatica
riconosce l’intera stringa, e Nil quando
non lo fa. Poiché tutto l’input deve corrispondere, non servono le
ancore ^ e $: .parse aggiunge
quel requisito al posto tuo:
say Pair.parse('x=5').defined; # True
say Pair.parse('x=').defined; # FalseL’oggetto match
funziona proprio come quelli che hai incontrato prima. Ogni token usato
nella grammatica diventa una cattura con nome, quindi
$m<key> e $m<value> danno le parti
riconosciute. I token si annidano, quindi una grammatica costruisce un
piccolo albero di corrispondenze — l’argomento di una sezione
successiva.
Pratica
Risolvi 1 quiz sul contenuto di questo argomento.
Navigazione del corso
← La regola TOP | Quiz — Creare grammatiche →
💪 Oppure vai direttamente agli esercizi di questa
sezione.