Pok-10-wyk-Slajd49
Typy atrybutów – analizator składniowy, deklaracje
Konstruując analizator składniowy trzeba rozpocząć od zdefiniowania typu atrybutów. W przedstawianym przykładzie wystarczą łańcuchy znaków (przypomnijmy, że w języku C są one implementowane jako tablice).
Zgodnie z omówionymi wcześniej zasadami w unii umieszczamy nie tablicę znaków tylko wskaźnik do niej.
Następnie deklarujemy typy terminali i nieterminali.
W gramatyce użyjemy nieterminali T i L, które mają mieć typ text . Typy nieterminali deklarujemy za pomocą słowa kluczowego % type i wyspecyfikowania odpowiedniego pola unii w nawiasach trójkątnych.
Jednostki leksykalne id , decl_char i decl_int również mają być typu text . Do zadeklarowania ich typu używamy deklaracji % token i podajemy – w nawiasach trójkątnych – typ, który ma być z nimi związany.