Pok-10-wyk-Slajd68
Akcja domyślna – parser: definicje typów
W analizatorze składniowym zawarta jest definicja typu atrybutów. Dla atrybutów typu całkowitego (int ) przeznaczone jest pole unii int_val , dla atrybutów zmiennoprzecinkowych (double ) przewidziano pole dbl_val .
Wiązania i priorytety operatorów arytmetycznych obsługiwanych przez kalkulator są standardowe. Kalkulator realizuje operacje dodawania, odejmowania, mnożenia i dzielenia. Wszystkie operatory mają lewostronną łączność, a operatory multiplikatywne (czyli mnożenie i dzielenie) mają wyższy priorytet niż operatory addytywne (czyli dodawanie i odejmowanie).
W zapisie gramatyki wykorzystane zostaną nieterminale E i N i mają być one typu dbl_val , co musimy odpowiednio zadeklarować za pomocą słowa kluczowego % type i wyspecyfikowania odpowiedniego pola unii w nawiasach trójkątnych.
Jednostki leksykalne int_num i dbl_num mają być odpowiednio typu int_val i dbl_val . Do zadeklarowania ich typu uzupełniamy deklarację % token o podanie – w nawiasach trójkątnych – typu, który ma być związany z daną jednostką.