Pok-10-wyk-Slajd59

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

Akcje wielokrotne

Akcje wielokrotne


Przedstawiane wcześniej analizatory zawierały tylko akcje regularne (czyli takie akcje, które znajdowały się na końcu prawej strony produkcji, po wszystkich symbolach).

YACC pozwala również umieszczać akcje pomiędzy symbolami znajdującymi się po prawej stronie produkcji. Takie akcje nazywane są akcjami wstawionymi.

LR-parser nie może jednak wykonywać akcji wstawionych bezpośrednio w trakcie przetwarzania prawej strony produkcji – konieczna jest modyfikacja gramatyki i akcji, która przeprowadzana jest automatycznie w trakcie generowania translatora przez YACCa.

Trzeba koniecznie pamiętać o tym, że modyfikacja gramatyki powoduje powstanie nowych nieterminali (co oznacza zmianę numerowania atrybutów symboli) oraz powiązanych z nimi pustych produkcji (co obniża efektywność parsera i co gorsza może prowadzić do powstania konfliktów przesuń/redukuj).


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