mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 20:33:03 +00:00
Prompted by Rici Lake. https://stackoverflow.com/questions/62658368/#comment110853985_62661621 Discussed with Paul Eggert. * doc/bison.texi, examples/c/bistromathic/parse.y, * examples/c/lexcalc/parse.y, examples/c/lexcalc/scan.l, * examples/c/pushcalc/calc.y, examples/c/reccalc/parse.y, * examples/c/reccalc/scan.l, examples/d/calc.y, * examples/java/calc/Calc.y, examples/java/simple/Calc.y: Install the GPL3+ header.
pushcalc - push parser with Bison
This directory contains pushcalc, the traditional calculator, implemented as a push parser.
Traditionally Bison is used to create so called "pull parsers": the user invokes the parser once, which repeatedly calls (pulls) the scanner until the input is drained.
This example demonstrates the "push parsers": the user calls scanner to fetch the next token, passes (pushes) it to the parser, and repeats the operation until the input is drained.
This example is a straightforward conversion of the 'calc' example to the push-parser model.