Propagate more token_number_t.

* src/gram.h (token_number_as_item_number)
(item_number_as_token_number): New.
* src/output.c (GENERATE_OUTPUT_TABLE): New.
Use it to create output_item_number_table and
output_token_number_table.
* src/LR0.c, src/derives.c, src/gram.c, src/gram.h, src/lalr.c,
* src/lex.c, src/nullable.c, src/output.c, src/print.c,
* src/print_graph.c, src/reader.c, src/reduce.c, src/state.h,
* src/symtab.c, src/symtab.h: Use token_number_t instead of shorts.
This commit is contained in:
Akim Demaille
2002-04-22 08:21:55 +00:00
parent 4f940944da
commit 5fbb0954b8
16 changed files with 137 additions and 128 deletions

View File

@@ -114,7 +114,16 @@ typedef int item_number_t;
extern item_number_t *ritem;
extern int nritems;
extern int start_symbol;
/* There is weird relationship between item_number_t and
token_number_t: we store token_number_t in item_number_t, but in
the latter we also store, as negative numbers, the rule numbers.
Therefore, an token_number_t must be a valid item_number_t, and we
sometimes have to perform the converse transformation. */
#define token_number_as_item_number(Tok) ((item_number_t) (Tok))
#define item_number_as_token_number(Ite) ((token_number_t) (Ite))
extern token_number_t start_symbol;
typedef struct rule_s