mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
60 lines
2.0 KiB
Markdown
60 lines
2.0 KiB
Markdown
# 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 type and effective
|
|
semantic value.
|
|
|
|
Run as `./simple`.
|
|
|
|
Extracted from the documentation: "A Simple C++ Example".
|
|
https://www.gnu.org/software/bison/manual/html_node/A-Simple-C_002b_002b-Example.html
|
|
|
|
## 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".
|
|
https://www.gnu.org/software/bison/manual/html_node/A-Complete-C_002b_002b-Example.html
|
|
|
|
<!---
|
|
|
|
Local Variables:
|
|
fill-column: 76
|
|
ispell-dictionary: "american"
|
|
End:
|
|
|
|
Copyright (C) 2018-2019 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 ispell american
|
|
--->
|