Raku kurss / Regulārās izteiksmes un gramatikas / Gramatikas / Parsēšanas koks, make un made / make un made
Viktorīna — make un made
Ko izdrukā šī programma?
grammar G {
token TOP { <number> { make $<number>.Int ** 2 } }
token number { \d+ }
}
say G.parse('5').made;| 0 | 「5」 |
| 0 | 5 |
| 1 | 25 |
| 0 | 55 |
Iekšējais bloks saglabā uz sakritības
$<number>.Int ** 2. Marķieris satvēra 5;
pārveidojot to par veselu skaitli 5 un kāpinot kvadrātā,
iznāk 25, ko made atgriež.