Pitanje sa vezbi
Juce me je neko na vezbama pitao da sta su predikcioni simboli u slucaju
da gramatika ima levu rekurziju kao u primeru:
1. <S> → (<S>)
2. <S> → I
3. <S> → <S>,I
Za prvo stanje imamo konfiguracije:
0. <S'>→ ●<S>┤
1. <S> → ●(<S>)
2. <S> → ●I
3. <S> → ●<S>,I
1) Posmatra se primena algoritma Closure(1) na konfiguraciju 0. Tačka se
nalazi ispred neterminala <S> a iza neterminala <S> se nalazi ┤. U
stanje se dodaju konfiguracije koje odgovaraju smenama kojima je <S> na
levoj strani (konfiguracije 1, 2 i 3). U svim smenama u posmatranom stanju
u kojima je <S> na levoj strani dodaje se ┤kao predikcioni simbol. Na
osnovu ovog pravila u konfiguracijama 1, 2 i 3 se dodaje predikcioni
simbol ┤.
2) Posmatra se primena algoritma Closure(1) na konfiguraciju 1. Tačka se
nalazi ispred terminala ( tako da se ne dodaju novi predikcioni simboli u
konfiguracije.
3) Posmatra se primena algoritma Closure(1) na konfiguraciju 2. Tačka se
nalazi ispred terminala I tako da se ne dodaju novi predikcioni simboli u
konfiguracije.
4) Posmatra se primena algoritma Closure(1) na konfiguraciju 3. Tačka se
nalazi ispred neterminala <S> a iza neterminala <S> se nalazi ",". U
stanje se dodaju konfiguracije koje odgovaraju smenama kojima je <S> na
levoj strani (konfiguracije 1, 2 i 3 – već se nalaze u stanju). U svim
smenama u posmatranom stanju u kojima je <S> na levoj strani dodaje se ","
kao predikcioni simbol. Na osnovu ovog pravila u konfiguracijama 1, 2 i 3
se dodaje predikcioni simbol ",".
Predikcijoni simboli konfiguracija su:
0. <S'>→ ●<S>┤
1. <S> → ●(<S>) , ┤
2. <S> → ●I , ┤
3. <S> → ●<S>,I , ┤
Zadatak je dodat u fajl BottomUp.doc kao 12. zadatak. Tu je objasnjen i
Closure(1) algoritam.
Pozdrav,
Jovan
da gramatika ima levu rekurziju kao u primeru:
1. <S> → (<S>)
2. <S> → I
3. <S> → <S>,I
Za prvo stanje imamo konfiguracije:
0. <S'>→ ●<S>┤
1. <S> → ●(<S>)
2. <S> → ●I
3. <S> → ●<S>,I
1) Posmatra se primena algoritma Closure(1) na konfiguraciju 0. Tačka se
nalazi ispred neterminala <S> a iza neterminala <S> se nalazi ┤. U
stanje se dodaju konfiguracije koje odgovaraju smenama kojima je <S> na
levoj strani (konfiguracije 1, 2 i 3). U svim smenama u posmatranom stanju
u kojima je <S> na levoj strani dodaje se ┤kao predikcioni simbol. Na
osnovu ovog pravila u konfiguracijama 1, 2 i 3 se dodaje predikcioni
simbol ┤.
2) Posmatra se primena algoritma Closure(1) na konfiguraciju 1. Tačka se
nalazi ispred terminala ( tako da se ne dodaju novi predikcioni simboli u
konfiguracije.
3) Posmatra se primena algoritma Closure(1) na konfiguraciju 2. Tačka se
nalazi ispred terminala I tako da se ne dodaju novi predikcioni simboli u
konfiguracije.
4) Posmatra se primena algoritma Closure(1) na konfiguraciju 3. Tačka se
nalazi ispred neterminala <S> a iza neterminala <S> se nalazi ",". U
stanje se dodaju konfiguracije koje odgovaraju smenama kojima je <S> na
levoj strani (konfiguracije 1, 2 i 3 – već se nalaze u stanju). U svim
smenama u posmatranom stanju u kojima je <S> na levoj strani dodaje se ","
kao predikcioni simbol. Na osnovu ovog pravila u konfiguracijama 1, 2 i 3
se dodaje predikcioni simbol ",".
Predikcijoni simboli konfiguracija su:
0. <S'>→ ●<S>┤
1. <S> → ●(<S>) , ┤
2. <S> → ●I , ┤
3. <S> → ●<S>,I , ┤
Zadatak je dodat u fajl BottomUp.doc kao 12. zadatak. Tu je objasnjen i
Closure(1) algoritam.
Pozdrav,
Jovan
Previous by date: Re: 6. zadatak iz TopDown.doc
Next by date: Re: S-gramatika - pitanje za asistenta
Previous by thread: Re: S-gramatika - pitanje za asistenta Next by thread: Dodatne prijave za kolokvijum
Previous by thread: Re: S-gramatika - pitanje za asistenta Next by thread: Dodatne prijave za kolokvijum