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

Automata, Languages and Compilers 2019/20 spring

  • Üldinfo
  • Eksami näidised
  • Kava
    • 1. Soojendus
    • 2. Regulaaravaldised
      • Regex
      • Java API
      • Challenge*
      • Kodutöö
    • 3. Olekumasinad
    • 4. Avaldise struktuur
    • 5. Grammatikad ja lekser
    • 6. Käsitsi parsimine
    • 7. ANTLRiga töötamine
    • 8. Interpretaator
    • 9. Kompilaator
  • Bitbucket
  • Moodle
  • Fleep!

2. Regulaaravaldised

Sellel nädalal alustasime tööd regulaaravaldistega. Nendega saab siis spetsifitseerida, millised tähekombinatsioonid moodustavad keele sõnu. Neid kasutatakse ka väga palju praktikas teksti otsimisel.

Koduülesande püstitus on siin lehel. Selle lahendamiseks võivad olla kasuks järgmised materjalid. Praktikumis võite küsida abi nende ülesannete kohta ja muidugi ka otseselt enda lahenduskatse kohta.

  1. Regulaaravaldiste kordamine ja kasutamine. Selleks on kindlasti abiks regex101.com ja kui hakkab igav, siis proovige ka mängida Regex Golfi, Regex101 quiz'i või Regex Crossword'i.
  2. Java regulaaravaldiste API harjutused. Siin on eelkõige mõned näited, kuidas kodutöö esimest ülesannet saaks lahendada.

Selle nädala eesmärk on õppida regulaaravaldistega programmeerima, aga seda ainult sellel eesmärgil, et saame seeläbi kirjutada loetavamat koodi! Koodi selgus on oluline! Teised inimesed peaksid saama teie koodist aru. Palun seega eriti tähele panna praktikumides, kuidas näidetes on rühmi kasutatud (eriti ilus on rühmadele nimed anda), et puhtamalt vajalikud osad kätte saada.

Te olete ilmselt kuulnud, et koodi peab dokumenteerima, aga see on eelkõige väline liides, kuhu tuleb suunata oma selgitamistöö. Kui on hästi organiseeritud kood ja õigete nimedega meetodid, siis ei ole sisemist loogikat vaja kommenteerida. Sisemised kommentaarid nagu "siin otsin numbrid sõnes üles" peetakse koodihaisuks, sest koodi struktuuriga on midagi väga mäda, kui peab lisama selliseid kommentaare. Kui selle asemel kasutada selget regulaaravaldist, siis kood räägib enda eest.

  • 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