Package: bisonc++-doc (6.04.03-2)
Links for bisonc++-doc
Download Source Package bisonc++:
- Homepage [fbb-git.gitlab.io]
Bison-style parser generator for C++ documentation
Bisonc++ was designed after `bison++', created by Alain Coetmeur. Bisonc++ adds to bison++ a cleaner class-design, using a base-class to communicate lexical tokens to a lexical scanner.
Since bisonc++ generates the parser class as well as the parsing function. The class can easily be provided with additional members without needing polymorphic functions. Consequently, classes generated by bisonc++ have no virtual members and actually have but one public member: parse(), replacing the old-style bison and bison++ yyparse() function.
Bisonc++ offers many options, among which an option to define classes generated by bisonc++ in a separate namespace. This allows developers to define additional symbols, even outside of the class generated by bisonc++, without encountering name-collision problems. With bisonc++, artificial means to prevent name-collisions, like bison and bison++'s yy-convention are not required anymore when using bisonc++. Bisonc++ merely generates C++ code. If C code is required, bison should be used. Bisonc++'s grammar requirements are highly compatible with bison's requirements, so converting a bison grammar into a bisonc++ grammar should be fairly simple.
In addition to the bisonc++ parser generator itself and several skeleton files, the package contains an extensive man-page, a full manual rewritten after the original bison manual, and several examples.
Some history: Bisonc++ versions 0.98 is a complete rewrite of an LALR(1) parser generator, as described in Aho, Sethi and Ullman's (1986) book `Compilers' (a.k.a. the `Dragon Book'). Version 0.98 was completed in May 2005. Another major rewrite was completed one year later, May 2006, resulting in version 1.00.
This package provides the supplemental documentation for Bisonc++.