Corso di Raku / Espressioni regolari e grammatiche / Grammatiche / Grammatiche, classi ed ereditarietà / Token proto e alternative

Quiz — Ereditarietà fra grammatiche

Cosa stampa il programma seguente?

grammar Base {
    token TOP  { <word> }
    token word { 'cat' }
}

grammar Pet is Base {
    token word { 'dog' }
}

say Pet.parse('dog').defined;
1True
0False
0「cat」
0「dog」

Pet eredita TOP da Base ma sovrascrive il token word perché riconosca dog. Quando Pet analizza 'dog' viene usato il suo word, quindi l’analisi riesce e .defined è True.

Token proto e alternative   |   Ereditate una grammatica