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!