Raku kurss / Regulārās izteiksmes un gramatikas / Gramatikas / Gramatikas, klases un mantošana / Proto marķieri un alternatīvas

Viktorīna — Gramatikas un mantošana

Ko izdrukā šī programma?

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 manto TOP no Base, taču pārraksta marķieri word, lai tas piemeklētu dog. Kad Pet parsē 'dog', tiek izmantots tās pašas word, tāpēc parsēšana izdodas un .defined ir True.

Kursa navigācija

Proto marķieri un alternatīvas   |   Mantojiet gramatiku