Related articles |
---|
GMD Karlsruhe Toolbox - Cocktail grosch@karlsruhe.gmd.de (Josef Grosch) (1992-03-05) |
GMD Karlsruhe Toolbox - Cocktail grosch@karlsruhe.gmd.de (Josef Grosch) (1992-09-08) |
Need a LL(1) grammar of Pascal wmtecp@urc.tue.nl (1992-09-24) |
Newsgroups: | comp.compilers |
From: | Josef Grosch <grosch@karlsruhe.gmd.de> |
Organization: | GMD Forschungsstelle Karlsruhe |
Date: | Tue, 8 Sep 1992 08:33:56 GMT |
Keywords: | tools, FTP, parse, attribute, LALR, LL(1) |
A new version (9208) of the GMD Toolbox for Compiler Construction - also
known as Cocktail (Compiler-Compiler-Toolbox Karlsruhe) - is now available
via anonymous ftp:
TOOLBOX(1) GMD-Forschungsstelle-Karlsruhe TOOLBOX(1)
NAME
toolbox - tool box for compiler construction
DESCRIPTION
Toolbox is a set of program generators or compiler
construction tools for nearly all phases of a compiler. The
compiler construction tools support the automatic generation
of compilers for imperative programming languages. The
design goals for this tool box were practical usability,
significantly reduced construction effort for compilers, and
high quality of the generated compilers. Especially with
respect to efficiency the tools are competitive to
programming by hand. Currently the tools can generate
compiler modules in the target languages C and Modula-2.
First realistic applications demonstrate the excellent
performance of the tools and show that the tools allow the
construction of production quality compilers.
TOOLS
Rex generator for lexical analyzers
Lalr LALR(1) parser generator
Ell LL(1) parser generator
Ast generator for abstract syntax trees
Ag generator for attribute evaluators
Puma transformation of attributed trees using pattern matching
Reuse library of reusable modules
IMPLEMENTATION LANGUAGES
C (ANSI + K&R) or Modula-2
TARGET LANGUAGES
C (ANSI + K&R), C++, or Modula-2
PLATFORMS
DEC Station / ULTRIX
VAX / ULTRIX or BSD UNIX 4.2
SUN 3 or SUN 4 / SunOS
NEXT / MACH
PCS Cadmus / MUNIX
others
FILESERVER
host : ftp.karlsruhe.gmd.de = 192.76.241.33
login : anonymous
directory : /pub/cocktail
DISTRIBUTION
Medium: DC 300 data cartridge, TK 50, Exabyte, or 1/2" magnetic tape
(1600 bpi) in tar format
source programs in Modula-2 as well as in C
documentation in troff- and Postscript-format
example specifications
CONTACT
Josef Grosch
GMD Forschungsstelle an der Universitaet Karlsruhe
Vincenz-Priesznitz-Str. 1
D-7500 Karlsruhe
Germany
Tel: +721-6622-26
Fax: +721-6622-968
E-Mail: grosch@karlsruhe.gmd.de
TAPE HANDLING FEE
Source licence: 500 DM or 250 US $
RECENT CHANGES
- The scanner generator 'rex' and the parser generators 'lalr' and 'ell'
allow to chose arbitrary names for the generated modules. Therefore, it is
possible to have several scanners and parsers in one program.
- The length of a token and the lookahead in scanners generated by 'rex' is no
longer restricted to 256 characters. Both, tokens and lookahead can be of
arbitrary length. A restriction in the size of the tables generated by
'lalr' has been removed. Now it is possible to generate rather huge
parsers.
- The attribute grammar tool 'ag' has been extended to generate attribute
evaluators for well-defined attribute grammars (WAGs). The program checks
grammars whether they obey this property. It is possible to access
non-local attributes and to compute attributes on a restricted form of
graphs.
- The auxiliary modules 'Errors' and 'Source' have been included into the
library of reusable modules called 'reuse'. The 'Errors' module has been
extended to support messages with a string argument. It allows to store
the messages and print them sorted by the source position. An extra module
named 'Positions' has been introduced in 'reuse', too, for the handling of
source positions.
- The program 'cg' which implements 'ast' and 'ag' accepts several input
files. Instead of one file that communicates a tree definition to
'puma' with the fixed name 'TREE.TS' it is possible to produce several
of those with different names. This is of interest if different "views"
have to be communicated.
- The extern declarations for malloc, free, and exit have been removed from
the generated C code.
- All tools do not generate # line directives by default, only upon request.
- In case of fatal errors during the execution of generated modules a user
defined exception routine can be called instead of the predefined 'exit
(1)'.
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.