Sziasztok! A mai óra anyaga (a fordítók már nem kellenek a zh-ba):
1. Determinisztikus CF nyelvek. Egy nyelv akkor det CF, ha van hozzá
determinisztikus veremeautomata, ami őt fogadja el. Vigyázat! Nem
determinisztikus CF nyelvtan (bármit is jelentsen az, hogy det CF nyelvtan).
2. Véges fordító: definíció, reguláris nyelvek zártak a véges fordításra
(Bizonyítás volt egy példán keresztül, megnéztük a 3. feladatot.
Beadható, hasonlóan menő feladat a 6.(Megjegyzés: nem mindig érdemes a tanult
konstrukciót használni, néha a józan ész többet ér.)),
CF nyelvek is zártak a véges fordításra (Ez csak kimondva szerepelt,
biz nélkül, a biz majd előadáson.) Feladatok közül a 4. és 5. majd csak következő órán lesz, a többi már most volt, részben megbeszélve.
Fordításelmélet
0. Mi a kapcsolat az alábbi két tulajdonság között: (a) egy CF nyelv determinisztikus, azaz létezik hozzá determinisztikus veremautomata (b) egy CF nyelvhez létezik determinisztikus CF nyelvtan 1. Adjatok véges fordítót, ami az alábbi dolgot teszi: bemenetként feletti szavakat vesz és átírja őket feletti szavakká, úgy, hogy az a -t c -re, a b -t meg d -re cseréli. (Nagyon egyszerű!) Megoldás 2. Véges fordító kell megint: bemenő ábécé az és a fordító ezt tegye: ha az utoljára olvasott karakter megegyezik az azelőttivel, akkor írjon x -et, ha különböznek, akkor írjon y -t. Az első karakter beolvasása után ne írjon semmit, így egy n hosszú szöveg fordítása n-1 hosszú lesz. Megoldás 3. Az előbbi fordítóval lefordítjuk azt a nyelvet, mely azon szavakból áll, ahol a szavakban a karakterek száma páratlan. Mi lesz a fordított nyelv automatája? Megoldás 4. Készítsünk szigorúan jellemző nyelvtant az 1. feladatban leírt fordításhoz. Megoldás 5. Bizonyítsuk be: Ha egy fordításhoz van jellemző nyelvtan, akkor van hozzá szigorúan jellemző nyelvtan is. 6. HÁZI FELADAT, BEADANDÓ A fordító ugyanaz, mint fent. A fordítandó nyelv: a szavak a -val kezdődnek, b -vel végződnek és a páros hosszú b -sorozatok száma páratlan. A fordított nyelvre kell automata. Gyakorolni való feladatok 7. Készítsünk olyan véges fordítót, mely minden szó esetén annyi x -et ír ki, ahányszor a w szóban előfordul az abaaba részszó! (Ha pl. w = aabaabaababab , akkor xx lesz az eredmény, mert kétszer, a második és az ötödik pozíciótól kezdve szerepel az abaaba a w szóban.) 8. A fordító ugyanaz, mint fentebb. A fordítandó nyelv a nem szájbarágós palindróma, azaz: . Nyelvtan kell a fordítottra. Megoldás 9. Készítsünk olyan fordító automatát, mely minden szó esetén annyi 0-t ír ki, ahány olyan x kezdőszelete van w -nek, hogy x -ben az a -k és a b -k száma azonos.
|