Catalog of compilers, interpreters, and other language tools [p1of5] 
Author Message
 Catalog of compilers, interpreters, and other language tools [p1of5]

Archive-name: free-compilers/part1
Last-modified: 1995/05/04
Version: 8.0

Catalog of Free Compilers and Interpreters.

Copyright (c) 1992, 1993, 1994, David Muir Sharnoff, All Rights Reserved
Copyright (c) 1994, 1995, Steven Allen Robenalt, All Rights Reserved

This list catalogues freely available software for language tools, which
includes the following: compilers, compiler generators, interpreters,
translators, important libraries, assemblers, etc.  -- things whose user
interface is a language.  Natural language processing tools may also
be included.

This list is primarily aimed at developers rather than researchers, and
consists mainly of citations for production quality systems.  There is some
overlap of coverage between this document and other lists and catalogs.  See
the references section for a list...

All the listed items should be free and come with source code, exceptions have
generally been deleted from the list in the past.  If you find any such items
in the list let me know and I'll remove them.

The latest version of the catalog can be ftp'ed: get

There is a static version available through WWW at:  (note: the trailing
slash (/) is important)


There is a searchable (but less fancy) version sometimes
available at:

        http://www.*-*-*.com/ ~scg/freecomp

Not all entries have complete citations.  Some fields are filled with
question marks (?).  Fields with both the ? and an entry are implicit
requests for confirmation.  Also, specific questions will often be
asked [in brackets --ed].

If you have information not included in here or updates to information
listed here, a template has been provided below for you to use.  You
can send whatever new items or updates you have to

overview (table of contents)

Section                                                         Parts
Catalog of Free Compilers and Interpreters.                       1
overview (table of contents)                                      1
changes and history                                               1
prototype entry                                                   1
tools                                                             1
        scripting languages                                       1
        functional languages                                      1
        C variants                                                2
        compiled, imperative languages                            2
        object oriented languages                                 2
        lisp family                                               3
        document formatting languages                             3
        logic programming languages                               3
        concurrent, parallel, and simulation languages            4
        Forth family languages                                    4
        compiler generators and related tools                     4
        mathematical tools and languages                          4
        electrical engineering languages                          4
        Wirth family languages                                    5
        assemblers                                                5
        macro preprocessors                                       5
        special purpose languages                                 5
        natural languages                                         5
        curiosities                                               5
        unable to classify due to lack of knowledge               5
references                                                        5
archives                                                          5
cross-reference                                                   5

changes and history

