Pok-6-wyk-Slajd48

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Rozwiązywanie konfliktów – konflikt powtórzeń

Rozwiązywanie konfliktów – konflikt powtórzeń


Rozstrzygnięcie tego konfliktu powtórzeń nie jest proste. Gramatyka jest LL(2), czyli wymaga podglądania z wejścia 2 symboli. Należy odpowiednio rozbudować analizator leksykalny, który musi oferować możliwość podejrzenia kolejnego symbolu z wejścia (za pomocą funkcji lookAhead1) i następnego symbolu za nim (za pomocą funkcji lookAhead2).

W wyniku przekształcenia gramatyki pojawia się niestety konflikt alternatyw – obydwie prawe strony mogą być napisami pustymi.

Konflikt alternatyw rozwiązujemy podglądając pierwszy znak z wejścia – jeżeli widzimy na wejściu znak z należy wybrać pierwszą alternatywę nieterminala XY, a w przeciwnym razie – drugą.

Rozwijanie drugiej alternatywy należy kontynuować dopóty, dopóki na wejściu za pierwszym podglądanym znakiem znajduje się znak y.


<< Poprzedni slajd | Spis treści | Następny slajd >>