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

Archive-name: compilers/free/part1
Last-modified: 1996/04/01
Version: 9.0

Catalog of Free Compilers and Interpreters.

Copyright (c) 1992, 1993, 1994, David Muir Sharnoff, All Rights Reserved
Copyright (c) 1994, 1995, 1996, 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 HTML version available at:


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
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


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.

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 (active, history, supported, etc)
discussion:     where discussion about the package takes place
help:           where help may be gotten from
support:        where support may be gotten from
contributions:  possible requests for money contributions (but no shareware)
announcements:  where new releases are announced
contact:        who to reach concerning the package (if not author) Email

                mail addresses are not used unless there is no email address.
updated:        **last known update to the package, not time of the update
                to the entry in the catalog!
                The format of date is: yyyy/mm/dd, yyyy/mm, or yyyy.
                No other formats are allowed.

In addition to the above, in entries for categories, and languages,
cross-references can be made.  

cref:           cross-reference to a category
lref:           cross-reference to a language
iref:           (language it's filed under in parenthesis) cross-reference
                to an implementation


scripting languages
category:       scripting languages
description:    These are languages that are primarily

read more »

Fri, 18 Dec 1998 03:00:00 GMT  
 Catalog of compilers, interpreters, and other language tools [p1of5]

Archive-name: compilers/free/part2
Last-modified: 1996/04/01
Version: 9.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.7.1
parts:          compiler, runtime, examples, documentation
                Library listed separately
author:         Richard Stallman and others
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.
                There is a bounds checking port based on gcc 2.7.1.
                Patches for this port are available at:
conformance:    C: superset of K&R C and ANSI C.
                C++: supports most ARM features; exceptions supported
                only on some platforms.  Supports "bool".  Alpha-level
                RTTI implementation included. Not yet supported: member
                templates, namespaces.  Developers are tracking the draft
                ANSI/ISO standard and are committee members.
                Objective-C: Complies with NeXT proposed (ANSI?) standard.
bugs:           gnu.gcc.bug (for C/Objective-C), gnu.g++.bug (for C++)
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
discussion: (for C/Objective-C), (for C++)
announcements:  gnu.gcc.announce (for C/Objective-C),
                gnu.g++.announce (for C++)
updated:        1995

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. [Note: I have been told this is no
                longer in effect, can someone from LPF update me? - ed]
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
                [Temporary location, looking for a permanent home. -ed]
                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.5
parts:          exhaustive instruction sequence optimizer

location:       ftp superopt-2.5.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:        1995

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:        2
parts:          interpreter

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.
                Version 2 differs substantially in that the code
                fragments are read into an intermediate form before being
                evaluated, and can be stored in this form and then called
                from either user code or the interpreter. Version 2 also
                handles looping constructs (and the full C language),
                unlike version 1.
ports:          SunOS (cc or gcc), Alliant FX, SGI (partial),
                Cray YMP (partial)
updated:        1993/07/18

language:       C (ANSI), lcc intermediate format
package:        lcc
version:        3.4b
parts:          compiler, test suite, documentation
authors: ...

read more »

Fri, 18 Dec 1998 03:00:00 GMT  
 Catalog of compilers, interpreters, and other language tools [p1of5]

Archive-name: compilers/free/part3
Last-modified: $version_D
Version: $version_V

lisp family
category:       lisp family
description:    [The programming languages for those who like parenthesis --ed]

language:       Dylan
package:        Thomas
version:        1.1
parts:          translator(Scheme)

location:       ftp pub/DEC/Thomas from
                ftp pub/dylan/Thomas from
description:    Thomas, a compiler written at Digital Equipment
                Corporation's Cambridge Research Laboratory compiles
                a language compatible with the language described
                in the book "Dylan(TM) an object-oriented dynamic
                language" by Apple Computer Eastern Research and
                Technology, April 1992.  It does not perform well.
                Thomas is NOT Dylan(TM).
requires:       Scheme
ports:          MIT's CScheme, DEC's Scheme->C, Marc Feeley's Gambit, Mac, PC,
                Vax, MIPS, Alpha, 680x0
updated:        1994/04/18

language:       Dylan
package:        Marlais
version:        0.5.11
parts:          interpreter

                http://www.*-*-*.com/ ~jnw/Marlais/
description:    Marlais is a simple-minded interpreter for a programming
                language strongly resembling Dylan [1].  It is not intended as
                a final release, but rather to fill a perceived void where
                Dylan implementations are concerned.  This is a "hackers
                release" and is intended as a vehicle for education,
                experimentation and also to encourage people to port it to
                different architectures, add features, and fix bugs.  Marlais
                is alpha software and should not be used by people desiring
ports:          Sun-3, Sun-4, VAX/BSD, OS/2, Linux, Sequent Symmetry,
                Encore, HP-UX, Ultrix, SGI, Sony News, A/UX
updated:        1994/07/13

language:       Dylan
package:        Mindy
version:        1.3
parts:          byte-code compiler and interpreter, documentation, libraries

location:       http://www.*-*-*.com/ :8001/gwydion/
description:    A partial implementation of Dylan developed by the Gwydion
                Project at CMU for internal purposed pending the further
                development of a full implementation of Dylan.  It is being
                released in the public domain as a vehicle for introducing the
                language to new users.
requires:       Gcc, Gmake, Flex, Bison
ports:          MACH on DECstation, HP-UX on HP 700, OSF1 on Alpha,
                Irix on SGI
updated:        1995/05/06

language:       EuLisp
package:        Feel (Free and Eventually Eulisp)
version:        0.75
parts:          interpreter, documentation

location:       ftp pub/eulisp from
description:    + integrated object system
                + a module system
                + parallelism
                + interfaces to PVM library, tcp/ip sockets, futures,
                Linda, and CSP.
ports:          most unix
portability:    high, but can use shared memory and threads if available
updated:        1992/09/14

language:       Common Lisp
package:        CMU Common Lisp
version:        17c
parts:          incremental compiler, profiler, runtime, documentation,
                editor, de{*filter*}
author:         ?
location:       ftp pub/* from
description:    CMU Common Lisp is public domain "industrial strength" Common
                Lisp programming environment.  Many of the X3j13 changes have
                been incorporated into CMU CL.  Wherever possible, this has
                been done so as to transparently allow use of either CLtL1 or
                proposed ANSI CL.  Probably the new features most interesting
                to users are SETF functions, LOOP and the
                WITH-COMPILATION-UNIT macro.
                + The new CMU CL compiler (Python) is more sophisticated
                  thatn other Common Lisp compilers.  It produces better code
                  and is easier to use.
                + The programming environment based on the Hemlock editor
                  is better integrated than gnu-emacs based environments.
conformance:    mostly X3J13 compatible.
ports:          Sparc/Mach Sparc/SunOS Mips/Mach IBMRT/Mach

updated:        1993/11/18

language:       Common Lisp
package:        PCL (Portable Common Loops)
version:        8/28/92 PCL
parts:          library

location:       ftp pcl/* from
description:    A portable CLOS implementation.  CLOS is the object oriented
                programming standard for Common Lisp.  Based on Symbolics
                FLAVORS and Xerox LOOPS, among others.  Loops stands for
                Lisp Object Oriented Programming System.
ports:          Lucid CL 4.0.1, CMUCL 16e, ?
status:         ?
updated:        1992/09/02

language:       Common Lisp
package:        WCL
version:        2.14
parts:          ?, shared library runtime, source de{*filter*}

location:       ftp pub/wcl/* from,
                    miscellany/wcl from
description:    A common lisp implementation as a shared library.  WCL
                Is not a 100% complete Common Lisp, but it does have
                the full development environment including dynamic file
                loading and debugging.  A modified version of GDB provides
                mixed-language debugging.  A paper describing WCL was
                published in the proceedings of the 1992 Lisp and Functional
                Programming Conference.
requires:       GNU C 2.1 (not 2.2.2)
ports:          Sparc/SunOS

updated:        1992/10/28

language:       Common Lisp
package:        KCL (Kyoto Common Lisp)
version:        ?
parts:          compiler(->C), interpreter

location:       ? ftp pub/kcl*.tar.Z from ?
description:    KCL, Kyoto Common Lisp, is an implementation of Lisp,
                It is written in the language C to run under Un*x-like
                operating systems.  KCL is very C-oriented; for example,
                the compilation of Lisp functions in KCL involves a
                subsidiary C compilation.
conformance:    conforms to the book ``Common Lisp: The Language,''
                G. Steele, et al., Digital Press, 1984.  

restriction:    must sign license agreement

updated:        1987/06

language:       Common Lisp
package:        AKCL (Austin Kyoto Common Lisp)
version:        1-615
parts:          improvements

location:       ftp pub/akcl-*.tar.Z from
description:    AKCL is a collection of ports, bug fixes, and
                performance improvements to KCL.
ports:          Decstation3100, HP9000/300, i386/sysV, IBM-PS2/aix, IBM-RT/aix
                SGI Sun-3/Sunos[34].* Sun-4 Sequent-Symmetry IBM370/aix,
                VAX/bsd VAX/ultrix NeXT
updated:        1992/04/29

language:       Common Lisp
package:        CLX
version:        5.01
parts:          library
author:         ?
location:       ftp contrib/CLX.R5.01.tar.Z from
description:    Common Lisp binding for X

ports:          ?, CMU Common Lisp
contact:        ?
updated:        1992/08/26

language:       Common Lisp
package:        CLISP
version:        1994/07/12
parts:          interpreter, bytecode compiler, runtime library, editor

location:       ftp /pub/lisp/clisp from
                    /pub/Linux/development/lisp/ from
                    /pub/linux/packages/lisp/ from
description:    CLISP is a Common Lisp (CLtL1) implementation by Bruno Haible
                of Karlsruhe University and Michael Stoll of Munich University,
                both in Germany.  It needs only 1.5 MB of RAM.  German and
                English versions are available, French coming soon.  Packages
                running in CLISP include PCL and, on Unix machines, CLX.  A
                native subset of CLOS is included.
conformance:    CLtL1 + parts of CLtL2
restriction:    GNU General Public License
ports:          Atari, Amiga, MS-DOS, OS/2, Linux, Sun4, Sun386i, HP90000/800
                and others
discussion:     send "subscribe clisp-list" to

updated:        1994/07/12

language:       Common Lisp
package:        Cartier's Contribs
version:        1.2
parts:          libraries, documentation

location:       ftp pub/mcl2/contrib/Cartiers* from
description:    libraries for MCL
requires:       Macintosh Common Lisp
discussion:     comp.lang.lisp.mcl
updated:        1994/04/18

language:       Common Lisp
package:        QT-OBJECTS
version:        ?
parts:          library

location:       ?
description:    interface between MCL and QuickTime
requires:       Macintosh Common Lisp
discussion:     comp.lang.lisp.mcl
updated:        1994/04/18

language:       Common Lisp
package:        Memoization ?
version:        ?
parts:          library

location:       ftp pub/Memoization from
description:    Automatic memoization is a technique by which an existing
                function can be transformed into one that "remembers"
                previous arguments and their associated results
updated:        1992/11/30

language:       Common Lisp
package:        GINA (Generic Interactive Application)
version:        2.2
parts:          language binding, class library, interface builder
author:         ?
location:       ftp /gmd/gina from
    N.America:  ftp contrib/? from
description:    GINA is an application framework based on Common Lisp and
                OSF/Motif to simplify the construction of graphical
                interactive applications. It consists of:
                + CLM, a language binding for OSF/Motif in Common Lisp.
                + the GINA application framework, a class library in CLOS
                + the GINA interface builder, an interactive tool implemented
                with GINA to design Motif windows.
requires:       OSF/Motif 1.1 or better.  Common Lisp with CLX, CLOS, PCL and
ports:          Franz Allegro, Lucid, CMU CL and Symbolics Genera

updated:        ?

language:       Common Lisp
package:        CLiCC
version:        0.6.4
parts:          compiler(->C), runtime library


read more »

Fri, 18 Dec 1998 03:00:00 GMT  
 Catalog of compilers, interpreters, and other language tools [p1of5]

Archive-name: compilers/free/part4
Last-modified: 1996/04/01
Version: 9.0

concurrent, parallel, and simulation languages
category:       concurrent, parellel, and simulation languages
description:    This is a fairly broad category of languages.  Most of the
                implementations in this set are not good enough to be used in
                production systems.  Some are.  In addition to those listed
                below, see:
lref:           Concurrent Clean
lref:           Concurrent ML
lref:           EuLisp
lref:           Parallaxis
lref:           Maisie
lref:           uC++
lref:           MeldC
lref:           pm2
lref:           Simula 67
iref:           (Tcl) MTtcl - Multi-threaded Tcl

language:       ABCL/1 (An object-Based Concurrent Language)
package:        ABCL/1
version:        ?
parts:          ?
author:         Akinori Yonezawa, ABCL Group now at Department of Information
                Science, the University of Tokyo
location:       ftp pub/abcl1/* from
description:    Asynchronous message passing to objects.  
reference:      "ABCL: An Object-Oriented Concurrent System", Edited by
                Akinori Yonezawa, The MIT Press, 1990, (ISBN 0-262-24029-7)
restriction:    no commercial use, must return license agreement
requires:       Common Lisp

updated:        1990/05/23

language:       ABCL ???
package:        ABCL/R2
version:        ?
parts:          ?

location:       ftp pub/abclr2/* from
description:    ABCL/R2 is an object-oriented concurrent reflective language
                based on Hybrid Group Architecture.  As a reflective language,
                an ABCL/R2 program can dynamically control its own behavior,
                such as scheduling policy, from within user-program.  An an
                object-oriented concurrent language, this system has almost all
                functions of ABCL/1.
requires:       Common Lisp
updated:        1993/01/28

language:       ALLOY
package:        ALLOY
version:        2.0?
parts:          interpreter, documentation, examples

location:       ftp pub/local/alloy/* from
description:    ALLOY is a higher level parallel programming language
                appropriate for programming massively parallel computing
                systems.  It is based on a combination of ideas from
                functional, object oriented and logic programming languages.
                The result is a language that can directly support
                functional, object oriented and logic programming styles
                in a unified and controlled framework.  Evaluating modes
                support serial or parallel execution, eager or lazy
                evaluation, non-determinism or multiple solutions etc.
                ALLOY is simple as it only requires 29 primitives in all
                (half of which for Object Oriented Programming support).
ports:          sparc, ?
updated:        1991/06/11

language:       Cellang (Cellular Automata)
package:        Cellular
version:        2.0
parts:          byte-code compiler, runtime, viewer

location:       comp.sources.unix, volume 26
description:    A system for cellular automata programming.
updated:        1993/04/03

language:       Hermes
package:        IBM Watson prototype Hermes system
version:        0.8alpha patchlevel 01
parts:          bytecode compiler, compiler(bytecode->C), runtime

location:       ftp pub/hermes/README from
description:    Hermes is a very-high-level integrated language and
                system for implementation of large systems and
                distributed applications, as well as for
                general-purpose programming.  It is an imperative,
                strongly typed, process-oriented language.  Hermes
                hides distribution and heterogeneity from the
                programmer.  The programmer sees a single abstract
                machine containing processes that communicate using
                calls or sends.  The compiler, not the programmer,
                deals with the complexity of data structure layout,
                local and remote communication, and interaction with
                the operating system.  As a result, Hermes programs are
                portable and easy to write.  Because the programming
                paradigm is simple and high level, there are many
                opportunities for optimization which are not present in
                languages which give the programmer more direct control
                over the machine.
reference:      Strom, Bacon, Goldberg, Lowry, Yellin, Yemini. Hermes: A
                 Language for Distributed Computing. Prentice-Hall, Englewood
                 Cliffs, NJ.  1991.  ISBN: O-13-389537-8.
ports:          RS6000 Sun-4 NeXT IBM-RT/bsd4.3 (Sun-3 and Convex soon)
updated:        1992/03/22

language:       ICC++ (Illinois Concert C++) and CA (Concurrent Aggregates)
package:        Illinois Concert System
version:        3.0
parts:          compiler(->C++), interpreter, symbolic de{*filter*}, parallel
                runtime simulator, parallel implementation on TMC CM5,
                Cray T3D

location:       http://www.*-*-*.com/
description:    The Concert System incorporates global analysis for
                parallel object-oriented languages, including
                aggressive concrete type inference.  In addition, it
                include an extremely lightweight communication and
                threading library (compiler-supported).  The
                implementation supports both a parallel C++ and
                a simple parallel object-oriented language called
                Concurrent aggregates.
conformance:    ICC++ and CA documentation available from the web site.
reference:      Andrew Chien, et. al. The Concert System -- Compiler and
                Runtime Support for Efficient Fine-Grained Concurrent
                Object-Oriented Programs, Department of Computer Science,
                University of Illinois, Urbana, Illinois, Technical
                Report UIUCDCS-R-93-1815, June 1993.
                (Others are available also)

restriction:    redistribution is restricted
announcements:  where new releases are announced

updated:        1995/05/07  Version 3.0
lref:           C++

language:       OCCAM 2 (A parallel, concurrent, distributed language)
package:        D7202-oc / TDS
version:        ?
parts:          compiler & full toolset system
author:         INMOS Ltd.
requires:       INMOS OCCAM compiler D7202 from:
ports:          Sun4 (DEC Alpha and Motorola PowerPC to follow)
portability:    Sparc processor only at present
status:         actively developed, supported

updated:        4-May-1995

language:       OCCAM 2 (A parallel, concurrent, distributed language)
package:        SPOC (Southampton Portable Occam Compiler)
version:        1.1
parts:          compiler(->C), run-time system, documentation, tools, examples

description:    supports the OCCAM 2 programming language.
conformance:    Full implementation of OCCAM 2
reference:      "OCCAM 2 reference manual", INMOS ltd, Prentice-Hall
                International, ISBN 0-13-629312-3
features:       The system generates ANSI-C code, implementing efficient
                portable concurrency running on a single target processor.
                Supports cross-linking with NAG Fortran-90 compiler.
restriction:    GPL'ed
requires:       C compiler, gmd compiler tools (available with compiler
                sources) (Sun4 binaries available)
ports:          Sun3, Sun4
portability:    ? Should work on most UNIXes
status:         actively developed, supported
discussion:     comp.sys.transputer

updated:        1-March-1994

language:       PCN
package:        PCN
version:        2.0
parts:          compiler?, runtime, linker, libraries, tools, de{*filter*},
                profiler, tracer

location:       ftp pub/pcn/pcn_v2.0.tar.Z from
description:    PCN is a parallel programming system designed to improve
                the productivity of scientists and engineers using parallel
                computers.  It provides a simple language for specifying
                concurrent algorithms, interfaces to Fortran and C, a
                portable toolkit that allows applications to be developed
                on a workstation or small parallel computer and run
                unchanged on supercomputers, and integrated debugging and
                performance analysis tools.  PCN was developed at Argonne
                National Laboratory and the California Institute of
                Technology.  It has been used to develop a wide variety of
                applications, in areas such as climate modeling, fluid
                dynamics, computational biology, chemistry, and circuit
ports:          (workstation nets): Sun4, NeXT, RS/6000, SGI
                (multicomputers): iPSC/860, Touchstone DELTA
                (shared memory multiprocessors): Symmetry/Dynix

updated:        1993/02/12

language:       LOOPN
package:        LOOPN
version:        ?
parts:          compiler?, simulator
author:         ?
location:       ftp departments/computer_sci*/loopn.tar.Z from
description:    I wish to announce the availability of a compiler, simulator
                and associated source control for an object-oriented petri net
                language called LOOPN.  In LOOPN, a petri net is an extension
                of coloured timed petri nets.  The extension means firstly that
                token types are classes.  In other words, they consist of both
                data fields and functions, they can be declared by inheriting
                from other token types, and they can be used polymorphically.
                The object-oriented extensions also mean that module or subnet
                types are classes.  LOOPN has been developed over a period of
                about 5 years at the University of Tasmania, where it has been
                used in teaching computer simulation and the modelling of
                network protocols.  A petri net is a directed, bipartite graph;
                nodes are either places (represented by circles) or transitions
                (represented by rectangles).  A net is marked by placing tokens
                on places.

read more »

Fri, 18 Dec 1998 03:00:00 GMT  
 Catalog of compilers, interpreters, and other language tools [p1of5]

Archive-name: compilers/free/part5
Last-modified: 1996/04/01
Version: 9.0

Wirth family languages
category:       Wirth family languages
description:    These are the languages that were either designed by Niklaus
                Wirth or are descended from them.  
lref:           IFP

language:       CLU
iref:           (CLU) Tim Budd's C++ implementation of Kamin's interpreters

language:       Modula-2, Pascal
package:        m2
version:        ? 7/2/92 ?
parts:          ? compiler ?
author:         Michael L. Powell.  See description below.
location:       ftp pub/DEC/Modula-2/m2.tar.Z from
description:    A modula-2 compiler for VAX and MIPS.  A Pascal
                compiler for VAX is also included.  The Pascal compiler
                accepts a language that is almost identical to Berkeley
                Pascal.  It was originally designed and built by Michael L.
                Powell, in 1984.  Joel McCormack made it faster, fixed lots of
                bugs, and swiped/wrote a User's Manual.  Len Lattanzi ported it
                to the MIPS.
conformance:    extensions:    
                + foreign function and data interface
                + dynamic array variables
                + subarray parameters
                + multi-dimensional open array parameters
                + inline proceedures
                + longfloat type
                + type-checked interface to C library I/O routines
restriction:    must pass changes back to Digital
ports:          vax (ultrix, bsd), mips (ultrix)

updated:        1992/07/06

language:       Modula-2
package:        Ulm's Modula-2 System
version:        2.2.1
parts:          compiler, library, tools

                compiler derived from the ETHZ compiler for the Lilith system
location:       ftp pub/soft/modula/ulm/sun3/modula-2.2.1.tar.Z from
        Please get the READ_ME too.
description:    ?
conformance:    PIM3
restriction:    commercial use requires licence;
                compiler sources available by separate licence agreement
                (licence fee is not required if it is possible to
                transfer the sources across the network)
requires:       gas-1.36 (to be found in the same directory)
ports:          Sun3, Nixdorf Targon/31, Concurrent 3200 Series

updated:        1992/03/02

language:       Modula-2
package:        mtc
version:        9209
parts:          translator(->C)

location:       ftp /gmd/cocktail/{mtc,reuse}.tar.Z from        
                ftp /pub/unix/programming/compilerbau/{mtc,reuse}.tar.Z
                ftp /pub/programming/languages/compiler-compiler/cocktail/{mtc,reuse}.tar.Z
                ftp /languages/tools/gmd/{mtc,reuse}.tar.Z
                ftp /.3/plan/gmd/{mtc,reuse}.tar.Z from    
description:    A Modula-2 to C translator
ports:          Unix, Linux, MS-DOS, MS-Windows, OS/2

updated:        1992/10/01

language:       Modula-2
package:        mocka
version:        9404
parts:          compiler, library, examples, docs

location:       ftp /pub/mocka/linux/mocka9404* from
                or ftp /pub/Linux/devel/modula-2/mocka9404*
description:    A free version of a Modula-2 compiler for the Intel X86
                under Linux or 386BSD (and derivatives?). Source code
                in Modula-2 is available.
ports:          Linux and 386BSD (also commercial versions)
updated:        1994/04/29

language:       Modula-2* (parallel extension)
package:        IPD Modula-2* Programming Environment
version:        9401
parts:          translator (->C), de{*filter*} (SUN4 only), X Windows
                user panel, automatic cross-architecture make,
                sequential and parallel libraries, examples, documentation

                following kernel contributors:
                   Thomas Gauweiler, Stefan U. Haenssgen, Ernst A. Heinz,
                   Paul Lukowicz, Hendrik Mager, Michael Philippsen.
location: ( in pub/programming/modula2star/
description:    Modula-2* is an extension of Modula-2 for highly parallel,
                portable programs.  IPD Modula-2* is provided freely for
                research, educational and classroom use.  A complete sequential
                Modula-2 environment in provided complemented with a set of
                parallel libraries, which even include routines for
                implementing low-level parallel operations.  The employment of
                of C translator allows increased accessibility to actual
                parallel machines (many have nothing lower-level than C), at
                the expense of Modula-2 features of arrays bounds checking
                and symbolic debugging at the Modula-2* level.
                [An interpreter could be written with functionality subsuming
                 that of a symbolic de{*filter*}. -- Mark]
conformance:    PIM but not ISO compliant
reference:      J.R. Smith. "The design and analysis of parallel
                  algorithms. Chapter 3: Modula-2*." Oxford University
                  Press, December 1992.
                M. Philippsen, E.A. Heinz, and P. Lukowicz. "Compiling
                  machine-independent parallel programs." ACM SIGPLAN
                  Notices, v. 28, no. 8, pp. 99-108, August 1993.
                M. Philippsen, T.M. Warschko, W.F. Tichy, C.G. Herter,
                  E.A. Heinz, and P. Lukowicz.   "Project Triton: Towards
                  improved programmability of parallel computers." In
                  D.J. Lija and P.L. Bird (eds), The Interaction of
                  Compilation Technology and Computer Architecture, Kluwer
                  Academic Publishers, 1994.
                Others available from (
                in pub/m2s/*.ps
ports:          386 and above with BSDI/386 or Linux (sequential),
                KSR-1/KSR-2 with KSR-OS (sequential and parallel),
                DECStation (R3000/R4000) with Ultrix (sequential),
                   MP-1/MP-2 (DECStation frontend) with MP-Ultrix (parallel)
                SUN (Sun-3, Sun-4 SPARCStation) with SunOS (sequential),
portability:    sources are for GMD Mocka Modula-2 compiler
status:         supported
updated:        ???

language:       Modula-2, Modula-3
package:        m2tom3
version:        2.00
parts:          Translator (Modula-2->Modula-3),
                Modula-2 standard library emulation

description:    m2tom3 is a system to port Modula-2 programs to Modula-3.
                It consists of two parts:
                1) A conversion program which tries to create a Modula-3
                source text with the same semantics as the Modula-2 input
                while retaining the original look and feel as good as possible.
                2) A base library which tries to emulate the Modula-2 standard
                library using the Modula-3 standard library.
                This version performs a wide range of conversions including
                WITH-statements, variant RECORDS, qualification of enumeration
                type literals etc.
                For a detailed description, see the enclosed README file.
requires:       DEC SRC Modula-3 release 3.3

announcements:  comp.lang.modula2, comp.lang.modula3

updated:        1994/11/30

language:       pm2
package:        PRAM emulator and parallel modula-2 compiler ??
version:        ?
parts:          compiler, emulator
author:         ?
location:       ftp pub/pram/* from
description:    A software emulator for parallel random access machine (PRAM)
                and a parallel modula-2 compiler for the emulator.  A PRAM
                consists of P processors, an unbounded shared memory, and a
                common clock. Each processor is a random access machine (RAM)
                consisting of R registers, a program counter, and a read-only
                signature register. Each RAM has an identical program, but the
                RAMs can branch to different parts of the program. The RAMs
                execute the program synchronously one instruction in one clock
                pm2 programming language is Modula-2/Pascal mixture having
                extensions for parallel execution in a PRAM. Parallelism is
                expressed by pardo-loop- structure. Additional features include
                privat/shared variables, two synchronization strategies, load
                balancing and parallel dynamic memory allocation.

updated:        1993/02/17

language:       Modula-3
package:        SRC Modula-3
version:        3.5
parts:          compiler(->C), runtime library, documentation

                LINUX version compiled by Michel Dagenais
location:       ftp pub/DEC/Modula-3/release-3.5/*.tar.gz
    MSDOS:      ftp pub/DEC/Modula-3/contrib/m3pc* from
    Linux: in pub/m3/linux (binaries only)
description:    The goal of Modula-3 is to be as simple and safe as it
                can be while meeting the needs of modern systems
                programmers.  Instead of exploring new features, we
                studied the features of the Modula family of languages
                that have proven themselves in practice and tried to
                simplify them into a harmonious language.  We found
                that most of the successful features were aimed at one
                of two main goals: greater robustness, and a simpler,
                more systematic type system.  Modula-3 retains one of
                Modula-2's most successful features, the provision for
                explicit interfaces between modules.  It adds objects
                and classes, exception handling, garbage collection,
                lightweight processes (or threads), and the isolation
                of unsafe features.
conformance:    implements the language defined in SPwM3.
requires:       gcc, preferrably X11
ports:          i386/AIX 68020/DomainOS Acorn/RISCiX MIPS/Ultrix 68020/HP-UX
                RS6000/AIX IBMRT/4.3 68000/NextStep i860/SVR4 SPARC/SunOS
                68020/SunOS sun386/SunOS Multimax/4.3 VAX/Ultrix
discussion:     comp.lang.modula3

updated:        1994/07/09

language:       Oberon2
package:        Oberon-2 LEX/YACC definition
version:        1.4
parts:          parser(yacc), scanner(lex)

location:       ftp pub/oberon/tools/o2lexyac.tar.Z from
                http://www.*-*-*.com/ ~bevan/oberon
description:    A LEX and YACC grammar for Oberon 2 based on the one given
                in the listed reference.
reference:      The Programming Language Oberon-2
                H. M\"{o}ssenb\"{o}ck, N. Wirth
                Institut f\"{u}r Computersysteme, ETH Z\"{u}rich
                January 1992
                ftp Oberon/Docu/ from

read more »

Fri, 18 Dec 1998 03:00:00 GMT  
 [ 9 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