Search the FAQ Archives

3 - A - B - C - D - E - F - G - H - I - J - K - L - M
N - O - P - Q - R - S - T - U - V - W - X - Y - Z - Internet FAQ Archives

Catalog of compilers, interpreters, and other language tools [p2of5]

( Part1 - Part2 - Part3 - Part4 - Part5 )
[ Usenet FAQs | Web FAQs | Documents | RFC Index | Airports ]
Archive-name: compilers/free/part2
Last-modified: 2000/02/08
Version: 10.3

See reader questions & answers on this topic! - Help others by sharing your knowledge
C variants
category:	C variants
description:	These are languages that are closely based on C.
lref:		C-Refine,C++-Refine&comma *-Refine
iref:		(Duel) DUEL

language:	C, C++, Objective-C, RTL
package:	GNU CC (gcc)
version:	2.7.1
parts:		compiler, runtime, examples, documentation
		Library listed separately
author:		Richard Stallman and others
location:	ftp gcc-2.X.X.tar.gz from a GNU archive site
			(these are diffs from 2.5.8 distribution)
description:	A very high quality, very portable compiler for C, C++,
		Objective-C.  The compiler is designed to support multiple
		front-ends and multiple back-ends by translating first
		into RTL (Register Transfer Language) and from there into
		assembly for the target architecture.	Front ends for
		Ada, Pascal, and Fortran are all under development.
		There is a bounds checking port based on gcc 2.7.1.
		Patches for this port are available at:
conformance:	C: superset of K&R C and ANSI C.
		C++: supports most ARM features; exceptions supported
		only on some platforms.	 Supports "bool".  Alpha-level
		RTTI implementation included. Not yet supported: member
		templates, namespaces.	Developers are tracking the draft
		ANSI/ISO standard and are committee members.
		Objective-C: Complies with NeXT proposed (ANSI?) standard.
bugs:		gnu.gcc.bug (for C/Objective-C), gnu.g++.bug (for C++)
restriction:	GNU General Public License
ports:		3b1, a29k, aix385, alpha, altos3068, amix, arm, convex,
		crds, elxsi, fx2800, fx80, genix, hp320, clipper,
		iris,i860, i960, irix4, m68k, m88ksvsv.3, mips-news,
		mot3300, next, ns32k, nws3250-v.4, hp-pa, pc532,
		plexus, pyramid, romp, rs6000, sparc-sunos, 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: (for C/Objective-C), (for C++)
announcements:	gnu.gcc.announce (for C/Objective-C),
		gnu.g++.announce (for C++)
updated:	1995

language:	C, C++, Objective-C, RTL
package:	GNU CC (gcc) - unsupported Macintosh port
version:	1.37
parts:		compiler, runtime, examples, documentation
		Library listed separately
author:		?
location:	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:	1993/11/27

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" <>
location:	ftp pub/suif/basesuif-1.1.2.tar.gz from
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
requires:	Modern C++ compiler, such as GNU g++, 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
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:	Harvard Machine SUIF (``machSUIF'')
version:	1.1.2.beta
parts:		compiler(->MIPS,->ALPHA), libraries, documentation
author:		"HUBE Group" <>
location:	ftp pub/hube/machsuif-1.1.2.beta.tar.gz from
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:	Simple SUIF, SUIF
package:	Simple SUIF
version:	1.0.0.beta.1
parts:		translators(SUIF->SimpleSUIF, SimpleSUIF->SUIF), libraries,
author:		"Stanford Compiler Group" <>
location:	ftp pub/suif/simplesuif-1.0.0.beta.1.tar.gz from
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:	SUIF
package:	Stanford Base SUIF Parallelizer Package (``baseparsuif'')
version:	1.0.0.beta.2
parts:		compiler(SUIF->SUIF), runtime, examples
author:		"Stanford Compiler Group" <>
location:	ftp pub/suif/baseparsuif-1.0.0.beta.2.tar.gz from
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" <>
location:	ftp pub/suif/fortback-1.0.0.beta.2.tar.gz from
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" <>
location:	ftp pub/suif/suifvbrowser-1.0.0.beta.1.tar.gz from
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:	SUIF
package:	Halt SUIF
version:	1.1.2.beta
parts:		instrumentation program
author:		"HUBE Group" <>
location:	ftp users/cyoung/hatl.tar.gz from
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:	SPARC Backend for SUIF (``sgen'')
version:	1.0
parts:		compiler(->SPARC)
author:		"UofT Compiler Group" <>
description:	This is a SPARC code generator for SUIF based on the Harvard
		MachSUIF back-end framework for SUIF.
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:	Sirius
package:	Sirius
version:	1.2
parts:		bytecode compiler, interpreter, linker, librarian, debugger,
		make, documentation, Windows IDE, misc utilities
