Курс по Raku / Регулярни изрази и граматики / Граматики / Граматики, класове и наследяване / Proto-токени и алтернативи
Тест — Граматики и наследяване
Какво отпечатва следната програма?
grammar Base {
token TOP { <word> }
token word { 'cat' }
}
grammar Pet is Base {
token word { 'dog' }
}
say Pet.parse('dog').defined;| 1 | True |
| 0 | False |
| 0 | 「cat」 |
| 0 | 「dog」 |
Pet наследява TOP от Base, но
предефинира токена word, за да съпоставя dog.
Когато Pet разбира 'dog', се използва
собственият му word, така че разборът успява и
.defined дава True.