]> git.saurik.com Git - bison.git/commit
* data/glr.c (yyGLRStateSet): Add yybool* yylookaheadStatuses member to
authorJoel E. Denny <jdenny@ces.clemson.edu>
Fri, 6 Jan 2006 20:48:33 +0000 (20:48 +0000)
committerJoel E. Denny <jdenny@ces.clemson.edu>
Fri, 6 Jan 2006 20:48:33 +0000 (20:48 +0000)
commitbf70fa8729594f339189575d3a90782014eef6d0
tree610076cf7fa3a7916bd180373b61feb908b755df
parent05449a2c1b09dec9d032cc39b2fc155572d893ce
* data/glr.c (yyGLRStateSet): Add yybool* yylookaheadStatuses member to
use during nondeterministic operation to track which stacks have
actually needed the current lookahead.
(yyinitStateSet, yyfreeStateSet, yyremoveDeletes, yysplitStack):
Allocate, deallocate, resize, and otherwise shuffle space for
yylookaheadStatuses in parallel with yystates member of yyGLRStateSet.
(yysplitStack, yyprocessOneStack, yyparse): Set lookahead status
appropriately during nondeterministic operation.
(yySemanticOption): Add int yyrawchar, YYSTYPE yyval, and YYLTYPE yyloc
members to store the current lookahead to be used by the deferred
user action.
(yyaddDeferredAction): Add size_t yyk parameter specifying the stack
from which the RHS is taken.  Set the lookahead members of the new
yySemanticOption according to the lookahead status for stack yyk.
(yyglrShiftDefer, yyglrReduce): Pass yyk parameter on to
yyaddDeferredAction.
(yyresolveAction): Set yychar, yylval, and yylloc to the lookahead
members of yySemanticOption before invoking yyuserAction, and then set
them back to their current values afterward.
(yyparse): Set yychar = YYEMPTY where yytoken = YYEMPTY.
(yyreportAmbiguity): Add /*ARGSUSED*/ to pacify lint.
* tests/glr-regression.at: Remove `.' from the ends of recent test case
titles for consistency.
(Leaked merged semantic value if user action cuts parse): In order to
suppress lint warnings, use arguments in merge function, and assign
char value < 128 in main.
(Incorrect lookahead during deterministic GLR): New test case.
(Incorrect lookahead during nondeterministic GLR): New test case.
ChangeLog
data/glr.c
tests/glr-regression.at