120 |
/* There is weird relationship between OT1H item_number_t and OTOH |
/* There is weird relationship between OT1H item_number_t and OTOH |
121 |
symbol_number_t and rule_number_t: we store the latter in |
symbol_number_t and rule_number_t: we store the latter in |
122 |
item_number_t. symbol_number_t are stored as are, while |
item_number_t. symbol_number_t are stored as are, while |
123 |
the negation of rule_number_t are stored. |
the negation of (rule_number_t + 1) are stored. |
124 |
|
|
125 |
Therefore, an symbol_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 |
126 |
sometimes have to perform the converse transformation. */ |
sometimes have to perform the converse transformation. */ |
134 |
# define RULE_NUMBER_MAX ((rule_number_t) SHRT_MAX) |
# define RULE_NUMBER_MAX ((rule_number_t) SHRT_MAX) |
135 |
extern rule_number_t nrules; |
extern rule_number_t nrules; |
136 |
# define int_of_rule_number(RNum) ((int) (RNum)) |
# define int_of_rule_number(RNum) ((int) (RNum)) |
137 |
# define rule_number_as_item_number(RNum) ((item_number_t) (- RNum)) |
# define rule_number_as_item_number(RNum) ((item_number_t) (- RNum - 1)) |
138 |
# define item_number_as_rule_number(INum) ((rule_number_t) (- INum)) |
# define item_number_as_rule_number(INum) ((rule_number_t) (- INum - 1)) |
139 |
|
|
140 |
|
|
141 |
/*--------. |
/*--------. |