mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 20:33:03 +00:00
In the previous commit we fixed a problem when the C++ stack was resized. The test was using ints. Let's add a test with someone quite touchy: unique_ptr * examples/variant-11.yy: Accept an argument, which is the number of numbers to send to the parser. * examples/variant-11.test: Check with many numbers.
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