Pok-6-wyk-Slajd48
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.