mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-17 00:03:03 +00:00
bison: catch bad symbol names.
* src/scan-gram.l({int}{id}): Report as an invalid identifier.
* tests/input.at: Adjust.
This commit is contained in:
@@ -1,3 +1,9 @@
|
|||||||
|
2009-05-04 Akim Demaille <demaille@gostai.com>
|
||||||
|
|
||||||
|
bison: catch bad symbol names.
|
||||||
|
* src/scan-gram.l({int}{id}): Report as an invalid identifier.
|
||||||
|
* tests/input.at: Adjust.
|
||||||
|
|
||||||
2009-05-04 Akim Demaille <demaille@gostai.com>
|
2009-05-04 Akim Demaille <demaille@gostai.com>
|
||||||
|
|
||||||
space changes.
|
space changes.
|
||||||
|
|||||||
@@ -208,6 +208,12 @@ splice (\\[ \f\t\v]*\n)*
|
|||||||
complain_at (*loc, _("invalid directive: %s"), quote (yytext));
|
complain_at (*loc, _("invalid directive: %s"), quote (yytext));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Identifiers may not start with a digit. Yet, don't silently
|
||||||
|
accept "1FOO" as "1 FOO". */
|
||||||
|
{int}{id} {
|
||||||
|
complain_at (*loc, _("invalid identifier: %s"), quote (yytext));
|
||||||
|
}
|
||||||
|
|
||||||
"=" return EQUAL;
|
"=" return EQUAL;
|
||||||
"|" return PIPE;
|
"|" return PIPE;
|
||||||
";" return SEMICOLON;
|
";" return SEMICOLON;
|
||||||
|
|||||||
@@ -662,13 +662,13 @@ AT_COMPILE([input.o], [-c input.c])
|
|||||||
# Digits cannot.
|
# Digits cannot.
|
||||||
AT_DATA_GRAMMAR([input.y],
|
AT_DATA_GRAMMAR([input.y],
|
||||||
[[%token .GOOD
|
[[%token .GOOD
|
||||||
%token -GOOD
|
-GOOD
|
||||||
%token 1NV4L1D
|
1NV4L1D
|
||||||
%%
|
%%
|
||||||
start: .GOOD -GOOD
|
start: .GOOD -GOOD
|
||||||
]])
|
]])
|
||||||
AT_BISON_CHECK([-o input.c input.y], [1], [],
|
AT_BISON_CHECK([-o input.c input.y], [1], [],
|
||||||
[[input.y:11.8: syntax error, unexpected integer, expecting char or identifier or type
|
[[input.y:11.10-16: invalid identifier: `1NV4L1D'
|
||||||
]])
|
]])
|
||||||
|
|
||||||
AT_CLEANUP
|
AT_CLEANUP
|
||||||
|
|||||||
Reference in New Issue
Block a user