This directory contains examples of Bison grammar files.

Most of them come from the documentation, which should be installed together
with Bison.  The URLs are provided for convenience.


* Examples in C

** rpcalc - Reverse Polish Notation Calculator
The first example is that of a simple double-precision Reverse Polish
Notation calculator (a calculator using postfix operators). This example
provides a good starting point, since operator precedence is not an issue.

Extracted from the documentation: "Reverse Polish Notation Calculator"
https://www.gnu.org/software/bison/manual/html_node/RPN-Calc.html

** mfcalc - Multi-Function Calculator
A more complete C example: a multi-function calculator.

Extracted from the documentation: "Multi-Function Calculator: mfcalc".
https://www.gnu.org/software/bison/manual/html_node/Multi_002dfunction-Calc.html



* Examples in C++

** variant.yy - Self-contained example in C++
A simple C++ example in a single file, 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 type and
effective semantic value.

** variant-11.yy - Self-contained example in modern C++
Another simple C++ example, closely related to the previous one, but
exhibiting support for C++11's move semantics.

** calc++ - A Complete C++ Example
A fully featured C++ version of the canonical example for parsers: a
calculator.  Also uses Flex for the scanner.

Extracted from the documentation: "A Complete C++ Example".
https://www.gnu.org/software/bison/manual/html_node/A-Complete-C_002b_002b-Example.html


-----

Local Variables:
mode: outline
fill-column: 76
End:

Copyright (C) 2018 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts.  A copy of the license is included in the "GNU Free
Documentation License" file as part of this distribution.

# LocalWords:  mfcalc calc parsers yy
