Pok-10-wyk-Slajd6

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

Zmienne globalne(1)

Zmienne globalne(1)


Analizator leksykalny implementujemy z wykorzystaniem generatora LEX.

Analizator rozpoznaje liczby całkowite (zgodne z wzorcem [0-9]+), konwertuje je do postaci binarnej i przekazuje jako atrybut jednostki leksykalnej num .

Do przekazywania wartości atrybutu do analizatora składniowego najprościej (co nie znaczy najbezpieczniej) jest użyć globalnej zmiennej typu całkowitego ( int ).

Zmienna globalna może zostać zdefiniowana w:

- analizatorze leksykalnym

- analizatorze składniowym (tak jak w przykładzie)

- pliku pomocniczym.

Na marginesie, warto zwrócić uwagę na to, że nazwy niektórych zmiennych mogą kolidować z wewnętrznymi zmiennymi wykorzystywanymi w wygenerowanym analizatorze (tak jest np. ze zmienną i w MKS LEX & YACC). Należy także unikać nadawania własnym zmiennym nazw zaczynających się od prefiksu yy .

Analizator rozpoznaje również znaki dodawania i równości, tym razem jednak nie przypisując żadnej wartości atrybutu. Znaki spacji na wejściu są ignorowane.


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