language: BNF


Language:
BNF (yacc)
Package:
? jaccl ?
Version:
?
Parts:
parser generator
Author:
Dave Jones <djones@megatest.uucp>
Location:
?
Description:
a LR(1) parser generator
Updated:
September 8th, 1989

Language:
BNF (yacc), Ada
Package:
aflex-ayacc
Version:
1.2a
Parts:
parser generator (Ada), scanner generator (Ada)
Author:
IRUS (Irvine Research Unit in Software)
Location:
ftp://liege.ics.uci.edu/pub/irus/aflex-ayacc_1.2a.tar.Z
Description:
Lex and Yacc equivalents that produce Ada output
Announcements:
irus-software-request@ics.uci.edu
Contact:
irus-software-request@ics.uci.edu
Updated:
January 6th, 1993

Language:
BNF (??)
Package:
ATS (Attribute Translation System)
Version:
?
Parts:
?
Author:
? University of Saskatchewan ?
Location:
?
Description:
generates table-driven LL(1) parsers with full insert-only error recovery. It also handles full left-attribute semantic handling, which is a dream compared to using YACC's parser actions.
Status:
?
Contact:
? (suggested: Dave Bocking <bocking@cs.usask.ca>)
Updated:
November 29th, 1988

Language:
BNF (yacc)
Package:
bison
Version:
1.22
Parts:
parser generator, documentation
Author:
Robert Corbett and Richard Stallman
Location:
ftp://gatekeeper.dec.com/bison-1.16.tar.Z or any other GNU archive site
Description:
?
Bugs:
bug-gnu-utils@prep.ai.mit.edu
Restriction:
!! will apply the GNU General Public License to *your* code !!
Ports:
unix, atari, ?
Updated:
September 14th, 1993

