From c0c9ea051b0fadc4265d0b1a78c3a2ed0eca8fca Mon Sep 17 00:00:00 2001 From: Paul Hilfinger Date: Mon, 20 May 2002 22:56:53 +0000 Subject: [PATCH] * data/bison.simple (yyr1): Don't use yy_token_number_type as element type; it isn't always big enough, since it doesn't necessarily include non-terminals. (yytranslate): Expand definition of yy_token_number_type, so that the latter can be removed. (yy_token_number_type): Remove, only one use. * data/bison.c++ (r1_): Parallel change to yyr1 in bison.simple--- don't use TokenNumberType as element type. * tests/regression.at: Modify expected output to agree with change to yyr1 and yytranslate. --- ChangeLog | 14 ++++++++++++++ data/bison.c++ | 4 ++-- data/bison.simple | 5 ++--- tests/regression.at | 4 ++-- 4 files changed, 20 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6e348ce0..bf2bded5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2002-05-20 Paul Hilfinger + + * data/bison.simple (yyr1): Don't use yy_token_number_type as element + type; it isn't always big enough, since it doesn't necessarily + include non-terminals. + (yytranslate): Expand definition of yy_token_number_type, so that + the latter can be removed. + (yy_token_number_type): Remove, only one use. + * data/bison.c++ (r1_): Parallel change to yyr1 in bison.simple--- + don't use TokenNumberType as element type. + + * tests/regression.at: Modify expected output to agree with change + to yyr1 and yytranslate. + 2002-05-13 Florian Krohm * src/reader.c (parse_action): Use copy_character instead of diff --git a/data/bison.c++ b/data/bison.c++ index eaa97a15..c418bad3 100644 --- a/data/bison.c++ +++ b/data/bison.c++ @@ -260,7 +260,7 @@ namespace yy static const short defgoto_[[]]; static const short table_[[]]; static const short check_[[]]; - static const TokenNumberType r1_[[]]; + static const b4_uint_type(b4_r1_max) r1_[[]]; static const b4_uint_type(b4_r2_max) r2_[[]]; #if YYDEBUG || YYERROR_VERBOSE @@ -687,7 +687,7 @@ yy::b4_name::check_[[]] = }; /* YYR1[[YYN]] -- Symbol number of symbol that rule YYN derives. */ -const yy::b4_name::TokenNumberType +const b4_uint_type(b4_r1_max) yy::b4_name::r1_[[]] = { b4_r1 diff --git a/data/bison.simple b/data/bison.simple index b5ca5c3c..ad42a919 100644 --- a/data/bison.simple +++ b/data/bison.simple @@ -332,12 +332,11 @@ b4_token_defines(b4_tokens) #define YYUNDEFTOK b4_undef_token_number #define YYMAXUTOK b4_user_token_number_max -typedef b4_uint_type(b4_translate_max) yy_token_number_type; #define YYTRANSLATE(X) \ ((unsigned)(X) <= YYMAXUTOK ? yytranslate[[X]] : YYUNDEFTOK) /* YYTRANSLATE[[YYLEX]] -- Bison symbol number corresponding to YYLEX. */ -static const yy_token_number_type yytranslate[[]] = +static const b4_uint_type(b4_translate_max) yytranslate[[]] = { b4_translate }; @@ -379,7 +378,7 @@ static const short yytoknum[[]] = }; /* YYR1[[YYN]] -- Symbol number of symbol that rule YYN derives. */ -static const yy_token_number_type yyr1[[]] = +static const b4_uint_type(b4_r1_max) yyr1[[]] = { b4_r1 }; diff --git a/tests/regression.at b/tests/regression.at index f28e9ae3..6d73aaaf 100644 --- a/tests/regression.at +++ b/tests/regression.at @@ -463,7 +463,7 @@ AT_CHECK([bison -v input.y -o input.c]) # Check only the tables. We don't use --no-parser, because it is # still to be implemented in the experimental branch of Bison. AT_CHECK([[sed -n 's/ *$//;/^static const.*\[\] =/,/^}/p' input.c]], 0, -[[static const yy_token_number_type yytranslate[] = +[[static const unsigned char yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -515,7 +515,7 @@ static const short yytoknum[] = { 0, 256, 257, 258, 259, 260, 261, -1 }; -static const yy_token_number_type yyr1[] = +static const unsigned char yyr1[] = { 0, 7, 8, 9, 9, 10, 11 }; -- 2.45.2