- Συμβολικές τιμές για τα τερματικά σύμβολα με τη δήλωση %token:
%token tINC, tDEC, tFOR, tWHILE, tELSE
- Την προτεραιότητα και την προσεταιριστικότητα των τελεστών με τις
δηλώσεις:
- %left τερματικό σύμβολο ...
- προσεταιριστικότητα από αριστερά προς τα δεξιά.
Α τελ Β τελ Γ είναι (Α τελ Β) τελ Γ.
- %right τερματικό σύμβολο ...
- προσεταιριστικότητα από δεξιά προς τα αριστερά.
Α τελ Β τελ Γ είναι Α τελ (Β τελ Γ).
- %nonassoc τερματικό σύμβολο ...
- μη προσεταιριστικότητα.
Α τελ Β τελ Γ εμφανίζει μήνυμα λάθους
Η προτεραιότητα ορίζεται από σειρά εμφάνισης με τους τελεστές στις πρώτες
δηλώσεις να έχουν τη χαμηλότερη.
Παράδειγμα:
%left '+' '-'
%left '*' '/' '%'
%left '.'
%right '^'
%left UMINUS
- Τους τύπους των πιθανών σημασιολογικών τιμών που μπορούν να συσχετιστούν
με τερματικά και μη σύμβολα με τη δήλωση %union.
Παράδειγμα:
%union {
double d;
struct s_vec {double x, y;} v;
char *s;
double (*f)(double);
double (*f2)(double, double);
double (*f2i)(int, double);
};
- Τον τύπο των μη τερματικών συμβόλων με τη δήλωση %type .
Ο τύπος typename πρέπει να είναι κάποιο μέλος της ένωσης %union.
Παράδειγμα:
%type <s> optasg
%type <d> scalar
%type <v> vector
- Τους τύπους των τερματικών συμβόλων με τη χρήση του στις
δηλώσεις %token, %left, %right:
Παράδειγμα:
%token <d> tNUM
%token <s> tVAR
%token <v> tVEC
%left <c> '+' '-'
- Το σύμβολο αρχής με τη δήλωση %start symbol.
Παράδειγμα:
%start program