Arvutiteaduse instituut
  1. Esileht
  2. Automaadid, keeled ja translaatorid
EN
Logi sisse

Automaadid, keeled ja translaatorid

  • Üldinfo
  • Ajakava
  • Eksami näidised
  • Teemad
    • 1. Soojendus
    • 2. Regulaaravaldised
    • 3. Automaadid
    • 4. Avaldise struktuur
    • 5. Grammatikad ja lekser
    • 6. Käsitsi parsimine
    • 7. ANTLRiga töötamine
      • Paigaldus
      • Sissejuhatus
      • ANTLRi parsepuu
      • AST klassid
      • Eksami põhiosa!
      • Kodutöö
    • 8. Interpretaator
    • 9. Kompilaator
    • 10. Edasi!
  • Süvendus
  • Bitbucket
  • Moodle
  • Zulip
  • Zoom

7. ANTLRiga töötamine

Tere tulemast ainesse Automaadid, keeled ja translaatorid! Meil on lõpuks Java kordamine lõppenud ja nüüd läheb asi lihtsamaks, sest alustame uue teemaga: grammatika disain ANTLRiga! See on oluline teema, mõnes mõttes aine põhiteema, mida me eksami põhiosas kontrollime. Pühendame sellele teemale kaks nädalat ja siis tuleb meil eksami põhiosa harjutamine.

Kõigepealt õpime ANTLRit kasutama.

  • ANTLRi paigaldus.
  • ANTLRi sissejuhatus.

Me alustame nüüd ANTLRiga. Keele äratundmisel on ANTLR (kahjuks) väga paindlik ja teda eriti ei häiri, kui grammatika on väga segane. Grammatika on aga peegel otse programmeerija hinge! Seega tasub natuke pingutada, et harjutada lihtsust ja puhtust oma disainis ja mõtlemises.

ANTLR loob meile lisaks grammatikale ka parsepuu. Eksami põhiosaks on selline ülesanne, kus tuleb etteantud keele jaoks kirjutada grammatika ja implementeerida vastav teisendus, et sisendi põhjal luua abstraktne süntaksipuu (AST).

  • ANTLRi parsepuu läbimine on põhiasi, millest on vaja aru saada. Grammatika põhjal loob ANTLR parsepuu klassid ja nende läbimiseks on juba tuttav Visitor. Kui grammatika on piisavalt lihtne, siis tegelikult saab otse parsepuu põhjal oma töö ära teha!
  • AST klassidega saame paremini esitada programmi tähendust ja nende loomine on mõistlik, kui tahame edasi töödelda, näiteks teha tüübikontrolli ja programmi optimeerimist.

Praktikumid ja kodutöö on ettevalmistuseks eksami põhiosa jaoks, kus tuleb samuti grammatika kirjutada ja parsepuu töödelda. Eksami põhiosa on väiksem versioon sellest kodutööst. Me anname AST klassid ette. Need klassid on iga ülesanne jaoks erinevad, mistõttu tasub paar näidet ise läbi teha.

  • 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.
Tartu Ülikooli arvutiteaduse instituudi kursuste läbiviimist toetavad järgmised programmid:
euroopa sotsiaalfondi logo