category: graphic user interface support


Description:
These are the languages that have support for writing gui programs.


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:
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:
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:
Common Lisp
Package:
AKCL (Austin Kyoto Common Lisp)
Version:
1-615
Parts:
improvements
Author:
Bill Schelter <wfs@cli.com>, <wfs@rascal.ics.utexas.edu>
Location:
ftp://rascal.ics.utexas.edu/pub/akcl-*.tar.Z
Description:
AKCL is a collection of ports, bug fixes, and performance improvements to KCL.
Ports:
Decstation3100, HP9000/300, i386/sysV, IBM-PS2/aix, IBM-RT/aix SGI Sun-3/Sunos[34].* Sun-4 Sequent-Symmetry IBM370/aix, VAX/bsd VAX/ultrix NeXT
Updated:
April 29th, 1992

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:
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:
Caml
Package:
Caml Light
Version:
0.74
Parts:
bytecode compiler, emacs mode, libraries, scanner generator, parser generator, runtime, interactive development environment
Author:
Xavier Leroy, Damien Doligez (INRIA)
Location:
http://pauillac.inria.fr/caml/distrib-caml-light-eng.html ftp://ftp.inria.fr/lang/caml-light/
Description:
Caml is a programming language from the ML/Standard ML family, with functions as first-class values, static type inference with polymorphic types, user-defined variant and product types, and pattern-matching. The Caml Light implementation adds a Modula-2-like module system, separate compilation, lazy streams for parsing and printing, graphics primitives, and an interface with C.
Features:
very small
Bugs:
caml-light@margaux.inria.fr
Ports:
most unix, Macintosh, MSDOS (16 and 32 bit modes), Windows, Atari ST
Portability:
very high
Status:
actively developed
Discussion:
caml-list@margaux.inria.fr, comp.lang.ml
Contact:
Xavier Leroy <Xavier.Leroy@inria.fr>
Updated:
December 0 1997

Language:
Common Lisp
Package:
Cartier's Contribs
Version:
1.2
Parts:
libraries, documentation
Author:
Guillaume Cartier <cartier@math.uqam.ca>
Location:
ftp://cambridge.apple.com/pub/mcl2/contrib/Cartiers*
Description:
libraries for MCL
Requires:
Macintosh Common Lisp
Discussion:
comp.lang.lisp.mcl
Updated:
April 18th, 1994

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:
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:
Common Lisp
Package:
CLiCC
Version:
0.6.4
Parts:
compiler(->C), runtime library
Author:
Heinz Knutzen <hk@informatik.uni-kiel.de>, Ulrich Hoffman <uho@informatik.uni-kiel.de>, Wolfgang Goerigk <wg@informatik.uni-kiel.de>
Location:
ftp://ftp.informatik.uni-kiel.de/pub/kiel/apply/clicc*
Description:
A Common Lisp to C compiler, meant to be used as a supplement to existing CLISP systems for generating portable applications. Target C code must be linked with CLiCC runtime library to produce executable.
Conformance:
Subset of Common Lisp + CLOS (named: CL_0, or CommonLisp_0) CL_0 based on CLtL1.
Restriction:
Freely distributable and modifiable
Ports:
Runs in Lucid Lisp, AKCL, CLISP, ...
Status:
Working towards CLtL2 and ANSI-CL conformance.
Updated:
June 25th, 1994

Language:
Common Lisp
Package:
CLISP
Version:
July 12th, 1994
Parts:
interpreter, bytecode compiler, runtime library, editor
Author:
Bruno Haible <haible@ma2s2.mathematik.uni-karlsruhe.de>, Michael Stoll <michael@rhein.iam.uni-bonn.de>
Location:
ftp://ma2s2.mathematik.uni-karlsruhe.de/pub/lisp/clisp ftp://sunsite.unc.edu/pub/Linux/development/lisp/ ftp://tsx-11.mit.edu/pub/linux/packages/lisp/
Description:
CLISP is a Common Lisp (CLtL1) implementation by Bruno Haible of Karlsruhe University and Michael Stoll of Munich University, both in Germany. It needs only 1.5 MB of RAM. German and English versions are available, French coming soon. Packages running in CLISP include PCL and, on Unix machines, CLX. A native subset of CLOS is included.
Conformance:
CLtL1 + parts of CLtL2
Restriction:
GNU General Public License
Ports:
Atari, Amiga, MS-DOS, OS/2, Linux, Sun4, Sun386i, HP90000/800 and others
Discussion:
send "subscribe clisp-list" to listserv@ma2s2.mathematik.uni-karlsruhe.de
Contact:
Bruno Haible <haible@ma2s2.mathematik.uni-karlsruhe.de>
Updated:
July 12th, 1994

