Pok-10-wyk-Slajd45

Z Studia Informatyczne
Wersja z dnia 19:10, 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

Typy atrybutów – deklaracje w parserze

Typy atrybutów – deklaracje w parserze


Po zdefiniowaniu typów atrybutów za pomocą % union konieczne jest wskazanie typów wszystkich symboli gramatyki, na których będziemy operować w akcjach semantycznych.

W celu przypisania typów symbolom nieterminalnym należy użyć słowa kluczowego % type . Za % type należy wskazać - w nawiasach trójkątnych – pole unii odpowiedniego typu, a następnie wymienić nieterminal lub nieterminale, których atrybuty mają być tego typu.

W przypadku symboli terminalnych przypisywanie typów odbywa się podobnie. Zamiast słowa kluczowego % type używamy % token (tak jak do deklarowania jednostek leksykalnych).

Niektóre (starsze) wersje YACCów dopuszczały również korzystanie z atrybutów bez deklaracji typów za pomocą bezpośrednich odwołań do pól unii (w C za pomocą ‘.’ lub ‘->’). Jest to jednak metoda nieprzenośna i merytorycznie niewskazana.


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