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!
Me rõhutame siin pidevalt, et on vaja aru saada programmide ülesehitusest ja täitmisest. Kuna meie näidetes on eelkõige avaldised, siis peaks terminoloogiat siin täpsustada. Programmis on meil lauseid (statements) ja avaldised (expressions). Nende peamine erinevus seisneb selles, et avaldisel on väärtus, aga lausetel ei ole. Terminoloogia on siis natuke erinev:
Vaatame nüüd aga avaldise väärtustamist. Internetis levivad sellised näited, kus inimestel on väidetavalt raskusi aritmeetiliste avaldiste väärtustamisega.
Mis on sellise avaldise juures keeruline?
Meil on siin paar kodutööd, kus käsitsi kirjutame just seda, mida ANTLR tegelikult teeb meie eest ära. Käsitsi parseri kirjutamise meetod on üsna elegantne ja väga hea näide rekursiooni kohta, millega tasub tutvust teha.
Käsitsi lekseri kirjutamine on seevastu paras nuhtlus, aga mida võiksite siiski sellest õppida? (Kui ise väga ei jõudnud lahendada, siis näidislahenduse põhjal võiks vaadata...)
Kui ma vaatan lekseri kodutöö lahendusi, siis jääb kohati puudu ülesanne alamülesanneteks tükeldamist. Kui hästi oled (enda hinnangul) ülesanne tükeldanud mõistlikeks alamülesanneteks. Eelkõige soovitan vaadata näidislahenduses, kuidas näiteks kommentaaride töötlemine on eraldatud ja võrrelda oma lahendusega. Kui Sa ise ei tee juba niimoodi, siis palun reflekteeri natuke selle üle.
Kas Sinu arvates ei ole siis niimoodi selgem? Kas tundub, et ühe abimeetodi tegemine on ei ole seda vaeva väärt? (IDE abil võtab see ju kaks sekundit, et see ei saa ju tegelikult olla argument...) Kas Sa siis ei oska niimoodi teha? Või on lihtsalt harjumus, et keegi ei ole öelnud, et nii peab? Ühesõnaga, mõtle natuke...
Kui hästi oled mõistlike abimeetodite abil ülesanne tükeldanud? (kõik vastused on õiged...)
Milline järgmistest grammatikatest genereerivad regulaarse keele? (NB! Grammatika puhul ei ole sulud erilise tähendusega ja sulud on siin lihtsalt tavalised terminalsümbolid.)
Mis on grammatikale vastav regulaarne keel?
Valige igale grammatikale vastav regulaaravaldis. (Tühja hulga sümbol ∅ on regulaaravaldis, mille keelde ei kuulu ühtegi sõne!)
Moodusta grammatika, mille keel on L(a*b), järgmiste reeglite abil. Vali need reeglid, mis kuuluvad õigesse grammatikasse.
Moodusta grammatika, mille keel on {anbn+1 | n ≥ 0}, järgmiste reeglite abil. Vali need reeglid, mis kuuluvad õigesse grammatikasse.
Moodusta grammatika, mille keel on {anbm | n ≥ 0, m ≥ 0}, järgmiste reeglite abil. Vali need reeglid, mis kuuluvad õigesse grammatikasse.
Moodusta grammatika, mille keel on {anbn | n ≥ 1}, järgmiste reeglite abil. Vali need reeglid, mis kuuluvad õigesse grammatikasse.
Get Unlimited Answers To Exam Questions - Install Crowdly Extension Now!