Pok-7-wyk-Slajd38
LLgen – atrybuty tokenów
Posługiwanie się atrybutami tokenów pokażemy na przykładzie obliczania sumy liczb (problem i schemat translacji zostały przedstawione na slajdzie 17.).
LLgen nie oferuje żadnego systemowego rozwiązania problemu przekazywania atrybutów tokenów. Problem ten musimy więc rozwiązać samodzielnie za pomocą zmiennych globalnych. Jest więc to takie samo podejście jakie zostało wykorzystane w implementacji translatorów za pomocą języka C.
W analizatorze leksykalnym deklarujemy zewnętrzną zmienną token_val służącą do przekazywania wartości rozpoznanej liczby (atrybutu terminala num ).
LLgen ulży nam natomiast w kwestii przypisywania stałych nazwanym tokenom – wystarczy odpowiednie deklaracje umieścić w specyfikacji analizatora składniowego, a do skanera włączyć plik interfejsu Lpars.h.