Next: About this document ...
A feladat:
Egy CF nyelvet az
nyelvtan definiál.
Készíts erre a nyelvre (erős) LL(k) elemzőt minél kisebb k-val!
Ezután elemezd az aababb szót!
A megoldás:
Először is át kell alakítani a nyelvtant, hogy ne legyen
balrekurzív (Ez úgy megy, hogy az
szabályok
helyett az
,
szabályokat veszük be. Ezzel a közvetlen balrekurzió már
nincsen és ez most elég is):
,
,
.
Ez már szép nyelvtan, csináljunk
erős LL(1) elemzőt hozzá.
A táblácskák:
|
S |
|
|
,1 |
|
Az elemzőtábla:
|
a |
b |
|
S |
|
,1 |
,
1 |
|
|
|
,
3 |
a |
pop |
|
|
b |
|
pop |
|
|
|
|
ACC |
Az aababb elemzése (elöl az input, aztán a veremtartalom, a veremtető a baloldalon, végül
az output):
Accept
Next: About this document ...
Judit Csima
2000-04-20