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;| 1 | True |
| 0 | False |
| 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.