1 |
/* Data definitions for internal representation of bison's input, |
/* Data definitions for internal representation of Bison's input. |
2 |
|
|
3 |
Copyright (C) 1984, 1986, 1989, 1992, 2001, 2002 |
Copyright (C) 1984, 1986, 1989, 1992, 2001, 2002 |
4 |
Free Software Foundation, Inc. |
Free Software Foundation, Inc. |
5 |
|
|
125 |
|
|
126 |
Therefore, a symbol_number must be a valid item_number, and we |
Therefore, a symbol_number must be a valid item_number, and we |
127 |
sometimes have to perform the converse transformation. */ |
sometimes have to perform the converse transformation. */ |
128 |
# define symbol_number_as_item_number(Tok) ((item_number) (Tok)) |
|
129 |
# define item_number_as_symbol_number(Ite) ((symbol_number) (Ite)) |
static inline item_number |
130 |
|
symbol_number_as_item_number (symbol_number s) |
131 |
|
{ |
132 |
|
return s; |
133 |
|
} |
134 |
|
|
135 |
|
static inline symbol_number |
136 |
|
item_number_as_symbol_number (item_number i) |
137 |
|
{ |
138 |
|
return i; |
139 |
|
} |
140 |
|
|
141 |
extern symbol_number start_symbol; |
extern symbol_number start_symbol; |
142 |
|
|
143 |
/* Rule numbers. */ |
/* Rule numbers. */ |
144 |
typedef short rule_number; |
typedef short rule_number; |
145 |
extern rule_number nrules; |
extern rule_number nrules; |
146 |
# define int_of_rule_number(RNum) ((int) (RNum)) |
|
147 |
# define rule_number_as_item_number(RNum) ((item_number) (- RNum - 1)) |
static inline item_number |
148 |
# define item_number_as_rule_number(INum) ((rule_number) (- INum - 1)) |
rule_number_as_item_number (rule_number r) |
149 |
|
{ |
150 |
|
return -1 - r; |
151 |
|
} |
152 |
|
|
153 |
|
static inline rule_number |
154 |
|
item_number_as_rule_number (item_number i) |
155 |
|
{ |
156 |
|
return -1 - i; |
157 |
|
} |
158 |
|
|
159 |
|
|
160 |
/*--------. |
/*--------. |