• Home
  • Raw
  • Download

Lines Matching refs:reductions

290 * Default Reductions::    Disable default reductions.
743 reductions (applications of a grammar rule) applies, or whether to apply
4845 the parser reports its actions, such as reductions. When a symbol involved
5543 @c ================================================== lr.default-reductions
5545 @item @code{lr.default-reductions}
5546 @findex %define lr.default-reductions
5552 contain default reductions. @xref{Default Reductions}. (The ability to
5553 specify where default reductions should be used is experimental. More user
6668 The parser tries, by shifts and reductions, to reduce the entire input down
6699 perform one or more reductions of tokens and groupings on the stack, while
6700 the lookahead token remains off to the side. When no more reductions
6702 does not mean that all possible reductions have been done; depending on the
7448 * Default Reductions:: Disable default reductions.
7564 do not. That is, if @code{%nonassoc} is not used and default reductions are
7571 any unnecessary reductions. However, IELR parsers that use LAC are also
7573 default reductions. For details and a few caveats of LAC, @pxref{LAC}.
7582 @cindex default reductions
7583 @findex %define lr.default-reductions
7592 Default reductions affect more than the size of the parser tables. They
7606 In other words, whether default reductions are enabled in consistent states
7610 parser action. Traditionally, default reductions are enabled, and so the
7616 associated with the reductions in defaulted states, then the delay of the
7617 next @code{yylex} invocation until after those reductions is significant.
7637 @c If there's an infinite loop, default reductions can prevent an incorrect
7639 While default reductions never cause the parser to accept syntactically
7653 For LALR and IELR, Bison enables default reductions in nearly all states by
7655 action on the @code{error} token do not have default reductions because
7664 To adjust which states have default reductions enabled, use the
7665 @code{%define lr.default-reductions} directive.
7667 @deffn {Directive} {%define lr.default-reductions} @var{where}
7668 Specify the kind of states that are permitted to contain default reductions.
7676 (The ability to specify where default reductions are permitted is
7688 parser stack reductions before discovering the syntax error. Such
7689 reductions can perform user semantic actions that are unexpected because
7696 The culprits for the above problems are @code{%nonassoc}, default reductions
7700 reductions are enabled for inconsistent states.
7704 sacrificing @code{%nonassoc}, default reductions, or state merging. You can
7733 next parser action. Thus, whether default reductions are enabled in
7739 while default reductions are enabled in consistent states.
7742 default reductions in consistent states, canonical LR and IELR behave almost
7757 it, but enabling canonical LR or disabling default reductions sometimes
7773 twice. Specifically, during a series of default reductions in consistent
7844 sequence of reductions cannot have deterministic parsers in this sense.
8650 @emph{and} reducing is possible or when @emph{several} reductions are
8811 reductions, below.
8844 This is how reductions are represented in the verbose file @file{rr.output}:
12124 detection, which is caused by LR state merging, default reductions, and the