mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 20:33:03 +00:00
scanner: issue a single error for groups of invalid characters
* src/scan-gram.l: Scan groups of invalid characters together. * tests/input.at, tests/named-refs.at: Adjust.
This commit is contained in:
@@ -39,11 +39,7 @@ default: 'a' }
|
||||
AT_CHECK([[$PERL -pi -e 's/\\(\d{3})/chr(oct($1))/ge' input.y || exit 77]])
|
||||
|
||||
AT_BISON_CHECK([input.y], [1], [],
|
||||
[[input.y:1.1: error: invalid character: '\0'
|
||||
input.y:1.1: error: invalid character: '\001'
|
||||
input.y:1.1: error: invalid character: '\002'
|
||||
input.y:1.1: error: invalid character: '\377'
|
||||
input.y:1.2: error: invalid character: '?'
|
||||
[[input.y:1.1-2: error: invalid characters: '\0\001\002\377?'
|
||||
input.y:3.1: error: invalid character: '?'
|
||||
input.y:4.14: error: invalid character: '}'
|
||||
input.y:5.1: error: invalid character: '%'
|
||||
|
||||
@@ -443,19 +443,14 @@ AT_SETUP([Stray symbols in brackets])
|
||||
AT_DATA_GRAMMAR([test.y],
|
||||
[[
|
||||
%%
|
||||
start: foo[ /* aaa */ *&-.+\000\001\002\377 ] bar
|
||||
start: foo[ % /* aaa */ *&-.+\000\001\002\377 ] bar
|
||||
{ s = $foo; }
|
||||
]])
|
||||
AT_CHECK([[$PERL -pi -e 's/\\(\d{3})/chr(oct($1))/ge' test.y || exit 77]])
|
||||
AT_BISON_CHECK([-o test.c test.y], 1, [],
|
||||
[[test.y:11.23: error: invalid character in bracketed name: '*'
|
||||
test.y:11.24: error: invalid character in bracketed name: '&'
|
||||
test.y:11.25: error: invalid character in bracketed name: '-'
|
||||
test.y:11.27: error: invalid character in bracketed name: '+'
|
||||
test.y:11.28: error: invalid character in bracketed name: '\0'
|
||||
test.y:11.28: error: invalid character in bracketed name: '\001'
|
||||
test.y:11.28: error: invalid character in bracketed name: '\002'
|
||||
test.y:11.28: error: invalid character in bracketed name: '\377'
|
||||
[[test.y:11.13: error: invalid character in bracketed name: '%'
|
||||
test.y:11.25-27: error: invalid characters in bracketed name: '*&-'
|
||||
test.y:11.29-30: error: invalid characters in bracketed name: '+\0\001\002\377'
|
||||
]])
|
||||
AT_CLEANUP
|
||||
|
||||
|
||||
Reference in New Issue
Block a user