category: compiled, imperative languages


Description:
This is the set of traditional infix languages other than C and Pascal which each have their own section.


Language:
BCPL
Package:
?
Version:
?
Parts:
?
Author:
?
Location:
ftp://wuarchive.wustl.edu/systems/amiga/programming/languages/BCPL/BCPL4Amiga.lzh
Description:
The original INTCODE interpreter for BCPL.
Ports:
Amiga, Unix, MSDOS
Contact:
?
Updated:
?

Language:
BCPL
Package:
?
Version:
?
Parts:
?
Author:
?
Location:
ftp://ftp.syd.dit.csiro.au in pub/ken/bcpl.tar.gz.
Description:
A BCPL* (Basic Combined Programming Language) compiler bootstrap kit with an INTCODE interpreter in C.
Contact:
Ken Yap <ken@syd.dit.CSIRO.AU>
Updated:
?

Language:
Eiffel
Package:
?
Version:
?
Parts:
source checker
Author:
Olaf Langmack <langmack@inf.fu-berlin.de> and Burghardt Groeber
Location:
ftp://ftp.fu-berlin.de/pub/heron/ep.tar.Z
Description:
A compiler front-end for Eiffel-3 is available. It has been generated automatically with the Karlsruhe toolbox for compiler construction according to the most recent public language definition. The parser derives an easy-to-use abstract syntax tree, supports elementary error recovery and provides a precise source code indication of errors. It performs a strict syntax check and analyses 4000 lines of source code per second on a Sun-SPARC workstation.
Updated:
December 14th, 1992

Language:
Fortran
Package:
?
Version:
?
Parts:
?
Author:
Steve Mccrea <mccrea@gdwest.gd.com>
Location:
?
Description:
a tool to split up monolithic fortran programs
Requires:
new awk
Updated:
?

Language:
Fortran
Package:
?
Version:
?
Parts:
semantic analyser
Author:
?
Location:
http://www.nag.co.uk:70/
Description:
Fortran 90 semantic analyser
Updated:
?

Language:
C (ANSI)
Package:
? 1984 ANSI C to K&R C preprocessor ?
Version:
?
Parts:
translator(K&R C)
Author:
?
Location:
from comp.sources.unix archive volume 1
Description:
?
Status:
?
Updated:
?

Language:
Pascal
Package:
? iso_pascal ?
Version:
?
Parts:
scanner(lex), parser(yacc)
Author:
?
Location:
comp.sources.unix archive volume 13
Description:
?
Updated:
?

Language:
C++
Package:
? signatures for GCC 2.5.2. ?
Version:
?
Parts:
patches to GNU CC, documentation
Author:
Gerald Baumgartner <gb@cs.purdue.edu>
Location:
ftp://ftp.cs.purdue.edu/pub/gb/*
Description:
Signatures are very similar to abstract base classes except that they have their own heirarchy and can be applied to compiled classes. They provide a means of separating subtyping and inheritance.
Requires:
GNU CC 2.5.2
Updated:
November 3rd, 1993

Language:
C++
Package:
??? A C++ Parser toolkit
Version:
?
Parts:
library
Author:
Mayan Moudgill <moudgill@cs.cornell.EDU>
Location:
ftp://ftp.cs.cornell.edu/pub/Parse.shar
Description:
A collection of C++ classes that make building a recursive descent parser/scanner very easy.
Ports:
Sun 4 with cfront 3.0,
Portability:
uses mmap(); probably low.
Updated:
April 11th, 1993

Language:
C++
Package:
aard ???
Version:
?
Parts:
memory use tracer
Author:
?
Location:
ftp://wilma.cs.brown.edu/pub/aard.tar.Z
Description:
We have a prototype implementation of a tool to do memory checking. It works by keeping track of the typestate of each byte of memory in the heap and the stack. The typestate can be one of Undefined, Uninitialized, Free or Set. The program can detect invalid transitions (i.e. attempting to set or use undefined or free storage or attempting to access uninitialized storage). In addition, the program keeps track of heap management through malloc and free and at the end of the run will report all memory blocks that were not freed and that are not accessible (i.e. memory leaks). The tools works using a spliced-in shared library.
Requires:
Sparc, C++ 3.0.1, SunOS 4.X
Contact:
Steve Reiss <spr@cs.brown.edu>
Updated:
?

Language:
Modula-2
Package:
ACK
Version:
6.0pre3-0.50
Parts:
Modula-2 front end for the ACK compiler suite
Author:
Certiel Jacobs
Location:
http://tack.sourceforge.net
Description:
Third edition Modula-2 compiler as part of the Amsterdam Compiler Kit compiler suite. 386, 8086 and 8080 code generation; historic code generators available for many more architectures
Features:
  • use of the ACK C preprocessor
  • foreign language interface
Restriction:
BSD license
Status:
Functional - no longer maintained
Updated:
2007

Language:
Ada
Package:
Ada grammar
Version:
?
Parts:
scanner(lex), parser(yacc)
Author:
?
Location:
ftp://primost.cs.wisc.edu or email to compilers-server@iecc.cambridge.ma.us
Description:
?
Contact:
masticol@dumas.rutgers.edu
Updated:
October 12th, 1991

Language:
Ada
Package:
Ada/Ed
Version:
1.11.0a+
Parts:
translator(?), interpreter, ?
Author:
?
Location:
ftp://cnam.cnam.fr/pub/Ada/Ada-Ed
Description:
Ada/Ed is a translator-interpreter for Ada. It is intended as a teaching tool, and does not have the capacity, performance, or robustness of commercial Ada compilers. Ada/Ed was developed at New York University, as part of a long-range project in language definition and software prototyping.
Conformance:
Ada 83. Last validated with version 1.7 of the ACVC tests. being an interpreter, it does not implement most representation clauses, and thus does not support systems programming close to the machine level.
Ports:
Unix, MSDOS, Amiga, Atari
Contact:
Michael Feldman <mfeldman@seas.gwu.edu>
Updated:
May 8th, 1992

Language:
Ada
Package:
Adamakegen
Version:
2.6.3
Parts:
makefile generator
Author:
Owen O'Malley <omalley@porte-de-st-ouen.ics.uci.edu>
Location:
ftp://spare.ics.uci.edu/ftp/pub/arcadia/adamakegen*
Description:
A program that generates makefiles for Ada programs
Requires:
Icon
Ports:
Verdix, SunAda
Updated:
March 2nd, 1993

Language:
Fortran (HPF)
Package:
Adaptor (Automatic DAta Parallelism TranslatOR)
Version:
3.0
Parts:
preprocessor, library, documentation
Author:
?
Location:
ftp://ftp.gmd.de/GMD/adaptor/adp_3.0.tar.gz
Description:
Adaptor is a tool that transforms data parallel programs written in Fortran with array extensions, parallel loops, and layout directives to parallel programs with explicit message passing.

ADAPTOR is not a compiler but a source to source transformation that generates Fortran 77 host and node programs with message passing. The new generated source codes have to be compiled by the compiler of the parallel machine.

Reference:
http://www.gmd.de/SCAI/lab/adaptor/adaptor_home.html
Ports:
CM-5, iPCS/860, Meiko CS1/CS2, KSR 1, SGI, Alliant, network of Suns, or RS/6000s
Contact:
Thomas Brandes <brandes@gmd.de>
Updated:
1995/06

Language:
C
Package:
ae (application executive)
Version:
2
Parts:
interpreter
Author:
Brian Bliss <bliss@convex.com>
Location:
ftp://sp2.csrd.uiuc.edu/pub/CSRD_Software/APPL_EXEC/
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:
July 18th, 1993

Language:
BNF (yacc), Ada
Package:
aflex-ayacc
Version:
1.2a
Parts:
parser generator (Ada), scanner generator (Ada)
Author:
IRUS (Irvine Research Unit in Software)
Location:
ftp://liege.ics.uci.edu/pub/irus/aflex-ayacc_1.2a.tar.Z
Description:
Lex and Yacc equivalents that produce Ada output
Announcements:
irus-software-request@ics.uci.edu
Contact:
irus-software-request@ics.uci.edu
Updated:
January 6th, 1993

Language:
C preprocessor
Package:
amc
Version:
1.0
Parts:
compiler
Author:
myg@din.net
Location:
http://www.din.net/amc
Description:
Gives languages like C a module structure more akin to TurboPascal. Support for a more dynamic form of OOP is still in development, although the hooks are here. Some documentation is really needed, any voulanteers?
Features:
well written code (IMHO), can easily add your own extensions and integrated them with little effort.
Bugs:
It could do a better job of copying C code rather than using MACRO's. Later.
Restrictions:
See license agreement, not many. Just E-mail author about anything not in agreement with License.
Ports:
HP-UX, Linux, Solaris, NeXTStep
Contact:
myg@din.net
Updated:
June 2nd, 1997

Language:
E
Package:
Amiga E
Version:
2.1b
Parts:
compiler, assembler, linker, utilities
Author:
Wouter van Oortmerssen <Wouter@mars.let.uva.nl>
Location:
ftp://amiga.physik.unizh.ch/amiga/dev/lang/AmigaE21b.lha
Description:
An Amiga specific E compiler. E is a powerful and flexible procedural programming language and Amiga E a very fast compiler for it, with features such as compilation speed of 20000 lines/minute on a 7 Mhz amiga, inline assembler and linker integrated into compiler, large set of integrated functions, module concept with 2.04 includes as modules, flexible type-system, quoted expressions, immediate and typed lists, low level polymorphism, exception handling and much, much more. Written in Assembly and E.
Ports:
Amiga
Portability:
not portable at all
Status:
actively developed
Discussion:
comp.sys.amiga.programmer (sometimes)
Updated:
March 1st, 1993

Language:
Ada 9X
Package:
AVLAda9X
Version:
191 prototype (Fall 1994)
Parts:
compiler, editor, online help, example programs, doc files
Author:
Dr. Arthur Vargas Lopes <IN%"34U3IQN@CMUVM.BITNET">
Location:
ftp languages/ada/compiler/avlada9x/ver_191/avlada9x.zip
n.america:
from host wuarchive.wstlu.edu or ftp.cdrom.com/pub
europe:
ftp.cnam.fr/pub/Ada/PAL Also available via NFS mounts on WUARCHIVE gopher://wuarchive.wustl.edu and gopher://gopher.wustl.edu email server ftpmail@decwrl.dec.com, CDROM
Description:
Ada 9X student starter compiler/interpreter.

AVLAda9X is a prototype Ada 9X student compiler/interpreter. Its goal is to provide a small Ada 9x compiler/translator that is easy to install and has good performance for compilation and interpretation.

Conformance:
Grammar conforms to Ada 9X version 5.0 (DIS 8652-9X, June 1994);
Reference:
RM9X;5.0 (ftp://ajpo.sei.cmu.edu/public/ada9x/rm9x/v5.0/rm9x.doc)
Features:
The version being released allows separate compilation of package specs and bodies. The tasking model is working with simple tasking constructs including the use of protected units and tasks with discriminants as shown within the enclosed example programs.
Bugs:
Some problems with generics. Future work will focus on OOP and generics.

It is expected that the completed work will allow the use of most of the Ada 9X constructs.

Restriction:
Approved for Public Release; Distribution Unlimited This software can be freely distributed, provided: 1) there is no distribution/usage fee charged, 2) all the files which accommodate this software are included, unmodified, and with their modification dates preserved

This software cannot be 1) distributed as a part of any other product without the written permission from the author, or

2) used in a commercial environment without the written permission from the author.

Requires:
DOS
Ports:
DOS
Portability:
DOS, No other known system dependencies
Status:
active, still undergoing development
Discussion:
comp.lang.ada
Help:
IN%"34U3IQN@CMUVM.BITNET"
Announcements:
comp.lang.ada, listserv@wunet.wustl.edu
Contact:
IN%"34U3IQN@CMUVM.BITNET"
Updated:
Fall 1994

Language:
BLISS-11
Package:
BLISS-11
Version:
?? 1
Parts:
compiler, minimal run-time support
Author:
Wulf, et. al.
Location:
ftp://iecc.com/pub/file/bliss.tar.Z
Description:
This is the BLISS compiler as described in the reference cited below. It is written entirely in BLISS-10 and is the version submitted to the DEC user society (DECUS) back in 1972.
Conformance:
The defining implementation.
Reference:
'The Design of an Optimizing Compiler' by Wulf, et. al.
Portability:
*EXTREMELY* dependent upon the PDP-10 and its 36-bit architecture.
Contact:
harding@ug.eds.com
Updated:
??

Language:
C++
Package:
C++ grammar
Version:
?
Parts:
parser (yacc)
Author:
?
Location:
comp.sources.misc volume ?
Description:
[is this a copy of the Roskind grammar or something else? --ed]
Updated:
October 23rd, 1991

