Bison produces deterministic parsers that choose uniquely when
to reduce and which reduction to apply based on a summary of the
preceding input and on one extra token of lookahead. As a
result, normal Bison handles a proper subset of the family of
context-free languages. Ambiguous grammars, since they have
strings with more than one possible sequence of reductions
cannot have deterministic parsers in this sense. The same is
true of languages that require more than one symbol of
lookahead, since the parser lacks the information necessary to
make a decision at the point it must be made in a shift-reduce
parser. Finally, as previously mentioned (see Mysterious
Conflicts), there are languages where Bison's default choice of
how to summarize the input seen so far loses necessary
information. When you use the ‘%glr-parser’ declaration in your
grammar file, Bison generates a parser that uses a different
algorithm, called Generalized LR (or GLR). A Bison GLR parser
uses the same basic algorithm for parsing as an ordi