Pok-8-wyk-Slajd74
Tablica SLR – niejednoznaczność
Konflikt występuje w stanie siódmym, więc przyglądamy się zbiorowi sytuacji I7.
Zaczniemy od symbolu terminalnego +. W polu może znaleźć się redukcja, za co odpowiedzialna jest sytuacja z kropką na końcu. Można też umieścić tam przesunięcie na co wskazuje kropka przed symbolem terminalnym plus. Zastanówmy się jakie konsekwencje pociągnie za sobą każda z decyzji.
Przeanalizujmy zachowanie analizatora dla przykładowego łańcucha wejściowego 2+3+4. Przyjmijmy ponadto, że w momencie redukcji wykonywana jest operacja dodawania.
Jeśli przyjmiemy, że w tablicy znajduje się r1, to w każdym kroku zostaje wykonane dodawanie. Działanie takie obrazuje nam pierwszy przykład ze slajdu.
Jeśli natomiast przyjmiemy, że w tablicy znajduje się s4, to dodawanie zostanie wykonane dopiero gdy na wejściu znajdzie się któryś z terminali należących do FOLLOW(E), ale nie plus. Działanie takie zobrazowane jest przez drugi przykład na slajdzie.