Pok-10-wyk-Slajd50
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Typy atrybutów – analizator składniowy, gramatyka
Wejście (D) składać się będzie z listy (L) zakończonej średnikiem.
Typem (T) będzie typ całkowity (int ) albo typ znakowy (char ). W obu przypadkach akcje semantyczne będą zwracać wskaźnik do łańcucha znakowego będącego nazwą tego typu.
Lista (L) składać się będzie:
- w przypadku bazowym – z typu i pojedynczego identyfikatora, drukujemy typ (atrybut T - $1) oraz identyfikator (atrybut id - $2);warto pamiętać o zwolnieniu pamięci (free ($ 2 ), gdy identyfikator nie będzie już nam potrzebny;na koniec z użyciem atrybutu syntetyzowanego przekazujemy informację o typie elementów listy do nieterminala L
- w przypadku ogólnym – w atrybucie nieterminala L ($1) mamy informację o typie elementów listy pochodzącą z poprzednich redukcji, a w atrybucie terminala id bieżący identyfikator. Drukujemy deklarację, zwalniamy pamięć zajmowaną przez identyfikator i ponownie z wykorzystaniem atrybutu syntetyzowanego przekazujemy informację o typie elementów listy.