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

Automaadid, keeled ja translaatorid 2016/17 kevad

  • Pealeht
  • 6. Grammatikad ja lekser
    • Grammatika mõiste
    • Grammatika automaadid*
    • Lekseri soojendus
    • Kodutöö
    • Lisatöö
  • Moodle
  • Bitbucket
  • Slack
  • Projekt
  • Töövahendid
  • Õppekorraldus
  • Reeglid
  • Viited

Kontekstivabad grammatikad ja automaadid

Paremlineaarsed grammatikad ja lõplik automaat

  • Veendume JFLAP abil, et iga regulaarne keel on kontekstivaba.
    • Teeme JFLAP-is lahti järgmine automaat: cfg.jff.
    • Valime menüüst "Convert" -> "Convert to Grammar".
  • Konverteerime ka saadud grammatika tagasi automaadiks. Sellega loodetavasti selgub, kuidas igast paremlineaarsest grammatikast võib luua samaväärse automaadi. Seega, iga paremlineaarne grammatika spetsifitseerib regulaarse keele.

Kontekstivaba grammatika ja mägasinmäluga automaat

Igale kontekstivabale keelele vastab magasinmäluga automaat (PDA). Nende automaatide loomise kohta on võimalik informatsiooni leida siit. Alustame järgmise lihtsa grammatikaga (simple.jff):

S → aSb
S → ε

Loome koos sellele vastav automaat. Seejärel proovige ise luua järgmise grammatikale vastav automaat.

S → aSa
S → bSb
S → ε

Tegelikult saab süstemaatiliselt teisendada iga grammatika automaadiks. Selleks on kaks põhilist konstruktsiooni, üks mis vastab LL parseritele ja teine vastab LR parseritele. Võite proovida "Convert CFG to PDA(LL)", aga see on rohkem tuleviku teema.

  • 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