Arvutiteaduse instituut
Courses.cs.ut.ee Arvutiteaduse instituut Tartu Ülikool
  1. Esileht
  2. Automaadid, keeled ja translaatorid
EN
Logi sisse

Automaadid, keeled ja translaatorid

  • Üldinfo
  • Ajakava
  • Eksami näidised
    • Imperatiivne Imp
    • Beebiprolog Bolog
    • Paralleelne Parm
    • Uskumatu Hulk
    • Dialektiline Dialoog
    • Puhas Pullet
    • Eestimaine Estolog
  • Teemad
    • 1. Soojendus
    • 2. Regulaaravaldised
    • 3. Automaadid
    • 4. Avaldise struktuur
    • 5. Grammatikad ja lekser
    • 6. Käsitsi parsimine
    • 7. ANTLRiga töötamine
    • 8. Interpretaator
    • 9. Kompilaator
    • 10. Edasi!
  • Süvendus
  • GitHub
  • Moodle
  • Zulip
  • Zoom

Eksam

Paljud videod on siin vanemad, kuid nad siiski kehtivad ka selle aasta eksami kohta:

  • Võib esineda pisikesi erinevusi klasside asukohtades: Go to class (Ctrl+N) või Go to file (Ctrl+Shift+N) käskudega leiab need kergesti üles.
  • Lahendusvideod kasutavad kõigeks visitore, mida meil enam pole, aga lahenduste ideed on endiselt samad ja kasutatavad rekursiivsete meetoditega. Näidislahendused on vastavalt uuendatud.

Eksam koosneb viiest ülesandest. Praktiline osa koosneb tegelikult ainult ühest suurest ülesandest "Kirjuta etteantud keele jaoks interpretaator ja kompilaator", aga me tükeldame seda ülesannet eraldi testitavateks juppideks. Natuke pikemalt selle kohta on meie eksamit tutvustavas videos.

  • Alusosa: Avaldispuu väärtustamine (15p).
    • Alusaosa eriloeng: alusosa näidete lahendamine.
  • Põhiosa: Formaalse keele töötlemine ANTLRiga (15p).
    • Seotud loengud: ANTLRi tutvustus & ASTi loomine.
    • Põhiosa eriloeng: põhiosa näidete lahendamine.
  • Lõviosa: Koodi genereerimine (10p).
    • Seotud loengud: CMa ülevaade ja CMa praktikum (CMa käsustik, vam.jar).
    • Lõviosa eriloeng: lõviosa näidete lahendamine.

Lisaks on seal võimalik punkte teenida oma teoreetiliste teadmistega:

  • Paberil teooriatest (20p).
    • Harjutamiseks on järgmine test, mille eest saab ühe punkti.
    • Lisaks võib järgmises testis kõik küsimuste kategooriad eraldi vaadata.
  • JFLAP: Automaatide joonistamine (10p).
    • Seotud video: Automaatide ühend ja ühisosa.
    • Lisaloeng: Järjest JFlapiga lahendamine.

Eksami praktilise osa harjutused ja näited

Eksami praktiline osa formaat on fikseeritud. Samu asju tuleb teha, aga implementeeritav näidiskeel muutub. Meie näidiskeelte kirjeldused on siin koos, aga me lahendame neid juppide kaupa. Kõigepealt nende alusosad, siis põhiosad ja lõpuks lõviosad.

  1. Imp, lihtne imperatiivne keel.
  2. Bolog, pisike loogilise programmeerimise keel.
  3. Parm, paralleelkomponeerimise mikrokeel.
  4. Hulk, uskumatu hulgatöötlusekeel.
  5. Dialoog, dialektiline tingimuskeel.
  6. Pullet, puhas let-sidumistega keel.

Mõnedel näidiskeeltel on olemas ka meistriosa. Need on suurepärased ülesanded tõelistele meistritele niisama harjutamiseks. Ma saan aru, kui olete kõik viimseni pettunud, et eksamil ühtegi sellist uut ja üllatavat ülesannet ei tule... Eksamil tuleb ülalolevate näidistega sarnased keeled, kuhu on lisatud väike variatsioon. Proovieksami keeleks on Estolog ja iseseisvaks lahendamiseks on eelmise aastate eksamite keeled, mille kirjeldused on kursuse repositooriumis (paketis toylangs):

  1. Sholog, tõeväärtusavaldiste šokeeriv väärtustamine.
  2. Safdi, nulliga jagamist salliv keel.
  3. Modul, modulaarse aritmeetika keel.
  4. Vhile, väga tsükliliste konstruktsioonide keel.

Kuidas eksamiks õppida?

Eksamiks tuleb harjutada, sest see moodustab väga suure osa hindest. Me üritame muidugi semestri jooksul teid just eksamiks ette valmistada!

  • Me teeme loengus kolm sellist proovieksamit, kus harjutame esimest, teist ja kolmandat ülesannet eraldi.
  • Siin lehel on palju eksami näidisharjutusi ja viimased on eelmise aasta eksamid. Hea oleks mingil tasmel kõikide näidetega tutvuda ja iseseisvalt need viimased ära lahendada.
  • Me paneme iga kodutöö juurde ka kirja, kas see on eksami harjutamiseks oluline või mitte.
  • Teooria osa kohta harjutame iga nädal, aga lisaks on viimane kordamistest selline, kus on kõik küsimused uuesti sees. See jääb siis lahti semestri lõpuni.
  • Arvutiteaduse instituut
  • Loodus- ja täppisteaduste valdkond
  • Tartu Ülikool
Tehniliste probleemide või küsimuste korral kirjuta:

Kursuse sisu ja korralduslike küsimustega pöörduge kursuse korraldajate poole.
Õppematerjalide varalised autoriõigused kuuluvad Tartu Ülikoolile. Õppematerjalide kasutamine on lubatud autoriõiguse seaduses ettenähtud teose vaba kasutamise eesmärkidel ja tingimustel. Õppematerjalide kasutamisel on kasutaja kohustatud viitama õppematerjalide autorile.
Õppematerjalide kasutamine muudel eesmärkidel on lubatud ainult Tartu Ülikooli eelneval kirjalikul nõusolekul.
Courses’i keskkonna kasutustingimused