Language:
C++
Package:
C++ Object Oriented Library
Version:
COOL ?, GECOOL 2.1, JCOOL 0.1
Parts:
libraries, tests, documentation
Author:
?
Location:
GECOOL, JCOOL: ftp://cs.utexas.edu/pub/COOL/* COOL: ftp://csc.ti.com/pub/COOL.tar.Z
Description:
A C++ class library developed at Texas Instruments. Cool contains a set of containers like Vectors, List, Hash_Table, etc. It uses a shallow hierarchy with no common base class. The funtionality is close to Common Lisp data structures (like libg++). The template syntax is very close to Cfront3.x and g++2.x. Can build shared libraries on Suns. JCOOL's main difference from COOL and GECOOL is that it uses real C++ templates instead of a similar syntax that is preprocessed by a special 'cpp' distributed with COOL and GECOOL.
Ports:
?
Contact:
Van-Duc Nguyen <nguyen@crd.ge.com>
Updated:
August 5th, 1992

Language:
C++
Package:
C++SIM
Version:
1.0
Parts:
library
Author:
Mark Little <M.C.Little@newcastle.ac.uk>
Location:
ftp://arjuna.ncl.ac.uk/ ??
Description:
C++SIM is a class library that provides the same sort of features found in the simulation class libraries of SIMULA.
Updated:
June 14th, 1993

Language:
C
Package:
C-Interp
Version:
?
Parts:
interpreter
Author:
?
Location:
ftp://oac2.hsc.uth.tmc.edu/Mac/Misc/C_Interp.sit
Description:
An interpreter for a small subset of C, originally part of a communications package.
Contact:
? Chuck Shotton <cshotton@oac.hsc.uth.tmc.edu>
Updated:
May 14th, 1993

Language:
C
Package:
C-Tree
Version:
.04
Parts:
Source
Author:
Shaun Flisakowski
Location:
ftp.kagi.com:/flisakow/ctree_04.tar.gz ftp.kagi.com:/flisakow/ctree_04.zip ftp.cs.wisc.edu:/coral/tmp/spf/ctree_04.tar.gz
Description:
Takes the name of a file to parse as input, and returns a pointer to the parse tree generated; or NULL if there are errors, printing the errors to stderr. It is written using flex and bison.
Updated:
July 13th, 1997

