Catalog of Compiler Construction Products |
This posting may be reproduced in any form without further permission, as long as it is left unchanged. January 1996, Olaf Langmack.
FIFTH ISSUE
This catalog lists products and services for the construction of programming language compilers and related programming tools. It covers compiler generators, corresponding grammars, reusable parts of compilers, reusable parts of other programming tools and related consulting or programming services.
The catalog provides only technical information. Potential customers have to inquire at the given address about prices and licensing policies.
All the listed products are available now in a form suitable for production use. They shall exhibit professional quality and have long term support.
The entries are submitted voluntarily. Apart from tracking complaints about inappropriate entries no quality control of the entries is applied. Therefore I do not assume any liability for listed entries. (For a catalog of free software see the "Catalog of Free Compilers and Interpreters".)
The catalog is posted regularly on comp.compilers. If you want to submit an update send the filled form to langmack@netmbx.netmbx.de. Updates that do not make use of the form or do not comply with the guidelines given at the end will not be considered.
CHANGE NOTE
A topic "WEB" has been added to the entry form.
Table of Contents
- Adrian Johnstone
- CoCoLab
- Compiler Resources
- Edison Design Group
- GrammaTech
- NULLSTONE
- OCCL
- Parr Research Corporation
Adrian Johnstone
ADDRESS Dr Adrian Johnstone Department of Computer Science Royal Holloway, University of London Egham Surrey United Kingdom CONTACT Dr Adrian Johnstone Phone +44 (0)1784 443425 Fax +44 (0)1784 443420 E-Mail adrian@dcs.rhbnc.ac.uk TOOL Recursive Descent Compiler generator RDP Features RDP takes an attributed very-extended BNF and analyses it for LL(1) conformance providing detailed error and warning messages. It outputs ANSI C and links against a library of general purpose routines that provide set handling, command line switch processing, symbol table management and more. RDP is very easy to use. Distribution All source in ANSI C, compiler-compiler source in BNF, various examples. Complete distributions available from ftp://cscx.cs.rhbnc.ac.uk:/pub/rdp Platform MS-DOS / Borland-C MS-DOS / Microsoft C Many flavours of Unix with gcc and vendors' compilers Macintosh / Think C Macintosh / metroWorks C Acorn Archimedes Amiga
CoCoLab
ADDRESS CoCoLab Dr.-Ing. Josef Grosch Hagsfelder Allee 16 D-76131 Karlsruhe Germany CONTACT Josef Grosch Phone +49-721-697061 Fax +49-721-661966 E-Mail grosch@cocolab.sub.com TOOL Toolbox for compiler construction Cocktail Features - set of program generators for nearly all phases of a compiler - designed especially for practical usability, efficiency, and the generation of production quality compilers - target languages are C, C++, Modula-2, and in part Ada or Eiffel Distribution - C source code (obfuscated) - 3.5" floppy disks or DC6150 data cartridge (150MB streamer tape) - documentation in Postscript-, troff- and ASCII-format Platform - all/UNIX - PC/MS-DOS, Windows, OS/2, Linux TOOL Scanner generator Rex Features - very efficient wrt. speed, table size, and generation time - provides source position (line and column) for every token - several scanners in one program are possible - does not have arbitrary restrictions: unlimited token length, unlimited length of lookahead, extremely big scanners Distribution and Platform like Cocktail TOOL Parser generator Lark Features - generates table-driven parsers for LALR(1) and LR(1) grammars - explains LR conflicts and generates very efficient parsers - provides automatic error handling (reports, recovery, repair) - semantic predicates can control parsing by conditions - support for backtracking parsing with unlimited lookahead Distribution and Platform like Cocktail TOOL Parser generator Ell Features - generates recursive descent parsers for LL(1) EBNF grammars - provides automatic error handling (reports, recovery, repair) - generates very efficient parsers - synthesized and inherited attributes can be computed Distribution and Platform like Cocktail TOOL Generator for abstract syntax trees Ast Features - generates abstract data types for attributed trees and graphs - provides numerous operations on trees and graphs - eases node construction and storage allocation - provides ASCII and binary graph reader and writer - generates interactive graph browser Distribution and Platform like Cocktail TOOL Generator for attribute evaluators Ag Features - generates efficient attribute evaluators for: - ordered attribute grammars (OAG) - well-defined attribute grammars (WAG) - "higher order" attribute grammars (HAG) Distribution and Platform like Cocktail TOOL Transformation of attributed trees Puma Features - supports efficient transformation + mapping of attributed trees - based on pattern matching, uses a concise Prolog-like notation - areas of application include: semantic analysis, optimization, source to source translation, (intermediate) code generation - supports tree handling: type checking, construction, analysis Distribution and Platform like Cocktail TOOL Library of reusable modules Reuse Features - subroutine library for services needed in every compiler - dynamic and flexible arrays - storage of strings of arbitrary length - identifier table: unambiguous encoding of strings (hashing) - error handler for parsers and compilers Distribution and Platform like Cocktail TOOL Preprocessors Rpp, Lpp, L2r, Y2l, R2l Features - Rpp Rex preprocessor: extracts scanner description from grammar - Lpp Lark preprocessor: checks attribution rules of a grammar - L2r converts Lex input to Rex input - Y2l converts Yacc input to Lark input - R2l converts Rex input to Lex input Distribution and Platform like Cocktail TOOL Modula-2 -> C translator Mtc Features - converts Modula-2 programs into readable C code (ANSI + K&R) - works 100 % automatically - nested procedures and modules are handled - translates Modula-2 as defined in: "N. Wirth: Programming in Modula-2, Third Corrected Edition" Distribution and Platform like Cocktail GRAMMAR Scanner and parser description COBOL 85 (ANSI X3.23 - 1985) Tool Rex and Lark Distribution like Cocktail GRAMMAR Scanner and parser description COBOL union (ANSI'74 Standard, ANSI'85 Standard, IBM OS/VS COBOL, IBM VS COBOL II, IBM SAA COBOL/370, IBM DOSVS COBOL, X/Open, and Micro Focus COBOL) Tool Rex and Lark Distribution like Cocktail COMPONENT Parser and syntax tree construction COBOL union (ANSI'74 Standard, ANSI'85 Standard, IBM OS/VS COBOL, IBM VS COBOL II, IBM SAA COBOL/370, IBM DOSVS COBOL, X/Open, and Micro Focus COBOL) Features - dialect is controlled by activating different sets of keywords - handles COPY and REPLACE statements including REPLACING clause - constructs around 70 KB of tree for 1000 source lines - performs name analysis, constructs symbol table, checks names - speed is 1000 lines/sec. on SPARC ELC, generated using Cocktail Distribution and Platform like Cocktail COMPONENT Parser and syntax tree construction PL/I (DIN 66 255, IBM OS PL/I) Features - a symbol table and a transformation module differentiate whether constructs like F(X) are subscription, function_reference, or builtin_function_reference - embedded statements for SQL, CICS, and DLI are skipped - is generated using Cocktail Distribution and Platform like Cocktail COMPONENT Preprocessor PL/I preprocessor (IBM OS PL/I) Features - contains scanner, parser, syntax tree, and interpreter - is generated using Cocktail Distribution and Platform like Cocktail GRAMMAR Scanner and parser description FORTRAN-77 (ANSI X3.9 - 1978) Tool Rex and Lark Distribution like Cocktail GRAMMAR Scanner and parser description Fortran-90 (ISO/IEC 1539: 1991 (E), ANSI X3.198-1992) Tool Rex and Lark Distribution like Cocktail RELATED SERVICES Consulting, training, maintenance, development, research, projects in the areas of compiler construction, programming languages, software reengineering, source to source translation, dialect conversion, programming convention checkers, etc.
Compiler Resources
ADDRESS Compiler Resources, Inc. 85 Main Street, Suite 310 Hopkinton, MA 01748 USA CONTACT Barbara Zino Phone 1 (508) 435-5016 Fax 1 (508) 435-4847 E-Mail compres@world.std.com TOOL OO Lexer and Parser Generator for C++ and Class Library Yacc++ and the Language Objects Library Features Outputs C++ classes of lexers and parsers and optionally for tokens, non-terminals, and rules as specified in the grammar. Regular expressions integrated with BNF, LALR & LR, grammar inheritance. Library support for various AST, input, error, and symbol table classes. Email for complete online information. Distribution The Yacc++ generators are shipped as executables (sources available) and the Language Objects Library is shipped as C++ source code and pre-compiled for supported targets. Numerous examples and makefiles are included. Printed manuals include Installation, Tutorial, and Reference Guides. Platform DOS/Windows Borland, Microsoft, and Watcom C++ HP-UX HP C++ OS/2 Borland and IBM C++ Solaris SPARCCompiler C++ SunOS Sun and GNU C++ Windows NT/95 Microsoft C++ Portable -- other platforms by cross-compiling.
Edison Design Group
ADDRESS Edison Design Group 4 Norman Road Upper Montclair, NJ 07043 USA CONTACT Steve Adamczyk Phone +1 201 744 2620 Fax +1 201 744 8949 E-Mail jsa@edg.com TOOL Compiler Front End EDG C++ Front End Features Does full syntax and semantic analysis on C++ source code, producing an AST-like internal representation. Accepts most of the modern features of the language, e.g., templates, exceptions, RTTI, new-style casts, array new/delete, namespaces. Also accepts ANSI/ISO C and several older dialects of both C and C++. This is a commercial product. Distribution Source code and internal documentation Platform Portable; has been used on all major Unix platforms, plus Windows NT.
GrammaTech, Inc.
ADDRESS GrammaTech, Inc. One Hopkins Place Ithaca, NY 14850 USA CONTACT Jeff Burns Phone 607-273-7340 Fax 607-273-8752 E-Mail jeff@grammatech.com TOOL CASE tool generator Synthesizer Generator Features CASE tool generator for implementing language-sensitive editors and user interfaces, including program editors, document preparation systems, and program verification tools. Uses attribute grammars to compute derived information about the object being edited and incrementally recomputes attribute values after an editing change. Distribution object Platform SunOS, Solaris, HP-UX, IBM AIX, and Digital UNIX RELATED SERVICES The Synthesizer Generator may be licensed directly from GrammaTech or GrammaTech can perform customizations or create custom implementations.
NULLSTONE
ADDRESS Nullstone Corporation 3336 Medallion Court Pleasanton, CA 94588 USA WEB http://www.nullstone.com CONTACT Christopher Glaeser Phone (800) 634-5990 International +1 (925) 461-5990 Fax +1 (925) 461-5991 E-Mail cdg@nullstone.com TOOL NULLSTONE Compiler Performance Analysis Tool Features The NULLSTONE Automated Compiler Performance Analysis Tool (tm) uses a QA approach of test coverage and isolation to measure an optimizer. The NULLSTONE methodology increases compiler performance by: * Isolating performance regressions and defects; * Identifying opportunities for improvements; * Establishing development completion criteria; and * Providing detailed competitive data. Language ANSI C Distribution Complete sources. Platform UNIX, WinNT, Win3.1, OS/2, DOS, MacOS. SPARC, PowerPC, Pentium, x86, MIPS, 68K, and others.
OCCL
ADDRESS Oxford and Cambridge Compilers Limited 55 Brampton Rd Cambridge CB1 3HJ UK CONTACT Dave Lloyd Phone (+44) 1223 572074 E-Mail dave@occl-cam.demon.co.uk RELATED SERVICES OCCL produces commercial compilers for Algol 68 and Fortran 90 on a variety of platforms. This technology is available for bespoke applications such as custom languages or tools. OCCL also provides consultancy and support for other compiler toolsets such as GNU or PCCTS.
Parr Research Corporation
ADDRESS Parr Research Corporation 1535 Francisco Street Suite 9 San Francisco, California 94123 USA CONTACT Dr. Terence Parr Phone 415 346 1070 E-Mail parrt@parr-research.com TOOL Parser generator ANTLR Features ANTLR constructs human-readable recursive-descent parsers in C or C++ (soon Java) from predicated-LL(k>1) grammars. Many context-sensitive languages and languages requiring infinite lookahead are recognizable with ANTLR parsers. Can automatically build ASTs. Has new and powerful error recovery mechanism. Distribution Complete C source code, totally public domain. Free at site ftp://ftp.parr-research.com/pub/pccts/. Platform Any platform that compiles C or C++. Specific Mac port available as well as binaries/makefiles for PC compilers. TOOL AST transformer / walker (source-to-source translation) SORCERER Features A SORCERER grammar describes AST content and structure. You may annotate the grammar with actions to effect a translation or manipulate the tree itself. Generates recursive-descent tree walkers in C or C++ (soon Java). Same flavor/syntax as ANTLR. Not tied to a parser generator or any other tool. Distribution Complete C source code, totally public domain. Free at site ftp://ftp.parr-research.com/pub/pccts/sorcerer/. Platform Any platform that compiles C or C++. RELATED SERVICES Parr Research Corporation continues to enhance and maintain PCCTS. We support the tools via maintenance agreements, short term contracts, and collaborations. We also develop custom translators and provide technical assistance for language design and implementation development.
ENTRY FORM
ADDRESS <provider> <building,department> <street> <state,city> <country> WEB <URL> CONTACT <name> Phone <number> Fax <number> E-Mail <address> TOOL <type> <name> Features <text> Distribution <source, object, list of media> Platform <list of operating system and hardware> GRAMMAR <type> <programming language, version, standard> Tool <name> Distribution <list of media> COMPONENT <type> <programming language, version, standard> Features <text> Distribution <source, object, list of media> Platform <list of operating system and hardware> RELATED SERVICES <text>
Guidelines
GUIDELINES for using the entry form: Please replace the text in angle brackets (<>) with the relevant information. The form provides four topics: TOOL, GRAMMAR, COMPONENT and RELATED SERVICES. There has to be at least one of these topics, but at most one RELATED SERVICES. The topics are described by several subtopics. Subtopics may be omitted if the information is available from the context. Subtopics <text> may be answered with up to five lines of free form ASCII text. Lines shall not be more than 70 characters long, they should be indented properly. All other subtopics shall be described with only a few words. "Feature" descriptions should cover input, output and implementation languages.
---------------------------------------------------------------------- END OF CATALOG 01-96 ----------------------------------------------------------------------