Language:
BNF (yacc), Lex
Package:
Bison++ and Flex++
Version:
1.21-8 (bison), 2.3.8-7 (flex), 5 (flex++bison++misc)
Parts:
translator, documentation, postscript, examples, DOS binary
Author:
Alain Coetmeur <coetmeur@icdc.fr>
Location:
cse.unl.edu in ~ftp/pub/nandy/c++/tools/LATEST/*
europe:
ftp://ftp.th-darmstadt.de/pub/programming/languages/C++/tools/flex++bison++/LATEST/
Description:
A retargeting of bison-1 and flex 2.3 to C++, able to generate classes. As with Bison and Flex, these two tools are independent but designed for mutual compatibility. The version numbering has been changed for consistency with Flex and Bison, so versions of flex3.0.x and bison2.x of this package are are actually earlier versions, not later. Examples are provided to help in getting started.
Conformance:
Mostly compatible with flex2.3 and bison 1 in C, apart from the ability to generate classes.
Features:
Almost all symbol names can be redefined, parsers can be shared in C and C++ in the same headers... very extensible... flex++ support IOSTREAM and STDIO in C++.
Bugs:
Contact coetmeur@icdc.fr (current author and maintainer).
Restriction:
GNU License for bison++. Same as flex for flex++.
Ports:
SUNOS4, DOS, and same ports as Flex/Bison, Windows NT (tested)
Portability:
Larger memory model required on DOS (DOS binary supplied).
Status:
active, supported, might not support flex 2.4
Discussion:
coetmeur@icdc.fr, news: comp.compiler, or comp.lang.c++
Help:
coetmeur@icdc.fr, news: comp.compiler, or comp.lang.c++ for substantial problems.
Support:
see help, no commercial support. (volunteer ?)
Announcements:
mail list locally maintained by coetmeur@icdc.fr, news: comp.compiler comp.lang.c++
Updated:
Febuary 7th, 1994

Language:
BNF (yacc)
Package:
bison-A2.3
Version:
2.3 (corresponds to gnu bison 1.22)
Parts:
parser generator, C-parser, C++parser, documentation
Author:
Fred Hansen <wjh+@cmu.edu>
Location:
ftp://ftp.andrew.cmu.edu/pub/AUIS/bison/bison-A2.2.tar.gz also in contrib/andrew on the XV11R6 distribution in directories overhead/bison, overhead/mkparser (but not the C++ version of the parser)
Description:
This is the standard gnu bison with a number of improvments: license-free parsers for C and C++, only one external symbol for each grammar, permits multiple grammars per application, better error reports on the grammar.
Conformance:
grammars are the same as bison and yacc; but run-time errors are handled differently, so semantic rules must be changed
Features:
tokens in the grammar can be expressed as ">=" instead of GE
Bugs:
send bugs to info-andrew-bugs@andrew.cmu.edu
Restriction:
none (unless you use the native gnu-bison parser)
Ports:
has been tested on most Unix platforms
Portability:
generation of names for temp files is system dependent.
Discussion:
info-andrew@andrew.cmu.edu (mirrored to comp.soft-sys.andrew)
Support:
supported by the Andrew Consortium
Contributions:
your organization is invited to join the Andrew Consortium info-andrew-request@andrew.cmu.edu
Updated:
May 9th, 1994

Language:
BNF (yacc)
Package:
byacc (Berkeley Yacc)
Version:
1.9
Parts:
parser generator
Author:
Robert Corbett <Robert.Corbett@eng.sun.com>
Location:
ftp://vangogh.CS.Berkeley.EDU/pub/byacc.tar.1.9.Z
Description:
probably the best yacc variant around. Previously known as Zoo, and before that, as Zeus.
Updated:
Febuary 22nd, 1993

Language:
BNF (Yacc like description languages)
Package:
Compiler Construction Tool Set (aka COCOM or Russian Armoury)
Version:
0.9
Parts:
  • Ammunition: reusable packages
  • Sprut : internal representation description translator (C, C++)
  • Nona : code selector description translator (C, C++)
  • Oka : pipeline hazards description translator (C,C++) and basic block scheduler (C, C++)
  • Shilka : keywords description translator (C, C++) for for fast recognizing keywords
  • Msta : syntax description translator (now only C) for description of parsers and scanners (LR(k), LALR(k)). documentation, examples
Author:
Vladimir N. Makarov <vmakarov@usa.net>
Location:
http://www.geocities.com/SiliconValley/Lab/4557
Description:
A set of compiler building tools.
Ports:
Unix, Linux
Portability:
very high (GNU configure)
Status:
COCOM is actively developed
Support:
Vladimir N. Makarov <vmakarov@usa.net>
Contact:
Vladimir N. Makarov <vmakarov@usa.net>
Updated:
January 5th, 1998

Language:
BNF
Package:
Eli
Version:
4.1.0
Parts:
scanner generator (regular expressions->C, C++), parser generator (LALR->C, C++), attribute evaluator generator (LIDO->C, C++), definition table generator (PDL->C, C++), tree pattern-matcher generator (OIL->C, C++), pattern-based text generator (PTG->C, C++), unparser generator (Idem), command-line processing generator (CLP->C, C++), literate programming (FunnelWeb), integrated high-level debugger (Noosa), library with solutions for common tasks (ModLib), online and printable documentation
Author:
William Waite <waite@cs.colorado.edu>
Basim Kadhim <kadhim@cs.colorado.edu>
Uwe Kastens <uwe@uni-paderborn.de>
Matthias Jung <mjung@uni-paderborn.de>
Peter Pfahler <peter@uni-paderborn.de>
Anthony Sloane <tony@cs.jcu.edu.au>
Location:
http://www.cs.colorado.edu/~eliuser http://www.uni-paderborn.de/project-hp/eli.html http://www.cs.jcu.edu.au/~tony/eli.html
Description:
Eli is a fully integrated environment for the automatic generation of processors of structured text. It transparently utilises off-the-shelf tools and libraries with specialized language processors to generate complete processors quickly and reliably.

It simplifies the development of new special-purpose languages, implementation of existing languages on new hardware and extension of the constructs and features of existing languages.

Bugs:
<elibugs@cs.colorado.edu>
Restriction:
Eli is under the Free Software Foundation's General Public License. Code generated by Eli has no restrictions except that the dynamic memory allocation module (obstack) is covered by FSF's Library General Public License.
Requires:
High-level debugging requires Tcl/Tk (at least versions 7.6/4.2).
Ports:
SunOS (4.1.2, 5.4, 5.5), OSF1 (V3.0, V4.0), Linux (2.0.30 ELF), IRIX (5.3, 6.3), HP-UX (A.09.05)
Portability:
Portable to most Unix systems using FSF's autoconf support.
Status:
active, supported
Discussion:
<eli@cs.colorado.edu> (join at <eli-request@cs.colorado.edu>)
Help:
<elibugs@cs.colorado.edu>
Announcements:
comp.compilers, <eli@cs.colorado.edu>
Contact:
<compiler@cs.colorado.edu> <compiler@uni-paderborn.de> <tony@cs.jcu.edu.au>
Updated:
October 6th, 1997

Language:
BNF (??)
Package:
FMQ
Version:
?
Parts:
paser generator w/error corrector generator
Author:
Jon Mauney
Location:
ftp://csczar.ncsu.edu
Description:
?
Status:
?
Contact:
?
Updated:
March 31st, 1990

Language:
BNF (Extended), BNF (yacc)
Package:
GMD Toolbox for Compiler Construction (aka Cocktail)
Version:
9209
Parts:
lalr: parser generator (LALR(1) -> C, Modula-2), ell : parser generator (LL(1) -> C, Modula-2), rex : scanner generator (-> C, Modula-2), bnf : translator (Extended BNF -> BNF), y2l : translator (BNF (yacc) -> Extended BNF), ast : abstract syntax tree generator, ag : attribute-evaluator generator, puma: transformation of abstract syntax tree using pattern-matching

documentation, examples

Author:
Josef Grosch <grosch@cocolab.sub.com> and others
Location:
ftp://ftp.gmd.de/gmd/cocktail ftp://ftp.rus.uni-stuttgart.de/pub/unix/programming/compilerbau ftp://ftp.th-darmstadt.de/pub/programming/languages/compiler-compiler/cocktail ftp://src.doc.ic.ac.uk/languages/tools/gmd ftp://gatekeeper.dec.com/.3/plan/gmd
os/2:
ftp.eb.ele.tue.nl/pub/src/cocktail/dos-os2.zoo
Description:
A huge set of compiler building tools.
Requires:
(MS-DOS and MS-Windows only) DJ Delorie's DOS extender (go32) (OS/2 only) emx programming environment for OS/2
Ports:
Unix, Linux, MS-DOS, MS-Windows, OS/2
Portability:
very high
Status:
version 9209 is unsupported, Cocktail is actively developed, versions 9401 and higher are commercial
Discussion:
subscribe to Cocktail using listserv@eb.ele.tue.nl
Support:
Josef Grosch <grosch@cocolab.sub.com>
Contact:
Josef Grosch <grosch@cocolab.sub.com>
os/2:
Willem Jan Withagen <wjw@eb.ele.tue.nl>
Updated:
October 1st, 1992

Language:
BNF (Extended, actually a regular right part grammar)
Package:
Gray
Version:
4
Parts:
parser generator, documentation, examples
Author:
Martin Anton Ertl <anton@mips.complang.tuwien.ac.at>
How to get:
ftp://server.complang.tuwien.ac.at/pub/forth/gray4.tar.gz ftp://server.complang.tuwien.ac.at/pub/forth/gray4.zip
Description:
Gray is a parser generator written in Forth. It takes grammars in an extended BNF and produces executable Forth code for recursive descent parsers.
Restrictions:
Copyleft
Requires:
ANS Forth
Conformance:
ANS Forth with some environmental dependences (see README)
Status:
supported
Ports:
Several ANS Forth Systems; mail author for old versions running on Tile.
Updated:
August 8th, 1994

Language:
BNF (variant), Icon
Package:
Ibpag2 (Icon-Based Parser Generation System 2)
Version:
1.2
Parts:
parser generator (Icon, SLR(1))
Author:
Richard L. Goerwitz <goer@midway.uchicago.edu>
Location:
comp.sources.misc volume 44
Description:
Ibpag2 is a parser generator for Icon. It does most of what you would expect. Latest version can handle both SLR(1) and even GLR (Tomita) grammars.
Ports:
unix
Portability:
? (Unix dependencies?)
Updated:
September 25th, 1994

Language:
BNF
Package:
lalr.ss - An LALR(1) parser generator
Version:
0.9
Parts:
parser generator (->Scheme)
Author:
Mark Johnson <mj@cs.brown.edu>
Location:
ftp://the/new/lalr.shar Scheme Repository
Description:
A LALR(1) parser generator in and for Scheme.
Requires:
Scheme
Updated:
May 24th, 1993

Language:
BNF (yacc), Lex
Package:
Lex/Yacc for Turbo Pascal uploaded
Version:
?
Parts:
parser generator, scanner generator, documentation?
Author:
?
Location:
ftp://iecc.com/pub/file/lyprg.zip.
Description:
Lex and Yacc retargeted to Pascal.
Contact:
? dpoole@hydrogen.oscs.montana.edu (David Poole)
Updated:
July 2nd, 1993

Language:
BNF (??)
Package:
LLGen
Version:
?
Parts:
parser generator
Author:
? Fischer and LeBlanc ?
Location:
? ftp://csczar.ncsu.edu ?
Description:
LL(1) parser generator
Conformance:
subset of FMQ
Reference:
"Crafting A Compiler", by Fischer and LeBlanc
Status:
?
Contact:
?
Updated:
March 31st, 1990

Language:
BNF (yacc), Standard ML
Package:
New SML-Yacc and SML-Lex
Version:
??
Parts:
??
Author:
Andrew Appel <appel@tyrolia.princeton.edu>
Location:
princeton.edu/pub/ml, files mlyacc94.tar.Z, lexgen94.tar.Z.
Description:
??
Updated:
May 23rd, 1994

Language:
BNF (yacc)
Package:
NewYacc
Version:
1.0
Parts:
parser generator, documenation
Author:
Jack Callahan <callahan@mimsy.cs.umd.edu>
Location:
ftp://flubber.cs.umd.edu/src/newyacc.1.0.*.Z
Description:
[someone want to fill it in? --ed]
Reference:
see Dec 89 CACM for a brief overview of NewYacc.
Updated:
Febuary 10th, 1992

Language:
BNF (Extended)
Package:
PCCTS (Purdue Compiler-Construction Tool Set)
Version:
1.33
Parts:
scanner generator, parser generator (pred-LL(k)), documentation, tutorial
Author:
Terence J. Parr <parrt@parr-research.com>, Will E. Cohen <cohenw@ecn.purdue.edu>, Henry G. Dietz <hankd@ecn.purdue.edu>, Russell W. Quong <quong@ecn.purdue.edu>
Location:
ftp://ftp.parr-research.com/pub/pccts/
uk:
ftp://src.doc.ic.ac.uk/computing/programming/languages/tools/pccts/
Description:
PCCTS is similar to a highly integrated version of YACC and LEX; where ANTLR (ANother Tool for Language Recognition) corresponds to YACC and DLG (DFA-based Lexical analyzer Generator) functions like LEX.

PCCTS grammars contain specifications for lexical and syntactic analysis with selective backtracking ("infinite lookahead"), semantic predicates, intermediate-form construction and sophisticated parser exception handling. Rules may employ Extended BNF (EBNF) grammar constructs and may define parameters, return values and local variables. Languages described in PCCTS are recognized via predicated-LL(k) parsers constructed in pure, human-readable, C/C++ code; the C++ programming interface is very good. The documentation is complete, but distributed over an original manual plus multiple release notes. A book is in the works and should be available 1Q 1996.

A recently-developed PCCTS-based C++ parser is available at the ftp://site; it is an *initial* release and was derived from the grammar built by NeXT, Inc..

Restriction:
The tool is totally public domain--it has no legal restrictions on its use or incorporation into commercial applications.
Ports:
Unix, DOS, Windows, OS/2, Macintosh, NeXT
Portability:
very high
Discussion:
comp.compilers.tools.pccts
Contact:
Terence J. Parr <parrt@acm.org>
Updated:
October 5th, 1995

Language:
BNF (yacc), Perl
Package:
perl-byacc
Version:
1.8.2
Parts:
parser-generator(perl)
Author:
Rick Ohnemus <Rick_Ohnemus@Sterling.COM>
Location:
ftp://ftp.sterling.com/local/perl-byacc.tar.Z
Description:
A modified version of byacc that generates perl code. Has '-p' switch so multiple parsers can be used in one program (C or perl).
Portability:
Should work on most (?) Unix systems. Also works with SAS/C 6.x on AMIGAs.
Updated:
January 24th, 1993

Language:
BNF (very extended), yacc
Package:
PRE-CC Xtended
Version:
2.30
Parts:
library, parser generator (LL(oo)), translator(yacc->)
Author:
Peter Breuer
Location:
ftp://ftp.comlab.ox.ac.uk/pub/Programs/preccx.tar.Z (Unix) ftp://ftp.comlab.ox.ac.uk/pub/Programs/preccx.msdos (MS-DOS) ftp://ftp.comlab.ox.ac.uk/pub/Documents/techpapers/Jonathan.Bowen/preccx-uug.ps.Z (more recent versions available by subscription) URL: http://www.comlab.ox.ac.uk/archive/redo/precc.html
Description:
PRECCX is an infinite-lookahead compiler compiler for context dependent grammars. The generated code is ANSI C.

Specification scripts are in very EBNF with inherited and synthetic attributes allowed. Scripts can be compiled in separate modules, and linked together later. Meta-production rules allowed. The technology is essentially LL(oo) with optimizations. A converter for yacc scripts is available.

Reference:
"The PRECC Compiler-Compiler" by P.T. Breuer and J.P. Bowen. In E. Davies and A. Findlay (eds.), Proc. UKUUG/SUKUG Joint New Year 1993 Conference, St. Cross Centre, Oxford, UK, 6-8 January 1993, ISBN 1 873611 06 4 (UKUUG), 0 9520700 0 6 (SUKUG) UKUUG/SUKUG Secretariat, Owles Hall, Buntingford, Herts SG9 9PL, UK, pp 167-182, 1993.

"A PREttier Compiler-Compiler: Generating Higher Order Parsers in C" P.T. Breuer and J.P. Bowen. Oxford University Computing Laboratory Technical Report PRG-TR-20-92, 25pp, November 1992. Accepted by Software - Practice and Experience, 1994. ftp://ftp.comlab.ox.ac.uk/pub/Documents/techreports/TR-20-92.ps.Z

Ports:
unix, MS-DOS
Contact:
Peter Breuer <ptb@comlab.ox.ac.uk>, Jonathan Bowen <bowen@comlab.ox.ac.uk>
Updated:
June 2nd, 1994

Language:
BNF (extended)
Package:
SORCERER: A Simple Tree Parser and Rewrite Generator
Version:
1.00B15
Parts:
translator, documentation, tutorial, examples
Author:
Terence Parr <parrt@parr-research.com>, Aaron Sawdey <sawdey@lcse.umn.edu>, Gary Funck <gary@intrepid.com>
Location:
ftp://ftp.parr-research.com/pub/pccts/sorcerer/ ftp://ftp.uu.net/languages/tools/pccts/
uk:
ftp://src.doc.ic.ac.uk/computing/programming/languages/tools/pccts/
europe:
ftp://ftp.th-darmstadt.de/pub/programming/languages/compiler-compiler/pccts/
Description:
SORCERER is more suitable for the class of translation problems lying between those solved by code-generator generators and by full source-to-source translator generators. SORCERER generates simple, flexible, top-down, tree parsers that, in contrast to code-generators, may execute actions at any point during a tree walk. SORCERER accepts extended BNF notation, allows predicates to direct the tree walk with semantic and syntactic context information, and does not rely on any particular intermediate form, parser generator, or other pre-existing application. Both C and C++ based tree walkers can be generated. SORCERER is well integrated with PCCTS (soon SORCERER will be distributed with PCCTS).
Reference:
Several listed in software documentation.

A book will available first quarter 1996; a pre-release version is available at the ftp site.

Discussion:
Usenet newsgroup comp.compilers.tools.pccts
Help:
newsgroup
Support:
actively supported, from newsgroup and Parr Research Corporation <parrt@parr-research.com>.
Updated:
September 1st, 1995

Language:
BNF (??)
Package:
T-gen
Version:
2.1
Parts:
parser generator, documentation, ?
Author:
Justin Graver <graver@comm.mot.com>
Location:
ftp://st.cs.uiuc.edu/pub/st80_r41/T-gen2.1/*
Description:
T-gen is a general-purpose object-oriented tool for the automatic generation of string-to-object translators. It is written in Smalltalk and lives in the Smalltalk programming environment. T-gen supports the generation of both top-down (LL) and bottom-up (LR) parsers, which will automatically generate derivation trees, abstract syntax trees, or arbitrary Smalltalk objects. The simple specification syntax and graphical user interface are intended to enhance the learning, comprehension, and usefulness of T-gen.
Requires:
Smalltalk-80
Ports:
ParcPlace Objectworks/Smalltalk 4.0 & 4.1
Updated:
October 18th, 1992

Language:
BNF
Package:
tom (demo for Tomita Parsing algorithm)
Version:
1
Parts:
parser generator, parser interpreter, examples, documentation
Author:
Mark Hopkins <mark@omnifest.uwm.edu>
Location:
iecc.com in pub/files/tomita.tar.gz alt.sources archive from October 4, 1993.
Description:
An implementation of the Tomita parsing algorithm using LR(0) tables and dynamic programming.
Reference:
Kluwer '91, _Generalized LR Parsing_, Tomita ed., 0-7923-9201-9 "The Tomita Parsing Algorithm ...", comp.compilers May 20, 1994
Features:
Cyclic context free grammars are processed.
Portability:
System independent
Updated:
October 3rd, 1994

Language:
BNF
Package:
wacco
Version:
1.1, July 91
Parts:
parser generator
Author:
Parag Patel (parag@netcom.com, parag@sde.hp.com)
Location:
comp.sources.misc volume ?
Description:
Wacco is a recursive descent LL(1) parser generator that generates C++ code. Its syntax is similar to YACC with a lot of sugaring. It can also do attribute-driven parsing. The source is bootstrapped wacco code.
Ports:
HP-UX s300 and s800, Sparc, and 4.3BSD (on HP)
Portability:
Host machine must be 32 bits.
Contact:
?
Updated:
?

Language:
BNF (yacc)
Package:
yacc
Version:
1.9.1
Parts:
parser_generator
Author:
Todd Dukes (ladco@tab.com)
Location:
sunsite.unc.edu/pub/Linux/devel/lang/compiler_tools
Description:
Yacc is a parser generator. It reads an input file that describes a grammar and generates C code that implements that grammar. It is designed to work well with 'lex' compatible lexers. Flex is a good program for generating these lexers. This version has improved support for C++. Yacc 1.9 generated C code that caused warnings and errors when compiled with C++. Minor changes were made in the declarations in the skeleton file to eliminate these warnings and errors.
Updated:
?

Language:
BNF (??)
Package:
ZUSE
Version:
?
Parts:
parser generator(?)
Author:
Arthur Pyster
Location:
? Univ Calif at Santa Barbara ?
Description:
ll(1) paser generator
Requires:
Pascal
Updated:
September 23rd, 1986

Related Items


This site is supported by David Sharnoff and Bryan Miller with some help from Google Adwords.

Please send updates to free-compilers@sharnoff.org

The HTML is maintained by David Muir Sharnoff and the entries themselves are currently maintained by Bryan Miller.

Copyright (c) 1992-1998 David Muir Sharnoff, All Rights Reserved
Copyright (c) 1994-1996, Steven Allen Robenalt, All Rights Reserved
Copyright (c) 1999-2010 David Muir Sharnoff, Bryan Miller, All Rights Reserved