Language:
Common Lisp
Package:
CLX
Version:
5.01
Parts:
library
Author:
?
Location:
ftp://export.lcs.mit.edu/contrib/CLX.R5.01.tar.Z
Description:
Common Lisp binding for X
Bugs:
bug-clx@expo.lcs.mit.edu
Ports:
?, CMU Common Lisp
Contact:
?
Updated:
August 26th, 1992

Language:
Common Lisp
Package:
CMU Common Lisp
Version:
17c
Parts:
incremental compiler, profiler, runtime, documentation, editor, debugger
Author:
?
Location:
ftp://lisp-sun1.slisp.cs.cmu.edu/pub/*
Description:
CMU Common Lisp is public domain "industrial strength" Common Lisp programming environment. Many of the X3j13 changes have been incorporated into CMU CL. Wherever possible, this has been done so as to transparently allow use of either CLtL1 or proposed ANSI CL. Probably the new features most interesting to users are SETF functions, LOOP and the WITH-COMPILATION-UNIT macro.
  • The new CMU CL compiler (Python) is more sophisticated thatn other Common Lisp compilers. It produces better code and is easier to use.
  • The programming environment based on the Hemlock editor is better integrated than gnu-emacs based environments.
Conformance:
mostly X3J13 compatible.
Ports:
Sparc/Mach Sparc/SunOS Mips/Mach IBMRT/Mach
Contact:
slisp@cs.cmu.edu
Updated:
November 18th, 1993

Language:
CooL (Combined object-oriented Language)
Package:
CooL-SPE
Version:
2.1pre45
Parts:
compiler(->C), emacs mode, X libraries, container libraries, database access libraries, dialog editor, source debugger, object test harness
Author:
ITHACA project
Location:
ftp://ftp.fu-berlin.de/pub/unix/languages/cool/cool-*.tar.Z
Description:
The CooL-SPE is a programming environment specially designed to support the professional development of large-scale object-oriented application systems.

CooL offers all the basic features of the object-oriented paradigm, such as (single) inheritance, dynamic binding and polymorphism. Above that, CooL offers generic object types and abstract object types and last but not least supports modules in the tradition of Modula, thus allowing to really build large systems. CooL is fully type-compliant with the C language type system and allows software written in C or in languages with a C interface to be integrated into CooL applications without any effort.

CooL-SPE supports the development of application systems with graphical user interfaces based on X/Motif. These interfaces may be constructed using UIL or interactivly using a dialog editor. A dialog object class library, DIO, is available to facilitate integration of the application with the runtime system of X/Motif. This interface abstracts from the toolkit's primitives.

The CooL language is extended by the CooL library system CoLibri. CoLibri offers a BCD type and a number of functions for the CooL simple types (e.g. STRING). As foundation object types, provides basic file I/O, time representation (including date, time, duration, interval etc.), and the basic container object types (e.g. set, list, sortedList, map and dictionary) as generic types.

The SQL Object Interface (SOI) is provided to allow object-oriented applications to be integrated with a relational database system. This interface offers access to SQL tables via a generated object type interface.

