113 |
extern unsigned int nritems; |
extern unsigned int nritems; |
114 |
|
|
115 |
/* There is weird relationship between item_number_t and |
/* There is weird relationship between item_number_t and |
116 |
token_number_t: we store token_number_t in item_number_t, but in |
symbol_number_t: we store symbol_number_t in item_number_t, but in |
117 |
the latter we also store, as negative numbers, the rule numbers. |
the latter we also store, as negative numbers, the rule numbers. |
118 |
|
|
119 |
Therefore, an token_number_t must be a valid item_number_t, and we |
Therefore, an symbol_number_t must be a valid item_number_t, and we |
120 |
sometimes have to perform the converse transformation. */ |
sometimes have to perform the converse transformation. */ |
121 |
#define token_number_as_item_number(Tok) ((item_number_t) (Tok)) |
#define symbol_number_as_item_number(Tok) ((item_number_t) (Tok)) |
122 |
#define item_number_as_token_number(Ite) ((token_number_t) (Ite)) |
#define item_number_as_symbol_number(Ite) ((symbol_number_t) (Ite)) |
123 |
|
|
124 |
extern token_number_t start_symbol; |
extern symbol_number_t start_symbol; |
125 |
|
|
126 |
|
|
127 |
typedef struct rule_s |
typedef struct rule_s |
158 |
/* TOKEN_TRANSLATION -- a table indexed by a token number as returned |
/* TOKEN_TRANSLATION -- a table indexed by a token number as returned |
159 |
by the user's yylex routine, it yields the internal token number |
by the user's yylex routine, it yields the internal token number |
160 |
used by the parser and throughout bison. */ |
used by the parser and throughout bison. */ |
161 |
extern token_number_t *token_translations; |
extern symbol_number_t *token_translations; |
162 |
extern int max_user_token_number; |
extern int max_user_token_number; |
163 |
|
|
164 |
|
|