Institute of Computer Science
  1. Courses
  2. 2017/18 spring
  3. Automata, Languages and Compilers (LTAT.03.006)
ET
Log in

Automata, Languages and Compilers 2017/18 spring

  • Üldinfo
  1. Õppekorraldus
  2. Eksam
  3. Reeglid
  4. Töövahendid
  5. Projekt
  • Kava
  1. Soojendus
  2. Regulaaravaldised
  3. Olekumasinad
  4. Lõplikud automaadid
    1. Ehitusklotsid
    2. Püsipunktid*
    3. Kodutöö
    4. Mealy masin*
  5. Avaldise struktuur
  6. Grammatikad ja lekser
  7. Käsitsi parsimine
  8. ANTLR intro
  9. AST loomine
  10. Interpretaator
  11. Semantiline analüüs
  12. Kompilaator
  • Moodle
  • Bitbucket
  • Fleep!

4. Lõplikud automaadid

Selle nädala plaan on Javas implementeerida automaati. See on üks parimaid võimalusi harjutada andmestruktuuride kasutamist! Teil on ju Map ja Set tuttavad andmestruktuurid ja nende abil võiks proovida ise järgmist kodutööd lahendada! Kui Sul kipub aga väga keeruliseks minema (lahendus on üle 100 rida), siis vaata ikka natuke abimaterjale.

  1. NFA esitamise ehitusklotsid. See on nüüd selleks, et natuke harjutada need andmestruktuurid, mida võiks NFA esitamiseks vaja minna. Praktikumis lahendame neid ja selle käigus valmib deterministlik automaat, mille eest saab kodutöös vähemalt kolm punkti.
  2. Püsipunkt ja sulund. See on ainult vajalik, kui tahta seda väga ilusasti lahendada. Vesal ilmselt räägib sellest ka loengus, sest talle need püsipunktid nii õudsalt meeldivad.

Sellel nädalal peatume programmidisaini esimesel ja kõige olulisemal sammul: andmete esitamamine arvutiprogrammis! Programmeerides peab päris maailma probleemi formaalselt mudeldama ja see algab andmestruktuuride valimisest. Kuidagi peame esitama programmi sisendit, väljundit ja programmi sisemist seisundit. Selleks on hea paberil näited läbi mängida!

Selle nädala praktikumis suunatakse teid mingisuguse esituseni, aga see on siin kõige olulisem ja loomingulisem samm. Seega on väga oluline, et üritate ise praktikumis kaasa mõelda, sest kui ainsad loomingulised asjad lasete enda eest ära teha, siis võib ju teid samahästi robotitega asendada...

Süstemaatilise programmidisaini sammud raamatust How to Design Programs:

  • 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