Corso di Raku / Espressioni regolari e grammatiche / Grammatiche / Grammatiche, classi ed ereditarietà / Exercises / Un booleano con proto
Soluzione: Un booleano con proto
Ecco una possibile soluzione del compito.
Codice
grammar Bool {
token TOP { <bool> }
proto token bool {*}
token bool:sym<true> { 'true' }
token bool:sym<false> { 'false' }
}
say Bool.parse('true').defined;
say Bool.parse('false').defined;
say Bool.parse('unknown').defined;🦋 Trova il programma nel file proto-bool.raku.
Output
True
True
FalseCommenti
Il proto token
boolha due varianti con nome,trueefalse.Ogni analisi sceglie la variante che corrisponde, quindi riescono sia
'true'sia'false'. Un proto token è il modo ordinato in cui una grammatica dice «una di queste alternative con nome».'unknown'non corrisponde ad alcuna variante, quindi il proto token non ha nulla a cui affidare il lavoro e l’analisi fallisce —False. Il proto accetta esattamente le alternative che elenchi, e nient’altro.
Navigazione del corso
← Un booleano con proto | L’albero di analisi, make e made →