* examples/c++/Makefile, examples/c++/calc++/Makefile, * examples/c++/glr/Makefile, examples/c/bistromathic/Makefile, * examples/c/calc/Makefile, examples/c/glr/Makefile, * examples/c/lexcalc/Makefile, examples/c/mfcalc/Makefile, * examples/c/pushcalc/Makefile, examples/c/reccalc/Makefile, * examples/c/rpcalc/Makefile, examples/d/calc/Makefile, * examples/d/simple/Makefile, examples/java/calc/Makefile, * examples/java/simple/Makefile: Use --html to generate *.html directly. No longer demonstrate --xml. No longer show rules for xml to html. Use --header, not --defines. Use --graph without specifying the output file now that we generate *.gv by default.
Examples in C++
This directory contains examples of Bison grammar files in C++.
You can run make to compile these examples. And make clean to tidy
afterwards.
simple.yy - Simple example in C++14
A very simple example in C++, based on variants and symbol constructors. Variants allow to use any C++ type as semantic value type, and symbol constructors ensure consistency between declared token kind and effective semantic value.
Run as ./simple.
Extracted from the documentation: A Simple C++ Example.
variant.yy - Self-contained example in C++98
A variation of simple.yy, in C++98.
Run as ./variant.
variant-11.yy - Self-contained example in modern C++
Another variation of simple.yy, closely related to the previous one, but exhibiting support for C++11's move semantics.
Run as ./variant or ./variant NUMBER.
calc++ - A Complete C++ Example
A fully featured C++ version of the canonical example for parsers: a calculator. Also uses Flex for the scanner.
Don't look at this example first: it is fully featured and can serve as a starting point for a clean parser in C++. The previous examples are better introductory examples, and the C examples are also useful introductory examples.
Extracted from the documentation: A Complete C++ Example.