skeletons: use "invalid token" instead of "$undefined"

* src/output.c (prepare_symbol_names): Also handle undeftoken.
* tests/actions.at, tests/calc.at, tests/regression.at: Adjust.
This commit is contained in:
Akim Demaille
2020-04-12 12:12:01 +02:00
parent 05be0fef95
commit ff50f6f223
5 changed files with 15 additions and 10 deletions

View File

@@ -225,6 +225,11 @@ prepare_symbol_names (char const *muscle_name)
tag = "\"end of file\""; tag = "\"end of file\"";
translatable = with_translations; translatable = with_translations;
} }
else if (symbols[i]->content == undeftoken->content)
{
tag = "\"invalid token\"";
translatable = with_translations;
}
char *cp char *cp
= tag[0] == '"' && !quote = tag[0] == '"' && !quote

View File

@@ -643,7 +643,7 @@ yysymbol_name (yysymbol_kind_t yysymbol)
{ {
static const char *const yy_sname[] = static const char *const yy_sname[] =
{ {
N_("end of file"), "error", "$undefined", N_("string"), N_("end of file"), "error", N_("invalid token"), N_("string"),
N_("translatable string"), "%token", "%nterm", "%type", "%destructor", N_("translatable string"), "%token", "%nterm", "%type", "%destructor",
"%printer", "%left", "%right", "%nonassoc", "%precedence", "%prec", "%printer", "%left", "%right", "%nonassoc", "%precedence", "%prec",
"%dprec", "%merge", "%code", "%default-prec", "%define", "%defines", "%dprec", "%merge", "%code", "%default-prec", "%define", "%defines",

View File

@@ -1493,7 +1493,7 @@ Shifting token 'b' ('b')
Entering state 5 Entering state 5
Stack now 0 1 3 5 Stack now 0 1 3 5
Reading a token Reading a token
Next token is token $undefined () Next token is token "invalid token" ()
Error: popping token 'b' ('b') Error: popping token 'b' ('b')
DESTROY 'b' DESTROY 'b'
Stack now 0 1 3 Stack now 0 1 3
@@ -1502,8 +1502,8 @@ Stack now 0 1
Shifting token error () Shifting token error ()
Entering state 3 Entering state 3
Stack now 0 1 3 Stack now 0 1 3
Next token is token $undefined () Next token is token "invalid token" ()
Error: discarding token $undefined () Error: discarding token "invalid token" ()
Error: popping token error () Error: popping token error ()
Stack now 0 1 Stack now 0 1
Shifting token error () Shifting token error ()

View File

@@ -935,7 +935,7 @@ _AT_CHECK_CALC_ERROR([$1], [1], [1//2],
_AT_CHECK_CALC_ERROR([$1], [1], [error], _AT_CHECK_CALC_ERROR([$1], [1], [error],
[[final: 0 0 1]], [[final: 0 0 1]],
[5], [5],
[AT_JAVA_IF([1.1-1.2], [1.1])[: syntax error on token [$undefined] (expected: [number] ['-'] ['\n'] ['('] ['!'])]]) [AT_JAVA_IF([1.1-1.2], [1.1])[: syntax error on token [invalid token] (expected: [number] ['-'] ['\n'] ['('] ['!'])]])
_AT_CHECK_CALC_ERROR([$1], [1], [1 = 2 = 3], _AT_CHECK_CALC_ERROR([$1], [1], [1 = 2 = 3],
[[final: 0 0 1]], [[final: 0 0 1]],
[30], [30],

View File

@@ -701,7 +701,7 @@ static const yytype_int8 yyrline[] =
}; };
static const char *const yytname[] = static const char *const yytname[] =
{ {
"\"end of file\"", "error", "$undefined", "\"if\"", "\"const\"", "\"end of file\"", "error", "\"invalid token\"", "\"if\"", "\"const\"",
"\"then\"", "\"else\"", "$accept", "statement", "struct_stat", "if", "\"then\"", "\"else\"", "$accept", "statement", "struct_stat", "if",
"else", YY_NULLPTR "else", YY_NULLPTR
}; };
@@ -1461,14 +1461,14 @@ AT_PARSER_CHECK([[input --debug]], [[2]], [],
Entering state 0 Entering state 0
Stack now 0 Stack now 0
Reading a token Reading a token
Next token is token $undefined () Next token is token "invalid token" ()
LAC: initial context established for $undefined LAC: initial context established for "invalid token"
LAC: checking lookahead $undefined: Always Err LAC: checking lookahead "invalid token": Always Err
Constructing syntax error message Constructing syntax error message
LAC: checking lookahead "end of file": R2 G3 R2 G5 R2 G6 R2 G7 R2 G8 R2 G9 R2 G10 R2 G11 R2 (max size exceeded) LAC: checking lookahead "end of file": R2 G3 R2 G5 R2 G6 R2 G7 R2 G8 R2 G9 R2 G10 R2 G11 R2 (max size exceeded)
syntax error syntax error
memory exhausted memory exhausted
Cleanup: discarding lookahead token $undefined () Cleanup: discarding lookahead token "invalid token" ()
Stack now 0 Stack now 0
]]) ]])