author:		Alan Conroy.
features:	non-conforming subset of Sirius programming language.
restriction:	none
requires:	DOS or Windows
portability:	MS DOS (v2.0 or later), MS Windows (v3.1 or later)
status:		supported
updated:	1997/09/06

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

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

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

language:	C
package:	GNU superoptimizer
version:	2.5
parts:		exhaustive instruction sequence optimizer
author:		Torbjorn Granlund <> with Tom Wood
location:	ftp superopt-2.5.tar.Z from a GNU archive site
description:	GSO is a function sequence generator that uses an exhaustive
		generate-and-test approach to find the shortest instruction
		sequence for a given function.	You have to tell the
		superoptimizer which function and which CPU you want to get
		code for.
		This is useful for compiler writers.
bugs:		Torbjorn Granlund <>
restriction:	GNU General Public License
ports:		Alpha, Sparc, i386, 88k, RS/6000, 68k, 29k, Pyramid(SP,AP,XP)
updated:	1995

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: (Sandro Sigala)
requires:	ANSI C compiler
restrictions:	BSD-like
updated:	1997/11

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 <>
updated:	1992/02/22

language:	C
package:	ups
version:	2.1
parts:		interpreter, symbolic debugger, tests, documentation
author:		Mark Russell <>
location:	?*.tar.Z ?
    unofficial: unofficial enhancements by Rod Armstrong <>,
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 <>
ports:		Sun, Decstation, VAX(ultrix), HLH Clipper
updated:	1991/05/20

language:	C
package:	C-Interp
version:	?
parts:		interpreter
author:		?
description:	An interpreter for a small subset of C, originally part of a
		communications package.
contact:	? Chuck Shotton <>
updated:	1993/05/14

language:	C
package:	ae (application executive)
version:	2
parts:		interpreter
author:		Brian Bliss <>
description:	ae (the "application executive") is a C interpreter library
		which is compiled with an application; hence, the interpreter
		exists in the same process and address space.  it includes a
		dbx symbol table scanner to access compiled vars & routines, or
		you can enter them manually by providing a type/name
		declaration and the address.  when the interpreter is invoked,
		source code fragments are read from the input stream (or a
		string), parsed, and evaluated immediately.  The user can call
		compiled functions in addition to a few built-in intrinsics,
		declare new data types and data objects, etc.  Different input
		streams can be evaluated in parallel on alliant machines.
		Version 2 differs substantially in that the code
		fragments are read into an intermediate form before being
		evaluated, and can be stored in this form and then called
		from either user code or the interpreter. Version 2 also
		handles looping constructs (and the full C language),
		unlike version 1.
ports:		SunOS (cc or gcc), Alliant FX, SGI (partial),
		Cray YMP (partial)
updated:	1993/07/18

language:	C (ANSI), lcc intermediate format
package:	lcc
version:	3.4b
parts:		compiler, test suite, documentation
authors:	Chris Fraser <>
		Dave Hanson <>
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
updated:	1995/02/01

language:	C, lcc intermediate format
package:	Chop
version:	0.6
parts:		code generator
author:		Alan L. Wendt <wendt@CS.ColoState.EDU>
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:	1993/04/28

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
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:	1977/08/01
conformance:	ANSI C + enhancements for windows 95/NT. Compatible MSVC.
updated:	?

