Pok-6-wyk-Slajd38

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Przykładowa gramatyka - analizator składniowy(1)

Przykładowa gramatyka - analizator składniowy(1)


Jeżeli w rozwiązaniu wykorzystamy rozszerzenia generatora LLgen zapis gramatyki można zdecydowanie uprościć.

Podobnie jak w poprzednim rozwiązaniu włączamy plik stdio.h , ponieważ będziemy korzystać z funkcji printf do wypisywania komunikatów. Również definiujemy zmienną nerrors , w której będziemy przechowywać informację o liczbie błędów rozpoznanych w trakcie analizy danych wejściowych. Całość kodu w języku C ujmujemy w nawiasy klamrowe.

Następnie deklarujemy token num za pomocą deklaracji

%token num;

oraz za pomocą deklaracji:

%start parse, S;

wskazujemy, że aksjomatem gramatyki jest nieterminal S, a jego implementacja ma znaleźć się w procedurze parse .

Całe wejście (S) składać się będzie z lewego nawiasu, liczby, następnie 0 lub więcej powtórzeń ciągu ‘,’ i num i zakończone będzie prawym nawiasem okrągłym. Po zakończeniu analizy wejścia sprawdzamy liczbę błędów i drukujemy stosowny komunikat.


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