Looking for Automaadid, keeled ja translaatorid (LTAT.03.006) test answers and solutions? Browse our comprehensive collection of verified answers for Automaadid, keeled ja translaatorid (LTAT.03.006) at moodle.ut.ee.
Get instant access to accurate answers and detailed explanations for your course questions. Our community-driven platform helps students succeed!
Nüüd võiks reflekteerida eksami teise harjutuse üle. Kuidas Sul läks ja mis valmistas probleeme? Kui see läks hästi, siis võiksid natuke reflekteerida suurema pildi peale.
Grammatika võimaldab meil defineerida keele baaskomponente ja neid kombineerida suuremateks keelekonstruktsioonideks. See on täpselt see, kuidas hea arendaja ehitab üles arvutiprogramme. Kas grammatikate tähendus on Sinuni jõudnud või maadled ainult tehniliste detailidega?
Muidugi võib endiselt kõike muu ka kommenteerida!
Nüüd võib julgelt öelda, et teemasid on meil siin natuke palju. Loengutes on päris palju parsimise teooriat, aga praktikas on rohkem vaja aru saada ANTLRi eripäradest. Mis on siin ikkagi oluline? Ürita tuvastada need väited, millega aine korraldajad nõustuksid!
Hinda ANTLRiga töötamise kogemust. Kas said grammatika tähendusest paremini aru, kui töötasid ANTLRiga või siis, kui tegid käsitsi parserit?
(Siin on kõik vastused õiged.)
Millised järgmistest grammatikatest on LL(1) grammatikad?
Arvutage järgmise grammatika First ja Follow hulkasid:
S → x S B x | y A yA → x A x | zB → x S z| ε
Kui mitte-terminal on "nullable", siis lisame tema first hulka epsilon! (Seda teeb ka jflap.)
Vaatleme järgmist grammatikat, kus on mitteterminaalide S ja B puhul kaks alternatiivi:
S → aSb | bBB → Ba | ε
Määrake milliste sisendsümbolite korral peaks grammatikale vastav LL(1) parser antud alternatiivi valima. (Siin võib juhtuda, et hulgad kattuvad ja deterministlik LL(1) parsimine ei ole võimalik.)
Arvutage järgmise grammatika First ja Follow hulkasid:
S → A S B | zA → a A | εB → b B | ε
Kui mitte-terminal on "nullable", siis lisame tema first hulka epsilon! (Seda teeb ka jflap.)
Arvutage järgmise grammatika First ja Follow hulkasid:
S → a S b | A B aA → b S b | εB → c A a
Kui mitte-terminal on "nullable", siis lisame tema first hulka epsilon! (Seda teeb ka jflap.)
Ülalt alla parsimisel peab iga mitteterminaalsümboli puhul, millal on rohkem kui ühe produktsiooni, otsustama millist alternatiivi valida. Loengus tutvustati LL(1) parsimise algoritm, millega saab õige valiku teha vaadates ühte järgnevat sisendsümbolit (lookahead = 1).
Vaatleme järgmist grammatikat, kus on mitteterminaalide A ja S puhul kaks alternatiivi:
S → Aa | bSA → cA | ε
Määrake milliste sisendsümbolite korral valib antud grammatikale vastav LL(1) parser millist alternatiivi.
Arvutage järgmise grammatika First ja Follow hulkasid:
S → a S B | b AA → a S a | εB → a B b | ε
Kui mitte-terminal on "nullable", siis lisame tema first hulka epsilon! (Seda teeb ka jflap.)
Get Unlimited Answers To Exam Questions - Install Crowdly Extension Now!