home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!haven.umd.edu!darwin.sura.net!udel!gvls1!faatcrl!iecc!compilers-sender
- From: grosch@karlsruhe.gmd.de (Josef Grosch)
- Newsgroups: comp.compilers
- Subject: GMD Karlsruhe Toolbox - Cocktail
- Keywords: tools, FTP, parse, attribute, LALR, LL(1)
- Message-ID: <92-09-049@comp.compilers>
- Date: 8 Sep 92 08:33:56 GMT
- Sender: compilers-sender@iecc.cambridge.ma.us
- Reply-To: Josef Grosch <grosch@karlsruhe.gmd.de>
- Organization: GMD Forschungsstelle Karlsruhe
- Lines: 118
- Approved: compilers@iecc.cambridge.ma.us
-
- 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)'.
- --
- Send compilers articles to compilers@iecc.cambridge.ma.us or
- {ima | spdcc | world}!iecc!compilers. Meta-mail to compilers-request.
-