Formális nyelvek gyakorlat (plusz)
2005. december 15., csütörtök
1. Legyen a nyelvtanunk a következő:
,
,
. Elemezzük az Earley algoritmussal a
szót!
2. A nyelvtan az
, elemezd az
szót az
Earley algoritmussal és jelöld be, hogy az elemek közül melyeket
használja ténylegesen az elemző!
3. A bemeneti és a kimeneti ábécé is
. A kimenet és a
bemenet is egy természetes szám olyan bináris reprezentációja, melynél
az első karakter jelöli a legkisebb helyiértékű bitet, az utolsó
karakter pedig
. Véges fordító kell, ami a bemenet háromszorosát
állítja elő.
4. A bemeneti ábécé
, a fordítandó nyelvben azon sorozatok
vannak, melyekben minden teljes homogén
-sorozat páros, minden
teljes homogén
-sorozat pedig páratlan hosszú.
A véges fordító az első beolvasott karakter után nem ad ki semmit, a
másodiktól kezdve pedig
-et ír, ha a karakter megegyezik az
előzővel és
-t, ha nem. Készítsünk két automatát:az első azon szavakat
fogadja el, amik előállnak fordításként (vagyis amiknek van olyan
eredetije, ami benne van a fordítandó nyelvben);
a második azon szavakat fogadja el, amiknek az eredetije biztos benne
volt a fordítandó nyelvben.
5. A Coke-Younger-Kasami módszer segítségével határozzuk meg
az
szó összes jobboldali levezetését, ha a nyelvtan
a következő:
6. A CYK algoritmussal (elemzéssel) elemezzük az
nyelvtanban az
(a)
szót
(b)
szót!
Döntsük el, hogy generálhatók-e a nyelvtannal, egyértelműen generálhatók-e és
adjuk meg a levezetési fákat is!