mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-14 14:53:03 +00:00
* src/gram.h, src/gram.c (error_token_number): Remove, use
errtoken->number. * src/reader.c (reader): Don't specify the user token number (2) for $undefined, as it uselessly prevents using it. * src/gram.h (token_number_t): Move to... * src/symtab.h: here. (state_t.number): Is a token_number_t. * src/print.c, src/reader.c: Use undeftoken->number instead of hard coded 2. (Even though this 2 is not the same as above: the number of the undeftoken remains being 2, it is its user token number which might not be 2). * src/output.c (prepare_tokens): Rename the `maxtok' muscle with `user_token_number_max'. Output `undef_token_number'. * data/bison.simple, data/bison.c++: Use them. Be sure to map invalid yylex return values to `undef_token_number'. This saves us from gratuitous SEGV. * tests/conflicts.at (Solved SR Conflicts) (Unresolved SR Conflicts): Adjust. * tests/regression.at (Web2c Actions): Adjust.
This commit is contained in:
@@ -41,6 +41,8 @@ typedef enum
|
||||
nterm_sym /* non-terminal */
|
||||
} symbol_class;
|
||||
|
||||
/* Internal token numbers. */
|
||||
typedef short token_number_t;
|
||||
#define SUNDEF -1 /* For undefined user number. */
|
||||
#define SALIAS -9991 /* for symbol generated with an alias */
|
||||
|
||||
@@ -50,7 +52,7 @@ struct symbol_s
|
||||
char *tag;
|
||||
/* Its type. */
|
||||
char *type_name;
|
||||
short number;
|
||||
token_number_t number;
|
||||
short prec;
|
||||
associativity assoc;
|
||||
int user_token_number;
|
||||
|
||||
Reference in New Issue
Block a user