mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-20 17:53:02 +00:00
* src/reader.c (parse_braces): Don't fetch the next char, the
convention is to fetch on entry. * tests/torture.at (GNU Cim Grammar): Reintroduce their weird 'switch' without a following semicolon. * tests/regression.at (braces parsing): New.
This commit is contained in:
@@ -1,3 +1,12 @@
|
|||||||
|
2002-01-06 Akim Demaille <akim@epita.fr>
|
||||||
|
|
||||||
|
* src/reader.c (parse_braces): Don't fetch the next char, the
|
||||||
|
convention is to fetch on entry.
|
||||||
|
* tests/torture.at (GNU Cim Grammar): Reintroduce their weird
|
||||||
|
'switch' without a following semicolon.
|
||||||
|
* tests/regression.at (braces parsing): New.
|
||||||
|
|
||||||
|
|
||||||
2002-01-06 Akim Demaille <akim@epita.fr>
|
2002-01-06 Akim Demaille <akim@epita.fr>
|
||||||
|
|
||||||
Bison is dead wrong in its RR conflict reports.
|
Bison is dead wrong in its RR conflict reports.
|
||||||
|
|||||||
@@ -1154,10 +1154,7 @@ parse_braces (symbol_list *rule, int stack_offset)
|
|||||||
|
|
||||||
/* Above loop exits when C is '}'. */
|
/* Above loop exits when C is '}'. */
|
||||||
if (--count)
|
if (--count)
|
||||||
{
|
obstack_1grow (&action_obstack, c);
|
||||||
obstack_1grow (&action_obstack, c);
|
|
||||||
c = getc (finput);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
obstack_1grow (&action_obstack, '\0');
|
obstack_1grow (&action_obstack, '\0');
|
||||||
|
|||||||
@@ -18,6 +18,29 @@
|
|||||||
|
|
||||||
AT_BANNER([[Regression tests.]])
|
AT_BANNER([[Regression tests.]])
|
||||||
|
|
||||||
|
|
||||||
|
## ---------------- ##
|
||||||
|
## Braces parsing. ##
|
||||||
|
## ---------------- ##
|
||||||
|
|
||||||
|
|
||||||
|
AT_SETUP([braces parsing])
|
||||||
|
|
||||||
|
AT_DATA([input.y],
|
||||||
|
[[/* Bison used to swallow the character after `}'. */
|
||||||
|
|
||||||
|
%%
|
||||||
|
exp: { tests = {{{{{{{{{{}}}}}}}}}}; }
|
||||||
|
%%
|
||||||
|
]])
|
||||||
|
|
||||||
|
AT_CHECK([bison -v input.y -o input.c], 0, ignore, ignore)
|
||||||
|
|
||||||
|
AT_CHECK([fgrep 'tests = {{{{{{{{{{}}}}}}}}}};' input.c], 0, [ignore])
|
||||||
|
|
||||||
|
AT_CLEANUP
|
||||||
|
|
||||||
|
|
||||||
## ------------------ ##
|
## ------------------ ##
|
||||||
## Duplicate string. ##
|
## Duplicate string. ##
|
||||||
## ------------------ ##
|
## ------------------ ##
|
||||||
|
|||||||
@@ -1208,7 +1208,7 @@ EXPRESSION_SIMP : EXPRESSION_SIMP
|
|||||||
case HLE: mout(MLE);break;
|
case HLE: mout(MLE);break;
|
||||||
case HGT: mout(MGT);break;
|
case HGT: mout(MGT);break;
|
||||||
case HGE: mout(MGE);break;
|
case HGE: mout(MGE);break;
|
||||||
}; $$=NULL;}
|
}$$=NULL;}
|
||||||
| EXPRESSION_SIMP
|
| EXPRESSION_SIMP
|
||||||
HREFRELOPERATOR
|
HREFRELOPERATOR
|
||||||
EXPRESSION_SIMP
|
EXPRESSION_SIMP
|
||||||
|
|||||||
Reference in New Issue
Block a user