Курс 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.