Requires:
INFORMIX
Ports:
Linux, Solaris, Sinux 5.41
Portability:
nothing prevents using a different database backend
Status:
new
Contact:
CooL@sietec.de
Updated:
October 25th, 1994

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:
Scheme
Package:
Elk (Extension Language Kit)
Version:
3.0
Parts:
interpreter, dynamically-loadable libraries, run-time, documentation, examples.
Author:
Oliver Laumann <net@cs.tu-berlin.de>
Location:
http://www.informatik.uni-bremen.de/~net/elk ftp://ftp.x.org/contrib/devel_tools/elk-3.0.tar.gz
europe:
ftp://ftp.uni-bremen.de/pub/programming/languages/scheme/elk/elk-3.0.tar.gz
Description:
Elk is a Scheme implementation designed as an embeddable, reusable extension language subsystem for applications written in C or C++. Elk is also useful as a stand-alone Scheme implementation, in particular as a platform for rapid prototyping of X11-based Scheme programs.
Conformance:
R^4RS
Reference:
Oliver Laumann and Carsten Bormann, Elk: The Extension Language Kit, USENIX Computing Systems, vol 7, no 4, 1994.
Features:
  • Full incremental, dynamic loading on many platforms
  • Freezing of interpreter/application into executable file
  • C/C++ programmer's interface for language interoperability
  • Scheme bindings for X11 Xlib, Xt, Athena and Motif widgets
  • UNIX interface (not restricted to POSIX)
  • debugger, bitstrings, records, regular expressions
  • stop-and-copy and generational incremental garbage collector
  • 230+ pages of documentation (troff and PostScript)
Ports:
numerous UNIX platforms (see MACHINES in the distribution).
Status:
Elk was first published in 1989.
Announcements:
comp.lang.scheme
Updated:
1995/08

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:
Scheme
Package:
ezd (easy drawing for programs on X displays)
Version:
15mar93
Parts:
interpreter/server
Author:
?
Location:
ftp://gatekeeper.dec.com/pub/DEC/ezd/*
Description:
Ezd is a graphics server that sits between an application program and the X server and allows both existing and new programs easy access to structured graphics. Ezd users have been able to have their programs produce interactive drawings within hours of reading the man page. Structured graphics: application defined graphical objects are ordered into drawings by the application. Loose coupling to the application program: unlike most X tools, ezd does not require any event handling by the application. The ezd server mantains window contents. When an event occurs on such an object, an application supplied Scheme expression is evaluated.
Contact:
Joel Bartlett <bartlett@decwrl.dec.com> ?
Updated:
March 10th, 1993

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:
Common Lisp
Package:
Garnet
Version:
2.2
Parts:
user interface builder
Author:
The Garnet project
Location:
ftp://a.gp.cs.cmu.edu/usr/garnet/garnet
Description:
Garnet is a user interface development environment for Common Lisp and X11. It helps you create graphical, interactive user interfaces for your software. Garnet is a large scale system containing many features and parts including a custom object-oriented programming system which uses a prototype-instance model. It includes postscript support, gester recognition, and Motif emulation.
Contact:
Brad_Myers@bam.garnet.cs.cmu.edu
Updated:
October 15, 1993

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:
Common Lisp
Package:
GINA (Generic Interactive Application)
Version:
2.2
Parts:
language binding, class library, interface builder
Author:
?
Location:
ftp://ftp.gmd.de/gmd/gina
n.america:
ftp://export.lcs.mit.edu/contrib/?
Description:
GINA is an application framework based on Common Lisp and OSF/Motif to simplify the construction of graphical interactive applications. It consists of:
  • CLM, a language binding for OSF/Motif in Common Lisp.
  • the GINA application framework, a class library in CLOS
  • the GINA interface builder, an interactive tool implemented with GINA to design Motif windows.
Requires:
OSF/Motif 1.1 or better. Common Lisp with CLX, CLOS, PCL and processes.
Ports:
Franz Allegro, Lucid, CMU CL and Symbolics Genera
Discussion:
gina-users-request@gmd.de
Updated:
?

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:
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:
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:
Common Lisp
Package:
Hyperlisp
Version:
2.1f
Parts:
?
Author:
Joe Chung, MIT Media Laboratory
Location:
ftp://cambridge.apple.com/pub/mcl2/contrib/hyperlisp21f.sit.hqx
Description:
Hyperlisp is a real-time MIDI programming environment embedded in Macintosh Common Lisp. The environment was developed specifically for the Hyperinstruments project at the MIT Media Laboratory, and is optimized for interactive systems which require fast response times. Hyperlisp provides two main services for the music programmer: routines for MIDI processing and primitives for scheduling the application of functions. Programs written in Macintosh Common Lisp can use these services for a wide variety of real-time MIDI applications.
Updated:
April 18th, 1994

