mooigraph 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
..
vms 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
COPYING 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
ChangeLog 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
LR0.c 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
Makefile 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
README 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
README.AMIGA 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
REFERENCES 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
allocate.c 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
bison++ 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
bison++.hairy.cc 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
bison++.simple.cc 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
closure.c 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
conflicts.c 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
derives.c 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
files.c 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
files.h 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
getargs.c 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
getopt.c 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
gram.c 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
gram.h 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
lalr.c 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
lex.c 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
lex.h 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
machine.h 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
main.c 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
new.h 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
nullable.c 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
output.c 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
print.c 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
reader.c 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
reduce.c 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
state.h 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
symtab.c 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
symtab.h 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
types.h 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
version.c 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
vmsgetargs.c 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu
warshall.c 3ddfecfb34 added a re-compilation of GNU Bison 1 parser generator 3 lat temu

README

Bison parser generator for C++

This directory contains a version of the GNU Bison parser generator
modified by Larry Augustin to work with C++. It has been tested
with GNU g++ 1.37.1.

The major difference between this program and Bison is that this
program generates a C++ class declaration for the parser.
Documentation on how to use this class is nonexistent. The easiest
thing to do is run a simple YACC file through bison++ and look at the
.tab.h and .tab.c files generated. The .tab.h file contains a C++
class declaration for the parser. The yylex() routine is a member
function in this class. Somewhere you will have to write this
function. A useful contribution to the C++ community would be a
version of flex (flex++) to go with bison++.

The advantage of this approach is that it allows you to have multiple
instances of a parser, and also to have different parsers in the same
application without worrying about name conflicts between all the
global names (yylex, yylval, etc.) that YACC usually defines. All
those names still exist in bison++, except that they are now defined
with the scope of the parser class declaration.

Larry M. Augustin ERL 414
lma@sierra.stanford.edu Computer Systems Lab
lma@dayton.stanford.edu Stanford University
(415) 723-9285 Stanford, CA 94305

------------------------------------------------------------------------

GNU Bison README:

This directory contains the Bison parser generator.

When installing Bison on Sequent (or Pyramid?) systems, you must
be in the Berkeley universe.

On systems that do not have a working `alloca' function, you will
have to get a working `alloca' (perhaps from GNU Emacs) and edit the
Makefile so that it will be used.

On system V, you will need to define the macro USG while compiling.

Send bug reports to bug-gnu-utils@prep.ai.mit.edu.
Please include the date and author of the last entry in ChangeLog
in each bug report; this serves as a version number for Bison.