/bisoncpp

Bisonc++ is a parser generator like bison, but it generates C++ code

Primary LanguageC++

Bisonc++ is a parser generator like bison, but it generates C++ code

Bisonc++ is a general-purpose parser generator that converts a grammar
description for an LALR(1) context-free grammar into a C++ class to parse that
grammar. Once you are proficient with bisonc++, you may use it to develop a
wide range of language parsers, from those used in simple desk calculators to
complex programming languages. 

Bisonc++ is highly comparable to the program bison++, written by Alain
Coetmeur: all properly-written bison++ grammars ought to be convertible to
bisonc++ grammars after very little or no change. Anyone familiar with bison++
or its precursor, bison, should be able to use bisonc++ with little
trouble. You need to be fluent in using the C++ programming in order to use
bisonc++.

Bisonc++ expands the concepts initially implemented in bison and bison++,
offering a cleaner setup of the generated parser class. The parser class is
derived from a base-class, mainly containing the parser's token- and
type-definitions as well as several member func- tions which should not be
modified by the programmer.

To create the program from its sources, either descend into the bisonc++
directory, or unpack a created archive, cd into its top-level directory 
and follow the instructions provided in the INSTALL file found there.

Alternatively, binary ready-to-install versions of the Bisonc++ parser
generator are available in verious Linux distributions, in particular
Debian. See, e.g., 
https://packages.debian.org/search?keywords=bisonc%2B%2B&searchon=names&suite=all&section=all

Github's web-pages for Bisonc++ are here:
https://fbb-git.github.io/bisoncpp/