Arvutiteaduse instituut
  1. Kursused
  2. 2013/14 kevad
  3. Automaadid, keeled ja translaatorid (MTAT.05.085)
EN
Logi sisse

Automaadid, keeled ja translaatorid 2013/14 kevad

  • Pealeht
  • Moodle
  • AKTK
  • Projekt
  • Viited

10. märtsi praktikum

Kodutöö arutelu: Regex → NFA

Kuna kodutöö valmistas mõningaid raskusi, proovime paremini aru saada, kuidas võiks algoritmiliselt teostada regulaaravaldise puu läbimist. Teeme kõigepealt koos läbi (a|b)*b(a|b) teisendamist automaadiks. Valige ise üks järgmistest regulaaravaldistest ja tehke sama protsess läbi:

  1. (a|ε)*b
  2. (a*|b*)ab

Automaatide koostamine: AKTRegexChallenge

Selle ülesanne eesmärk on koostada automaate, mis aktsepteerivad teatud keeli. Ülesannel on kolm eri raskust.

  1. Sõnad, milles esinevad täpselt üks '1' ja vähemalt üks '0'.
  2. Sõnad, mis sisaldavad paarisarv a-sid ja paarisarv b-sid.
  3. Kolmega jaguvad binaararvud.

Kõigepealt võib proovida, kas vastavad keeled õnnestub teil regulaaravaldistena kirja panna. (See on juba alates teisest tasemest väga raske!) Meil on selleks automaatne kontrollija: regex_checker.jar. Palju mõistlikum strateegia on kasutada JFLAP automaadi koostamiseks ja siis lasta JFLAP ise teisendada automaat regulaaravaldiseks. Tuleb aga meeles pidada, et JFLAP kasutab | asemel +.

Automaatidega modelleerimine

  • Näide: bugide haldamine
  • Näide: müügihaldus
  • Autokooli läbimine
  • java.io.InputStream
  • GUId
  • Plokkskeemid?

Lisalugemine: Regulaaravaldised Javas

  • http://docs.oracle.com/javase/tutorial/essential/regex/
  • java.util.regex
  • java.lang.String#replaceAll
  • java.lang.String#split
  • 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