Pok-11-wyk-Slajd9

Z Studia Informatyczne
Wersja z dnia 19:13, 30 sie 2006 autorstwa Complak (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Gramatyka niejednoznaczna(2)

Gramatyka niejednoznaczna(2)


Analizator kompilujemy i testujemy jego działanie podając jako przykładowe wejście wyrażenie „1 2 - 3 ”.

Operator odejmowania jest lewostronnie łączny, więc wyrażenie powinno być zinterpretowane jako „(1 - 2) - 3”, a zatem powinniśmy otrzymać odpowiedź „-4”. Analizator podaje jednak odpowiedź „0”.

Analiza wywodu testowanego wejścia wskazuje, że wygenerowany przez YACCa analizator składniowy wybrał nie to drzewo składniowe, o które nam chodziło. Wyrażenie E - E - E zostało zredukowane w złej kolejności – tak jakby operator odejmowania miał prawostronne wiązanie.

Składnia jest więc opisana poprawnie, a zły rezultat obliczeń wynika z niewłaściwego porządku wykonania akcji (złej kolejności zastępowania symboli w formach zdaniowych).


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