Appearing on IRIX with gcc -mabi=n32. Reported by Bruno Haible. https://lists.gnu.org/r/bug-bison/2020-05/msg00039.html * examples/c++/variant-11.yy, examples/c/bistromathic/parse.y: Don't give chars to isdigit, cast them to unsigned char before. * src/complain.c: Use c_isdigit. * src/fixits.c (fixits_run): Avoid casts. * src/lalr.c (goto_print): Use %zu for a size_t.
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". 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