This document grew out of David Muir Sharnoff filing away postings that he
saw (mostly Ed Vielmetti's postings to comp.archives) during 1991 and the
first half of 1992.  At the Summer 1992 USENIX Technical Conference, the
other attendees of the archivists BOF convinced David to compile his data
into a posting.  David posted for about one year, then turned the list over

the summer of 1993 and then gave it back to David Sharnoff when he dropped

maintenance from Dave in January 1994.  It was returned to Mark Hopkins

Consulting, remains as the focal point for information to be submitted.
In July through November 1994, David created a HTML version of the list while
updates piled up.  Eric S. Raymond made quite a few edits during this
conversion process that had to be edited in by hand 'cause the compilers
list was kinda unstable.  Eventually, David and Steve took care of the
backlog and passed maintenance back to Mark. Now that you are probably
completely confused about who does what, Steve is maintaining the list again.
After cleaning up a large portion of a rather hefty backlog from the past
six months, I would like to request that whenever possible, readers of this
list send in entries using the sample form provided, including the required
information. If you find a tool useful and it's not here, do the author a
favor and submit the information. It makes the updates much easier.

If you should wish to make substantial changes to the free compilers list,
please talk to us first.  The version that you see is not quite the same as
the version that we maintain.

For this version the changes to the list are:

        language                package
        --------                -------
new listings:
        C (ANSI/ISO)            Metre
        Prolog                  Beta-Prolog 1.5
        Tcl                     Object Tcl 1.0 beta
        Simula 67               cim 1.62
        Expect                  Expect 5.12
        EXPRESS                 NIST EXPRESS Toolkit
        Pascal                  Pascal for Minix
        OPAL                    ocs 2.1d
        BASIC                   ACE 2.3
        lua                     lua 2.1
        Ada 9X                  AVLAda9X
        Marpa                   Marpa Alpha 2.8
        Oberon-2                o2c
new versions:
        Perl5                   perl5 5.001
        C, C++,etc              gdb 4.14
        RLaB                    RLaB 1.18d
        Modula-3                SRC Modula-3 3.5
        awk (new)               gawk 2.15.6
        lex                     flex 2.5.2
        BNF (Extended)          PCCTS 1.31
        BNF (yacc)              Bison-A2.3
        Modula-3                m2tom3 translator 2.00
        C (ANSI)                lcc 3.2
        Korn Shell              pdksh 5.1.3
        DSP56001 asm            a56 1.2
        Prolog                  clp(FD) 2.2
        Prolog                  wamcc 2.2
        Octave                  octave 1.1.1
        Haskell                 Glasgow Haskell 0.23
        C, C++, Obj-C           gcc 2.6.3
        python                  Python 1.2
        BNF                     Eli 3.8
        Bourne Shell            Bash 1.14.4
        Scheme                  Hobbit 4b
revised entry:
        Scheme->C            Windows NT patches.
        Tcl                     Tcl 7.3 OS/2 port
        BNF (Extended)          Gray
        orthogonal              orthogonal
        BNF (Extended)          GMD Toolbox
        Modula-2                mtc
        6502 asm        
        Pascal                  Pascal P4
        ABC                     Grammar Analysis Tools, Examples

prototype entry
Every entry should at least have the fields marked with two asterisks (**).

language:       **Reference Entry
                Language: what the software compiles/interprets...
package:        **The name of the package
version:        **Its current version
parts:          **compiler, assembler, interpreter, translator, grammar(yacc,
                lex), library, documentation, examples, assembler, simulator,
                tutorial, test suite, byte-code compiler, run-time,
                translator(from->to)...       Compilers that use C as an
                intermediate lanaguage should be noted as "compiler(->C)".
                Compilers that compile into a coded representation that is
                interpreted by a runtime module should be noted as "bytecode
                compiler".  Do not say "source code" -- if source is not
                included, do not send an entry at all!
author:         **the creator of the package.  Email addresses are in the

                are not used unless there is no email address.
location:       **where to get the source, how to get it -- usually an FTP site
                or two.  May have subheaders for specific areas or different
                ports of the software (don't overdo this!):  Only official
                sites should be listed.  The format for ftp directives is
                "ftp dir/file from host", although valid URL's are also
                No IP address is ever given.  No other ftp formats are allowed.
    Continent:  Sites for continent.
    Country:    Sites for country.
    System:     Sites for a particular port.
description:    **what the package is, possibly including some history
                A short review encouraged, but no propaganda please.
conformance:    how well does it conform to the existing Standard, if one
reference:      Research references and other external documentation.  
                 If there is more than one entry in the section indent all
                 but first line of each entry by one character
                If there is only one entry, then don't indent that single
                 entry at all.
features:       1. salient features not listed in the description.  
                2. You may list features with numbered lists
                3. Or you may use bullet items:
                + every bullet item should be a plus
                + unless you want to say that something is an anti-feature
                - in which case you should use a minus.
                + but in any case, you should put the + or - at the beginning
                  of the line.
bugs:           known bugs (also: where to go to find/report bugs)
restriction:    restrictions using the software will place on the user.
requires:       what is needed to install it.  A C compiler is assumed.
ports:          where it has been installed
portability:    how system-independent is it, system dependencies.
status:         development status

read more »

Sun, 19 Apr 1998 03:00:00 GMT  
 Catalog of compilers, interpreters, and other language tools [p1of5]
Archive-name: free-compilers/part2
Last-modified: 1995/05/04
Version: 8.0

C variants
category:       C variants
description:    These are languages that are closely based on C.  
lref:           C-Refine,C++-Refine&comma *-Refine                  
iref:           (Duel) DUEL

language:       C, C++, Objective-C, RTL
package:        GNU CC (gcc)
version:        2.6.3
parts:          compiler, runtime, examples, documentation
                Library listed separately

location:       ftp gcc-2.X.X.tar.gz from a GNU archive site
    MSDOS:      ftp pub/msdos/djgpp/* from
    6811:       ftp pub/coactive/gcc-6811-beta.tar.gz from
                        (these are diffs from 2.5.8 distribution)
description:    A very high quality, very portable compiler for C, C++,
                Objective-C.  The compiler is designed to support multiple
                front-ends and multiple back-ends by translating first
                into RTL (Register Transfer Language) and from there into
                assembly for the target architecture.   Front ends for
                Ada, Pascal, and fortran are all under development.
conformance:    C: superset of K&R C and ANSI C.
                C++: not exactly cfront 3.0? [could someone tell me which
                version of cfront it is equivalent to, if any?  --ed]
                Objective-C: ?
bugs:           gnu.gcc.bug
restriction:    GNU General Public License
ports:          3b1, a29k, aix385, alpha, altos3068, amix, arm, convex,
                crds, elxsi, fx2800, fx80, genix, hp320, clipper,
                iris,i860, i960, irix4, m68k, m88ksvsv.3, mips-news,
                mot3300, next, ns32k, nws3250-v.4, hp-pa, pc532,
                plexus, pyramid, romp, rs6000, sparc-sunos,
                sparc-solaris2, sparc-sysv.4, spur, sun386, tahoe, tow,
                umpis, vax-vms, vax-bsd, we32k, hitachi-{SH,8300}, 6811
portability:    very high
status:         actively developed
announcements:  gnu.gcc.announce
updated:        1994/11/02

language:       C, C++, Objective-C, RTL
package:        GNU CC (gcc) - unsupported Macintosh port
version:        1.37
parts:          compiler, runtime, examples, documentation
                Library listed separately
author:         ?
location:       ftp mpw-gcc-1.37.1r14 from ?
description:    This is an unsupported port of the GNU C compiler to the
                Macintosh environment.  The GNU project is actively
                supporting the League for Programming Freedom (LPF) boycott
                of Apple due to the "Look and Feel" lawsuit and chooses not
                to support this port.
bugs:           ?
restriction:    GNU General Public License
ports:          Macintosh
portability:    very high
status:         ?
updated:        1993/11/27

language:       C, Fortran, SUIF
package:        Stanford SUIF Compiler
version:        1.0.1
parts:          compiler(->C, ->MIPS), run-time, documentation, examples

location:       ftp pub/suif/suif-1.0.1.tar.Z from
                http://www.*-*-*.com/ .
                (Patch to version 1.0 also available)
description:    SUIF is a framework for research in compiler algorithms.
                It contains a kernel, which supports the Stanford
                University Intermediate Format (file I/O, manipulation,
                etc.), and a toolkit consisting of passes and libraries
                for dependence analysis, loop transformations,
                scalar optimizations, code generation, etc.  Can generate
                parallel code from major benchmarks.
conformance:    C front end is ANSI-C compatible, FORTRAN front end mostly f77
reference:      Wide range of published papers available from ftp site
restriction:    Free for non-commercial use; redistribution prohibited
requires:       GNU g++ 2.5.8, GNU make
ports:          DECstation, SPARC/SunOS/Solaris, SGI, Linux
portability:    Very system independent - requires UNIX
status:         First public release; not supported, but we'll try to help
discussion:     Mailing list information included in distribution
                Archives available from http://www.*-*-*.com/
updated:        1994/06/15

language:       C
package:        GNU C Library (glibc)
version:        1.09
parts:          library, documentation
author:         ?
location:       ftp glibc-1.09.1.tar.gz from a GNU archive site
                Source for "crypt" must be FTP'ed from non-USA site if you are
                outside the USA: ftp glibc-1.09-crypt.tar.z from
description:    The GNU C library is a complete drop-in replacement for libc.a
                on Unix.  It conforms to the ANSI C standard and POSIX.1, has
                most of the functions specified by POSIX.2, and is intended to
                be upward compatible with 4.3 and 4.4 BSD.  It also has several
                functions from System V and other systems, plus GNU
conformance:    ANSI and POSIX.1 superset.  Large subset of POSIX.2

ports:          most os's on alpha, i386, m88k, mips, and sparc
updated:        1994/11/07

language:       C
package:        fdlibm
version:        ?
parts:          library
author:         Dr. K-C Ng
location:       ftp netlib/fdlibm.tar from
description:    Dr. K-C Ng has developed a new version of libm that is the
                basis for the bundled /usr/lib/ in Solaris 2.3 for SPARC
                and for future Solaris 2 releases for x86 and PowerPC.   It
                provides the standard functions necessary to pass the usual
                test suites.  This new libm can be configured to handle
                exceptions in accordance with various language standards or in
                the spirit of IEEE 754. The C source code should be portable to
                any IEEE 754 system with minimal difficulty.
conformance:    IEEE 754
bugs:           Send comments and bug reports to:

updated:        1993/12/18

language:       C
package:        c68/c386
version:        4.2a
parts:          compiler
author:         Matthew Brandt, Christoph van Wuellen, Keith and Dave Walker
location:       ftp pub/Minix/common-pkgs/c386-4.2.tar.Z from
                You can get an older, 68k-only version from
                ftp motorola/m68k/cc68k.arc from
description:    K&R C plus prototypes and other ANSI features.
                targetted to several 68k and i386 assemblers, incl. gas.
                floating point support by inline code or emulation.
                lots of available warnings.  better code generation than ACK.
ports:          386 and 68k Minix.  generic unix actually.
status:         actively worked on by the Walkers.
discussion:     comp.os.minix
updated:        ?

language:       C
package:        GNU superoptimizer
version:        2.2
parts:          exhaustive instruction sequence optimizer

location:       ftp superopt-2.2.tar.Z from a GNU archive site
description:    GSO is a function sequence generator that uses an exhaustive
                generate-and-test approach to find the shortest instruction
                sequence for a given function.  You have to tell the
                superoptimizer which function and which CPU you want to get
                code for.
                This is useful for compiler writers.

restriction:    GNU General Public License
ports:          Alpha, Sparc, i386, 88k, RS/6000, 68k, 29k, Pyramid(SP,AP,XP)
updated:        1993/02/16

language:       C
package:        xdbx
version:        2.1
parts:          X11 front end for dbx
author:         ?
location:       retrieve xxgdb from comp.sources.x volumes 11, 12, 13, 14, & 16
description:    ?

updated:        1992/02/22

language:       C
package:        ups
version:        2.1
parts:          interpreter, symbolic de{*filter*}, tests, documentation

location:       ? ftp from contrib/ups*.tar.Z from ?

                available by ftp misc/unix/ups/contrib/rob from
description:    Ups is a source level C de{*filter*} that runs under X11 or
                SunView.  Ups includes a C interpreter which allows you to add
                fragments of code simply by editing them into the source window

ports:          Sun, Decstation, VAX(ultrix), HLH Clipper

updated:        1991/05/20

language:       C
package:        C-Interp
version:        ?
parts:          interpreter
author:         ?
location:       ftp Mac/Misc/C_Interp.sit from
description:    An interpreter for a small subset of C, originally part of a
                communications package.

updated:        1993/05/14

language:       C
package:        ae (application executive)
version:        1?
parts:          interpreter

location:       ftp pub/at.tar.Z from
description:    ae (the "application executive") is a C interpreter library
                which is compiled with an application; hence, the interpreter
                exists in the same process and address space.  it includes a
                dbx symbol table scanner to access compiled vars & routines, or
                you can enter them manually by providing a type/name
                declaration and the address.  when the interpreter is invoked,
                source code fragments are read from the input stream (or a
                string), parsed, and evaluated immediately.  The user can call
                compiled functions in addition to a few built-in intrinsics,
                declare new data types and data objects, etc.  Different input
                streams can be evaluated in parallel on alliant machines.
ports:          SunOS (cc or gcc), Alliant FX, Cray YMP (soon)
updated:        1992/04/21

language:       C (ANSI), lcc intermediate format
package:        lcc
version:        3.2
parts:          compiler, test suite, documentation

description:    + hand coded C parser (faster than yacc)
                + retargetable
                + code "nearly as good as GCC"
ports:          x86, MIPS, SPARC
status:         small-scale production use

updated:        1995/02/01

language:       C, lcc intermediate format
package:        Chop
version:        0.6
parts:          code generator

location:       ftp pub/chop/0.6.tar.Z from
description:    The current revision, 0.6, is interfaced with Fraser and
                Hanson's lcc front end.  The result is a highly fast C compiler
                with good code selection and no global optimization.
                Project Status: Chop compiles and runs a number of small test
                programs on the Vax.  I'm currently updating the NS32k and 68K
                retargets for

read more »

Sun, 19 Apr 1998 03:00:00 GMT  
 [ 3 post ] 

 Relevant Pages 

1. Catalog of compilers, interpreters, and other language tools [p1of5]

2. Catalog of compilers, interpreters, and other language tools [p1of5]

3. Catalog of compilers, interpreters, and other language tools [p1of5]

4. Catalog of compilers, interpreters, and other language tools [p1of5]

5. Catalog of compilers, interpreters, and other language tools [p1of5]

6. Catalog of compilers, interpreters, and other language tools [p1of5]

7. Catalog of compilers, interpreters, and other language tools [p1of5]

8. Catalog of compilers, interpreters, and other language tools [p1of5]

9. Catalog of compilers, interpreters, and other language tools [p1of5]

10. Catalog of compilers, interpreters, and other language tools [p1of5]

11. Catalog of compilers, interpreters, and other language tools [p1of5]

12. Catalog of compilers, interpreters, and other language tools [p1of5]


Powered by phpBB® Forum Software