etch  ] [  etch-m68k  ] [  lenny  ] [  squeeze  ] [  sid  ]
[ Source: bisonc++  ]

Package: bisonc++ (2.4.8-1 and others)

Bison-style parser generator for C++

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.

Tags: Software Development: Code Generation, C++ Development, Implemented in: C++, User Interface: Command Line, Role: Program, Scope: Utility

Other Packages Related to bisonc++

  • depends
  • recommends
  • suggests
  • dep: libbobcat2 (>= 2.01.0) [not kfreebsd-amd64, kfreebsd-i386, m68k]
    run-time (shared) Bobcat library
    dep: libbobcat2 (>= 2.02.02) [m68k]
    dep: libbobcat2 (>= 2.04.01) [kfreebsd-amd64, kfreebsd-i386]
  • dep: libc0.1 (>= 2.3) [kfreebsd-amd64, kfreebsd-i386]
    GNU C Library: Shared libraries
    also a virtual package provided by libc0.1-udeb
  • dep: libc6 (>= 2.2.5) [amd64]
    GNU C Library: Shared libraries
    also a virtual package provided by libc6-udeb
    dep: libc6 (>= 2.3.5) [powerpc]
    dep: libc6 (>= 2.3.6-6~) [i386]
    dep: libc6 (>= 2.4) [armel, mips, mipsel, s390]
    dep: libc6 (>= 2.5) [hppa]
    dep: libc6 (>= 2.5-5) [m68k]
    dep: libc6 (>= 2.6) [sparc]
  • dep: libc6.1 (>= 2.1.3) [alpha]
    GNU C Library: Shared libraries
    also a virtual package provided by libc6.1-udeb
    dep: libc6.1 (>= 2.2) [ia64]
  • dep: libgcc1 (>= 1:4.1.1) [not armel, hppa, kfreebsd-amd64, kfreebsd-i386, m68k]
    GCC support library
    dep: libgcc1 (>= 1:4.4) [kfreebsd-amd64, kfreebsd-i386]
    dep: libgcc1 (>= 1:4.4.0) [armel]
  • dep: libgcc2 (>= 4.2.1) [m68k]
    Package not available
  • dep: libgcc4 (>= 4.1.1) [hppa]
    GCC support library
  • dep: libstdc++6 (>= 4.2.1) [not armel, kfreebsd-amd64, kfreebsd-i386]
    The GNU Standard C++ Library v3
    dep: libstdc++6 (>= 4.4) [kfreebsd-amd64, kfreebsd-i386]
    dep: libstdc++6 (>= 4.4.0) [armel]
  • dep: libunwind7 [ia64]
    A library to determine the call-chain of a program - runtime
  • sug: bison
    A parser generator that is compatible with YACC
  • sug: bisonc++-doc
    Bison-style parser generator for C++

Download bisonc++

Download for all available architectures
Architecture Version Package Size Installed Size Files
alpha 2.4.8-1 189.5 kB576 kB [list of files]
amd64 2.4.8-1 178.3 kB496 kB [list of files]
armel 2.4.8-1 162.5 kB428 kB [list of files]
hppa 2.4.8-1 202.1 kB584 kB [list of files]
i386 2.4.8-1 171.0 kB476 kB [list of files]
ia64 2.4.8-1 231.8 kB812 kB [list of files]
kfreebsd-amd64 2.4.8-1 177.9 kB482 kB [list of files]
kfreebsd-i386 2.4.8-1 171.0 kB450 kB [list of files]
m68k (unofficial port) 2.4.7-1 162.8 kB492 kB [list of files]
mips 2.4.8-1 186.6 kB668 kB [list of files]
mipsel 2.4.8-1 185.5 kB668 kB [list of files]
powerpc 2.4.8-1 183.1 kB520 kB [list of files]
s390 2.4.8-1 173.9 kB484 kB [list of files]
sparc 2.4.8-1 271.7 kB1048 kB [list of files]