language:	C
package:	Cxref
version:	1.4
parts:		Documentation + Cross-reference generator
author:		Andrew M. Bishop <>
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
		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,
		or on cxref homepage via
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:	C-Tree
version:	.04
parts:		Source
author:		Shaun Flisakowski
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:	1997/07/13

language:	C preprocessor
package:	amc
version:	1.0
parts:		compiler
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
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
updated:	1997/06/02

language:	C
package:	GCT
version:	1.4
parts:		test-coverage-preprocessor
author:		Brian Marick <>
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
support:	commercial support available from author, (217) 351-7228
updated:	1993/02/12

language:	C
package:	Maspar MPL
version:	3.1
parts:		compiler
author:		Christopher Glaeser
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
updated:	?

language:	C
package:	gc
version:	3.4
parts:		library
author:		Hans-J. Boehm <>, Alan J. Demers
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:	1993/11/05

language:	C
package:	dsp56k-gcc
version:	?
parts:		compiler
author:		?
description:	A port of gcc 1.37.1 to the Motorola DSP56000 done by
contact:	?
updated:	?

language:	C
package:	dsp56165-gcc
version:	?
parts:		compiler
author:		Andrew Sterian <>
description:	A port of gcc 1.40 to the Motorola DSP56156 and DSP56000.
updated:	?

language:	C
package:	Harvest C
version:	1.3
parts:		compiler, assembler, linker.
author:		?
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:	1992/05/26

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, 1993/06/28, <>
description:	It measures cyclomatic complexity, shows function calls and
		can draw flowgraphs of ANSI C and C++ code.
requires:	lex, C++
updated:	1993/06/28

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
package:	xref
version:	?
parts:		code analysis tool
author:		Jim Leinweber
location:	use archie
description:	A cross-reference genrator
updated:	1985 ?

language:	C
package:	csize
version:	1.12
parts:		code analysis tool
author:		Christopher Lott <>
description:	A C language code counter
updated:	1994/10/17

language:	C, C++
package:	Xcoral
version:	2.5
parts:		editor
author:		?
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 <>
updated:	1995/12/21

language:	C++
package:	Lily (LIsp LibrarY)
version:	0.1
parts:		library
author:		Roger Sheldon <>
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:	1993/11/08

language:	C++
package:	C++SIM
version:	1.0
parts:		library
author:		Mark Little <>
location: ??
description:	C++SIM is a class library that provides the same sort of
		features found in the simulation class libraries of SIMULA.
updated:	1993/06/14

language:	C++
package:	? signatures for GCC 2.5.2. ?
version:	?
parts:		patches to GNU CC, documentation
author:		Gerald Baumgartner <>
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:	1993/11/03

language:	C++
package:	aard ???
version:	?
parts:		memory use tracer
author:		?
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 <>
updated:	?

language:	C++
package:	ET++
version:	3.0-alpha
parts:		class libraries, documentation
author:		?
description:	?
contact:	Erich Gamma <>
updated:	1992/10/26

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:	1991/10/23

language:	C++
package:	cppp
version:	1.14
parts:		parser (yacc)
author:		Tony Davis <>
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:	1993/05/26

language:	C++
package:	C++ Object Oriented Library
version:	COOL ?, GECOOL 2.1, JCOOL 0.1
parts:		libraries, tests, documentation
author:		?
location:	GECOOL, JCOOL:
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 <>
updated:	1992/08/05

language:	C++
package:	GNU C++ Library (libg++)
version:	2.6
parts:		library
author:		Per Bothner <> ?
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
updated:	1994/07/19

language:	C++
package:	??? A C++ Parser toolkit
version:	?
parts:		library
author:		Mayan Moudgill <moudgill@cs.cornell.EDU>
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:	1993/04/11

language:	C++, Extended C++
package:	EC++
version:	?
parts:		translator(C++), documentation
author:		Glauco Masotti <>
location:	?  ?
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:	1989/10/10