Language:
Common Lisp
Package:
KCL (Kyoto Common Lisp)
Version:
?
Parts:
compiler(->C), interpreter
Author:
T. Yuasa <yuasa@tutics.tut.ac.jp>, M. Hagiya <hagiya@is.s.u-tokyo.ac.jp>
Location:
? ftp://rascal.ics.utexas.edu/pub/kcl*.tar.Z
Description:
KCL, Kyoto Common Lisp, is an implementation of Lisp, It is written in the language C to run under Un*x-like operating systems. KCL is very C-oriented; for example, the compilation of Lisp functions in KCL involves a subsidiary C compilation.
Conformance:
conforms to the book ``Common Lisp: The Language,'' G. Steele, et al., Digital Press, 1984.
Bugs:
kcl@cli.com
Restriction:
must sign license agreement
Discussion:
kcl-request@cli.com
Updated:
1987/06

Language:
BNF variant, Python
Package:
kwParsing ?
Version:
?
Parts:
parser generator
Author:
Aaron Watters <aaron@vienna.njit.edu>
Location:
ftp://ftp.markv.com/pub/python/kwParsing.*
Description:
A parser generator written in Python for Python. This package may be appropriate for experimental translators, code generators, interpreters, or compilers; for instructinal purposes; among other possibility. The documentation gives a brief introduction to the conventions and basic ideas of parsing.
Updated:
September 24th, 1994

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:
Perl (Practical Extraction and Report Language)
Package:
MacPerl
Version:
5.2.0r4
Author:
Matthias Neeracher <neeri@iis.ee.ethz.ch>
Location:
http://www.ptf.com/macperl
Description:
MacPerl offers (nearly) all the features of Perl plus oodles of Macintosh-specific functionality!
Ports:
Macintosh
Status:
actively developed
Discussion:
mac-perl-request@iis.ee.ethz.ch (majordomo list)
Updated:
20 April 1998

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:
Common Lisp
Package:
Memoization ?
Version:
?
Parts:
library
Author:
Marty Hall <hall@aplcenmp.apl.jhu.edu>
Location:
ftp://archive.cs.umbc.edu/pub/Memoization
Description:
Automatic memoization is a technique by which an existing function can be transformed into one that "remembers" previous arguments and their associated results
Updated:
November 30th, 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:
Common Lisp
Package:
PCL (Portable Common Loops)
Version:
8/28/92 PCL
Parts:
library
Author:
? Richard Harris <rharris@ptolemy2.rdrc.rpi.edu> ?
Location:
ftp://parcftp.xerox.com/pcl/*
Description:
A portable CLOS implementation. CLOS is the object oriented programming standard for Common Lisp. Based on Symbolics FLAVORS and Xerox LOOPS, among others. Loops stands for Lisp Object Oriented Programming System.
Ports:
Lucid CL 4.0.1, CMUCL 16e, ?
Status:
?
Updated:
September 2nd, 1992

Language:
Perl (Practical Extraction and Report Language)
Package:
perl
Version:
4.0 patchlevel 36
Parts:
interpreter, debugger, libraries, tests, documentation
Author:
Larry Wall <lwall@netlabs.com>
Location:
ftp://jpl-devvax.jpl.nasa.gov/pub/perl.4.0/*
os/2:
ftp://hobbes.nmsu.edu/pub/os2/all/unix/prog*/perl4019.zip
macintosh:
ftp://nic.switch.ch/software/mac/src/mpw_c/Mac_Perl_405_*
amiga:
ftp://wuarchive.wustl.edu/perl4.035.V010.*
vms:
ftp://ftp.pitt.edu/software/vms/perl/*
atari:
ftp://atari.archive.umich.edu/amiga/Languages/perl*
msdos:
ftp://ftp.ee.umanitoba.ca/pub/msdos/perl/* ftp://oak.oakland.edu/pub/msdos/perl/bperl*
windows nt:
ftp://ntperl.hip.com/ntperl/ntperl5.001.src.zip ftp://ntperl.hip.com/ntperl/ntperl5.001.i86.zip
mvs:
ftp://oozelum.csi.cam.ac.uk/dist/perl-4036.tar.Z
netware:
contact Jack Thomasson <Jack_Thomasson@Novell.COM>
Description:
perl is an interpreted language optimized for scanning arbitrary text files, extracting information from those text files, and printing reports based on that information. It's also a good language for many system management tasks.
Reference:
"Programming Perl" by Larry Wall and Randal L. Schwartz, O'Reilly & Associates, Inc. Sebastopol, CA. ISBN 0-93715-64-1

