Files
bison/examples/c/pushcalc
Akim Demaille 7bfff37f01 examples: add an example of a push parser
Add an example to demonstrate the use of push parser.  I'm pleasantly
surprised: parse.error=detailed works like a charm with push parsers.

* examples/c/local.mk, examples/c/pushcalc/Makefile
* examples/c/pushcalc/README.md, examples/c/pushcalc/calc.test,
* examples/c/pushcalc/calc.y, examples/c/pushcalc/local.mk:
New.
2020-01-26 14:02:08 +01:00
..

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.