mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
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