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>
|
2001-11-01 Akim Demaille <akim@epita.fr>
|
||||||
|
|
||||||
* tests/calc.at: Catch up with 1.30.
|
* 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
|
Richard Stallman rms@gnu.org
|
||||||
Robert Anisko anisko_r@epita.fr
|
Robert Anisko anisko_r@epita.fr
|
||||||
Shura debil_urod@ngs.ru
|
Shura debil_urod@ngs.ru
|
||||||
|
Wwp subscript@free.fr
|
||||||
|
|
||||||
Many people are not named here because we lost track of them. We
|
Many people are not named here because we lost track of them. We
|
||||||
thank them! Please, help us keeping this list up to date.
|
thank them! Please, help us keeping this list up to date.
|
||||||
|
|||||||
@@ -36,11 +36,10 @@ const char *token_buffer = NULL;
|
|||||||
bucket *symval;
|
bucket *symval;
|
||||||
int numval;
|
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;
|
static token_t unlexed = tok_undef;
|
||||||
/* by the next call to lex */
|
|
||||||
static bucket *unlexed_symval = NULL;
|
static bucket *unlexed_symval = NULL;
|
||||||
|
static const char *unlexed_token_buffer = NULL;
|
||||||
|
|
||||||
void
|
void
|
||||||
lex_init (void)
|
lex_init (void)
|
||||||
@@ -325,6 +324,7 @@ void
|
|||||||
unlex (token_t token)
|
unlex (token_t token)
|
||||||
{
|
{
|
||||||
unlexed = token;
|
unlexed = token;
|
||||||
|
unlexed_token_buffer = token_buffer;
|
||||||
unlexed_symval = symval;
|
unlexed_symval = symval;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -369,6 +369,7 @@ lex (void)
|
|||||||
{
|
{
|
||||||
token_t res = unlexed;
|
token_t res = unlexed;
|
||||||
symval = unlexed_symval;
|
symval = unlexed_symval;
|
||||||
|
token_buffer = unlexed_token_buffer;
|
||||||
unlexed = tok_undef;
|
unlexed = tok_undef;
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -109,6 +109,45 @@ input.y:3: fatal error: no rules in the input grammar
|
|||||||
AT_CLEANUP
|
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. ##
|
## Invalid CPP headers. ##
|
||||||
## --------------------- ##
|
## --------------------- ##
|
||||||
|
|||||||
Reference in New Issue
Block a user