"Learning Perl" by Randal L. Schwartz, O'Reilly & Associates, Inc. Sebastopol, CA. ISBN 1-56592-042-2

The perl FAQ, ftp from rtfm.mit.edu

Features:
+
very-high semantic density becuase of powerful operators like regular expression substitution
+
exceptions, provide/require
+
associative array can be bound to dbm files
+
no arbitrary limits
+
direct access to almost all system calls
+
can access binary data
+
many powerful idioms for common tasks
+
8-bit clean, including nulls
-
three variable types: scalar, array, and hash table
-
syntax requires variable and function prefix characters
Bugs:
comp.lang.perl; Larry Wall <lwall@netlabs.com>
Ports:
almost all unix, MSDOS, Mac, Amiga, Atari, OS/2, VMS, NT, MVS
Portability:
very high for unix, not so high for others
Discussion:
comp.lang.perl
macintosh:
mpw-perl-request@iis.ee.ethz.ch
Updated:
Febuary 7th, 1993

Language:
Perl
Package:
perl profiler.
Version:
? 1
Parts:
profiler
Author:
Anthony Iano-Fletcher <arf@maths.nott.ac.uk>
Location:
Source posted on comp.lang.perl in mid-June 1993
Description:
Profiles Perl scripts (mkpprof).

Collates data from Perl scripts (pprof)

Updated:
June 17th, 1993

Language:
BNF (yacc), Perl
Package:
perl-byacc
Version:
1.8.2
Parts:
parser-generator(perl)
Author:
Rick Ohnemus <Rick_Ohnemus@Sterling.COM>
Location:
ftp://ftp.sterling.com/local/perl-byacc.tar.Z
Description:
A modified version of byacc that generates perl code. Has '-p' switch so multiple parsers can be used in one program (C or perl).
Portability:
Should work on most (?) Unix systems. Also works with SAS/C 6.x on AMIGAs.
Updated:
January 24th, 1993

