mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-18 00:33:03 +00:00
* src/lex.c (parse_percent_token): Be sure to 0-end token_buffer
before returning. Reported by Benoit Perrot.
This commit is contained in:
@@ -1,3 +1,9 @@
|
|||||||
|
2002-03-04 Akim Demaille <akim@epita.fr>
|
||||||
|
|
||||||
|
* src/lex.c (parse_percent_token): Be sure to 0-end token_buffer
|
||||||
|
before returning.
|
||||||
|
Reported by Benoit Perrot.
|
||||||
|
|
||||||
2002-03-04 Akim Demaille <akim@epita.fr>
|
2002-03-04 Akim Demaille <akim@epita.fr>
|
||||||
|
|
||||||
Use bitset operations when possible, not loops over bits.
|
Use bitset operations when possible, not loops over bits.
|
||||||
|
|||||||
1
THANKS
1
THANKS
@@ -7,6 +7,7 @@ Albert Chin-A-Young china@thewrittenword.com
|
|||||||
Alexander Belopolsky alexb@rentec.com
|
Alexander Belopolsky alexb@rentec.com
|
||||||
Andreas Schwab schwab@suse.de
|
Andreas Schwab schwab@suse.de
|
||||||
Arnold Robbins arnold@skeeve.com
|
Arnold Robbins arnold@skeeve.com
|
||||||
|
Benoit Perrot benoit.perrot@epita.fr
|
||||||
Bruce Lilly blilly@erols.com
|
Bruce Lilly blilly@erols.com
|
||||||
Cris van Pelt cris@amf03054.office.wxs.nl
|
Cris van Pelt cris@amf03054.office.wxs.nl
|
||||||
Daniel Hagerty hag@gnu.org
|
Daniel Hagerty hag@gnu.org
|
||||||
|
|||||||
66
src/lex.c
66
src/lex.c
@@ -485,44 +485,40 @@ parse_percent_token (void)
|
|||||||
obstack_1grow (&token_obstack, '%');
|
obstack_1grow (&token_obstack, '%');
|
||||||
obstack_1grow (&token_obstack, c);
|
obstack_1grow (&token_obstack, c);
|
||||||
|
|
||||||
switch (c)
|
|
||||||
{
|
|
||||||
case '%':
|
|
||||||
token_buffer = obstack_finish (&token_obstack);
|
|
||||||
return tok_two_percents;
|
|
||||||
|
|
||||||
case '{':
|
|
||||||
token_buffer = obstack_finish (&token_obstack);
|
|
||||||
return tok_percent_left_curly;
|
|
||||||
|
|
||||||
/* The following guys are here for backward compatibility with
|
|
||||||
very ancient Yacc versions. The paper of Johnson mentions
|
|
||||||
them (as ancient :). */
|
|
||||||
case '<':
|
|
||||||
token_buffer = obstack_finish (&token_obstack);
|
|
||||||
return tok_left;
|
|
||||||
|
|
||||||
case '>':
|
|
||||||
token_buffer = obstack_finish (&token_obstack);
|
|
||||||
return tok_right;
|
|
||||||
|
|
||||||
case '2':
|
|
||||||
token_buffer = obstack_finish (&token_obstack);
|
|
||||||
return tok_nonassoc;
|
|
||||||
|
|
||||||
case '0':
|
|
||||||
token_buffer = obstack_finish (&token_obstack);
|
|
||||||
return tok_token;
|
|
||||||
|
|
||||||
case '=':
|
|
||||||
token_buffer = obstack_finish (&token_obstack);
|
|
||||||
return tok_prec;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!isalpha (c))
|
if (!isalpha (c))
|
||||||
{
|
{
|
||||||
|
obstack_1grow (&token_obstack, '\0');
|
||||||
token_buffer = obstack_finish (&token_obstack);
|
token_buffer = obstack_finish (&token_obstack);
|
||||||
return tok_illegal;
|
|
||||||
|
switch (c)
|
||||||
|
{
|
||||||
|
case '%':
|
||||||
|
return tok_two_percents;
|
||||||
|
|
||||||
|
case '{':
|
||||||
|
return tok_percent_left_curly;
|
||||||
|
|
||||||
|
/* The following guys are here for backward compatibility with
|
||||||
|
very ancient Yacc versions. The paper of Johnson mentions
|
||||||
|
them (as ancient :). */
|
||||||
|
case '<':
|
||||||
|
return tok_left;
|
||||||
|
|
||||||
|
case '>':
|
||||||
|
return tok_right;
|
||||||
|
|
||||||
|
case '2':
|
||||||
|
return tok_nonassoc;
|
||||||
|
|
||||||
|
case '0':
|
||||||
|
return tok_token;
|
||||||
|
|
||||||
|
case '=':
|
||||||
|
return tok_prec;
|
||||||
|
|
||||||
|
default:
|
||||||
|
return tok_illegal;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
while (c = getc (finput), isalpha (c) || c == '_' || c == '-')
|
while (c = getc (finput), isalpha (c) || c == '_' || c == '-')
|
||||||
|
|||||||
Reference in New Issue
Block a user