Corso di Raku / Espressioni regolari e grammatiche / Grammatiche / L’albero di analisi, make e made / make e made

Quiz — make e made

Cosa stampa il programma seguente?

grammar G {
    token TOP    { <number> { make $<number>.Int ** 2 } }
    token number { \d+ }
}

say G.parse('5').made;
0「5」
05
125
055

Il blocco in linea conserva $<number>.Int ** 2 sulla corrispondenza. Il token ha catturato 5; convertirlo nell’intero 5 ed elevarlo al quadrato dà 25, che made restituisce.

make e made   |   Estraete il numero