Language:
Perl (Practical Extraction and Report Language)
Package:
perl5
Version:
5.005
Parts:
interpreter, debugger, libraries, tests, documentation
Author:
Larry Wall <lwall@netlabs.com>
Location:
many!
africa:
ftp://ftp.is.co.za:/programming/perl/CPAN/
australia:
ftp://coombs.anu.edu.au:/pub/perl/CPAN/ ftp://ftp.mame.mu.oz.au:/pub/perl/CPAN/ ftp://ftp.tekotago.ac.nz:/pub/perl/CPAN/
austria:
ftp://ftp.tuwien.ac.at:/pub/languages/perl/CPAN/
canada:
ftp://mango.pinc.com:/pub/mirrors/CPAN/
czech rep.:
ftp://sunsite.mff.cuni.cz:/MIRRORS/ftp.funet.fi/pub/languages/perl/CPAN/
denmark:
ftp://sunsite.auc.dk:/pub/languages/perl/CPAN/
finland:
ftp://ftp.funet.fi:/pub/languages/perl/CPAN/
france:
ftp://ftp.ibp.fr:/pub/perl/CPAN/ ftp://ftp.pasteur.fr:/pub/computing/unix/perl/CPAN/
germany:
ftp://ftp.leo.org:/pub/comp/programming/languages/perl/CPAN/ ftp://ftp.rz.ruhr-uni-bochum.de:/pub/CPAN/
greece:
ftp://ftp.ntua.gr:/pub/lang/perl/
hungary:
ftp://ftp.kfki.hu:/pub/packages/perl/
japan:
ftp://ftp.lab.kdd.co.jp:/lang/perl/CPAN/
netherlands:
ftp://http://www.cs.ruu.nl/pub/PERL/CPAN/
new zealand:
ftp://ftp.tekotago.ac.nz:/pub/perl/CPAN/
poland:
ftp://ftp.pk.edu.pl:/pub/lang/perl/CPAN/
portugal:
ftp://ftp.ci.uminho.pt:/pub/lang/perl/
slovenia:
ftp://ftp.arnes.si:/software/perl/CPAN/
spain:
ftp://ftp.rediris.es:/mirror/CPAN/
sweden:
ftp://ftp.sunet.se:/pub/lang/perl/CPAN/
switzerland:
ftp://ftp.switch.ch:/mirror/CPAN/
taiwan:
ftp://dongpo.math.ncu.edu.tw:/perl/CPAN/
uk:
ftp://ftp.demon.co.uk:/pub/mirrors/perl/CPAN/ ftp://unix.hensa.ac.uk:/mirrors/perl-CPAN/
usa:
ftp://ftp.cdrom.com:/pub/perl/CPAN/ ftp://ftp.cis.ufl.edu:/pub/perl/CPAN/ ftp://uiarchive.cso.uiuc.edu:/pub/lang/perl/CPAN/ ftp://ftp.delphi.com:/pub/mirrors/packages/perl/CPAN/ ftp://ftp.uoknor.edu:/mirrors/CPAN/ ftp://ftp.sedl.org:/pub/mirrors/CPAN/ ftp://ftp.metronet.com:/pub/perl/ ftp://ftp.sterling.com:/CPAN/
Description:
Perl5 is a major rewrite and enhancement to perl4. It adds real data structures (by way of "references"), un-adorned subroutine calls, and method inheritance. It is repackaged with many extensions that can be dynamically loaded in the interpreter at runtime.
Features:
  • very-high semantic density becuase of powerful operators like regular expression substitution
  • no arbitrary limits
  • exceptions
  • variables can be tied to arbitrary code (like dbm)
  • direct access to almost all system calls
  • can access binary data
  • many powerful idioms for common tasks
  • 8-bit clean, including nulls
  • dynamic loading of extensions
  • constructors, destructors, multiple inheritence, and operator overloading
  • support for writing secure systems
  • many useful libraries and extensions
References:
http://language.perl.com/ http://www.perl.com/pace/pub "Programming Perl" by Larry Wall and Randal L. Schwartz, O'Reilly & Associates, Inc. Sebastopol, CA. ISBN 0-93715-64-1

"Learning Perl" by Randal L. Schwartz, O'Reilly & Associates, Inc. Sebastopol, CA. ISBN 1-56592-042-2

Extensions:
  • Tk - easy to use X11 interface
  • tcl - dynamically load Tcl into perl
  • Curses - sreen-based
  • CGI - easy web programming
  • perlmenu - http://www.cc.iastate.edu/perlmenu/
  • DBI - interfaces to many relational databases
  • Safe - secure execution of untrusted code
  • Penguin - distributed secure execution of untrusted code
