mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
* tests/regression.at (Invalid input: 2): New.
* src/lex.c (unlexed_token_buffer): New. (lex, unlex): Adjust: when unlexing, be sure to save token_buffer too. Reported by Wwp.
This commit is contained in:
@@ -1,3 +1,11 @@
|
||||
2001-11-01 Akim Demaille <akim@epita.fr>
|
||||
|
||||
* tests/regression.at (Invalid input: 2): New.
|
||||
* src/lex.c (unlexed_token_buffer): New.
|
||||
(lex, unlex): Adjust: when unlexing, be sure to save token_buffer
|
||||
too.
|
||||
Reported by Wwp.
|
||||
|
||||
2001-11-01 Akim Demaille <akim@epita.fr>
|
||||
|
||||
* tests/calc.at: Catch up with 1.30.
|
||||
|
||||
1
THANKS
1
THANKS
@@ -23,6 +23,7 @@ Piotr Gackiewicz gacek@intertel.com.pl
|
||||
Richard Stallman rms@gnu.org
|
||||
Robert Anisko anisko_r@epita.fr
|
||||
Shura debil_urod@ngs.ru
|
||||
Wwp subscript@free.fr
|
||||
|
||||
Many people are not named here because we lost track of them. We
|
||||
thank them! Please, help us keeping this list up to date.
|
||||
|
||||
@@ -36,11 +36,10 @@ const char *token_buffer = NULL;
|
||||
bucket *symval;
|
||||
int numval;
|
||||
|
||||
/* these two describe a token to be reread */
|
||||
/* A token to be reread, see unlex and lex. */
|
||||
static token_t unlexed = tok_undef;
|
||||
/* by the next call to lex */
|
||||
static bucket *unlexed_symval = NULL;
|
||||
|
||||
static const char *unlexed_token_buffer = NULL;
|
||||
|
||||
void
|
||||
lex_init (void)
|
||||
@@ -325,6 +324,7 @@ void
|
||||
unlex (token_t token)
|
||||
{
|
||||
unlexed = token;
|
||||
unlexed_token_buffer = token_buffer;
|
||||
unlexed_symval = symval;
|
||||
}
|
||||
|
||||
@@ -369,6 +369,7 @@ lex (void)
|
||||
{
|
||||
token_t res = unlexed;
|
||||
symval = unlexed_symval;
|
||||
token_buffer = unlexed_token_buffer;
|
||||
unlexed = tok_undef;
|
||||
return res;
|
||||
}
|
||||
|
||||
@@ -109,6 +109,45 @@ input.y:3: fatal error: no rules in the input grammar
|
||||
AT_CLEANUP
|
||||
|
||||
|
||||
## ----------------- ##
|
||||
## Invalid input 1. ##
|
||||
## ----------------- ##
|
||||
|
||||
|
||||
AT_SETUP([Invalid input: 1])
|
||||
|
||||
AT_DATA([input.y],
|
||||
[[%%
|
||||
?
|
||||
]])
|
||||
|
||||
AT_CHECK([bison input.y], [1], [],
|
||||
[input.y:2: invalid input: `?'
|
||||
input.y:3: fatal error: no rules in the input grammar
|
||||
])
|
||||
|
||||
AT_CLEANUP
|
||||
|
||||
|
||||
## ----------------- ##
|
||||
## Invalid input 2. ##
|
||||
## ----------------- ##
|
||||
|
||||
|
||||
AT_SETUP([Invalid input: 2])
|
||||
|
||||
AT_DATA([input.y],
|
||||
[[%%
|
||||
default: 'a' }
|
||||
]])
|
||||
|
||||
AT_CHECK([bison input.y], [1], [],
|
||||
[input.y:2: invalid input: `}'
|
||||
])
|
||||
|
||||
AT_CLEANUP
|
||||
|
||||
|
||||
## --------------------- ##
|
||||
## Invalid CPP headers. ##
|
||||
## --------------------- ##
|
||||
|
||||
Reference in New Issue
Block a user