language:	C++
package:	LEDA
version:	3.0
parts:		libraries
author:		?
description:	library of efficient data types and algorithms.
		New with 3.0: both template and non-template versions.
contact:	Stefan N"aher <>
updated:	1992/11/30

language:	E (a persistent C++ variant)
package:	GNU E
version:	2.3.3
parts:		compiler
author:		?
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
updated:	1993/01/20

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 (ANSI)
package:	unproto ?
version:	? 4 ? 1.6 ?
parts:		translator(K&R C)
author:		Wietse Venema <>
description:	?
contact:	?
updated:	?

language:	C (ANSI)
package:	LCLint
version:	1.4
parts:		code analysis tool
author:		David E Evans <>
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.
ports:		OSF/1, Ultrix, SunOS, Solaris, Linux, IRIX
updated:	1994/10/16

language:	C (ANSI)
package:	cproto
version:	4 patchlevel 0
parts:		translator(K&R C)
author:		Chin Huang <>
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:	1992/07/18

language:	C (ANSI)
package:	cextract
version:	1.7
parts:		translator(K&R C), header file generator
author:		Adam Bryant <>
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:	1992/11/03

language:	C (ANSI)
package:	cgram
version:	?
parts:		grammar
author:		Mohd Hanafiah Abdullah <>
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
requires:	Scheme
ports:		?
updated:	?

language:	C, ANSI C, C++
package:	The Roskind grammars
version:	cpp5 (cf2.0)
parts:		parser(yacc), documenation
author:		Jim Roskind <>
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:	1991/07/01

language:	C (ANSI/ISO)
package:	Metre
version:	2.3
parts:		grammar(yacc,lex), generated parser files, metrics examples,
		documentation (man pages).
author:		Paul Long <>
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:	1995/04/04

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 <>
updated:	1992/02/22

language:	C, C++
package:	gdb
version:	4.15.1
parts:		symbolic debugger, documentation
author:		many, but most recently Fred Fish <>,
		Stu Grossman <>, and
		John Gilmore <>, all of Cygnus Support
location:	ftp gdb-*.tar.[zZ] from a GNU archive site
description:	gdb is a full-featured symbolic debugger.  It fills the
		same niche as dbx.  Programs must be compiled with debugging
bugs:		<>
restriction:	CopyLeft
ports:		most unix variants, vms, vxworks, amiga, msdos
updated:	1995/11/04

language:	C, C++
package:	ddd
version:	2.1
parts:		symbolic graphical debugger, documentation
author:		Andreas Zeller
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.
restrictions:	GPL
updated:	1997/05/05

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 <>
description:	?
discussion:	subscribe to emx-list using
updated:	1992/09/21

language:	C
package:	Pthreads
version:	1.17
parts:		library
author:		PART (POSIX / Ada-Runtime Project)
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
updated:	1993/07/22

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 <>
location:	ftp from any comp.sources.misc archive, in volume42
		(the version in the comp.sources.reviewed archive is obsolete)
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
help:		from the author and other users on the mailing list:
announcements:	patches appear first in comp.sources.bugs, and then in
updated:	1995/03/02

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:	1989/01/05

language:	Maisie
package:	Maisie
version:	2.1
parts:		?, user manual, examples
author:		Wen-Toh Liao <wentoh@may.CS.UCLA.EDU>
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:	1993/06/14

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 <>
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:	<>
updated:	1992/12/15

language:	uC++
package:	uC++
version:	4.6
parts:		translator (uC++ to C++), concurrency library, documentation,
author:		Peter A. Buhr <>
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
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+ ( )
		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:	1995/09/14

language:	Objective-C
package:	libcoll -- Collection Class Library for GNU Objective-C
version:	940510
parts:		class library
author:		Andrew McCallum <>
location: 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
updated:	1994/05/10

language:	Glenda
package:	Glenda parallel programming environment
version:	0.91
parts:		preprocessor,tuple server, and tuple functions
author:		Ray Seyfarth <>
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:	1993/06/01