Language:
C, nroff, texinfo, latex, html
Package:
c2man
Version:
2.0 patchlevel 34
Parts:
documentation generator (C -> nroff -man, -> texinfo, -> latex,
-> html)
Author:
Graham Stoney <greyham@research.canon.oz.au>
Location:
ftp from any comp.sources.misc archive, in volume42 (the version in the comp.sources.reviewed archive is obsolete) ftp://dnpap.et.tudelft.nl/pub/Unix/Util/c2man-2.0.*.tar.gz
australia:
ftp://archie.au/usenet/comp.sources.misc/volume42/c2man-2.0/*
n.america:
ftp://ftp.wustl.edu/usenet/comp.sources.misc/volume42/c2man-2.0/*
europe:
ftp://ftp.irisa.fr/News/comp.sources.misc/volume42/c2man-2.0/*
japan:
ftp://ftp.iij.ad.jp/pub/NetNews/comp.sources.misc/volume42/c2man-2.0/*
patches:
ftp://lth.se/pub/netnews/sources.bugs/volume93/sep/c2man*
Description:
c2man is an automatic documentation tool that extracts comments from C source code to generate functional interface documentation in the same format as sections 2 & 3 of the Unix Programmer's Manual. It requires minimal effort from the programmer by looking for comments in the usual places near the objects they document, rather than imposing a rigid function-comment syntax or requiring that the programmer learn and use a typesetting language. Acceptable documentation can often be generated from existing code with no modifications.
Conformance:
supports both K&R and ISO/ANSI C coding styles
Features:
+ generates output in nroff -man, TeXinfo, LaTeX or HTML format
+ handles comments as part of the language grammar
+ automagically documents enum parameter & return values
+ handles C (/* */) and C++ (//) style comments
- doesn't handle C++ grammar (yet)
Requires:
yacc/byacc/bison, lex/flex, and nroff/groff/texinfo/LaTeX.
Ports:
Unix, OS/2, MSDOS, VMS.
Portability:
very high for unix, via Configure
Status:
actively developed; contributions by users are encouraged.
Discussion:
via a mailing list: send "subscribe c2man <Your Name>" (in the message body) to listserv@research.canon.oz.au
Help:
from the author and other users on the mailing list: c2man@research.canon.oz.au
Announcements:
patches appear first in comp.sources.bugs, and then in comp.sources.misc.
Updated:
March 2nd, 1995

Language:
C
Package:
c68/c386
Version:
4.2a
Parts:
compiler
Author:
Matthew Brandt, Christoph van Wuellen, Keith and Dave Walker
Location:
ftp://archimedes.nosc.mil/pub/misc/c386-4.2b.tar.Z [Temporary location, looking for a permanent home. -ed] You can get an older, 68k-only version from ftp://bode.ee.ualberta.ca/motorola/m68k/cc68k.arc
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:
Oberon
Package:
Ceres workstation Oberon System
Version:
?
Parts:
compiler
Author:
?
Location:
ftp://neptune.ethz.ch/Oberon/?
Description:
file format is Oberon, binary header
Status:
The sources to the various _full_ implementations are indeed not available but the source to most of the complete Ceres workstation Oberon System, including NS32032 code generator but less low level system specific is available. This includes the complete Oberon compiler written in Oberon.
Updated:
?

Language:
C (ANSI)
Package:
cextract
Version:
1.7
Parts:
translator(K&R C), header file generator
Author:
Adam Bryant <adb@cs.bu.edu>
Location:
ftp from any comp.sources.reviewed archive
Description:
A C prototype extractor, it is ideal for generating header files for large multi-file C programs, and will provide an automated method for generating all of the prototypes for all of the functions in such a program. It may also function as a rudimentary documentation extractor, generating a sorted list of all functions and their locations
Ports:
Unix, VMS
Updated:
November 3rd, 1992

Language:
FOOGOL (a subset of Algol-60)
Package:
cfoogol
Version:
5.0
Parts:
compiler(->C)
Author:
Per Lindberg, John Cowan <cowan@locke.ccil.org>
Location:
ftp://locke.ccil.org/pub/retro/cfoogol.shar.gz (in the Museum of Retrocomputing). An earlier version was posted in comp.sources.misc in May 1994.
Description:
This is a toy compiler for a subset of Algol-60, based on the VALGOL-1 compiler by G. A. Edgar published in the May 1985 Dr. Dobb's Journal. It is intended solely to demonstrate recursive-descent parsing and other elementary compiler- construction techniques.
Conformance:
subset of Algol-60
Portability:
portable pre-ANSI C
Ports:
VAX
Updated:
May 8th, 1994

Language:
Fortran, C
Package:
cfortran.h
Version:
2.6
Parts:
macros, documentation, examples
Author:
Burkhard Burow
Location:
ftp://zebra.desy.de/cfortran/*
Description:
cfortran.h is an easy-to-use powerful bridge between C and FORTRAN. It provides a completely transparent, machine independent interface between C and FORTRAN routines and global data.

cfortran.h provides macros which allow the C preprocessor to translate a simple description of a C (Fortran) routine or global data into a Fortran (C) interface.

Reference:
reviewed in RS/Magazine November 1992 and a user's experiences with cfortran.h are to be described in the 1/93 issue of Computers in Physics.
Ports:
VAX VMS or Ultrix, DECstation, Silicon Graphics, IBM RS/6000, Sun, CRAY, Apollo, HP9000, LynxOS, f2c, NAG f90.
Portability:
high
Contact:
burow@vxdesy.cern.ch
Updated:
April 12th, 1992

Language:
C (ANSI)
Package:
cgram
Version:
?
Parts:
grammar
Author:
Mohd Hanafiah Abdullah <napi@cs.indiana.edu>
Location:
ftp://primost.cs.wisc.edu/pub/comp.compilers/cgram-ll1.Z
Description:
An ANSI C grammar in LL(k) (1 <= k <= 2). It's written in Scheme, so you need to have a Scheme interpreter to process the grammar using a program (f-f-d.s) that extracts the FIRST/FOLLOW/DIRECTOR sets.
Requires:
Scheme
Ports:
?
Updated:
?

Language:
C, lcc intermediate format
Package:
Chop
Version:
0.6
Parts:
code generator
Author:
Alan L. Wendt <wendt@CS.ColoState.EDU>
Location:
ftp://beethoven.cs.colostate.edu/pub/chop/0.6.tar.Z
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 lcc compatibility. After I get them working, I'll work on getting the system to compile itself, get struct assignments working, improve the code quality and compile speed, and run the SPEC benchmarks. That will be rev 1.0.
Reference:
"Fast Code Generation Using Automatically-Generated Decision Trees", ACM SIGPLAN '90 PLDI
Updated:
April 28th, 1993

Language:
Simula 67
Package:
cim
Version:
1.62
Parts:
compiler(->C)
Author:
Sverre Hvammen Johansen <sj@ifi.uio.no> Stein Krogdahl <steink@ifi.uio.no> Terje Mjoes.
Location:
ftp://sunsite.unc.edu/pub/Linux/devel/simula/cim-1.??.tar.gz
europe:
ftp://ftp.ifi.uio.no/pub/cim/cim-1.??.tar.gz ftp://ftp.fenk.wau.nl/pub/lang/simula/compilers/cim/cim-1.??.tar.gz
Description:
A compiler that translates Simula to C, for further compilation.
Conformance:
Does not include unspecified virtual procedures.
Reference:
"Viderefoering og testing av et portabelt Simula-system." Hovedoppgave til cand.scient.-graden av Terje Mjoes. Institutt for informatikk, Universitetet i Oslo, April 1989.

"Et portabelt Simula-system bygget paa C." Hovedoppgave til cand.scient-graden av Sverre Johansen. Institutt for informatikk, Universitetet i Oslo, Mai 1987.

Bugs:
Constant must be declared before reference/use.
Restriction:
See bugs and conformance.
Requires:
A C compiler.
Ports:
Numerous.
Portability:
Any UNIX system. (Uses GNU AutoConf.)
Status:
Maintained by Sverre Johansen.
Help:
E-mail: cim@ifi.uio.no
Contact:
E-mail: cim@ifi.uio.no
Updated:
March 20th, 1995.

Language:
Ada
Package:
Compiler for Toy/Ada in SML/NJ
Version:
?
Parts:
translator(?)
Author:
Amit Bhatiani <bhatiaa@polly.cs.rose-hulman.edu>
Location:
ftp://master.cs.rose-hulman.edu/pub/compiler*.tar.Z
Description:
?
Conformance:
subset
Updated:
April 8th, 1992

Language:
C++
Package:
cppp
Version:
1.14
Parts:
parser (yacc)
Author:
Tony Davis <ted@cs.brown.edu>
Location:
ftp://wilma.cs.brown.edu/pub/cppp.tar.Z
Description:
A compiler front-end for C++, with complete semantic processing. Outputs abstract syntax graph.
Restriction:
Permission needed for incorporation into commercial software.
Requires:
Native C++ compiler, lex, yacc, make, sed (or hand editing)
Status:
Upgrading the back end.
Updated:
May 26th, 1993

Language:
C (ANSI)
Package:
cproto
Version:
4 patchlevel 0
Parts:
translator(K&R C)
Author:
Chin Huang <chin.huang@canrem.com>
Location:
comp.sources.misc volume 29
Description:
cproto generates function prototypes from function definitions. It can also translate function definition heads between K&R style and ANSI C style.
Ports:
Unix, VMS, MS-DOS
Updated:
July 18th, 1992

Language:
C-Refine, C++-Refine, *-Refine
Package:
crefine
Version:
3.0
Parts:
pre-processor, documentation
Author:
Lutz Prechelt <prechelt@ira.uka.de>
Location:
aquire from any comp.sources.reviewed archive
Description:
C-Refine is a preprocessor for C and languages that vaguely resemble C's syntax. It allows symbolic naming of code fragments so as to redistribute complexity and provide running commentary.
Ports:
unix, msdos, atari, amiga.
Portability:
high
Updated:
July 16th, 1992

Language:
C
Package:
csize
Version:
1.12
Parts:
code analysis tool
Author:
Christopher Lott <c.m.lott@ieee.org>
Location:
http://www.cs.umd.edu/users/cml/
Description:
A C language code counter
Updated:
October 17th, 1994

Language:
C
Package:
CSlang
Version:
1.0
Parts:
interpreter
Author:
Tudor Hulubei <tudor@cs.unh.edu>
Location:
http://www.cs.unh.edu/~tudor/cslang/ ftp://ftp.cs.unh.edu/pub/grads/tudor/cslang/cslang-1.0.tar.gz
Description:
CSlang is a C interpretor I have developed in 1996. It is based on James A. Roskind's C grammar. Although not all the features of C have been implemented yet, and I am not working on this project at the moment, I decided to make it available in its present form.
Status:
inactive
Updated:
1997

Language:
C
Package:
cutils
Version:
1.5.2
Description:
C language miscellaneous utilities
Parts:
C language miscellaneous utilities; C, obfusc, shrouder, highlight, yacc, literate
Author:
ssigala@globalnet.it (Sandro Sigala)
Location:
ftp://ftp.vix.com/guests/ssigala/pub/cutils ftp://sunsite.unc.edu/pub/Linux/devel/lang/c
Requires:
ANSI C compiler
Restrictions:
BSD-like
Updated:
1997/11

Language:
C
Package:
Cxref
Version:
1.4
Parts:
Documentation + Cross-reference generator
Author:
Andrew M. Bishop <amb@gedanken.demon.co.uk>
Location:
ftp://ftp.demon.co.uk/pub/unix/unix/tools/cxref-1.4.tgz ftp://sunsite.unc.edu/pub/Linux/devel/lang/c/cxref-1.4.tgz http://www.gedanken.demon.co.uk
Description:
Produce LaTeX or HTML documentation including cross-references from C program source code.

The documentation for the program is produced from comments in the code that are appropriately formatted.

Cross references are provided for global variables, functions, include files and type definitions.

Features:
  • ANSI C
  • GCC extensions
Restrictions:
GPL
Requires:
Yacc, Lex, C compiler, HTML browser and/or LaTeX.
Ports:
UNIX (Linux, SunOS, Solaris, HPUX) others?
Portability:
Will compile for WinNT, OS/2, but needs a little work.
Status:
Version 1.4 is stable Version 1.3 is stable (with known patches) Version 1.2 has a few bugs (fixed in 1.2[ab] patches). Versions 1.0 & 1.1 are known to contain bugs.
Discussion:
By mail to author amb@gedanken.demon.co.uk, or on cxref homepage via http://www.gedanken.demon.co.uk/
Bugs:
As for discussion above.
Help:
As for discussion above.
Support:
As for discussion above.
Announcements:
comp.os.linux.announce and homepage.
Updated:
1997/07

Language:
C
Package:
cxref
Version:
?
Parts:
code analysis tool
Author:
Arnold Robbins <arnold@gatech.?>
Location:
use archie
Description:
A cross-reference genrator
Updated:
?

Language:
C, C++
Package:
Cyclo - cyclomatic complexity tool
Version:
the one and only version
Parts:
code analysis tool
Author:
Roger D Binns
Location:
alt.sources archive, June 28th, 1993, <C9C2rH.EE@brunel.ac.uk>
Description:
It measures cyclomatic complexity, shows function calls and can draw flowgraphs of ANSI C and C++ code.
Requires:
lex, C++
Updated:
June 28th, 1993

Language:
C, C++
Package:
ddd
Version:
2.1
Parts:
symbolic graphical debugger, documentation
Author:
Andreas Zeller
Location:
ftp://ftp.ips.cs.tu-bs.de/pub/local/softech/ddd/ddd-2.1.tar.gz
Description:
The Data Display Debugger (DDD) is a common graphical user interface to GDB, DBX, and XDB, the popular UNIX debuggers. Besides ``usual'' features such as viewing source texts and breakpoints, DDD provides a graphical data display, where data structures are displayed as graphs. A simple mouse click dereferences pointers or reveals structure contents, updated each time the program stops. Using DDD, you can reason about your application by viewing its data, not just by viewing it execute lines of source code.
Bugs:
ddd@ips.cs.tu-bs.de http://www.cs.tu-bs.de/softech/ddd/
Restrictions:
GPL
Updated:
May 5th, 1997

Language:
C
Package:
dsp56165-gcc
Version:
?
Parts:
compiler
Author:
Andrew Sterian <asterian@eecs.umich.edu>
Location:
ftp://wuarchive.wustl.edu/usenet/alt.sources/?
Description:
A port of gcc 1.40 to the Motorola DSP56156 and DSP56000.
Updated:
?

Language:
C
Package:
dsp56k-gcc
Version:
?
Parts:
compiler
Author:
?
Location:
ftp://nic.funet.fi/pub/ham/dsp/dsp56k-tools/dsp56k-gcc.tar.Z
australia:
ftp://evans.ee.adfa.oz.au/pub/micros/56k/g56k.tar.Z
Description:
A port of gcc 1.37.1 to the Motorola DSP56000 done by Motorola
Contact:
?
Updated:
?

Language:
Duel (a <practical> C debugging language)
Package:
DUEL
Version:
1.10
Parts:
interpreter, stand-alone module, documentation, test suites
Author:
Michael Golan <mg@cs.princeton.edu>
Location:
ftp://ftp.cs.princeton.edu/duel/*
Description:
DUEL acts as front end to gdb. It implements a language designed for debbuging C programs. It mainly features efficient ways to select and display data items. It is normally linked into the gdb executable, but could stand alone. It interprets a subset of C in addition to its own language.
Requires:
gdb
Status:
author is pushing the system hard.
Updated:
March 20th, 1993

Language:
C++, Extended C++
Package:
EC++
Version:
?
Parts:
translator(C++), documentation
Author:
Glauco Masotti <masotti@lipari.usc.edu>
Location:
? ftp://ftp.uu.net/languages/c++/EC++.tar.Z ?
Description:
EC++ is a preprocessor that translates Extended C++ into C++. The extensions include:
  • preconditions, postconditions, and class invariants
  • parameterized classes
  • exception handling
  • garbage collection
Status:
?
Updated:
October 10th, 1989

Language:
ANSI/ISO C
Package:
EiC
Version:
4.x
Parts:
Documentation, interactive byte-code interpreter, header files, C preprocessor and examples
Author:
Ed. Breen (Ed.Breen@Altavista.net)
Location:
http://www.pobox.com/~eic
Description:
EiC is a pointer-safe, byte-code C interpreter. It is an LL(N) parser, where N is defined at compile time and is currently set to 3. It was developed from a perceived need for a complete interactive C interpreter, which can also run non-interactively in typical interpreter/compiler batch mode style.

EiC is suitable as: an aid in teaching C, for fast prototype of new programs and as a research tool - as it allows the user to quickly interface and call compiled C routines, experiment with user supplied code, standard ISO C and POSIX.1 functions, and all via immediate statements, which are statements that are executed immediately, and it has its own built in ISO style C preprocessor.

It is also pointer safe, which means that EiC catches most types of array bound violations. It can also be run non-interactively or in batch mode, where it is possible to write programs that take command line arguments in the usual C way. And it is a scripting language allowing the development of CGI scripts. EiC supports the concept of modules, which are related groups of EiC/C functions that get interpreter'd by EiC or builtin to EiC. It is also possible for compiled code to make calls (callbacks) to interpreter'd code. And EiC has builtin functionality that generates interfaces to C libraries.

Conformance:
EiC attempts to be compliant ISO C, but see features.
Features:
Although, EiC can parse almost all of the C programming language, right up front it is best to mention what is currently lacking or different:

  1. <signal.h> is not fully supported.

  2. Structure _bit_ fields are not supported.

  3. While structures and unions can be returned from and passed by value to functions, it is illegal in EiC to pass a structure or a union to a variadic function (that is, a function that takes a variable number of arguments):

    EiC 1> struct stag {int x; double y[5];} ss;
    EiC 2> void foo(const char *fmt, ...);
    EiC 3> foo("",ss);
    Error: passing a struct/union to variadic function `foo'

  4. The C concept of linkage is not supported. This is because, EiC does not export identifiers to a linker - as does a true C compiler. EiC works from the concept of a single translation unit. However, static variables or or functions defined in one file are kept private to that file.

  5. EiC does not parse preprocessor numbers, which aren't valid numeric constants.

  1. EiC supports both standard C like comments /* ... */ and C++ style comments.

  1. There are no default type specifiers for function return values. In EiC it is illegal to not explicitly state the return type of a function:

    foo() { ... } /* error: missing return type*/
    int foo() { ... } /* correct, return type specified*/

  1. In addition to function definitions and declarations with an empty parameter list, EiC only supports prototype declarations and definitions:

    int foo(); /* Empty parameter list allowed */ int f(value) int value { ... } /* Illegal: old style C*/ int f(int); /* Allowed, prototype declaration */ int f(int value); /*Allowed, full prototype declaration*/

  2. EiC does not support trigraph sequences, wide characters or wide strings: nor does it support the standard header <locale.h>.

  1. EiC's preprocessor lacks the #line directive.

  2. For convenience, EiC allows the #include directive to have an extra form, which permits the parsing of a token-sequence in the form ``#include filename''; that is, without enclosing double quotes or angled brackets.

  3. Besides parsing preprocessor directives or C statements, EiC also parses its own internal house keeping language. House keeping commands start with a colon.
Restriction:
Source code is available under the Artistic Licence.
Ports:
Linux (elf) SUN SPARC SOLARIS 2.x SUN SOLARIS/i386 SUN OS 4.1.x ALPHA OSF 3.x and 4.x IRIX 6.x HP-UX B.10.20 NetBSD FreeBSD WIN32
Portability:
Should be portable to any system running gcc, and gnu make.
Status:
actively supported
Announcements:
http://www.pobox.com/~eic
Contact:
Ed.Breen@Altavista.net
Updated:
2000/1/04

Language:
C, C++, Objective-C
Package:
emx programming environment for OS/2
Version:
0.8g
Parts:
gcc, g++, gdb, libg++, .obj linkage, DLL, headers
Author:
Eberhard Mattes <mattes@azu.informatik.uni-stuttgart.de>
Location:
ftp://ftp-os2.cdrom.com/os2/2_x/unix/gnu/emx0.8g
europe:
ftp://ftp.uni-stuttgart.de/soft/os2/emx-0.8g
Description:
?
Discussion:
subscribe to emx-list using listserv@ludd.luth.se
Updated:
September 21st, 1992

Language:
C++
Package:
ET++
Version:
3.0-alpha
Parts:
class libraries, documentation
Author:
?
Location:
ftp://iamsun.unibe.ch/C++/ET++/*
Description:
?
Contact:
Erich Gamma <gamma@ifi.unizh.ch>
Updated:
October 26th, 1992

Language:
Fortran
Package:
F-curses
Version:
?
Parts:
library
Author:
Wade Schauer <sal!wade@sactoh0.sac.ca.us>
Location:
comp.sources.misc volume 44
Description:
F-curses (C) is a library of Fortran and C routines that gives Fortran programmers tranparent access to the curses library (a C library).
Restriction:
shareware
Ports:
UNIX, MS-DOS
Updated:
October 10th, 1994

Language:
Fortran
Package:
f2c
Version:
1993.04.28
Parts:
translator (to C), postscript documentation, man pages, support libraries.
Author:
S. I. Feldman, D. M. Gay, M. W. Maimone and N. L. Schryer
Location:
ftp from netlib@netlib.bell-labs.com:netlib/f2c/src/*
Description:
translator (Fortran 77 to ANSI C or C++)
Bugs:
D. M. Gay <dmg@research.bell-labs.com>
Updated:
1993 April 27

Language:
C
Package:
fdlibm
Version:
?
Parts:
library
Author:
Dr. K-C Ng
Location:
ftp://netlib.att.com/netlib/fdlibm.tar
Description:
Dr. K-C Ng has developed a new version of libm that is the basis for the bundled /usr/lib/libm.so 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: fdlibm-comments@sunpro.eng.sun.com.
Updated:
December 18th, 1993

Language:
Fortran
Package:
Floppy
Version:
?
Parts:
?
Author:
?
Location:
ffccc in comp.sources.misc archive volume 12
Description:
?
Contact:
?
Updated:
August 4 1992

Language:
Fortran
Package:
Flow
Version:
?
Parts:
?
Author:
Julian James Bunn <julian@vxcrna.cxern.ch>
Location:
comp.sources.misc archive volume 31
Description:
The Flow program is a companion to Floppy, it allows the user to produce various reports on the structure of Fortran 77 code, such as flow diagrams and common block tables.
Requires:
Floppy
Ports:
VMS, Unix, CMS
Updated:
?

Language:
Fortran
Package:
Fortran77 -> Fortran90 converter
Version:
? 1
Parts:
translator(Fortran 77 -> Fortran 90), documentation?
Author:
metcalf@cernvm.cern.ch <Michael Metcalf>
Location:
ftp://jkr.cc.rl.ac.uk/pub/MandR/convert.f90
Description:
A Fortran77 to Fortran90 translator. There's a number of significant differences between the two Fortrans that makes a package like this useful.
Updated:
July 17th, 1993

Language:
Pascal
Package:
Free Pascal Compiler
Version:
0.99.14 (stable), 0.99.15 (development)
Parts:
compiler, run time library, tools, documentation
Author:
Florian Klaempfl (Florian.Klaempfl@gmx.de) and the FPC development team (fpc-devel@lists.freepascal.org)
Location:
http://www.freepascal.org
Description:
Free Pascal (aka FPK Pascal) is a 32 bit Pascal command line compiler. It is completely written in Pascal and compiles itself. Documentation is available in TeX, HTML, PDF, RTF and plain text. A text mode IDE is under development, a Delphi-like RAD environment too (see <http://www.lazarus.freepascal.org> and <http://www.kcl.freepascal.org>).
Conformance:
99% Turbo Pascal compatible and supports most Delphi extensions as well. Extra functionality: * procedure/function/operator overloading * functions can return complex types * macro's * smart linking support
Restriction:
may be freely distributed unter the terms of the GNU General Public License or in case of the library under the terms of the GNU Library General Public cense.
Portability:
run time library: very high compiler: high, code generator is being rewritten to be more portable
Ports:
80x86: Dos (go32v2), Linux, OS/2 (emx), Win32 (BSD in progress) 680x0: Amiga, Atari ST
Announcements:
New releases will be announced in comp.lang.pascal.misc, on the news page of the website and in the mailing lists
Updated:
Latest official release: 2000/01/27

Language:
Fortran
Package:
fsplit
Version:
?
Parts:
?
Author:
?
Location:
?
Description:
a tool to split up monolithic fortran programs
Updated:
?

Language:
C
Package:
gc
Version:
3.4
Parts:
library
Author:
Hans-J. Boehm <boehm@parc.xerox.com>, Alan J. Demers
Location:
ftp://parcftp.xerox.com/pub/russell/gc3.4.tar.Z
Description:
This is a garbage colecting storage allocator that is intended to be used as a plug-in replacement for C's malloc. Since the collector does not require pointers to be tagged, it does not attempt to ensure that all inaccessible storage is reclaimed. However, in our experience, it is typically more successful at reclaiming unused memory than most C programs using explicit deallocation. Unlike manually introduced leaks, the amount of unreclaimed memory typically stays bounded.
Ports:
Sun-3, Sun-4 , Vax/BSD, Ultrix, i386/Unix, SGI, Alpha/OSF/1, Sequent (single threaded), Encore (single threaded), RS/600, HP-UX, Sony News, A/UX, Amiag, NeXT.
Updated:
November 5th, 1993

Language:
C
Package:
GCT
Version:
1.4
Parts:
test-coverage-preprocessor
Author:
Brian Marick <marick@cs.uiuc.edu>
Location:
ftp://cs.uiuc.edu/pub/testing/gct.file/ftp.*
Description:
GCT is test-coverage tool based on GNU C. Coverage tools measure how thoroughly a test suite exercises a program.
Restriction:
CopyLeft
Ports:
sun3, sun4, rs/6000, 68k, 88k, hp-pa, ibm 3090, ultrix, convex, sco
Discussion:
Gct-Request@cs.uiuc.edu
Support:
commercial support available from author, (217) 351-7228
Updated:
Febuary 12th, 1993

Language:
C, C++
Package:
gdb
Version:
4.15.1
Parts:
symbolic debugger, documentation
Author:
many, but most recently Fred Fish <fnf@cygnus.com>, Stu Grossman <grossman@cygnus.com>, and John Gilmore <gnu@cygnus.com>, all of Cygnus Support
Location:
ftp://gatekeeper.dec.com/gdb-*.tar.[zZ] or any other GNU archive site
Description:
gdb is a full-featured symbolic debugger. It fills the same niche as dbx. Programs must be compiled with debugging symbols.
Bugs:
<bug-gdb@prep.ai.mit.edu>
Restriction:
CopyLeft
Ports:
most unix variants, vms, vxworks, amiga, msdos
Updated:
November 4 1995

Language:
Glenda
Package:
Glenda parallel programming environment
Version:
0.91
Parts:
preprocessor,tuple server, and tuple functions
Author:
Ray Seyfarth <seyfarth@whale.st.usm.edu>
Location:
ftp://seabass.st.usm.edu/pub/glenda.tar.Z
Description:
Glenda is a programming environment for parallel programming implementing a variation of the Linda programming model defined by Carriero and Gelernter. It consists of a C preprocessor to allow reasonable syntax for the added operations, a tuple server process and a set of functions to connect an application to the tuple server.
Ports:
RS6000, SUN4, LINUX
Updated:
June 1st, 1993

Language:
Modula-2
Package:
gm2
Version:
0.7x (development)
Parts:
GCC front-end integrated into gcc compiler, test-suite
Author:
Gaius Mulley
Location:
http://www.nongnu.org/gm2
Description:
Cross-platform Modula-2 compiler supporting PIM and ISO with
  • GNU extensions for systems programming and interfacing to C
  • University of Ulm library and Logitech compatibility library
Reference:
The GNU Modula-2 front end to GCC (PDF)
Features:
  • use of the gcc preprocessor
  • use of gcc extensions and pragmas
  • direct import and use of glibc
  • foreign function interface to C
  • calling variadic C functions, non-typesafe
  • g++ compatible exception handling
  • SWIG interface, callable from C++ and Python
  • GDB debugger support using the DWARF2 format
Restriction:
GPL license
Status:
active development
Contributions:
donations welcome
Updated:
2010

Language:
Ada 95
Package:
GNAT
Version:
3.01
Parts:
Full compiler, standard environment, build tools, cross-reference.
Author:
The GNAT Project at New York University.

Now maintained by Ada Core Technologies (report@gnat.com) See also http://www.gnat.com/

Location:
ftp://cs.nyu.edu/pub/gnat/* debugger at: ftp://helen.cs.berkeley.edu/pub/gdp/

other mirror sites, see home page.

Description:
full compiler for Ada95, uses GCC back-end technology. Current targets include SunOS, Sun/Solaris, OS/2, SGI/IRIX, Windows NT, Windows95, Linux, NetBSD, Alpha/Dec-Unix, DOS, others.
Conformance:
Fully validated on SGI/IRIX under version 2.0 of ACVC validation suite. Other validations to follow 1Q 1996.
Requires:
gcc 2.7.1 or higher
Status:
Complete, in active use.
Updated:
December 19th, 1995

Language:
C
Package:
GNU C Library (glibc)
Version:
2.0.3
Parts:
library, documentation
Author:
?
Location:
ftp://gatekeeper.dec.com/glibc-2.0.3.tar.gz or any other 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 ftp.uni-c.dk.
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 extensions.
Conformance:
ANSI and POSIX.1 superset. Large subset of POSIX.2
Bugs:
Reports sent to mailing list bug-glibc@prep.ai.mit.edu.
Ports:
most os's on alpha, i386, m88k, mips, and sparc
Updated:
November 7th, 1994

Language:
C++
Package:
GNU C++ Library (libg++)
Version:
2.6
Parts:
library
Author:
Per Bothner <bothner@cygnus.com> ?
Location:
libg++-2.5.1.tar.gz from a GNU archive site
Description:
The run-time library for the GNU C++ compiler. This package is separately maintained.
Conformance:
? ANSI and POSIX.1 superset
Bugs:
bug-lib-g++@prep.ai.mit.edu
Updated:
July 19th, 1994

Language:
C, C++, Objective-C, RTL
Package:
GNU CC (gcc)
Version:
4.3.3
Parts:
compiler, runtime, examples, documentation Library listed separately
Author:
Richard Stallman and others
Location:
http://gcc.gnu.org/
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 C (gcc), C++ (g++), Objective C, Fortran, Java (GCJ), and Ada (GNAT) are all under active development.
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. [this conformance section requires updating --ed]

Bugs:
http://gcc.gnu.org/bugs.html
Restriction:
GNU General Public License
Ports:
3b1, a29k, aix385, alpha, altos3068, amix, arm, convex, crds, elxsi, fx2800, fx80, genix, hp320, clipper, i386-{dos,isc,sco,sysv.3,sysv.4,mach,bsd,linux,windows,OS/2}, iris,i860, i960, irix4, m68k, m88ksvsv.3, mips-news, mot3300, next, ns32k, nws3250-v.4, hp-pa, pc532, plexus, pyramid, romp, rs6000, sparc-sunos, freebsd 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:
http://gcc.gnu.org/lists.html
Announcements:
gnu.gcc.announce (for C/Objective-C), gnu.g++.announce (for C++)
Updated:
Feb 2009

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:
mpw-gcc-1.37.1r14 from ?
Description:
This is an unsupported port of the GNU C compiler to the Macintosh environment. [If anyone knows who the author is please let me know - ed]
Bugs:
?
Restriction:
GNU General Public License
Ports:
Macintosh
Portability:
very high
Status:
?
Updated:
November 27th, 1993

Language:
E (a persistent C++ variant)
Package:
GNU E
Version:
2.3.3
Parts:
compiler
Author:
?
Location:
ftp://ftp.cs.wisc.edu/exodus/E/gnu_E*
Description:
GNU E is a persistent, object oriented programming language developed as part of the Exodus project. GNU E extends C++ with the notion of persistent data, program level data objects that can be transparently used across multiple executions of a program, or multiple programs, without explicit input and output operations.

GNU E's form of persistence is based on extensions to the C++ type system to distinguish potentially persistent data objects from objects that are always memory resident. An object is made persistent either by its declaration (via a new "persistent" storage class qualifier) or by its method of allocation (via persistent dynamic allocation using a special overloading of the new operator). The underlying object storage system is the Exodus storage manager, which provides concurrency control and recovery in addition to storage for persistent data.

Restriction:
GNU General Public License; not all runtime sources are available (yet)
Requires:
release 2.1.1 of the Exodus storage manager
Contact:
exodus@cs.wisc.edu
Updated:
January 20th, 1993

Language:
C
Package:
GNU superoptimizer
Version:
2.5
Parts:
exhaustive instruction sequence optimizer
Author:
Torbjorn Granlund <tege@gnu.ai.mit.edu> with Tom Wood
Location:
ftp://gatekeeper.dec.com/superopt-2.5.tar.Z or any other 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.
Bugs:
Torbjorn Granlund <tege@gnu.ai.mit.edu>
Restriction:
GNU General Public License
Ports:
Alpha, Sparc, i386, 88k, RS/6000, 68k, 29k, Pyramid(SP,AP,XP)
Updated:
1995

Language:
Ada 9X
Package:
grammar9x.y and lexer9x.l
Version:
5.0 (June 1994)
Parts:
Yacc grammar, Lex grammar with simple driver in C
Author:
S. Tucker Taft <stt@inmet.com>
Location:
ftp://ajpo.sei.cmu.edu/public/ada9x/rm9x/grammar9x.y ftp://ajpo.sei.cmu.edu/public/ada9x/rm9x/lexer9x.l
Description:
YACC-based parser for Ada 9X, with simple Lexer and simple driver written in C.
Conformance:
Grammar conforms to Ada 9X version 5.0 (DIS 8652-9X, June 1994); Lexer does not support wide characters.
Reference:
RM9X;5.0 (ftp://ajpo.sei.cmu.edu/public/ada9x/rm9x/v5.0/rm9x.doc)
Bugs:
Grammar known to be somewhat liberal (to avoid ambiguity); Lexer does not support wide characters; Report bugs to stt@inmet.com or comp.lang.ada
Ports:
SunOS 4.X, others presumed
Portability:
No known system dependencies
Status:
active, though presumed "done"
Discussion:
comp.lang.ada
Contact:
stt@inmet.com
Updated:
1994/06

Language:
Ada
Package:
GW-Ada
Version:
?
Parts:
translator, interpreter, editor, runtime environment
Author:
?
Location:
ftp://wuarchive.wustl.edu/languages/ada/compiler/adaed/gwu/*
Description:
Ada/Ed is a translator-interpreter for Ada. It is intended as a teaching tool, and does not have the capacity, performance, or robustness of commercial Ada compilers. Ada/Ed was developed at New York University, as part of a long-range project in language definition and software prototyping.
Conformance:
"Ada/Ed handles nearly all of Ada 83"
Restriction:
For educational purposes only.
Ports:
MSDOS and Mac
Contact:
Michael Feldman <mfeldman@seas.gwu.edu>
Updated:
September 1st, 1993

Language:
SUIF
Package:
Halt SUIF
Version:
1.1.2.beta
Parts:
instrumentation program
Author:
"HUBE Group" <hube@eecs.harvard.edu>
Location:
ftp://ftp.eecs.harvard.edu/users/cyoung/hatl.tar.gz http://www.eecs.harvard.edu/~hube
Description:
Halt SUIF takes SUIF code and instruments it so that the resulting output will produce branch feedback information for performance tuning.
Requires:
basesuif-1.1.2
Updated:
?

Language:
SUIF
Package:
Harvard Machine SUIF (``machSUIF'')
Version:
1.1.2.beta
Parts:
compiler(->MIPS,->ALPHA), libraries, documentation
Author:
"HUBE Group" <hube@eecs.harvard.edu>
Location:
ftp pub/hube/machsuif-1.1.2.beta.tar.gz from ftp.eecs.harvard.edu http://www.eecs.harvard.edu/~hube
Description:
MachSUIF is a framework built on top of SUIF for building back-ends. The basic machSUIF distribution contains back-ends for MIPS and ALPHA and a general framework for building other back-ends for SUIF.
Reference:
Several published papers, see web site
Restriction:
Free for any use, commercial or non-commercial, only requires copyright notice be preserved
Requires:
basesuif-1.1.2
Ports:
HP-UX 9.0, Digital Unix 3.2, BSD/OS 2.1
Portability:
Designed to be system independent
Status:
Very active, new back-ends under way
Updated:
1997/05

Language:
C
Package:
Harvest C
Version:
1.3
Parts:
compiler, assembler, linker.
Author:
?
Location:
ftp://archive.umich.edu/mac/development/languages/harves*
Description:
The parts of the system are all integrated in a unique application, which manages a "project" composed by several C source files and resource files (which contain data).
Ports:
Macintosh
Contact:
Eric W. Sink
Updated:
May 26th, 1992

Language:
IFP (Illinois Functional Programming)
Package:
ifp
Version:
0.5
Parts:
interpreter
Author:
Arch D. Robison <robison@shell.com>
Location:
comp.sources.unix archive volume 10
Description:
A variant of Backus' "Functional Programming" language with a syntax reminiscent of Modula-2. The interpreter is written in portable C.
Reference:
Arch D. Robison, "Illinois Functional Programming: A Tutorial," BYTE, (February 1987), pp. 115--125.

Arch D. Robison, "The Illinois Functional Programming Interpreter," Proceedings of 1987 SIGPLAN Conference on Interpreters and Interpretive Techniques, (June 1987), pp. 64-73

Ports:
Unix, MS-DOS, CTSS (Cray)
Updated:
?

Language:
Modula-2* (parallel extension)
Package:
IPD Modula-2* Programming Environment
Version:
9401
Parts:
translator (->C), debugger (SUN4 only), X Windows user panel, automatic cross-architecture make, sequential and parallel libraries, examples, documentation
Author:
IPD Modula-2* team <msc@ira.uka.de> consisting of the following kernel contributors: Thomas Gauweiler, Stefan U. Haenssgen, Ernst A. Heinz, Paul Lukowicz, Hendrik Mager, Michael Philippsen.
Location:
ftp://ftp.ira.uka.de/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 debugger. -- 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 ftp://i41s10.ira.uka.de/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:
Oberon-2
Package:
Jacob
Version:
0
Parts:
compiler, library, documentation, examples
Author:
Max Spring <sepp@cs.tu-berlin.de>, Ralf Bauer <nathan@cs.tu-berlin.de>
Location:
ftp://sunsite.unc.edu/pub/Linux/devel/lang/oberon/jacob-v0* ftp://ftp.cs.tu-berlin.de/pub/linux/Local/compilers/oberon/jacob-v0*
Description:
Jacob compiles Oberon-2 to 386 GNU Assembler code.
Conformance:
Oberon-2 as defined in "The Programming Language Oberon-2" from H.Moessenboeck, N. Wirth, March 1995
Reference:
"Read Me" http://www.cs.tu-berlin.de/~sepp/jacob/jacob.html "The Programming Language Oberon-2" ftp://ftp.inf.ethz.ch/pub/Oberon/Docu/Oberon2.Report.ps.gz
Features:
  • automatic storage reclamation (garbage collection)
  • FOREIGN modules for accessing third party libraries
  • verbose run-time error messages
Bugs:
report bugs to sepp@cs.tu-berlin.de
Restriction:
none
Requires:
GNU assembler
Ports:
Linux (386)
Status:
First public release
Discussion:
comp.lang.oberon
Help:
contact the authors
Contact:
Max Spring <sepp@cs.tu-berlin.de>
Updated:
September 12th, 1995

Language:
Cantata - Extensible Visual Programming Language
Package:
Khoros
Version:
2.2
Parts:
Composer, Ghostwriter, Source Configuration & Management, Animate, Editimage, Xprism, Viewimage. See features for more details.
Description:
Khoros is an integrated software development environment for information processing and visualization, based on the X Windows System.
Author:
Khoral Research Inc
Location:
usa:
ftp://ftp.khoral.com/pub/khoros2.0
germany:
ftp://ftp.e20.physik.tu-muenchen.de
brazil:
ftp://ftp.unicamp.br/pub/khoros2.0
Reference:
Rasure and Kubica, "The Khoros Application Development Environment", Experimental Environments for Computer Vision and Image Processing, editor H.I Christensen and J.L Crowley, World Scientific 1994.

Konstantinides and Rasure, "The Khoros Software Development Environment For Image And Signal Processing", IEEE Transactions on Image Processing, VOL. 3, No. 3 May 1994, pp. 243-252.

Rasure, Williams, Argiro, and Sauer, "A Visual Language and Software Development Environment for Image Processing", International Journal of Imaging Systems and Technology, Vol. 2, pp 183-199 (1990) Man pages included with software distribution.

Features:
  • Composer - Interactive Graphical User Interface Editor
  • Ghostwriter - Code Generation Tool for a Command Line User Interface
  • Source Configuration & Management - Tools to install and maintain a distributed source tree
  • Animate - Interactive Image Sequence Display Tool
  • Editimage - Interactive Image Display & Manipulation Program
  • Xprism - 2D and 3D Plotting Packages
  • Viewimage - A basic interactive program for surface rendering documentation
Bugs:
k2-xvapp-bugs-FAQ, k2-xvlib-bugs-FAQ
Restriction:
Free access to Khoros, but not in the public domain. The software is owned by Khoral Research, Inc., and does carry a License and Copyright. While Khoros may be used by any organization free of charge, it can not be distributed without a license. All users of the system should register with Khoral Research and agree to abide by the Free Access License terms and conditions.
Requires:
gzip, C Compiler, X (R11), lex/yacc
Discussion:
comp.soft-sys.khoros
Ports:
Many Un*x ports
Help:
Khoros Consortium, ftp://ftp.khoral.com/pub/khoros/FAQ ftp://ftp.khoral.com/pub/khoros2.0/manual
Support:
http://ftp.khoros.unm.edu/
Updated:
?

Language:
C (ANSI), lcc intermediate format
Package:
lcc
Version:
3.4b
Parts:
compiler, test suite, documentation
Authors:
Chris Fraser <cwf@research.att.com> Dave Hanson <drh@cs.princeton.edu>
Location:
ftp://ftp.cs.princeton.edu/pub/lcc/*
Description:
  • hand coded C parser (faster than yacc)
  • retargetable
  • code "nearly as good as GCC"
Ports:
x86, MIPS, SPARC
Status:
small-scale production use
Discussion:
email "subscribe lcc" to majordomo@cs.princeton.edu
Updated:
Febuary 1st, 1995

Language:
C (ANSI)
Package:
lcc-win32
Version:
1.2
Parts:
compiler, assembler, linker, resource compiler, resource editor, IDE, debugger, Windows header files, windows import libraries, make/dump utilities, import library generator.
Authors:
Chris Fraser, Dave Hanson, Jacob Navia
Location:
http://www.remcomp.com/lcc-win32
Description:
A free compiler system centered around the lcc compiler version 3.6 and heavily modified to run under windows 95/NT. Enhancements include native MMX instruction support through intrinsics, an optimizer, etc.
Ports:
Runs only under windows 32 (Windows 95/NT)
Status:
production use
Updated:
August 1st, 1977
Contact:
jacob@jacob.remcomp.fr
Bugs:
jacob@jacob.remcomp.fr
Conformance:
ANSI C + enhancements for windows 95/NT. Compatible MSVC.
Updated:
?

Language:
C (ANSI)
Package:
LCLint
Version:
1.4
Parts:
code analysis tool
Author:
David E Evans <evs@larch.lcs.mit.edu>
Location:
ftp://larch.lcs.mit.edu/pub/Larch/lclint/
Description:
LCLint is a lint-like tool for ANSI C. It can be used like a traditional lint to detect certain classes of C errors statically; if formal specifications are also supplied, it can do more powerful checking to detect inconsistencies between specifications and code.
References:
http://larch-www.lcs.mit.edu:8001/larch/lclint.html
Ports:
OSF/1, Ultrix, SunOS, Solaris, Linux, IRIX
Updated:
October 16th, 1994

Language:
C++
Package:
LEDA
Version:
3.0
Parts:
libraries
Author:
?
Location:
ftp://ftp.mpi-sb.mpg.de/pub/LEDA/*
Description:
library of efficient data types and algorithms.

New with 3.0: both template and non-template versions.

Contact:
Stefan N"aher <stefan@mpi-sb.mpg.de>
Updated:
November 30th, 1992

Language:
Objective-C
Package:
libcoll -- Collection Class Library for GNU Objective-C
Version:
940510
Parts:
class library
Author:
Andrew McCallum <mccallum@cs.rochester.edu>
Location:
ftp.cs.rochester.edu in pub/objc/libcoll-940510.tar.gz
Description:
It's a library of Objective-C objects with similar functionality to Smalltalk's Collection objects. It includes: Set, Bag, Array, LinkedList, LinkList, CircularArray, Queue, Stack, Heap, SortedArray, MappedCollector, GapArray and DelegateList.
Updated:
May 10th, 1994

Language:
C++
Package:
Lily (LIsp LibrarY)
Version:
0.1
Parts:
library
Author:
Roger Sheldon <sheldon@kong.gsfc.nasa.gov>
Location:
ftp://sunsite.unc.edu/packages/development/libraries/lily-0.1.tar.gz
Description:
Lilly is a C++ class library which gives C++ programmers the capability to write LISP-style code. Lily's garbage collection mechanism is not sufficient for commercial use. The documentation is incomplete.
Restriction:
GNU Library General Public License
Requires:
C++ (g++ or Turbo C++, but not cfront)
Updated:
November 8th, 1993

Language:
Simula
Package:
Lund Simula
Version:
4.07
Parts:
?
Author:
?
Location:
ftp://rascal.ics.utexas.edu/misc/mac/programming/+_Simula/*
Description:
?
Contact:
Lund Software House AB / Box 7056 / S-22007 Lund, Sweden
Updated:
May 22nd, 1992

Language:
Maisie
Package:
Maisie
Version:
2.1
Parts:
?, user manual, examples
Author:
Wen-Toh Liao <wentoh@may.CS.UCLA.EDU>
Location:
ftp://cs.ucla.edu/pub/maisie.2.1.1.3.tar.Z
Description:
C-based parallel programming language that uses asynchronous typed-message passing and supports light-weight processes. The language is C with enhancements to allow processes to be defined, created, and destroyed, to send and receive messages, and manipulate the system clock.
Ports:
PVM/3.1, Cosmic Environment, and SUN Sockets.
Updated:
June 14th, 1993

Language:
C
Package:
Maspar MPL
Version:
3.1
Parts:
compiler
Author:
Christopher Glaeser
Location:
ftp://maspar.maspar.com/pub/mpl-*
Description:
MPL is based on ANSI C and includes SIMD language estensions. The new keyword "plural" is a type qualifier which is used to declare variables on a parallel array. For example, the declaration "plural int i" declares an "i" on each of the parallel processors.

In addition, plural expressions can be used in IF, WHILE, SWITCH, and other statements to support plural control flow. The MPL compiler is based on the GNU compiler.

Contact:
Christopher Glaeser cdg@nullstone.com
Updated:
?

Language:
MeldC (MELD, C)
Package:
MeldC
Version:
2.0
Parts:
microkernel, compiler, debugger, manual, examples
Author:
MELD Project, Programming Systems Laboratory at Columbia University
Location:
obtain license from <MeldC@cs.columbia.edu>
Description:
MeldC 2.0: A Reflective Object-Oriented Coordination Programming Language MELDC is a C-based, concurrent, object-oriented language built on a reflective architecture. The core of the architecture is a micro-kernel (the MELDC kernel), which encapsulates a minimum set of entities that cannot be modeled as objects. All components outside of the kernel are implemented as objects in MELDC itself and are modularized in the MELDC libraries. MELDC is reflective in three dimensions: structural, computational and architectural. The structural reflection indicates that classes and meta-classes are objects, which are written in MELDC. The computational reflection means that object behaviors can be computed and extended at runtime. The architectural reflection indicates that new features/properties (e.g., persistency and remoteness) can be constructed in MELDC.
Restriction:
must sign license, cannot use for commercial purposes
Ports:
Sun4/SunOS4.1 Mips/Ultrix4.2
Contact:
<MeldC@cs.columbia.edu>
Updated:
December 15th, 1992

Language:
C (ANSI/ISO)
Package:
Metre
Version:
2.3
Parts:
grammar(yacc,lex), generated parser files, metrics examples, documentation (man pages).
Author:
Paul Long <plong@perf.com>
Location:
ftp://iecc.com/pub/file/metre.tar.gz
Description:
Metre is a freely-distributable ANSI/ISO Standard C parser whose behavior is determined by a set of rules. Sets are provided for a metrics tool and a call-tree tool. Written in Standard C, lex, and yacc, it is source-code portable across operating systems, Standard C compilers, and the various flavors of lex and yacc.
Conformance:
Intended to conform to ANSI and ISO standards.
Updated:
April 4 1995

Language:
Modula-2
Package:
mtc
Version:
9209
Parts:
translator(->C)
Author:
Matthias Martin, Josef Grosch <grosch@cocolab.sub.com>
Location:
ftp://ftp.psg.com/pub/modula-2/grosch/README
Requires:
ftp://ftp.psg.com/pub/modula-2/grosch/reuse.tar.Z
Description:
A Modula-2 to C translator
Ports:
Unix, Linux, MS-DOS, MS-Windows, OS/2
Contact:
Josef Grosch <grosch@cocolab.sub.com>
Updated:
October 1st, 1992

Language:
Ada
Package:
NASA PrettyPrinter
Version:
?
Parts:
Ada LR parser, ?
Author:
? Michael Feldman <mfeldman@seas.gwu.edu> in comp.compilers provided the initial reference to this package, he also has a yacc grammar for ada.
Location:
ftp://wsmr-simtel20.army.mil from Ada Software Repository
Description:
pretty-print program that contains an ada parser
Requires:
Ada
Updated:
Febuary 1st, 1991

Language:
Oberon-2
Package:
o2c
Version:
1.4
Author:
Michael van Acken <oberon1@informatik.uni-kl.de> Juergen Zimmermann <jnzimmer@informatik.uni-kl.de>
Location:
ftp://ftp.uni-kl.de/pub/informatik/software/o2c-1.4.tar.gz ftp://cognac.informatik.uni-kl.de/pub/ooc
Description:
o2c is an Oberon-2 compiler that translates into the C dialect accepted by the GNU C compiler (version 2.5.8 or above). The compiler provides it's own make facility. The package includes a symbol file browser and a GNU Emacs mode that allows to use Emacs as a comfortable programming environment for the compiler.

o2c is known to run on several 32bit UNIX-plattforms. It comes with full source-code.

Conformance:
The programming language Oberon-2, Oct. 93, ETH Zuerich
Restriction:
GNU General Public License
Ports:
UNIX, tested on [GNU-cannonical name/GCC version] hppa1.1-hp-hpux/2.5.8 sparc-sun-sunos4.1.3/2.5.8 sparc-sun-sunos4.1.3_U1/2.6.2 iX86-unknown-linux/2.5.8 iX86-unknown-linux/2.6.3
Contact:
oberon1@informatik.uni-kl.de
Updated:
April 1st, 1996

Language:
Oberon2
Package:
Oberon-2 LEX/YACC definition
Version:
1.4
Parts:
parser(yacc), scanner(lex)
Author:
Stephen J Bevan <bevan@cs.man.ac.uk>
Location:
ftp://ftp.psg.com/pub/oberon/tools/o2lexyac.tar.Z http://panther.cs.man.ac.uk/~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://neptune.inf.ethz.ch/Oberon/Docu/Oberon2.Report.ps.Z
Restriction:
Portions of the source under copyright by U. Manchester.
Status:
un-officially supported
Updated:
July 6th, 1992

Language:
Modula-2
Package:
objm2c
Version:
2010 (development)
Parts:
grammar, lexer, parser, ast, compiler(->C, ->LLVM), template utility
Author:
Benjamin Kowarsch
Location:
http://objective.modula2.net
Description:
Cross-platform Modula-2 compiler based on a subset of PIM4 with
  • various extensions for systems programming and interfacing to C
  • an object oriented layer for native Cocoa/GNUstep support
Reference:
An Overview of Objective Modula-2 (PDF)
Features:
- no local modules, like Oberon
- no subrange types, like Oberon
- no EXPORT and no WITH DO statements, like Oberon
- zero based array subscripts only, like Oberon
+ extensible records replace variant records, like Oberon
+ type conversion operator instead of conversion functions
+ conditional compilation
+ structured literals
+ UNICHAR type for unicode
+ CONST parameters, like Oberon
+ atomic operation intrinsics
+ typesafe foreign function interface to C
+ typesafe variadic procedures and functions
+ Smalltalk derived OO syntax and semantics, like Objective-C
+ uses the Objective-C runtime library for object oriented features
Restriction:
BSD-style license, no reproduction of sources on advertising websites
Status:
active development
Contributions:
donations welcome
Updated:
2010

Language:
Pascal
Package:
p2c
Version:
1.20
Parts:
translator(Pascal->C)
Author:
Dave Gillespie <daveg@synaptics.com>
Location:
ftp://csvax.cs.caltech.edu
Description:
?
Conformance:
supports ANSI/ISO standard Pascal as well as substantial subsets of HP, Turbo, VAX, and many other Pascal dialects.
Ports:
?
Updated:
April 13th, 1990

Language:
Ada
Package:
Paradise
Version:
2.0
Parts:
library
Author:
?
Location:
ftp://cnam.cnam.fr/pub/Ada/Paradise
Description:
Paradise is a subsystem (a set of packages) developped to implement inter-processes, inter-tasks and inter-machines communication for Ada programs in the Unix world. This subsystem gives the user full access to files, pipes, sockets (both Unix and Internet), and pseudo-devices.
Ports:
Sun, Dec, Sony Mips, Verdex compiler, DEC compiler, Alsys/Systeam compiler
Contact:
paradise-info@cnam.cnam.fr
Updated:
September 30th, 1992

Language:
Parallaxis
Package:
parallaxis
Version:
Parallaxis-III
Parts:
?,debugger, viz tools, simulator, x-based profiler
Author:
Thomas Braunl <braunl@informatik.uni-stuttgart.de>
Location:
ftp://ftp.informatik.uni-stuttgart.de/pub/p3 http://www.informatik.uni-stuttgart.de/ipvr/bv/p3
Description:
Parallaxis is a procedural programming language based on Modula-2, but extended for data parallel (SIMD) programming. The main approach for machine independent parallel programming is to include a description of the virtual parallel machine with each parallel algorithm.
Ports:
MP-1, CM-2, Sun-3, Sun-4, DECstation, HP 700, RS/6000
Contact:
? Thomas Braunl <braunl@informatik.uni-stuttgart.de> ?
Updated:
October 23rd, 1992

Language:
Pascal
Package:
Pascal P4 compiler and interpreter
Version:
? 1
Parts:
compiler, assembler/interpreter, documentation
Author:
Urs Ammann, Kesav Nori, Christian Jacobi
Location:
ftp://ftp.cwi.nl/pub/pascal/* or http://www.cwi.nl/~steven/pascal.html
Description:
A compiler for Pascal written in Pascal, producing an intermediate code, with an assembler and interpreter for the code.
Reference:
Pascal Implementation, by Steven Pemberton and Martin Daniels, published by Ellis Horwood, Chichester, UK (an imprint of Prentice Hall), ISBN: 0-13-653-0311. Also available in Japanese.
Contact:
<Steven.Pemberton@cwi.nl>
Updated:
July 5th, 1993

Language:
Pascal
Package:
pasos2
Version:
Alpha
Parts:
Compiler, run-time library
Author:
Willem Jan Withagen <wjw@eb.ele.tue.nl>
Location:
ftp://ftp.eb.ele.tue.nl/pub/src/pascal/pasos2*
Description:
a PASCAL/i386 compiler which generates code for OS/2 and DOS. It uses EMX as DOS extender and GNU/GAS, MASM or TASM as assembler.
Updated:
December 17th, 1993

Language:
PL/M grammar and parser
Package:
plm-parse
Version:
1.1
Parts:
bison (GNU yacc) grammar description, flex (GNU lex) lexer description, and a scoped symbol table manager
Author:
Kirk Hays <khays@sequent.com> Gary Funck <gary@intrepid.com>
Location:
ftp://iecc.com/pub/file/plm.shar.gz to obtain a shar archive in compressed GNU zip format. To access the mail server, mail "send plm.shar" to compilers-server@iecc.com.
Description:
this is a skeleton parser for PL/M. The grammar description and lexer description files were written for bison and flex. The grammar description closely follows the EBNF documented in the _PL/M Programmer's Guide_, Intel doc. 452161-003, Appendix C. A symbol table manager is supplied, though there is no semantic checking.
Conformance:
the grammar describes PL/M 386 and where possible, will accept various other dialects
Reference:
_PL/M Programmer's Guide_, Intel doc. 452161-003
Features:
has support for PL/M's "literally" macro definitions
Bugs:
doesn't support $-directives (includes)
Restriction:
freely available, use at you own risk
Requires:
flex, bison, an ANSI compliant C compiler (gcc), and the avl-subs balanced binary tree library routines (comp.sources.unix Volume 27, Issue 34 ,'avl-subs')
Ports:
SGI IRTIX 5.2, and a 486DX2 PC clone running Linux
Help:
contact the authors
Updated:
July 15th, 1997

Language:
pm2
Package:
PRAM emulator and parallel modula-2 compiler ??
Version:
?
Parts:
compiler, emulator
Author:
?
Location:
ftp://cs.joensuu.fi/pub/pram/*
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 cycle.

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.

Contact:
Simo Juvaste <sjuva@cs.joensuu.fi>
Updated:
Febuary 17th, 1993

Language:
Pascal
Package:
ptc
Version:
?
Parts:
translator(Pascal->C)
Author:
?
Location:
ftp://uxc.sco.uiuc.edu/languages/ptc ? (use archie?)
Description:
?
Contact:
?
Updated:
?

Language:
C
Package:
Pthreads
Version:
1.17
Parts:
library
Author:
PART (POSIX / Ada-Runtime Project)
Location:
ftp://ftp.cs.fsu.edu/pub/PART/pthreads*
Description:
As part of the PART project we have been designing and implementing a library package of preemptive threads which is compliant with POSIX 1003.4a Draft 6. A description of the interface for our Pthreads library is now available on ftp.
Restriction:
GNU General Public License
Ports:
Sun-4/SunOS 4.1.x
Discussion:
send "Subject: subscribe-pthreads" to mueller@uzu.cs.fsu.edu
Contact:
pthreads-bugs@ada.cs.fsu.edu
Updated:
July 22nd, 1993

Language:
Pascal
Package:
QCK
Version:
2.0
Parts:
compiler(written in ANSI-C), library, assembler, linker etc.
Author:
Henrik Quintel <quintel@nibelung.Worms.Fh-Rpl.DE>
Location:
top.cs.vu.nl/pub/minix/pascal/
Description:
Supports standard pascal with a few exceptions (set of.. , packed arrays, packed records, procedures/functions as parameters)
Features:
Read the README file
Bugs:
Cos, tan, sin.... does not work right !
Requires:
PC-Minix 1.6.25 1.6.30 1.7.0
Help:
<quintel@nibelung.Worms.Fh-Rpl.DE>
Support:
<quintel@nibelung.Worms.Fh-Rpl.DE>
Announcements:
comp.os.minix, comp.compilers
Contact:
<quintel@nibelung.Worms.Fh-Rpl.DE>
Updated:
January 9th, 1995

Language:
Pascal-Debugger
Package:
QCK
Version:
1.0
Parts:
Debugger/Interpreter(written in ANSI-C)
Author:
Henrik Quintel <quintel@nibelung.Worms.Fh-Rpl.DE>
Location:
Server : top.cs.vu.nl Directory :/pub/minix/pascal/
Description:
Supports standard pascal with a few exceptions (set of.. , packed arrays, packed records, procedures/functions as parameters)
Features:
Read the README file
Bugs:
Cos, tan, sin.... does not work right !
Requires:
PC-Minix 1.6.25 1.6.30 1.7.0
Help:
<quintel@nibelung.Worms.Fh-Rpl.DE>
Support:
<quintel@nibelung.Worms.Fh-Rpl.DE>
Announcements:
comp.os.minix, comp.compilers
Contact:
<quintel@nibelung.Worms.Fh-Rpl.DE>
Updated:
January 9th, 1995

Language:
Sather
Package:
Sather 1.0
Version:
1.0.6
Parts:
compiler(->C), library, examples, documentation
Author:
International Computer Science Institute in Berkeley, CA
Location:
ftp://ftp.icsi.berkeley.edu/pub/sather/Sather-1.0.6.tar.gz
Description:
Sather is an object oriented language which aims to be simple, efficient, safe, and non-proprietary. One way of placing it in the "space of languages" is to say that it aims to be as efficient as C, C++, or Fortran, as elegant and safe as Eiffel or CLU, and support higher-order functions and iteration abstraction as well as Common Lisp, Scheme, or Smalltalk. Sather has parameterized classes, object-oriented dispatch, statically-checked strong (contravariant) typing, separate implementation and type inheritance, multiple inheritance, garbage collection, iteration abstraction, higher-order routines and iters, exception handling, assertions, preconditions, postconditions, and class invariants. Sather programs can be compiled into portable C code and can efficiently link with C object files. Sather has a very unrestrictive license which allows its use in proprietary projects but encourages contribution to the public library.
Conformance:
reference implementation
Reference:
http://www.icsi.berkeley.edu/Sather
Bugs:
Send email to sather-bugs@icsi.berkeley.edu
Requires:
ANSI C compiler such as gcc.
Ports:
SunOS 4.1.3, Ultrix 4.3, NetBSD 1.0_BETA, Linux 1.0.8s, IRIX 4.0.5H and 5.2, NEWSOS 4.1R MIPS RISC os 4.53C, SunOS 5.3, DEC OSF/1 V2.0, FreeBSD 1.1.5.1, 2.x, OS/2
Portability:
high.
Status:
actively developed
Discussion:
comp.lang.sather
Help:
sather-bugs@icsi.berkeley.edu
Announcements:
comp.lang.sather, also a mailing list; send mail to sather-request@icsi.berkeley.edu
Updated:
October 31st, 1994

Language:
Simple SUIF, SUIF
Package:
Simple SUIF
Version:
1.0.0.beta.1
Parts:
translators(SUIF->SimpleSUIF, SimpleSUIF->SUIF), libraries, documentation
Author:
"Stanford Compiler Group" <suif@suif.stanford.edu>
Location:
ftp pub/suif/simplesuif-1.0.0.beta.1.tar.gz from ftp-suif.stanford.edu
Description:
Simple SUIF is a special IR designed for teaching compiler optimization, based on a simplified version of SUIF. This package includes a core library to manipulate the IR and read and write Simple SUIF files, plus a program to print Simple SUIF files and translators to and from regular SUIF, so all regular SUIF front and back ends can be hooked to Simple SUIF.
Bugs:
suif-bugs@suif.Stanford.EDU mailing list
Restriction:
Free for any use, commercial or non-commercial, only requires copyright notice be preserved
Requires:
basesuif-1.1.2
Ports:
Ultrix/DECstation, SunOS/SPARC, Solaris/SPARC/x86, Irix/SGI-Mips, Linux/x86, OSF/DECAlpha,
  • many more UNIX systems;
Portability:
Very system independent, but makefiles need to be replaced for non-UNIX systems if GNU make isn't used
Status:
A re-written version has been developed and will eventually be released, re-written version used in Stanford compiler class; released version used in a number of compiler classes at different universities
Discussion:
suif-talk@suif.Stanford.EDU mailing list
Help:
suif-talk@suif.Stanford.EDU mailing list
Support:
No ``official'' support, but mailing lists usually provide support to any who ask
Announcements:
suif-announce@suif.Stanford.EDU mailing list (see web site)
Updated:
1995/12

Language:
Sirius
Package:
Sirius
Version:
1.3
Parts:
bytecode compiler, interpreter, linker, librarian, debugger, make, documentation, Windows IDE, misc utilities
Author:
Alan Conroy. alan1@conroyhome.net
Location:
http://SiriusPL.sourceforge.net
Features:
non-conforming subset of Sirius programming language.
Bugs:
http://SiriusPL.sourceforge.net
Restriction:
none
Requires:
DOS or Windows
Portability:
MS DOS (v2.0 or later), MS Windows (v3.1 or later)
Status:
supported
Help:
http://SiriusPL.sourceforge.net
Support:
alan1@conroyhome.net
Announcements:
http://SiriusPL.sourceforge.net
Updated:
2000/02/09

Language:
Small-C
Package:
smallc
Version:
?
Parts:
compiler
Author:
?
Location:
?, comp.sources.unix volume 5
Description:
Small-C is a subset of the C programming language for which a number of public-domain compilers have been written. The original compiler was written by Ron Cain and appeared in the May 1980 issue of Dr.Dobb's Journal. More recently, James E.Hendrix has improved and extended the original Small-C compiler and published "The Small-C Handbook", ISBN 0-8359-7012-4 (1984). Both compilers produce 8080 assembly language, which is the most popular implementation of Small-C to-date. The 6502 Small-C compiler for the BBC Micro is based on "RatC", a version of the original Ron Cain compiler described by R.E.Berry and B.A.Meekings in "A Book on C", ISBN 0-333-36821-5 (1984). The 6502 compiler is written in Small-C and was bootstrapped using Zorland C on an Amstrad PC1512 under MSDOS 3.2, then transferred onto a BBC Micro using Kermit. The compiler can be used to cross-compile 6502 code from an MSDOS host, or as a 'resident' Small-C compiler on a BBC Micro.
Conformance:
subset of C
Ports:
68k, 6809, VAX, 8080, BBC Micro, Z80
Updated:
January 5th, 1989

Language:
Eiffel
Package:
SmallEiffel - The GNU Eiffel Compiler
Version:
(-0.77)
Parts:
compiler
Author:
colnet@loria.fr (Dominique COLNET)
Location:
ftp://ftp.loria.fr/pub/loria/genielog/SmallEiffel 1071878 se.tgz 1111 se.lsm 3524 READ_ME metalab.unc.edu /pub/Linux/devel/lang/eiffel 1071878 se-0.77.tar.gz 955 se-0.77.lsm
Description:
Eiffel toolbox including an Eiffel to C compiler, an Eiffel to Java bytecode compiler, an Eiffel pretty printer, a Java bytecode viewer, commands short and finder.

Please note: version numbers are negative; -0.89, for example, is newer than -0.91

Ports:
UNIX, Linux, BSD, HP-UX, IRIX, XENIX, Solaris, DOS, OS2, WINDOWS NT/95, Macintosh, NeXT, Amiga and VMS.
Bugs:
Mail bug reports to colnet@loria.fr
Restrictions:
GPL
Updated:
2000/02/12

Language:
SUIF
Package:
SPARC Backend for SUIF (``sgen'')
Version:
1.0
Parts:
compiler(->SPARC)
Author:
"UofT Compiler Group" <tcm@eecg.toronto.edu>
Location:
http://www.eecg.toronto.edu/~tcm/suif_code/sgen.tar.gz
Description:
This is a SPARC code generator for SUIF based on the Harvard MachSUIF back-end framework for SUIF.
Bugs:
suifbugs@eecg.toronto.edu
Restriction:
Free for any use, commercial or non-commercial, only requires copyright notice be preserved
Requires:
basesuif-1.1.2, machsuif-1.1.2.beta
Ports:
Solaris/SPARC
Status:
PowerPC back-end coming soon
Support:
No official support, authors will try to help
Updated:
1996/05

Language:
Modula-3
Package:
SRC Modula-3
Version:
3.5
Parts:
compiler(->C), runtime library, documentation
Author:
DEC Systems Research Center <m3-request@src.dec.com> LINUX version compiled by Michel Dagenais
Location:
ftp://gatekeeper.dec.com/pub/DEC/Modula-3/release-3.5/*.tar.gz
msdos:
ftp://gatekeeper.dec.com/pub/DEC/Modula-3/contrib/m3pc*
os2:
ftp.vlsi.polymtl.ca in pub/m3/os2 (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 FreeBSD Linux
Discussion:
comp.lang.modula3
Contact:
Bill Kalsow <kalsow@src.dec.com>
Updated:
July 9th, 1995

Language:
C, Fortran, SUIF
Package:
Stanford Base SUIF Compiler Package (``basesuif'')
Version:
1.1.2
Parts:
compiler(->C,->SUIF), run-time, documentation, examples
Author:
"Stanford Compiler Group" <suif@suif.stanford.edu>
Location:
ftp://ftp-suif.stanford.edu/pub/suif/basesuif-1.1.2.tar.gz http://www-suif.Stanford.EDU
Description:
SUIF is a framework for building large, complex compilers, targeted particular toward research in compiler algorithms. This package is the core of the system. 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 program transformation.
Conformance:
C front end, C back end ANSI-C, FORTRAN front end mostly f77, defining implementation of SUIF IR
Reference:
Wide range of published papers available from web site
Bugs:
suif-bugs@suif.Stanford.EDU mailing list (more than 100 subscribers to this mailing list, including authors)
Restriction:
Free for any use, commercial or non-commercial, only requires copyright notice be preserved; currently used in commercial products
Requires:
Modern C++ compiler, such as GNU g++ 2.7.2.1, GNU make
Ports:
Ultrix/DECstation, SunOS/SPARC, Solaris/SPARC/x86, Irix/SGI-Mips, Linux/x86, OSF/DECAlpha,
  • many more UNIX systems; partial ports to Visual C++ under NT and to Power Macintosh
Portability:
Very system independent, but makefiles need to be replaced for non-UNIX systems if GNU make isn't used
Status:
Very active and growing quickly, with Java and C++ front-ends, connections from DEC Fortran, gcc, and g++ front-ends and to gcc's RTL back-ends, and new code generators for many systems funded and underway, all to be made available publicly
Discussion:
Several mailing lists, see http://www-suif.stanford.edu
Help:
Several mailing lists, more than 200 active users
Support:
No ``official'' support, but mailing lists usually provide support to any who ask
Announcements:
suif-announce@suif.Stanford.EDU mailing list (see web site)
Updated:
1997/04

Language:
SUIF
Package:
Stanford Base SUIF Parallelizer Package (``baseparsuif'')
Version:
1.0.0.beta.2
Parts:
compiler(SUIF->SUIF), runtime, examples
Author:
"Stanford Compiler Group" <suif@suif.stanford.edu>
Location:
ftp pub/suif/baseparsuif-1.0.0.beta.2.tar.gz from ftp-suif.stanford.edu http://www-suif.Stanford.EDU
Description:
This package contains a number of libraries and transformation and analysis passes to detect parallel loops and generate calls to a parallel runtime system for shared-address space multiprocessors. It parallelizes major benchmarks and provides good speedups on them.
Reference:
See web site for papers
Bugs:
suif-bugs@suif.Stanford.EDU mailing list
Restriction:
Free for any use, commercial or non-commercial, only requires copyright notice be preserved
Requires:
basesuif-1.1.2
Ports:
Parallel runtime system ported to pthreads, DEC Alpha, KSR, SGI Irix, Stanford DASH systems
Portability:
Runtime system should run on any machine with pthreads, others need complete custom version of the runtime, but the rest of the compiler is very system independent
Status:
Active, with new reorganization and enhancements for interprocedural analysis, C pointer analysis planned
Discussion:
suif-talk@suif.Stanford.EDU mailing list
Help:
suif-talk@suif.Stanford.EDU mailing list
Support:
No ``official'' support, but mailing lists usually provide support to any who ask
Announcements:
suif-announce@suif.Stanford.EDU mailing list (see web site)
Updated:
1996/07

Language:
SUIF, Fortran77
Package:
SUIF Fortran Back-End (``fortback'')
Version:
1.0.0.beta.2
Parts:
compiler(SUIF->Fortran77)
Author:
"Stanford Compiler Group" <suif@suif.stanford.edu>
Location:
ftp pub/suif/fortback-1.0.0.beta.2.tar.gz from ftp-suif.stanford.edu http://www-suif.Stanford.EDU
Description:
This package provides a translation from SUIF to Fortran77. Since not all of SUIF can translate to Fortran 77, program is broken up into parts that go to Fortran 77, and the rest goes to C which is then linked to the Fortran parts. This provides improved performance over generating C alone in many cases because the Fortran 77 back-end compiler can often optimize better than a C compiler.
Conformance:
output is ANSI Fortran 77
Bugs:
suif-bugs@suif.Stanford.EDU mailing list
Restriction:
Free for any use, commercial or non-commercial, only requires copyright notice be preserved
Requires:
basesuif-1.1.2
Ports:
Ultrix/DECstation, SunOS/SPARC, Solaris/SPARC/x86, Irix/SGI-Mips, Linux/x86, OSF/DECAlpha,
  • many more UNIX systems;
Portability:
Very system independent, but makefiles need to be replaced for non-UNIX systems if GNU make isn't used
Status:
Actively used
Discussion:
suif-talk@suif.Stanford.EDU mailing list
Help:
suif-talk@suif.Stanford.EDU mailing list
Support:
No ``official'' support, but mailing lists usually provide support to any who ask
Announcements:
suif-announce@suif.Stanford.EDU mailing list (see web site)
Updated:
1996/07

Language:
SUIF
Package:
SUIF Visual Browser (``suifvbrowser'')
Version:
1.0.0.beta.1
Parts:
SUIF IR visualization tool
Author:
"Stanford Compiler Group" <suif@suif.stanford.edu>
Location:
ftp pub/suif/suifvbrowser-1.0.0.beta.1.tar.gz from ftp-suif.stanford.edu http://www-suif.Stanford.EDU
Description:
The SUIF Visual Browser allows SUIF format files to be interactively browsed with a GUI under X. Windows show the SUIF representation, call-graph, source code, generated code, clicking in one window highlights corresponding pieces in other windows.
Bugs:
suif-bugs@suif.Stanford.EDU mailing list
Restriction:
Free for any use, commercial or non-commercial, only requires copyright notice be preserved
Requires:
basesuif-1.1.2, TCL-7.4, TK-4.0
Ports:
Ultrix/DECstation, SunOS/SPARC, Solaris/SPARC/x86, Irix/SGI-Mips, Linux/x86, OSF/DECAlpha,
  • many more UNIX systems;
Portability:
Should be portable to any TCL/TK 7.4/4.0 implementation
Status:
actively used
Discussion:
suif-talk@suif.Stanford.EDU mailing list
Help:
suif-talk@suif.Stanford.EDU mailing list
Support:
No ``official'' support, but mailing lists usually provide support to any who ask
Announcements:
suif-announce@suif.Stanford.EDU mailing list (see web site)
Updated:
1996/04

Language:
T3X
Package:
T3X compiler
Version:
Version 3X, R5.2
Parts:
bytecode compiler (T3X->Tcode), native code backends (Tcode -> GAS-386, TASM, S86, C), Tcode interpreter, Tcode optimizer, preprocessor, runtime libraries, reference manual, user manual, examples, extension libraries (terminal I/O, vector graphics).
Author:
Nils M. Holm <fs29@rumms.uni-mannheim.de>
Location:
http://webrum.uni-mannheim.de/sowi/fs29/w3/index.html (No FTP location, yet. Sorry.)
Description:
T3X is a compiler for a superset of the minimum procedural langugage T, version 3 (T3 eXtended).

T is a very basic imperative block-structured procedural language in the style of Pascal and BCPL, and it inherits many features of both languages. Although, it is smaller, simpler, and based upon a formal definition.

Conformance:
reference implementation
Features:
  • portable bytecode (Tcode) compiler and optimizer
  • portable Tcode optimizer
  • optional native code backends (386, 8086, C)
  • simple and extensible virtual machine
  • preprocessor
  • dynamic memory management in the style of malloc()
  • fully buffered I/O streams
Ports:
FreeBSD, DOS, Plan9
Portability:
high (a C compiler is required for bootstrapping)
Status:
actively developed
Announcements:
comp.compilers, home page of the author
Updated:
October 3rd, 1998

Language:
C, C++
Package:
TenDRA
Version:
4.1.2
Parts:
compiler, grammar, library, documentation, examples, run-time
Author:
The Defence Evaluation and Research Agency.
Location:
http://alph.dera.gov.uk/TenDRA/
Description:
TenDRA is an implementation of TDF, which was adopted by the Open Group, where it is called ANDF. Its core is a binary format, TDF, which can be architecture-neutral or architecture-specific, and which can be conveniently manipulated.
Conformance:
They claim, very conformant. The package includes implementation-independent descriptions of the ISO C API, POSIX, XPG3 and other APIs.
Reference:
http://www.gr.osf.org/andf/
Features:
implementation), and producing this is probably non-trivial
+ Well-documented; clean implementation
+ includes the relevant tools (lexer, parser generator, etc.)
- Does not have an extensive C++ library (either API or
for further analysis (type, function, variable, usage, etc.)
+ can dump symbol table to file, providing the raw materials
control
+ can perform analysis for portability, with fine-grained
implementations) exist for a limited number of platforms
+ reports syntax errors with ISO reference
+ producers (C/C++ to TDF translators) are portable
- installers (TDF to executable translators, and API
Contact:
Enquiries to R.Andrews@eris.dera.gov.uk
Updated:
1998

Language:
C, ANSI C, C++
Package:
The Roskind grammars
Version:
cpp5 (cf2.0)
Parts:
parser(yacc), documenation
Author:
Jim Roskind <jar@netscape.com>
Location:
ftp://ftp.infoseek.com/ftp/pub/c++grammar/*
japan:
ftp://ftp.sra.co.jp/.a/pub/cmd/c++grammar/c++grammar2.0.tar.gz
Description:
The C grammar is CLEAN, it does not use %prec, %assoc, and has only one shift-reduce conflict. The C++ grammar has a few conflicts.

Also included is an extension to byacc that produces graphical parse trees automatically.

Conformance:
the C grammar is true ANSI; the C++ grammar supports cfront 2.0 constructs.
Requires:
byacc 1.8 (for graphical parse trees)
Status:
actively developed
Updated:
July 1st, 1991

Language:
Pascal, Lisp, APL, Scheme, SASL, CLU, Smalltalk, Prolog
Package:
Tim Budd's C++ implementation of Kamin's interpreters
Version:
?
Parts:
interpretors, documentation
Author:
Tim Budd <budd@cs.orst.edu>
Location:
? ftp://cs.orst.edu/pub/budd/kamin/*.shar
Description:
a set of interpretors written as subclasses based on "Programming Languages, An Interpreter-Based Approach", by Samuel Kamin.
Requires:
C++
Status:
?
Contact:
Tim Budd <budd@fog.cs.orst.edu>
Updated:
September 12th, 1991

Language:
Turbo Pascal, Turbo C
Package:
tptc
Version:
?
Parts:
translator(Turbo Pascal->Turbo C)
Author:
?
Location:
ftp://wuarchive.wustl.edu/mirrors/msdos/turbopas/tptc17*.zip
Description:
(It does come with full source and a student recently used it as a start for a language that included stacks and queues as a built-in data type.
Contact:
?
Updated:
?

Language:
uC++
Package:
uC++
Version:
4.6
Parts:
translator (uC++ to C++), concurrency library, documentation, examples
Author:
Peter A. Buhr <pabuhr@uwaterloo.ca>
Location:
ftp://plg.uwaterloo.ca/pub/uSystem/u++-4.4.tar.gz
Description:
An extended C++ with light-weight concurrency for Unix-like systems. uC++ is pronounced "micro-C++".
Reference:
Software--Practice and Experience, 22(2):137-172, February 1992.
Features:
  1. true multiprocessor support on SUN, DEC, SGI, Sequent
  2. coroutine, monitor and task extensions to C++
  3. non-blocking I/O library
  4. mechanism to group tasks and virtual processors
  5. non-deterministic time slicing
Bugs:
LINUX non-blocking sockets fail
Requires:
dmake 4.0+ (ftp://plg.uwaterloo.ca/pub/dmake/dmake40.tar.gz ) GNU C++ 2.6.3+
Ports:
Sequent (BSD), SUN Solaris (SPARC) & SunOS (SPARC, M68K), DEC OSF 3.2+ (Alpha), SGI IRIX 5.3+ (MIPS), IBM AIX 3.2+ (RS/6000), HP HP-UX 9.03+ (PA), LINUX 1.2.13+/1.3.20+ (i386+)
Portability:
Needs "setitimer" and "sigcontext" from Unix-like systems.
Updated:
September 14th, 1995

Language:
Modula-2
Package:
Ulm's Modula-2 System
Version:
3.0
Parts:
compiler, library, tools, documentation
Author:
Andreas Borchert <borchert@mathematik.uni-ulm.de>
Location:
http://www.mathematik.uni-ulm.de/modula
Description:
This system may be used like other traditional systems (e.g. cc) from the command line. Documentation is available in the form of manual pages and a HTML tree. The compiler has been derived from the ETHZ compiler for the Lilith system (4 passes, written in Modula-2).

More informations may be found under http://www.mathematik.uni-ulm.de/modula/

Conformance:
PIM3
Restriction:
may be freely distributed unter the terms of the GNU General Public License or in case of the library under the terms of the GNU Library General Public License.
Requires:
SPARCv8 / Solaris 2.x (Note that SunOS 4.x is not supported!)
Ports:
SPARCv8, Sun3, Nixdorf Targon/31, Concurrent 3200 Series
Contact:
Andreas Borchert <borchert@mathematik.uni-ulm.de>
Announcements:
New releases will be announced in comp.lang.modula2.
Updated:
2003/12/10

Language:
Oberon
Package:
Ulm's Oberon System
Version:
0.4
Parts:
compiler, tools, library, documentation
Author:
Andreas Borchert <borchert@mathematik.uni-ulm.de>
Location:
ftp://ftp.mathematik.uni-ulm.de/pub/soft/oberon/ulm/sun3/
Description:
In comparison to the Oberon Systems of ETH Zurich this system may be used like other traditional language systems (e.g. cc). It consists of a compiler, a makefile generator, a debugger, and a large library which has a system-independent kernel that supports exception handling, concurrency, synchronization, persistence, and distributed systems. The package contains a copying garbage collector. The compiler is written in Modula-2, the debugger in C, all other parts are written in Oberon. More informations may be found at http://www.mathematik.uni-ulm.de/oberon/
Conformance:
N. Wirth, ``The Programming Language Oberon'', SP&E July 1988 with some selective adaptions of later revisions. The compiler still requires the separation of definitions & modules like Modula-2.
Restriction:
The compiler and associated tools fall under the GNU CopyLeft, and the library under the GNU library general public license.
Ports:
Sun3/SunOS 4.1.1, Nixdorf Targon/31
Status:
Active -- will be ported to SPARC/Solaris 2.x
Announcements:
New releases will be announced in comp.lang.oberon.
Updated:
March 6th, 1997

Language:
C (ANSI)
Package:
unproto ?
Version:
? 4 ? 1.6 ?
Parts:
translator(K&R C)
Author:
Wietse Venema <wietse@wzv.win.tue.nl>
Location:
ftp://ftp.win.tue.nl/pub/unix/unproto4.shar.Z
Description:
?
Contact:
?
Updated:
?

Language:
C
Package:
ups
Version:
2.1
Parts:
interpreter, symbolic debugger, tests, documentation
Author:
Mark Russell <mtr@ukc.ac.uk>
Location:
? ftp://export.lcs.mit.edu/contrib/ups*.tar.Z ?
unofficial:
unofficial enhancements by Rod Armstrong <rod@sj.ate.slb.com>, available ftp://sj.ate.slb.com/misc/unix/ups/contrib/rob
Description:
Ups is a source level C debugger 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
Bugs:
Mark Russell <mtr@ukc.ac.uk>
Ports:
Sun, Decstation, VAX(ultrix), HLH Clipper
Discussion:
ups-users-request@ukc.ac.uk
Updated:
May 20th, 1991

Language:
C, C++
Package:
Xcoral
Version:
2.5
Parts:
editor
Author:
?
Location:
ftp://ftp.x.org/contrib/editors/xcoral*
europe:
ftp://ftp.inria.fr/X/contrib-R5/clients/xcoral*
Description:
Xcoral is a multiwindow mouse-based text editor, for X Window System, with a built-in browser to navigate through C functions and C++ classes hierarchies... Xcoral provides variables width fonts, menus, scrollbars, buttons, search, regions, kill-buffers and 3D look. Commands are accessible from menus or standard key bindings. Xcoral is a direct Xlib client and run on color/bw X Display. Also includes HTML and Latex modes.
Contact:
Lionel Fournigault <Lionel.Fournigault@aar.alcatel-alsthom.fr>
Updated:
December 21st, 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:
?
Contact:
Po Cheung <cheung@sw.mcc.com>
Updated:
Febuary 22nd, 1992

Language:
XPL (PL/I dialect)
Package:
XPL optimizing Compiler
Version:
1
Parts:
compiler, documentation
Author:
Robin Vowels <robin_vowels@rmit.edu.au>
Location:
mail to author
Description:
The compiler is a standard implementation of XPL and is based on McKeeman, Horning, and Wortman's improved XCOM (which employs hashed symbol table generation). It includes the extra built-in function COREHALFWORD.

The following areas have been optimized: procedures calls when the argument and corresponding parameter are of the same type, and when the argument is a constant; constant subscripts; use of CORELHALFWORD and COREWORD; string constants of length one; iterative DO statements by transferring code to the end of the loop.

String constants of length one do not require a descriptor, hence more descriptors are available for string variables. Comparison operations are treated as commutative, and an improved Commute algorithm is used. Halfword instructions are generated for BIT(16) variables.

These areas have been improved or re-written: calls on OUTPUT, catenation, integer-to-string conversion, multiply, divide, and MOD. An emitter for SS-type instructions has been added. The compiler achieves an 11% reduction in object code compiling itself, an 11% increase in compilation rate, a 55% increase in compilation speed when the $E toggle is set. Special treatment for catenating a string to an integer substantially decreases consumption of the free string area, and decreases string moves. The latter improvement is most noticeable on small core machines.

Core requirements: less than the improved XCOM on which it is based (approx. 98000 bytes). Symbol table size is 468.

Ports:
IBM System 370
Portability:
The compiler is written in XPL. The code generators are machine-specific.
Updated:
August 7th, 1993

Language:
C
Package:
xref
Version:
?
Parts:
code analysis tool
Author:
Jim Leinweber
Location:
use archie
Description:
A cross-reference genrator
Updated:
1985 ?

Language:
C, C++
Package:
xxgdb
Version:
1.06
Parts:
X11 front end for gdb
Author:
?
Location:
retrieve xxgdb from comp.sources.x volumes 11, 12, 13, 14, & 16
Description:
?
Contact:
Pierre Willard <pierre@la.tce.com>
Updated:
Febuary 22nd, 1992

Language:
Ada
Package:
yacc grammar for Ada
Version:
?
Parts:
parser(yacc)
Author:
Herman Fischer
Location:
ftp://wsmr-simtel20.army.mil PD2:<ADA.EXTERNAL-TOOLS>GRAM2.SRC
Description:
?
Contact:
?
Updated:
Febuary 1st, 1991

This site is supported by David Sharnoff and Bryan Miller with some help from Google Adwords.

Please send updates to free-compilers@sharnoff.org

The HTML is maintained by David Muir Sharnoff and the entries themselves are currently maintained by Bryan Miller.

Copyright (c) 1992-1998 David Muir Sharnoff, All Rights Reserved
Copyright (c) 1994-1996, Steven Allen Robenalt, All Rights Reserved
Copyright (c) 1999-2010 David Muir Sharnoff, Bryan Miller, All Rights Reserved