Institute of Computer Science
  1. Main page
  2. Automata, Languages and Compilers
ET
Log in

Automata, Languages and Compilers

  • Ü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
    • 8. Interpretaator
      • Muutujate skoobid
      • Interpreter pattern*
      • Kodutöö A
      • Kodutöö B
    • 9. Kompilaator
    • 10. Edasi!
  • Süvendus
  • GitHub
  • Moodle
  • Zulip
  • Zoom

8. Interpretaator

Me oleme nüüd lõpuks jõudnud aine tuumani. Me saame nüüd interpretaatori läbi anda programmitekstile tähenduse. Lihtsa interpretaatori kirjutamine on selle aine kõige tähtsam ülesanne ja moodustabki eksami alusosa. Me oleme siiamaani väärtustanud pisikesi avaldisi ja muutujate väärtusi oleme otsinud keskkonnast (Map tüüpi argument). AKT keele interpreteerimisel ongi siis vaja mõelda, kuidas muutujate väärtusi hallata ka näiteks plokkides ja funktsioonide väljakutsumisel.

  • Muutujate skoobid. Räägime muutujate skoopidest ja vaatame, kuidas ehitada väärtuskeskkonda, mis muutujate skoopidega arvestab.
  • Interpretaatoritest üldisemalt*. Kui programmeerimiskeele interpreteerimine on kõik selge, siis tasub ka interpretaatori mõistet natuke üldisemalt vaadelda. See ei ole raskem materjal ja võiks pakkuda huvi kõigile, aga meie põhieesmärk siin on ikkagi avaldiste väärtustamisest aru saada!
  • Kodutöö. Tulebki nüüd interpreteerida AKT keelt selle ASTi põhjal, mis on eelmise kodutöö väljund.
  • Alternatiivne kodutöö. Kui tahad oma silmi avada ja näha interpretaatoreid mujal kui ainult programmeerimiskeelte kontekstis, siis on võimalik valida natuke elulisemate rakendustega kodutöö.

Selle teema juures on eriti oluline meeles pidada, et meie peamine eesmärk on arendada alt-üles modulaarset arusaamist programmide täitmisest. Kui saame endale juurutada seda mõtteviisi, siis on lootus, et saame ka programme modulaarsemalt ja puhtamalt disainida.

  • Institute of Computer Science
  • Faculty of Science and Technology
  • University of Tartu
In case of technical problems or questions write to:

Contact the course organizers with the organizational and course content questions.
The proprietary copyrights of educational materials belong to the University of Tartu. The use of educational materials is permitted for the purposes and under the conditions provided for in the copyright law for the free use of a work. When using educational materials, the user is obligated to give credit to the author of the educational materials.
The use of educational materials for other purposes is allowed only with the prior written consent of the University of Tartu.
Terms of use for the Courses environment