Курс Raku / Регулярні вирази та граматики / Граматики / Граматики, класи та успадкування / Proto-токени та альтернативи

Тест — Граматики та успадкування

Що надрукує наступна програма?

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 успадковує TOP від Base, але перевизначає токен word так, щоб той зіставлявся з dog. Коли Pet розбирає 'dog', використовується його власний word, тож розбір успішний і .defined дає True.

Навігація курсом

Proto-токени та альтернативи   |   Успадкуйте граматику