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
      • Regex
      • Java API
      • Challenge*
      • Kodutöö
    • 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
  • Bitbucket
  • Moodle
  • Zulip
  • Zoom

2. Regulaaravaldised

Esimene peatus Wettlaufweltmeisteri ja Sinu seiklustel on regulaaravaldiste imelises maailmas. Nendega saab siis kirjeldada, millised tähekombinatsioonid moodustavad keele sõnu. Neid kasutatakse ka väga palju praktikas teksti otsimisel. Nädala lõpuks peaks Wettlaufweltmeister juba oskama

  • otsustada, kas etteantud sõna kuulub regulaaravaldise poolt defineeritud keelde;
  • keerulisemate regulaaravaldiste korral töövahendeid kasutada (regex101.com);
  • Java regex API abil tekstis infot otsida ja teisendusi teha.

See viimane punkt tundub väga praktiline ja kasulik, aga Wettlaufweltmeister on regulaaravaldistest huvitatud rohkem keele sõnavara kirjeldamise eesmärgil, sest tema tahab hirmsasti arvutiprogrammide ülesehitusest ja tähendusest sügavamalt aru saada!

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.

Kui me nüüd õppime regulaaravaldistega programmeerima, siis paluks meeles pidada, et eesmärk on 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.

  • 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