compiled, imperative languages
category:	compiled, imperative languages
description:	This is the set of traditional infix languages other than C
		and Pascal which each have their own section.
cref:		C variants
cref:		Wirth family languages
lref:		Simula
lref:		Fortran

language:	Ada
package:	Ada/Ed
version:	1.11.0a+
parts:		translator(?), interpreter, ?
author:		?
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 <>
updated:	1992/05/08

language:	Ada
package:	GW-Ada
version:	?
parts:		translator, interpreter, editor, runtime environment
author:		?
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 <>
updated:	1993/09/01

language:	Ada
package:	Ada grammar
version:	?
parts:		scanner(lex), parser(yacc)
author:		?
location: or email to
description:	?
updated:	1991/10/12

language:	Ada
package:	Compiler for Toy/Ada in SML/NJ
version:	?
parts:		translator(?)
author:		Amit Bhatiani <>
description:	?
conformance:	subset
updated:	1992/04/08

language:	Ada
package:	NASA PrettyPrinter
version:	?
parts:		Ada LR parser, ?
author:		? Michael Feldman <> in comp.compilers
		provided the initial reference to this package, he also has a
		yacc grammar for ada.
location: from Ada Software Repository
description:	pretty-print program that contains an ada parser
requires:	Ada
updated:	1991/02/01

language:	Ada
package:	yacc grammar for Ada
version:	?
parts:		parser(yacc)
author:		Herman Fischer
description:	?
contact:	?
updated:	1991/02/01

language:	Ada
package:	Paradise
version:	2.0
parts:		library
author:		?
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
updated:	1992/09/30

language:	Ada
package:	Adamakegen
version:	2.6.3
parts:		makefile generator
author:		Owen O'Malley <>
description:	A program that generates makefiles for Ada programs
requires:	Icon
ports:		Verdix, SunAda
updated:	1993/03/02