Bugs:
Send bugs to <perl-bugs@perl.com>
Ports:
Almost all unix systems, Amiga, Atari, LynxOS, Macintosh, MPE, MS-DOS, MVS, Netware, OS/2, QNX, VMS, Windows 3.x, Windows NT (http://info.hip.com/ntperl/PerlFaq.htm)
Portability:
Extreamly high.
Updated:
July 8th, 1999

Language:
Prolog
Package:
PI
Version:
?
Parts:
library
Author:
?
Location:
ftp://ftp.ncc.up.pt/pub/prolog/ytoolkit.tar.Z
Description:
PI is a interface between Prolog applications and XWindows that aims to be independent from the Prolog engine, provided that it has a Quintus foreign function interface (such as SICStus, YAP). It is mostly written in Prolog and is divided in two libraries: Edipo - the lower level interface to the Xlib functions; and Ytoolkit - the higher level user interface toolkit
Contact:
Ze' Paulo Leal <zp@ncc.up.pt>
Updated:
March 2nd, 1993

Language:
Postscript, Common Lisp
Package:
PLisp
Version:
?
Parts:
translator(Postscript), programming environment(Postscript)
Author:
John Peterson <peterson-john@cs.yale.edu>
Location:
?
Description:
?
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:
Python
Package:
Python
Version:
1.3
Parts:
interpeter, libraries, documentation, emacs macros
Author:
Guido van Rossum <guido@cwi.nl> OS/2 port by: Simon K Johnston <S.K.Johnston.bra0801@oasis.icl.co.uk>
Location:
ftp://ftp.cwi.nl/pub/python*
n.america:
ftp://gatekeeper.dec.com/pub/plan/python
n.america:
ftp://ftp.uu.net/languages/python
europe:
ftp://ftp.fu-berlin.de/pub/unix/languages/python
europe:
ftp://ftp.interet.com/pub/python
finland:
ftp://ftp.funet.fi/pub/languages/python
uk:
ftp://unix.hensa.ac.uk/uunet/languages/python
Description:
Python is a simple, yet powerful programming language that bridges the gap between C and shell programming, and is thus ideally suited for rapid prototyping. Its syntax is put together from constructs borrowed from a variety of other languages; most prominent are influences from ABC, C, Modula-3 and Icon. Python is object oriented and is suitable for fairly large programs.
Features:
+
packages
+
exceptions
+
good C interface
+
dynamic loading of C modules
+
methods, inheritance
-
arbitrary restrictions
+
supports the native windowing system with most platforms
-
does not support a common windowing api across platforms A beta release of the X extension for Python release 1.3 is now available by anonymous ftp://from ftp://ftp.cwi.nl/pub/sjoerd/python-X.tar.gz

Preformatted documentation is available from ftp://ftp.cwi.nl/pub/sjoerd/python-X-doc.ps.gz

Reference:
Python documentation http://www.python.org/
Extensions:
tkinter (Tcl's Tk), termios, curses, syslog, sybase
Ports:
unix, Macintosh, OS/2, Windows 3.1 (with Win32s), Windows NT
Discussion:
python-list-request@cwi.nl
Updated:
March 20th, 1996

Language:
Common Lisp
Package:
QT-OBJECTS
Version:
?
Parts:
library
Author:
Michael Travers <mt@media.mit.edu> and others
Location:
?
Description:
interface between MCL and QuickTime
Requires:
Macintosh Common Lisp
Discussion:
comp.lang.lisp.mcl
Updated:
April 18th, 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:
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:
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:
Scheme, Tk
Package:
STk
Version:
1.00
Parts:
interpreter
Author:
Gallesio Erick <eg@unice.fr>
Location:
ftp://kaolin.unice.fr/pub/STk-1.00.tar.gz
Description:
A Scheme interpreter blended with Ousterhout's Tk package. STk expresses all of Tk as scheme objects. STk includes a CLOS/Dylan-like OO extenstion, but the extension is slow.
Conformance:
almost R4RS
Ports:
SunOS 4.1.x, Ultrix/MIPS
Updated:
September 6th, 1993

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:
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:
+
Well-documented; clean implementation
+
includes the relevant tools (lexer, parser generator, etc.)
-
Does not have an extensive C++ library (either API or implementation), and producing this is probably non-trivial
+
can dump symbol table to file, providing the raw materials for further analysis (type, function, variable, usage, etc.)
+
can perform analysis for portability, with fine-grained control
+
reports syntax errors with ISO reference
+
producers (C/C++ to TDF translators) are portable
-
installers (TDF to executable translators, and API implementations) exist for a limited number of platforms
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:
Tcl, Tk
Package:
Tk
Version:
4.2
Parts:
GUI library
Author:
John Ousterhout <ouster@scriptics.com>
Location:
http://www.scriptics.com/resource/software/tcltk/
Description:
Tk is a X11 gui library that is designed to interoperate with Tcl. It provides a very easy way to create sophisticated applications. The appearance of Tk is very similar to Motif.
Updated:
November 15th, 1996

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:
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:
Python
Package:
vpApp
Version:
0.2
Parts:
Class Library, User Reference
Author:
Per Spilling <per@cwi.nl> Real Name <email@address>
Location:
ftp.cwi.nl in /pub/python/vpApp.tar.gz.
Description:
vpApp = visual-programming application. It supports the building of applications in Python.
Requires:
Python interpreter with built-in X support.
Updated:
May 6th, 1994

Language:
Tcl
Package:
Wafe
Version:
1.0.20
Parts:
interface
Author:
Gustaf Neumann <neumann@watson.ibm.com>
Location:
ftp://ftp.wu-wien.ac.at/pub/src/X11/wafe/wafe-1.0.tar.gz
Description:
Wafe (Widget[Athena]front end) is a package that implements a symbolic interface to the Athena widgets (X11R5) and OSF/Motif. A typical Wafe application consists of two parts: a front-end (Wafe) and an application program which runs typically as a separate process. The distribution contains sample application programs in Perl, GAWK, Prolog, Tcl, C and Ada talking to the same Wafe binary.
Portability:
very high, just needs X11R4 or X11R5.
Discussion:
send "subscribe Wafe <Your Name>" to listserv@wu-wien.ac.at
Updated:
January 7th, 1999

Language:
Common Lisp
Package:
WCL
Version:
2.14
Parts:
?, shared library runtime, source debugger
Author:
Wade Hennessey <wade@leland.Stanford.EDU>
Location:
ftp://sunrise.stanford.edu/pub/wcl/* ftp://gummo.stanford.edu/miscellany/wcl
Description:
A common lisp implementation as a shared library. WCL Is not a 100% complete Common Lisp, but it does have the full development environment including dynamic file loading and debugging. A modified version of GDB provides mixed-language debugging. A paper describing WCL was published in the proceedings of the 1992 Lisp and Functional Programming Conference.
Requires:
GNU C 2.1 (not 2.2.2)
Ports:
Sparc/SunOS
Discussion:
<wcl-request@sunrise.stanford.edu>
Contact:
<wcl@sunrise.stanford.edu>
Updated:
October 28th, 1992

Language:
LIFE (Logic, Inheritance, Functions, and Equations)
Package:
Wild_LIFE
Version:
first-release
Parts:
interpreter, manual, tests, libraries, examples
Author:
Paradise Project, DEC Paris Research Laboratory.
Location:
ftp://gatekeeper.dec.com/pub/plan/Life.tar.Z
Description:
LIFE is an experimental programming language with a powerful facility for structured type inheritance. It reconciles styles from functional programming, logic programming, and object-oriented programming. LIFE implements a constraint logic programming language with equality (unification) and entailment (matching) constraints over order-sorted feature terms. The Wild_LIFE interpreter has a comfortable user interface with incremental query extension ability. It contains an extensive set of built-in operations as well as an X Windows interface.
Conformance:
semantic superset of LOGIN and LeFun. Syntax is similar to prolog.
Bugs:
life-bugs@prl.dec.com
Ports:
MIPS-Ultrix
Portability:
good in theory
Discussion:
life-request@prl.dec.com
Contact:
Peter Van Roy <vanroy@prl.dec.com>
Updated:
December 14th, 1992

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:
C
Package:
xref
Version:
?
Parts:
code analysis tool
Author:
Jim Leinweber
Location:
use archie
Description:
A cross-reference genrator
Updated:
1985 ?

Language:
Prolog
Package:
XWIP (X Window Interface for Prolog)
Version:
0.6
Parts:
library
Author:
?
Location:
ftp://export.lcs.mit.edu/contrib/xwip-0.6.tar.Z
Description:
It is a package for Prologs following the Quintus foreign function interface (such as SICStus). It provides a (low-level) Xlib style interface to X. The current version was developed and tested on SICStus 0.7 and MIT X11 R5 under SunOS 4.1.1.
Portability:
It is adaptable to many other Unix configurations.
Contact:
xwip@cs.ucla.edu
Updated:
Febuary 25th, 1993

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

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