Subject: Catalog of Compiler Construction Products - Ninth Issue Date: 1 Jul 1996 07:00:16 -0400 From: langmack@netmbx.netmbx.de (Olaf Langmack) Organization: I.E.C.C., Trumansburg NY Newsgroups: comp.compilers,news.answers,comp.answers Archive-name: compilers/construction-tools Last-modified: 1996/05/29 Version: 9 ---------------------------------------------------------------------- Catalog of Compiler Construction Products 06-96 ---------------------------------------------------------------------- This posting may be reproduced in any form without further permission, as long as it is left unchanged. June 1996, Olaf Langmack. NINTH 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. (For a catalog of free software see the "Catalog of Free Compilers and Interpreters" as posted to the newsgroup comp.compilers. For a list of both freeware and commercial compiler construction tools see "http://www.first.gmd.de/cogent/catalog".) 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. The catalog is posted regularly on . If you want to submit an update send the filled form to . Updates that do not make use of the form or do not comply with the guidelines given at the end will not be considered. ---------------------------------------------------------------------- Table of Contents ---------------------------------------------------------------------- Adrian Johnstone Archelon Cocolab Compiler Resources Edison Design Group Feinarbeit GrammaTech Mastersys Nullstone OCCL Parr Research Corporation ---------------------------------------------------------------------- Adrian Johnstone ---------------------------------------------------------------------- ADDRESS Dr Adrian Johnstone Department of Computer Science Royal Holloway, University of London Egham Surrey United Kingdom WEB http://www.dcs.rhbnc.ac.uk/la/rdp.html 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://ftp.dcs.rhbnc.ac.uk/pub/rdp/ MS-DOS diskette available directly from author 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 ------------------------------------------------------------------------ Archelon ------------------------------------------------------------------------ ADDRESS Archelon Inc. 460 Forestlawn Road Waterloo, Ontario Canada N2K 2J6 WEB http://www.archelon.com CONTACT Preston Gurd Phone (519)746-7925 Fax (519)746-7925 E-Mail rpgurd@archelon.com TOOL C compiler and related tools User Retargetable Development Tools II (URDT) Features The URDT set includes an ANSI C compiler, compactor, assembler, linker, and related tools. It allows you to "roll your own" C compiler and related tools. You do retargets by writing text files, which are read in by these programs when they run. Please see our web page at "http://www.archelon.com" for details. Distribution and Platform Binary versions available for DOS (32 bit), SunOs 4.x.x, Solaris 2.x, HP-UX. Source licences available, as well. COMPONENT C compiler MCC ANSI C compiler Features You target MCC to a specific machine by writing a text file which includes a machine description and code tables. You do not need to know compiler internals. The compiler includes output macros which allow you to output code for any assembler, as well as our own. Can handle a wide variety of machines, including DSPs and microprammable machines. Distribution and Platform Part of URDT (see above). COMPONENT Compactor/Scheduler MCPACK Compactor/Scheduler Features MCPACK gives you a way to implement low level translator tools. It reads a control file, which you must write. The control file describes the layout of instructions and provides procedures for translating input statements into instructions. You may provide rules for scheduling and compaction in the file. Distribution and Platform Part of URDT (see above). COMPONENT Assembler MCASR assembler Features MCASR is a "bit-stuffing" assembler, driven from a user written text file which describes the fields of the instructions. An instruction word can be up to 256 bits wide and may contain multiple relocatable fields. Such a field may be set with only a subset of the bits of the full address. Distribution and Platform Part of URDT (see above). COMPONENT Linker MCLINK linker Features MCLINK supports up to eight independent overlapping memory address spaces, so it can, for instance, easily support DSP architectures with X and Y memories. Distribution and Platform Part of URDT (see above). RELATED SERVICES Archelon provides consulting services for the development of compilers and related tools. In particular, we provide a retargeting service for our User Regargetable Development Tools. ---------------------------------------------------------------------- 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 DEC Alpha (Digital Unix) DEC C++ DOS/Windows Borland, Microsoft, and Watcom C++ HP-UX HP C++ OS/2 Borland and IBM C++ SGI IRIX SGI (Edison Design Group) C++ Solaris SPARCCompiler C++ SunOS Sun and GNU C++ Windows NT/95 Microsoft Visual C++ Portable -- other platforms by cross-compiling. ---------------------------------------------------------------------- Edison Design Group ---------------------------------------------------------------------- ADDRESS Edison Design Group 4 Norman Road Upper Montclair, NJ 07043 USA WEB http://www.edg.com/ 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. --------------------------------------------------------------------- Feinarbeit --------------------------------------------------------------------- ADDRESS Feinarbeit Altenbraker Strasse 4 D-12053 Berlin Germany CONTACT Olaf Langmack Phone +49-30-6215827 Fax +49-30-6215863 E-Mail langmack@feinarbeit.de RELATED SERVICES Feinarbeit provides consultancy and custom development related to program development tools and compilers. Recent customers include Softlab (Munich, Atlanta) and Art+Com (Berlin). Reference development projects have been done in the context of Eiffel-3, Tandem-Cobol and IBM 370 assembler. Feinarbeit also provides consultancy and support for Cocktail. ------------------------------------------------------------------------ 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. ---------------------------------------------------------------------- Mastersys ---------------------------------------------------------------------- ADDRESS Mastersys 3596 Pimlico Drive Pleasanton, CA 94588, USA WEB http://misc-sun.mastersys.com CONTACT Boris Burshteyn Phone 1 (510) 484 8424 Fax 1 (510) 484 8417 E-Mail bburshte@mastersys.com TOOL C++ Parser Generator MUSKOX v1.2 Features Annotates C++ classes with LR1 grammars in EBNF. Allows multiple grammar inheritance and redefinition of rules. Multiple parser instances for different grammars parse and feed to each other the flow of terminals and nonterminals. Default and user-defined lexer and error recovery objects. Distribution -Parser Generator executable, Runtime Framework C++ source -Downloadable from the web site, or shipped on 3.5" floppies -Documentation in Postscript or Adobe PDF formats Platform -PC Windows 95 & NT -Apple Power Macintosh MAC OS 7.5 -Sun Sparc Solaris 2.4 -Pyramid and Siemens/Nixdorf RELIANT/UNIX, DC/OSx and Sinix (please contact by email) ---------------------------------------------------------------------- Nullstone ---------------------------------------------------------------------- ADDRESS Nullstone Corporation 48531 Warm Springs Blvd, Suite 404 Fremont, CA 94539 USA WEB http://www.nullstone.com CONTACT Christopher Glaeser Phone (800) 995-2841 International +1 (510) 490-6222 Fax +1 (510) 490-9333 E-Mail cdg@nullstone.com TOOL Compiler Performance Analysis Tool NULLSTONE 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 WEB CONTACT Phone Fax E-Mail
TOOL Features Distribution Platform GRAMMAR Tool Distribution COMPONENT Features Distribution Platform RELATED SERVICES ---------------------------------------------------------------------- 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 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 06-96 ---------------------------------------------------------------------- -- Send compilers articles to compilers@iecc.com, meta-mail to compilers-request@iecc.com.