Pok-6-wyk-Slajd45

Z Studia Informatyczne
Wersja z dnia 19:17, 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

Rozwiązywanie konfliktów – przykład użycia %prefer

Rozwiązywanie konfliktów – przykład użycia %prefer


Przykładem użycia mechanizmu statycznego rozwiązywania konfliktu alternatyw jest problem tzw. „wiszącego else” omówiony dokładniej w wykładzie poświęconym posługiwaniu się gramatykami niejednoznacznymi w generatorze YACC.

Krótko mówiąc, problem polega na tym, że trzeba wskazać analizatorowi składniowemu, że część else ma być powiązana z bezpośrednio poprzedzającą ją częścią if-then .

Na poziomie produkcji oznacza to, że instrukcje warunkową trzeba zapisać jako:

stmnt : IF exp THEN stmnt [%prefer ELSE stmnt | ]gdzie stmnt to instrukcja, a IF, THEN i ELSE to słowa kluczowe języka źródłowego.


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