category: programming in the large


Description:
These are systems designed for large-scale programming projects.

[I just added this category, so please add to it --ed]



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:
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, nroff, texinfo, latex, html, autodoc
Package:
c2man
Version:
2.0 patchlevel 41
Parts:
documentation generator (C -> nroff -man, -> texinfo, -> latex,
-
> html, -> autodoc)
Author:
Graham Stoney <greyham@research.canon.com.au>
Location:
ftp source and patches from any comp.sources.misc archive. (the version in the comp.sources.reviewed archive is obsolete)
package:
ftp://ftp.research.canon.com.au/pub/misc/c2man/c2man.tar.gz
patches:
ftp://ftp.research.canon.com.au/pub/misc/c2man/patches/
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
Requires:
yacc/byacc/bison, lex/flex, and nroff/groff/texinfo/LaTeX.
Ports:
Unix, OS/2, MSDOS, VMS, Amiga.
Portability:
very high for unix, via Configure
Status:
user-supported; contributions by users are encouraged.
Discussion:
c2man mailing list: send "subscribe c2man" (in the message body) to majordomo@research.canon.com.au
Help:
from the author and other users on the mailing list: c2man@research.canon.com.au
Announcements:
patches appear first in comp.sources.bugs, and then in comp.sources.misc.
Updated:
October 17th, 1996

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

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

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

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

Language:
C, lcc intermediate format
Package:
Chop
Version:
0.6
Parts:
code generator
Author:
Alan L. Wendt <wendt@CS.ColoState.EDU>
Location:
ftp://beethoven.cs.colostate.edu/pub/chop/0.6.tar.Z
Description:
The current revision, 0.6, is interfaced with Fraser and Hanson's lcc front end. The result is a highly fast C compiler with good code selection and no global optimization. Project Status: Chop compiles and runs a number of small test programs on the Vax. I'm currently updating the NS32k and 68K retargets for lcc compatibility. After I get them working, I'll work on getting the system to compile itself, get struct assignments working, improve the code quality and compile speed, and run the SPEC benchmarks. That will be rev 1.0.
Reference:
"Fast Code Generation Using Automatically-Generated Decision Trees", ACM SIGPLAN '90 PLDI
Updated:
April 28th, 1993

Language:
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
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:
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:
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:
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:
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:
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:
2.7.1
Parts:
compiler, runtime, examples, documentation Library listed separately
Author:
Richard Stallman and others
Location:
ftp://gatekeeper.dec.com/gcc-2.X.X.tar.gz or any other GNU archive site
msdos:
ftp://oak.oakland.edu/pub/msdos/djgpp/*
6811:
ftp://netcom.com/pub/coactive/gcc-6811-beta.tar.gz (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: ftp://dse.doc.ic.ac.uk/pub/misc/bcc
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, 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:
gnu.gcc.help (for C/Objective-C), gnu.g++.help (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:
November 27th, 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:
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:
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:
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:
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:
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:
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:
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:
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:
C (ANSI)
Package:
unproto ?
Version:
? 4 ? 1.6 ?
Parts:
translator(K&R C)
Author:
Wietse Venema <wietse@wzv.win.tue.nl>
Location:
ftp://ftp.win.tue.nl/pub/unix/unproto4.shar.Z
Description:
?
Contact:
?
Updated:
?

Language:
C
Package:
ups
Version:
2.1
Parts:
interpreter, symbolic debugger, tests, documentation
Author:
Mark Russell <mtr@ukc.ac.uk>
Location:
? ftp://export.lcs.mit.edu/contrib/ups*.tar.Z ?
unofficial:
unofficial enhancements by Rod Armstrong <rod@sj.ate.slb.com>, available ftp://sj.ate.slb.com/misc/unix/ups/contrib/rob
Description:
Ups is a source level C debugger that runs under X11 or SunView. Ups includes a C interpreter which allows you to add fragments of code simply by editing them into the source window
Bugs:
Mark Russell <mtr@ukc.ac.uk>
Ports:
Sun, Decstation, VAX(ultrix), HLH Clipper
Discussion:
ups-users-request@ukc.ac.uk
Updated:
May 20th, 1991

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

Language:
C
Package:
xdbx
Version:
2.1
Parts:
X11 front end for dbx
Author:
?
Location:
retrieve xxgdb from comp.sources.x volumes 11, 12, 13, 14, & 16
Description:
?
Contact:
Po Cheung <cheung@sw.mcc.com>
Updated:
Febuary 22nd, 1992

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

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

This work supported by Idiom Consulting. Idiom is a full-service ISP, providing Internet access in Northern California and Web hosting worldwide.

Please send updates to free-compilers@idiom.com

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