Download Source Package bisonc++:
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.
|
|
|
| Architecture | Version | Package Size | Installed Size | Files |
|---|---|---|---|---|
| alpha | 2.4.8-1 | 189.5 kB | 576 kB | [list of files] |
| amd64 | 2.4.8-1 | 178.3 kB | 496 kB | [list of files] |
| armel | 2.4.8-1 | 162.5 kB | 428 kB | [list of files] |
| hppa | 2.4.8-1 | 202.1 kB | 584 kB | [list of files] |
| i386 | 2.4.8-1 | 171.0 kB | 476 kB | [list of files] |
| ia64 | 2.4.8-1 | 231.8 kB | 812 kB | [list of files] |
| kfreebsd-amd64 | 2.4.8-1 | 177.9 kB | 482 kB | [list of files] |
| kfreebsd-i386 | 2.4.8-1 | 171.0 kB | 450 kB | [list of files] |
| m68k (unofficial port) | 2.4.7-1 | 162.8 kB | 492 kB | [list of files] |
| mips | 2.4.8-1 | 186.6 kB | 668 kB | [list of files] |
| mipsel | 2.4.8-1 | 185.5 kB | 668 kB | [list of files] |
| powerpc | 2.4.8-1 | 183.1 kB | 520 kB | [list of files] |
| s390 | 2.4.8-1 | 173.9 kB | 484 kB | [list of files] |
| sparc | 2.4.8-1 | 271.7 kB | 1048 kB | [list of files] |