Pok-3-wyk-Slajd11

Z Studia Informatyczne
Wersja z dnia 19:01, 1 wrz 2006 autorstwa BBogacki (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Zmienne oraz funkcje

Zmienne oraz funkcje


Przyjrzyjmy się następnemu przykładowi pliku ze specyfikacją. Zawiera on dwa ciekawe i nie omówione do tej pory elementy. Funkcję yywrap() oraz wykorzystanie zmiennych globalnych.

Funkcja yywrap() ma w pliku specyfikacji programu LEX specjalne znaczenie. W wygenerowanym analizatorze leksykalnym, funkcja ta jest wykonywana zawsze po zakończeniu przetwarzania danych wejściowych. Można więc umieścić w niej kod, który powinien być wykonany gdy cały ciąg danych wejściowych zostanie wczytany. Może to być różnego rodzaju podsumowanie, wypisanie statystyk bądź innego rodzaju informacji, które nie mogą być generowane na bieżąco.

Zastosowanie zmiennych globalnych wiąże się z koniecznością ich deklaracji. Deklaracja zmiennych znajduje się w pierwszej sekcji pliku specyfikacji. Tak też jest w przykładzie prezentowanym na slajdzie. Zmienna NL jest zadeklarowana w sekcji pierwszej a następnie inkrementowana w sekcji drugiej i odczytywana w sekcji trzeciej.


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