Pok-6-wyk-Slajd45
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwaniaRozwią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.