language:	Ada 95
package:	GNAT
version:	3.01
parts:		Full compiler, standard environment, build tools,
author:		The GNAT Project at New York University.
		Now maintained by Ada Core Technologies (
		See also
		debugger at:
		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:	1995/12/19

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 <>
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
bugs:		Grammar known to be somewhat liberal (to avoid
		ambiguity); Lexer does not support wide characters;
		Report bugs to or comp.lang.ada
ports:		SunOS 4.X, others presumed
portability:	No known system dependencies
status:		active, though presumed "done"
discussion:	comp.lang.ada
updated:	1994/06

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/
     N.America: from host or
		Also available via NFS mounts on WUARCHIVE
		gopher:// and gopher://
		email server, 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
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
		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
announcements:	comp.lang.ada,
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.
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
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
updated:	??

language:	FOOGOL (a subset of Algol-60)
package:	cfoogol
version:	5.0
parts:		compiler(->C)
author:		Per Lindberg, John Cowan <>
		(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:	1994/05/08

language:	Algol
lref:		Simula

language:	BCPL
package:	?
version:	?
parts:		?
author:		?
description:	The original INTCODE interpreter for BCPL.
ports:		Amiga, Unix, MSDOS
contact:	?
updated:	?

language:	BCPL
package:	?
version:	?
parts:		?
author:		?
location: 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:	E
package:	Amiga E
version:	2.1b
parts:		compiler, assembler, linker, utilities
author:		Wouter van Oortmerssen <>
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:	1993/03/01

language:	Eiffel
package:	?
version:	?
parts:		source checker
author:		Olaf Langmack <> and Burghardt Groeber
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:	1992/12/14

language:	Eiffel
package:	SmallEiffel
version:	(-0.85)
parts:		compiler
author:		Dominique Colnet & and
		Suzanne Collin &lt?&gt
description:	SmallEiffel is the fruit of a research project done at CRIN
		(Centre de Recherche en Informatique de Nancy).
		SmallEiffel is intended to be a complete, though small and very
		fast, free Eiffel compiler.
		SmallEiffel is already used by students of the University Henri
		Poincare' at Nancy (FRANCE).
		We are using Eiffel as a first langage for teaching OOP
		since 1990 (SmallEiffel is used since september 1995).
		SmallEiffel is already portable on UNIX, Linux, BSD, HP-UX,
		IRIX, XENIX, DOS, OS2, WINDOWS 95 and Macintosh.
		Current distribution includes an Eiffel to C compiler,
		Eiffel to Java byte code compiler, Eiffel pretty printer,
		Java byte code viewer, finder.
		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
restrictions:	GPL
updated:	1997/05/13

language:	Sather
package:	Sather 1.0
version:	1.0.6
parts:		compiler(->C), library, examples, documentation
author:		International Computer Science Institute in Berkeley, CA
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
bugs:		Send email to
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, 2.x, OS/2
portability:	high.
status:		actively developed
discussion:	comp.lang.sather
announcements:	comp.lang.sather, also a mailing list; send mail to
updated:	1994/10/31

language:	Simula 67
package:	cim
version:	1.62
parts:		compiler(->C)
author:		Sverre Hvammen Johansen <>
		Stein Krogdahl <>
		Terje Mjoes.
description:	A compiler that translates Simula to C, for further
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
		"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:
contact:	E-mail:
updated:	1995/03/20.

language:	XPL (PL/I dialect)
package:	XPL optimizing Compiler
version:	1
parts:		compiler, documentation
author:		Robin Vowels <>
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
		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
updated:	1993/08/07

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 <>
		Gary Funck <>
location: to obtain
		a shar archive in compressed GNU zip format.  To access
		the mail server, mail "send plm.shar"
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:	1997/07/15

object oriented languages
category:	object oriented languages
description:	In general, object oriented languages were categorized
		elsewhere.  Only those that were not anything but object-
		oriented are here.  (HTML version has 'em all here)
lref:		ABCL ???
lref:		ABCL/1
lref:		ALLOY
lref:		BETA
lref:		C++
lref:		CLU
lref:		Common Lisp
lref:		Dylan
lref:		MeldC
lref:		Objective-C
lref:		Oberon2
lref:		Perl
lref:		Proxy
lref:		Python
lref:		Sather
lref:		Simula
lref:		Simula 67
iref:		(Tcl) BOS
iref:		(Scheme) STk
iref:		(Scheme) SOS
iref:		(E) GNU E

language:	BETA
package:	BETA
version:	?
parts:		interpreter
author:		Erik Ernst
description:	The ftp site contains source code, precompiled interpreters
		for three platforms (Sun/Sparc,Linux,HP-UX9), and sundry
		text files giving instructions on how to install and use
		the interpreter.  The interpreter is very new and does
		contain known bugs (probably also a few unknown ones ;-).
		However, it is stable enough to be useful for writing small
		programs (10-100 lines) and executing them in a gdb-like
		environment, to investigate the semantics of both BETA and
		the generalization: standard BETA programs will run with
		the same semantics as before, and the new features are
		there if you use them.
updated:	?

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
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
		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
		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
updated:	1994/10/25

language:	Dynace
package:	Dynace
version:	4.01
parts:		translator(Dynace->C), library, documentation, examples
author:		Blake McBride <>
description:	Object Oriented extension to C similar to Objective-C
		only doesn't modify C syntax.  Adds features similar
		to CLOS and Smalltalk without their overhead.
features:	+ metaobject protocol
		+ generic functions
		+ multiple inheratance
		+ automatic garbage collector
		+ portable threader
		+ very portable
		+ 300+ pages of documentation
		+ well tested and used in commercial packages
restriction:	free for non-commercial use
ports:		Linux/Unix/DOS/VMS/Windows 3.1/95/NT
portability:	entirely in portable C, optional assembler pieces for speed
status:		active, supported
discussion:	comp.lang.misc,
announcements:	comp.lang.misc, comp.lang.c
updated:	1997/04/05

language:	Java
package:	JCC
parts:		Translator
author:		Nik Shaylor
description:	JCC is a direct Java to C converter. Unlike other translators
		JCC does not convert Java class files, but instead processes
		Java source code directly. It converts whole programs at
		a time and because of this it can make a number of
		optimisations that would be very difficult to achieve with
		other techniques.  When used with a good optimising C
		compiler it produces programs that are typically between
		10 to 20 times faster than Sun's 1.0.2 JVM.
updated:	?

language:	O'small
package:	O'small
version:	Initial release
parts:		compiler?, parser/scanner specification
author:		? Andreas Hense <>
location:	FTP://*
description:	A concise, formally defined object-oriented language suited
		for teaching object oriented programming.
reference:	(Numerous references listed in software documentation)
		Christoph Boeschen.  Christmas - An abstract machine for
		O'small.  Master's thesis, Universit"at des Saarlandes,
		Fachbereich 14, June 1993.
requires:	sml-yacc, sml-lex, sml-noshare (details in HowToGetML).
ports:		Sun 4, SPARC (binaries provided).
portability:	Probably portable to other Unix's.
updated:	1993/06/25

language:	O'small
package:	?
version:	?
parts:		interpreter
author:		?
location:	?
description:	?
requires:	Miranda
ports:		?
portability:	?
updated:	?

language:	Self
package:	Self
version:	3.0
parts:		compiler, debugger, browser
author:		The Self Group at Sun Microsystems & Stanford University
location: or
description:	The Self Group at Sun Microsystems Laboratories, Inc., and
		Stanford University is pleased to announce Release 2.0 of the
		experimental object-oriented exploratory programming language
		Self.  Release 2.0 introduces full source-level debugging of
		optimized code, adaptive optimization to shorten compile
		pauses, lightweight threads within Self, support for
		dynamically linking foreign functions, changing programs within
		Self, and the ability to run the experimental Self graphical
		browser under OpenWindows.
		Designed for expressive power and malleability, Self combines a
		pure, prototype-based object model with uniform access to state
		and behavior. Unlike other languages, Self allows objects to
		inherit state and to change their patterns of inheritance
		dynamically. Self's customizing compiler can generate very
		efficient code compared to other dynamically-typed
		object-oriented languages.
ports:		Sun-4 (SPARC) only  [Sun-3 discontinued]
portability:	compiler back end and runtime system system-dependent
		(source available)
discussion:	mailing list --,
		send mail to self-request to be added.
updated:	1992/08/13

language:	Smalltalk
package:	Little Smalltalk
version:	4.0
parts:		?
author:		Tim Budd <> ?
description:	?
ports:		unix, pc, atari, vms
status:		?
updated:	?

language:	Smalltalk
package:	GNU Smalltalk
version:	1.1.1
parts:		?
author:		Steven Byrne <>
location:	ftp smalltalk-1.1.1.tar.Z from a GNU archive site
description:	?
bugs:		gnu.smalltalk.bug
discussion:	?
contact:	?
updated:	1991/09/15

language:	Smalltalk
package:	msgGUI
version:	1.0
parts:		library
author:		Mark Bush <>
description:	GUI for GNU Smalltalk.	This this package contains the basics
		for creating window applications in the manner available in
		other graphical based Smalltalk implementations.
updated:	1992/12/14

language:	Smalltalk
package:	Mei
version:	0.50
parts:		interpreters(Lisp,Prolog), examples, libraries, tools, editor,
author:		Atsushi Aoki <> and others
description:	Mei is a set of class libraries for Objectworks Smalltalk
		Release 4.1.  it includes:
		1. Grapher Library (useful for drawing diagrams);
		2. Meta Grapher Library (grapher to develop grapher);
		3. Drawing tools and painting tools (structured diagram
		editors and drawing editors);
		4. GUI editor (graphical user interface builder);
		5. Lisp interpreter;
		6. Prolog interpreter;
		7. Pluggable gauges;
		8. Extended browser; (package, history, recover, etc.)
restriction:	GNU General Public License
requires:	Objectworks Smalltalk Release 4.1
contact:	Watanabe Katsuhiro <>
updated:	1993/01/20

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

language:	Trellis
package:	TNT
version:	0.2 beta
parts:		compiler, library, run-time system
author:		?
desciption:	Trellis is an object-oriented language developed within Digital
		Equipment Corp. The language features compile-time type
		checking, multiple inheritance, parametrized types, exception
		handling and iterators.
		Currently the run-time system does not support garbage collection
		or threads.
requires:	building from source: Cocktail V9208, GNU make V3.68, patch, makedepend
restriction:	may not be used for non-academic, non-research, non-internal
		business purposes
ports:		OSF/1, HP-UX, Linux, Ultrix, SunOS
updated:	1994/10/27

language:	TOM
package:	tom
version:	0.91
parts:		compiler(->C), various tools, documentation, examples,
		test suite, run-time library, libraries, parser generator.
author:		Pieter Schoenmakers <>
location: for downloadable
		source distribution and binaries for selected platforms.
description:	TOM is an object oriented language developed as a better
		Objective-C.  It doesn't suffer the `C' part (in a way
		similar to Java) and the `Objective' part is much enhanced.
conformance:	the C files generated by the compiler need to be processed
		by GNU CC.  The runtime library needs GCC as well; the
		compiler and some other tools are written in Objective-C.
reference: lists more documentation.
features:	The language promotes usability, as opposed to reusability.
		To this extent:
		+ classes are extensible entities: a class is fully defined
		by its main definition and any extensions defined for it,
		+ an extension can add and replace methods.  In support of
		complex added behaviour, an extension can add instance
		variables.  To promote object reusability, an extension can
		introduce additional superclasses,
		+ extensions can be added to a program at compile, link, or
		run time.
bugs:		mail them to <>
restriction:	tools: GNU General Public License,
		libraries: GNU Library General Public License.
requires:	to build: GNU CC, GNU Make, Bison, Flex, Tiggr's
		Objective-C Library (available from the same site as TOM)
		(plus anything needed by autoconf generated scripts).
		to use: GNU CC.
ports:		hppa-hpux, i386-freebsd, i386-linux, i386-nextstep3,
		m68k-nextstep3, ppc-linux.
portability:	very high: porting to a new machine takes a few hours.
		Provide the author with an account on the UNIX machine of
		your choice, and the port will be created (and maintained
		if the account persists).
status:		actively developed
support:	professional support available from the author
announcements:	comp.lang.misc, comp.os.linux.announce,
		discussion mailing list <>
updated:	1997/08/03

Send compilers articles to, meta-mail to  Archives at

User Contributions:

the simplest way scheming housewives will most likely handle moreso than men while tackling threats

Volunteers expressed choosing component in without any help or becoming a member of aids combined with much more two enemies.

In the next capability, make use of them skip event, but also separation overhead three expedited new us passport. through the game, several of the best volunteers they were met with the potential for social exemption.

in cases where cut-throat by himself, Volunteers were advised it functioned the chance of being excluded because two other folks.

any time linking stresses that have one attacker, The volunteers [url=]LATAMDATE[/url] informed that after they managed to succeed with the third player would include ruled out not to mention wouldn't most information.

outcome revealed that when volunteers played the [url=]latamDate[/url] game creating a much healthier risk of social different it had no difference between most people in how frequent they start to decide to form an alliance with another player.

bear in mind, governed motion different consideration was adopted, female students made a decision to join forces by means of one opponent so banish any third player more often than had male volunteers.

'Women of all ages may a little more troubled to be able to to help exclusion social, And when they feel threatened by [url=]latamDate Scam[/url] the candidate of being left out, a ladies first comeback are usually on the way to socially leave out a third event.

Comment about this article, ask questions, or add new information about this topic:

Part1 - Part2 - Part3 - Part4 - Part5

[ Usenet FAQs | Web FAQs | Documents | RFC Index ]

Send corrections/additions to the FAQ Maintainer: (David Muir Sharnoff)

Last Update March 27 2014 @ 02:11 PM