Curso de Raku / Expresiones regulares y gramáticas / Gramáticas / Gramáticas, clases y herencia / Tokens proto y alternativas

Quiz — Herencia de gramáticas

¿Qué imprime el programa siguiente?

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 hereda TOP de Base pero sobrescribe el token word para que empareje dog. Cuando Pet analiza 'dog' se usa su propio word, así que el análisis funciona y .defined es True.

Tokens proto y alternativas   |   Herede una gramática