Pok-10-wyk-Slajd3

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Implementacja translacji sterowanej składnią w YACCu

Implementacja translacji sterowanej składnią w YACCu


W YACCu reguły semantyczne są obliczane w trakcie przetwarzania wejścia. Samo drzewo nie jest konstruowane jawnie, a kolejność obliczania atrybutów wynika z zasady działania LR-parsera – akcje są wykonywane tylko w trakcie redukcji.

Dzięki tym regułom wygenerowane analizatory są relatywnie proste i efektywne.

Z początku może się wydawać, że ograniczenie możliwości przetwarzania definicji sterowanych składnią do zbioru tylko L-atrybutowych jest istotne. W praktyce jednak rzadko jest to istotny problem.

Jeżeli jednak definicja sterowana składnią nie jest L-atrybutowa, a chcemy taki translator skonstruować w YACCu mamy dwa rozwiązania:

- przepisać definicję tak, aby była L-atrybutowa,czasami definicję sterowaną składnią można łatwo zmodyfikować tak, żeby była L-atrybutowa (a nawet S-atrybutowa),w niektórych przypadkach konieczne może być jednak znaczące przebudowanie gramatyki i wtedy warto rozważyć drugie rozwiązanie,

- samodzielnie skonstruować niezbędną część (albo całe) drzewo rozbioru i dokonać ewaluacji wtedy, gdy znane będą już konieczne wartości atrybutów


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