| These are languages that can access curses, or have an equivalent. |
| C (ANSI) | |
| ? 1984 ANSI C to K&R C preprocessor ? | |
| ? | |
| translator(K&R C) | |
| ? | |
| from comp.sources.unix archive volume 1 | |
| ? | |
| ? | |
| ? |
| C++ | |
| ? signatures for GCC 2.5.2. ? | |
| ? | |
| patches to GNU CC, documentation | |
| Gerald Baumgartner <gb@cs.purdue.edu> | |
| ftp://ftp.cs.purdue.edu/pub/gb/* | |
| 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. | |
| GNU CC 2.5.2 | |
| November 3rd, 1993 |
| C++ | |
| ??? A C++ Parser toolkit | |
| ? | |
| library | |
| Mayan Moudgill <moudgill@cs.cornell.EDU> | |
| ftp://ftp.cs.cornell.edu/pub/Parse.shar | |
| A collection of C++ classes that make building a recursive descent parser/scanner very easy. | |
| Sun 4 with cfront 3.0, | |
| uses mmap(); probably low. | |
| April 11th, 1993 |
| C++ | |
| aard ??? | |
| ? | |
| memory use tracer | |
| ? | |
| ftp://wilma.cs.brown.edu/pub/aard.tar.Z | |
| 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. | |
| Sparc, C++ 3.0.1, SunOS 4.X | |
| Steve Reiss <spr@cs.brown.edu> | |
| ? |
| C | |
| ae (application executive) | |
| 2 | |
| interpreter | |
| Brian Bliss <bliss@convex.com> | |
| ftp://sp2.csrd.uiuc.edu/pub/CSRD_Software/APPL_EXEC/ | |
| 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. | |
| SunOS (cc or gcc), Alliant FX, SGI (partial), Cray YMP (partial) | |
| July 18th, 1993 |
| C preprocessor | |
| amc | |
| 1.0 | |
| compiler | |
| myg@din.net | |
| http://www.din.net/amc | |
| Gives languages like C a module structure more akin to TurboPascal. Support for a more dynamic form of OOP is still in development, although the hooks are here. Some documentation is really needed, any voulanteers? | |
| well written code (IMHO), can easily add your own extensions and integrated them with little effort. | |
| It could do a better job of copying C code rather than using MACRO's. Later. | |
| See license agreement, not many. Just E-mail author about anything not in agreement with License. | |
| HP-UX, Linux, Solaris, NeXTStep | |
| myg@din.net | |
| June 2nd, 1997 |
| C++ | |
| C++ grammar | |
| ? | |
| parser (yacc) | |
| ? | |
| comp.sources.misc volume ? | |
| [is this a copy of the Roskind grammar or something else? --ed] | |
| October 23rd, 1991 |
| C++ | |
| C++ Object Oriented Library | |
| COOL ?, GECOOL 2.1, JCOOL 0.1 | |
| libraries, tests, documentation | |
| ? | |
| GECOOL, JCOOL: ftp://cs.utexas.edu/pub/COOL/* COOL: ftp://csc.ti.com/pub/COOL.tar.Z | |
| 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. | |
| ? | |
| Van-Duc Nguyen <nguyen@crd.ge.com> | |
| August 5th, 1992 |
| C++ | |
| C++SIM | |
| 1.0 | |
| library | |
| Mark Little <M.C.Little@newcastle.ac.uk> | |
| ftp://arjuna.ncl.ac.uk/ ?? | |
| C++SIM is a class library that provides the same sort of features found in the simulation class libraries of SIMULA. | |
| June 14th, 1993 |
| C | |
| C-Interp | |
| ? | |
| interpreter | |
| ? | |
| ftp://oac2.hsc.uth.tmc.edu/Mac/Misc/C_Interp.sit | |
| An interpreter for a small subset of C, originally part of a communications package. | |
| ? Chuck Shotton <cshotton@oac.hsc.uth.tmc.edu> | |
| May 14th, 1993 |
| C | |
| C-Tree | |
| .04 | |
| Source | |
| Shaun Flisakowski | |
| 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 | |
| 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. | |
| July 13th, 1997 |
| C, nroff, texinfo, latex, html | |||||||||||||
| c2man | |||||||||||||
| 2.0 patchlevel 34 | |||||||||||||
documentation generator (C -> nroff -man, -> texinfo, -> latex,
| |||||||||||||
| Graham Stoney <greyham@research.canon.oz.au> | |||||||||||||
| |||||||||||||
| 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. | |||||||||||||
| supports both K&R and ISO/ANSI C coding styles | |||||||||||||
| |||||||||||||
| yacc/byacc/bison, lex/flex, and nroff/groff/texinfo/LaTeX. | |||||||||||||
| Unix, OS/2, MSDOS, VMS. | |||||||||||||
| very high for unix, via Configure | |||||||||||||
| actively developed; contributions by users are encouraged. | |||||||||||||
| via a mailing list: send "subscribe c2man <Your Name>" (in the message body) to listserv@research.canon.oz.au | |||||||||||||
| from the author and other users on the mailing list: c2man@research.canon.oz.au | |||||||||||||
| patches appear first in comp.sources.bugs, and then in comp.sources.misc. | |||||||||||||
| March 2nd, 1995 |
| C | |
| c68/c386 | |
| 4.2a | |
| compiler | |
| Matthew Brandt, Christoph van Wuellen, Keith and Dave Walker | |
| 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 | |
|
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. | |
| 386 and 68k Minix. generic unix actually. | |
| actively worked on by the Walkers. | |
| comp.os.minix | |
| ? |
| C (ANSI) | |
| cextract | |
| 1.7 | |
| translator(K&R C), header file generator | |
| Adam Bryant <adb@cs.bu.edu> | |
| ftp from any comp.sources.reviewed archive | |
| 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 | |
| Unix, VMS | |
| November 3rd, 1992 |
| C (ANSI) | |
| cgram | |
| ? | |
| grammar | |
| Mohd Hanafiah Abdullah <napi@cs.indiana.edu> | |
| ftp://primost.cs.wisc.edu/pub/comp.compilers/cgram-ll1.Z | |
| 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. | |
| Scheme | |
| ? | |
| ? |
| C, lcc intermediate format | |
| Chop | |
| 0.6 | |
| code generator | |
| Alan L. Wendt <wendt@CS.ColoState.EDU> | |
| ftp://beethoven.cs.colostate.edu/pub/chop/0.6.tar.Z | |
| 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. | |
| "Fast Code Generation Using Automatically-Generated Decision Trees", ACM SIGPLAN '90 PLDI | |
| April 28th, 1993 |
| Common Lisp | |
| CLISP | |
| July 12th, 1994 | |
| interpreter, bytecode compiler, runtime library, editor | |
| Bruno Haible <haible@ma2s2.mathematik.uni-karlsruhe.de>, Michael Stoll <michael@rhein.iam.uni-bonn.de> | |
| ftp://ma2s2.mathematik.uni-karlsruhe.de/pub/lisp/clisp ftp://sunsite.unc.edu/pub/Linux/development/lisp/ ftp://tsx-11.mit.edu/pub/linux/packages/lisp/ | |
| CLISP is a Common Lisp (CLtL1) implementation by Bruno Haible of Karlsruhe University and Michael Stoll of Munich University, both in Germany. It needs only 1.5 MB of RAM. German and English versions are available, French coming soon. Packages running in CLISP include PCL and, on Unix machines, CLX. A native subset of CLOS is included. | |
| CLtL1 + parts of CLtL2 | |
| GNU General Public License | |
| Atari, Amiga, MS-DOS, OS/2, Linux, Sun4, Sun386i, HP90000/800 and others | |
| send "subscribe clisp-list" to listserv@ma2s2.mathematik.uni-karlsruhe.de | |
| Bruno Haible <haible@ma2s2.mathematik.uni-karlsruhe.de> | |
| July 12th, 1994 |
| C++ | |
| cppp | |
| 1.14 | |
| parser (yacc) | |
| Tony Davis <ted@cs.brown.edu> | |
| ftp://wilma.cs.brown.edu/pub/cppp.tar.Z | |
| A compiler front-end for C++, with complete semantic processing. Outputs abstract syntax graph. | |
| Permission needed for incorporation into commercial software. | |
| Native C++ compiler, lex, yacc, make, sed (or hand editing) | |
| Upgrading the back end. | |
| May 26th, 1993 |
| C (ANSI) | |
| cproto | |
| 4 patchlevel 0 | |
| translator(K&R C) | |
| Chin Huang <chin.huang@canrem.com> | |
| comp.sources.misc volume 29 | |
| cproto generates function prototypes from function definitions. It can also translate function definition heads between K&R style and ANSI C style. | |
| Unix, VMS, MS-DOS | |
| July 18th, 1992 |
| C-Refine, C++-Refine, *-Refine | |
| crefine | |
| 3.0 | |
| pre-processor, documentation | |
| Lutz Prechelt <prechelt@ira.uka.de> | |
| aquire from any comp.sources.reviewed archive | |
| C-Refine is a preprocessor for C and languages that vaguely resemble C's syntax. It allows symbolic naming of code fragments so as to redistribute complexity and provide running commentary. | |
| unix, msdos, atari, amiga. | |
| high | |
| July 16th, 1992 |
| C | |
| csize | |
| 1.12 | |
| code analysis tool | |
| Christopher Lott <c.m.lott@ieee.org> | |
| http://www.cs.umd.edu/users/cml/ | |
| A C language code counter | |
| October 17th, 1994 |
| C | |
| CSlang | |
| 1.0 | |
| interpreter | |
| Tudor Hulubei <tudor@cs.unh.edu> | |
| http://www.cs.unh.edu/~tudor/cslang/ ftp://ftp.cs.unh.edu/pub/grads/tudor/cslang/cslang-1.0.tar.gz | |
| 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. | |
| inactive | |
| 1997 |
| C | |
| cutils | |
| 1.5.2 | |
| C language miscellaneous utilities | |
| C language miscellaneous utilities; C, obfusc, shrouder, highlight, yacc, literate | |
| ssigala@globalnet.it (Sandro Sigala) | |
| ftp://ftp.vix.com/guests/ssigala/pub/cutils ftp://sunsite.unc.edu/pub/Linux/devel/lang/c | |
| ANSI C compiler | |
| BSD-like | |
| 1997/11 |
| C | |
| Cxref | |
| 1.4 | |
| Documentation + Cross-reference generator | |
| Andrew M. Bishop <amb@gedanken.demon.co.uk> | |
| 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 | |
|
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. | |
| |
| GPL | |
| Yacc, Lex, C compiler, HTML browser and/or LaTeX. | |
| UNIX (Linux, SunOS, Solaris, HPUX) others? | |
| Will compile for WinNT, OS/2, but needs a little work. | |
| 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. | |
| By mail to author amb@gedanken.demon.co.uk, or on cxref homepage via http://www.gedanken.demon.co.uk/ | |
| As for discussion above. | |
| As for discussion above. | |
| As for discussion above. | |
| comp.os.linux.announce and homepage. | |
| 1997/07 |
| C | |
| cxref | |
| ? | |
| code analysis tool | |
| Arnold Robbins <arnold@gatech.?> | |
| use archie | |
| A cross-reference genrator | |
| ? |
| C, C++ | |
| Cyclo - cyclomatic complexity tool | |
| the one and only version | |
| code analysis tool | |
| Roger D Binns | |
| alt.sources archive, June 28th, 1993, <C9C2rH.EE@brunel.ac.uk> | |
| It measures cyclomatic complexity, shows function calls and can draw flowgraphs of ANSI C and C++ code. | |
| lex, C++ | |
| June 28th, 1993 |
| C, C++ | |
| ddd | |
| 2.1 | |
| symbolic graphical debugger, documentation | |
| Andreas Zeller | |
| ftp://ftp.ips.cs.tu-bs.de/pub/local/softech/ddd/ddd-2.1.tar.gz | |
| 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. | |
| ddd@ips.cs.tu-bs.de http://www.cs.tu-bs.de/softech/ddd/ | |
| GPL | |
| May 5th, 1997 |
| C | |
| dsp56165-gcc | |
| ? | |
| compiler | |
| Andrew Sterian <asterian@eecs.umich.edu> | |
| ftp://wuarchive.wustl.edu/usenet/alt.sources/? | |
| A port of gcc 1.40 to the Motorola DSP56156 and DSP56000. | |
| ? |
| C | |
| dsp56k-gcc | |
| ? | |
| compiler | |
| ? | |
| A port of gcc 1.37.1 to the Motorola DSP56000 done by Motorola | |
| ? | |
| ? |
| Duel (a <practical> C debugging language) | |
| DUEL | |
| 1.10 | |
| interpreter, stand-alone module, documentation, test suites | |
| Michael Golan <mg@cs.princeton.edu> | |
| ftp://ftp.cs.princeton.edu/duel/* | |
| DUEL acts as front end to gdb. It implements a language designed for debbuging C programs. It mainly features efficient ways to select and display data items. It is normally linked into the gdb executable, but could stand alone. It interprets a subset of C in addition to its own language. | |
| gdb | |
| author is pushing the system hard. | |
| March 20th, 1993 |
| C++, Extended C++ | |
| EC++ | |
| ? | |
| translator(C++), documentation | |
| Glauco Masotti <masotti@lipari.usc.edu> | |
| ? ftp://ftp.uu.net/languages/c++/EC++.tar.Z ? | |
EC++ is a preprocessor that translates Extended C++
into C++. The extensions include:
| |
| ? | |
| October 10th, 1989 |
| C, C++, Objective-C | |
| emx programming environment for OS/2 | |
| 0.8g | |
| gcc, g++, gdb, libg++, .obj linkage, DLL, headers | |
| Eberhard Mattes <mattes@azu.informatik.uni-stuttgart.de> | |
| ? | |
| subscribe to emx-list using listserv@ludd.luth.se | |
| September 21st, 1992 |
| C++ | |
| ET++ | |
| 3.0-alpha | |
| class libraries, documentation | |
| ? | |
| ftp://iamsun.unibe.ch/C++/ET++/* | |
| ? | |
| Erich Gamma <gamma@ifi.unizh.ch> | |
| October 26th, 1992 |
| Fortran | |
| F-curses | |
| ? | |
| library | |
| Wade Schauer <sal!wade@sactoh0.sac.ca.us> | |
| comp.sources.misc volume 44 | |
| F-curses (C) is a library of Fortran and C routines that gives Fortran programmers tranparent access to the curses library (a C library). | |
| shareware | |
| UNIX, MS-DOS | |
| October 10th, 1994 |
| C | |
| fdlibm | |
| ? | |
| library | |
| Dr. K-C Ng | |
| ftp://netlib.att.com/netlib/fdlibm.tar | |
| 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. | |
| IEEE 754 | |
| Send comments and bug reports to: fdlibm-comments@sunpro.eng.sun.com. | |
| December 18th, 1993 |
| C | |
| gc | |
| 3.4 | |
| library | |
| Hans-J. Boehm <boehm@parc.xerox.com>, Alan J. Demers | |
| ftp://parcftp.xerox.com/pub/russell/gc3.4.tar.Z | |
| 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. | |
| 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. | |
| November 5th, 1993 |
| C | |
| GCT | |
| 1.4 | |
| test-coverage-preprocessor | |
| Brian Marick <marick@cs.uiuc.edu> | |
| ftp://cs.uiuc.edu/pub/testing/gct.file/ftp.* | |
| GCT is test-coverage tool based on GNU C. Coverage tools measure how thoroughly a test suite exercises a program. | |
| CopyLeft | |
| sun3, sun4, rs/6000, 68k, 88k, hp-pa, ibm 3090, ultrix, convex, sco | |
| Gct-Request@cs.uiuc.edu | |
| commercial support available from author, (217) 351-7228 | |
| Febuary 12th, 1993 |
| C, C++ | |
| gdb | |
| 4.15.1 | |
| symbolic debugger, documentation | |
| many, but most recently Fred Fish <fnf@cygnus.com>, Stu Grossman <grossman@cygnus.com>, and John Gilmore <gnu@cygnus.com>, all of Cygnus Support | |
| ftp://gatekeeper.dec.com/gdb-*.tar.[zZ] or any other GNU archive site | |
| gdb is a full-featured symbolic debugger. It fills the same niche as dbx. Programs must be compiled with debugging symbols. | |
| <bug-gdb@prep.ai.mit.edu> | |
| CopyLeft | |
| most unix variants, vms, vxworks, amiga, msdos | |
| November 4 1995 |
| Glenda | |
| Glenda parallel programming environment | |
| 0.91 | |
| preprocessor,tuple server, and tuple functions | |
| Ray Seyfarth <seyfarth@whale.st.usm.edu> | |
| ftp://seabass.st.usm.edu/pub/glenda.tar.Z | |
| 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. | |
| RS6000, SUN4, LINUX | |
| June 1st, 1993 |
| C | |
| GNU C Library (glibc) | |
| 2.0.3 | |
| library, documentation | |
| ? | |
| 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. | |
| 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. | |
| ANSI and POSIX.1 superset. Large subset of POSIX.2 | |
| Reports sent to mailing list bug-glibc@prep.ai.mit.edu. | |
| most os's on alpha, i386, m88k, mips, and sparc | |
| November 7th, 1994 |
| C++ | |
| GNU C++ Library (libg++) | |
| 2.6 | |
| library | |
| Per Bothner <bothner@cygnus.com> ? | |
| libg++-2.5.1.tar.gz from a GNU archive site | |
| The run-time library for the GNU C++ compiler. This package is separately maintained. | |
| ? ANSI and POSIX.1 superset | |
| bug-lib-g++@prep.ai.mit.edu | |
| July 19th, 1994 |
| C, C++, Objective-C, RTL | |||||||
| GNU CC (gcc) | |||||||
| 2.7.1 | |||||||
| compiler, runtime, examples, documentation Library listed separately | |||||||
| Richard Stallman and others | |||||||
| |||||||
| 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 | |||||||
|
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. | |||||||
| gnu.gcc.bug (for C/Objective-C), gnu.g++.bug (for C++) | |||||||
| GNU General Public License | |||||||
| 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 | |||||||
| very high | |||||||
| actively developed | |||||||
| gnu.gcc.help (for C/Objective-C), gnu.g++.help (for C++) | |||||||
| gnu.gcc.announce (for C/Objective-C), gnu.g++.announce (for C++) | |||||||
| 1995 |
| C, C++, Objective-C, RTL | |
| GNU CC (gcc) - unsupported Macintosh port | |
| 1.37 | |
| compiler, runtime, examples, documentation Library listed separately | |
| ? | |
| mpw-gcc-1.37.1r14 from ? | |
| 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] | |
| ? | |
| GNU General Public License | |
| Macintosh | |
| very high | |
| ? | |
| November 27th, 1993 |
| E (a persistent C++ variant) | |
| GNU E | |
| 2.3.3 | |
| compiler | |
| ? | |
| ftp://ftp.cs.wisc.edu/exodus/E/gnu_E* | |
|
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. | |
| GNU General Public License; not all runtime sources are available (yet) | |
| release 2.1.1 of the Exodus storage manager | |
| exodus@cs.wisc.edu | |
| January 20th, 1993 |
| C | |
| GNU superoptimizer | |
| 2.5 | |
| exhaustive instruction sequence optimizer | |
| Torbjorn Granlund <tege@gnu.ai.mit.edu> with Tom Wood | |
| ftp://gatekeeper.dec.com/superopt-2.5.tar.Z or any other GNU archive site | |
| 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. | |
| Torbjorn Granlund <tege@gnu.ai.mit.edu> | |
| GNU General Public License | |
| Alpha, Sparc, i386, 88k, RS/6000, 68k, 29k, Pyramid(SP,AP,XP) | |
| 1995 |
| SUIF | |
| Halt SUIF | |
| 1.1.2.beta | |
| instrumentation program | |
| "HUBE Group" <hube@eecs.harvard.edu> | |
| ftp://ftp.eecs.harvard.edu/users/cyoung/hatl.tar.gz http://www.eecs.harvard.edu/~hube | |
| Halt SUIF takes SUIF code and instruments it so that the resulting output will produce branch feedback information for performance tuning. | |
| basesuif-1.1.2 | |
| ? |
| SUIF | |
| Harvard Machine SUIF (``machSUIF'') | |
| 1.1.2.beta | |
| compiler(->MIPS,->ALPHA), libraries, documentation | |
| "HUBE Group" <hube@eecs.harvard.edu> | |
| ftp pub/hube/machsuif-1.1.2.beta.tar.gz from ftp.eecs.harvard.edu http://www.eecs.harvard.edu/~hube | |
| 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. | |
| Several published papers, see web site | |
| Free for any use, commercial or non-commercial, only requires copyright notice be preserved | |
| basesuif-1.1.2 | |
| HP-UX 9.0, Digital Unix 3.2, BSD/OS 2.1 | |
| Designed to be system independent | |
| Very active, new back-ends under way | |
| 1997/05 |
| C | |
| Harvest C | |
| 1.3 | |
| compiler, assembler, linker. | |
| ? | |
| ftp://archive.umich.edu/mac/development/languages/harves* | |
| 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). | |
| Macintosh | |
| Eric W. Sink | |
| May 26th, 1992 |
| ICI | |
| ICI | |
| 2.0.1 | |
| byte-code compiler, run-time interpreter, documentation | |
| Tim Long <timl@research.canon.com.au> | |
| ftp://ftp.research.canon.com.au/pub/misc/ici/ici.tar.gz | |
| ICI is a general purpose interpretive programming language that has dynamic typing and flexible data types with the flow control constructs and operators of C. It is designed for use in many environments, including embedded systems, as an adjunct to other programs and as a text based interface to compiled libraries. | |
| |
| ICI is in the public domain and has no restrictions on its use. | |
| Various Unix (SunOS, Solaris, HP-UX, Linux, FreeBSD, NeXTSTEP, SCO, Ultrix), Windows, Macintosh, various embedded systems. | |
| Core language highly portable. System specific easily removed (via configuration file). | |
| Actively developed. | |
| ICI mail list. To join mail ici-request@research.canon.com.au | |
| The ICI mail list. | |
| The ICI mail list. | |
| On the ICI mail list and in comp.lang.misc | |
| Andy Newman <andy@research.canon.com.au> | |
| October 16th, 1996 |
| BNF variant, Python | |
| kwParsing ? | |
| ? | |
| parser generator | |
| Aaron Watters <aaron@vienna.njit.edu> | |
| ftp://ftp.markv.com/pub/python/kwParsing.* | |
| A parser generator written in Python for Python. This package may be appropriate for experimental translators, code generators, interpreters, or compilers; for instructinal purposes; among other possibility. The documentation gives a brief introduction to the conventions and basic ideas of parsing. | |
| September 24th, 1994 |
| C (ANSI), lcc intermediate format | |
| lcc | |
| 3.4b | |
| compiler, test suite, documentation | |
| Chris Fraser <cwf@research.att.com> Dave Hanson <drh@cs.princeton.edu> | |
| ftp://ftp.cs.princeton.edu/pub/lcc/* | |
| |
| x86, MIPS, SPARC | |
| small-scale production use | |
| email "subscribe lcc" to majordomo@cs.princeton.edu | |
| Febuary 1st, 1995 |
| C (ANSI) | |
| lcc-win32 | |
| 1.2 | |
| compiler, assembler, linker, resource compiler, resource editor, IDE, debugger, Windows header files, windows import libraries, make/dump utilities, import library generator. | |
| Chris Fraser, Dave Hanson, Jacob Navia | |
| http://www.remcomp.com/lcc-win32 | |
| 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. | |
| Runs only under windows 32 (Windows 95/NT) | |
| production use | |
| August 1st, 1977 | |
| jacob@jacob.remcomp.fr | |
| jacob@jacob.remcomp.fr | |
| ANSI C + enhancements for windows 95/NT. Compatible MSVC. | |
| ? |
| C (ANSI) | |
| LCLint | |
| 1.4 | |
| code analysis tool | |
| David E Evans <evs@larch.lcs.mit.edu> | |
| ftp://larch.lcs.mit.edu/pub/Larch/lclint/ | |
| 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. | |
| http://larch-www.lcs.mit.edu:8001/larch/lclint.html | |
| OSF/1, Ultrix, SunOS, Solaris, Linux, IRIX | |
| October 16th, 1994 |
| C++ | |
| LEDA | |
| 3.0 | |
| libraries | |
| ? | |
| ftp://ftp.mpi-sb.mpg.de/pub/LEDA/* | |
|
library of efficient data types and algorithms.
New with 3.0: both template and non-template versions. | |
| Stefan N"aher <stefan@mpi-sb.mpg.de> | |
| November 30th, 1992 |
| Objective-C | |
| libcoll -- Collection Class Library for GNU Objective-C | |
| 940510 | |
| class library | |
| Andrew McCallum <mccallum@cs.rochester.edu> | |
| ftp.cs.rochester.edu in pub/objc/libcoll-940510.tar.gz | |
| It's a library of Objective-C objects with similar functionality to Smalltalk's Collection objects. It includes: Set, Bag, Array, LinkedList, LinkList, CircularArray, Queue, Stack, Heap, SortedArray, MappedCollector, GapArray and DelegateList. | |
| May 10th, 1994 |
| C++ | |
| Lily (LIsp LibrarY) | |
| 0.1 | |
| library | |
| Roger Sheldon <sheldon@kong.gsfc.nasa.gov> | |
| ftp://sunsite.unc.edu/packages/development/libraries/lily-0.1.tar.gz | |
| 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. | |
| GNU Library General Public License | |
| C++ (g++ or Turbo C++, but not cfront) | |
| November 8th, 1993 |
| Perl (Practical Extraction and Report Language) | |
| MacPerl | |
| 5.2.0r4 | |
| Matthias Neeracher <neeri@iis.ee.ethz.ch> | |
| http://www.ptf.com/macperl | |
| MacPerl offers (nearly) all the features of Perl plus oodles of Macintosh-specific functionality! | |
| Macintosh | |
| actively developed | |
| mac-perl-request@iis.ee.ethz.ch (majordomo list) | |
| 20 April 1998 |
| Maisie | |
| Maisie | |
| 2.1 | |
| ?, user manual, examples | |
| Wen-Toh Liao <wentoh@may.CS.UCLA.EDU> | |
| ftp://cs.ucla.edu/pub/maisie.2.1.1.3.tar.Z | |
| 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. | |
| PVM/3.1, Cosmic Environment, and SUN Sockets. | |
| June 14th, 1993 |
| C | |
| Maspar MPL | |
| 3.1 | |
| compiler | |
| Christopher Glaeser | |
| ftp://maspar.maspar.com/pub/mpl-* | |
|
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. | |
| Christopher Glaeser cdg@nullstone.com | |
| ? |
| MeldC (MELD, C) | |
| MeldC | |
| 2.0 | |
| microkernel, compiler, debugger, manual, examples | |
| MELD Project, Programming Systems Laboratory at Columbia University | |
| obtain license from <MeldC@cs.columbia.edu> | |
| 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. | |
| must sign license, cannot use for commercial purposes | |
| Sun4/SunOS4.1 Mips/Ultrix4.2 | |
| <MeldC@cs.columbia.edu> | |
| December 15th, 1992 |
| C (ANSI/ISO) | |
| Metre | |
| 2.3 | |
| grammar(yacc,lex), generated parser files, metrics examples, documentation (man pages). | |
| Paul Long <plong@perf.com> | |
| ftp://iecc.com/pub/file/metre.tar.gz | |
| 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. | |
| Intended to conform to ANSI and ISO standards. | |
| April 4 1995 |
| Perl (Practical Extraction and Report Language) | |||||||||||||||||||||
| perl | |||||||||||||||||||||
| 4.0 patchlevel 36 | |||||||||||||||||||||
| interpreter, debugger, libraries, tests, documentation | |||||||||||||||||||||
| Larry Wall <lwall@netlabs.com> | |||||||||||||||||||||
| |||||||||||||||||||||
| perl is an interpreted language optimized for scanning arbitrary text files, extracting information from those text files, and printing reports based on that information. It's also a good language for many system management tasks. | |||||||||||||||||||||
|
"Programming Perl" by Larry Wall and Randal L. Schwartz,
O'Reilly & Associates, Inc. Sebastopol, CA.
ISBN 0-93715-64-1
"Learning Perl" by Randal L. Schwartz, O'Reilly & Associates, Inc. Sebastopol, CA. ISBN 1-56592-042-2 The perl FAQ, ftp from rtfm.mit.edu | |||||||||||||||||||||
| |||||||||||||||||||||
| comp.lang.perl; Larry Wall <lwall@netlabs.com> | |||||||||||||||||||||
| almost all unix, MSDOS, Mac, Amiga, Atari, OS/2, VMS, NT, MVS | |||||||||||||||||||||
| very high for unix, not so high for others | |||||||||||||||||||||
| |||||||||||||||||||||
| Febuary 7th, 1993 |
| Perl | |
| perl profiler. | |
| ? 1 | |
| profiler | |
| Anthony Iano-Fletcher <arf@maths.nott.ac.uk> | |
| Source posted on comp.lang.perl in mid-June 1993 | |
|
Profiles Perl scripts (mkpprof).
Collates data from Perl scripts (pprof) | |
| June 17th, 1993 |
| BNF (yacc), Perl | |
| perl-byacc | |
| 1.8.2 | |
| parser-generator(perl) | |
| Rick Ohnemus <Rick_Ohnemus@Sterling.COM> | |
| ftp://ftp.sterling.com/local/perl-byacc.tar.Z | |
| A modified version of byacc that generates perl code. Has '-p' switch so multiple parsers can be used in one program (C or perl). | |
| Should work on most (?) Unix systems. Also works with SAS/C 6.x on AMIGAs. | |
| January 24th, 1993 |
| Perl (Practical Extraction and Report Language) | |
| perl5 | |
| 5.005 | |
| interpreter, debugger, libraries, tests, documentation | |
| Larry Wall <lwall@netlabs.com> | |
|
| |
| Perl5 is a major rewrite and enhancement to perl4. It adds real data structures (by way of "references"), un-adorned subroutine calls, and method inheritance. It is repackaged with many extensions that can be dynamically loaded in the interpreter at runtime. | |
| |
|
http://language.perl.com/
http://www.perl.com/pace/pub
"Programming Perl" by Larry Wall and Randal L. Schwartz,
O'Reilly & Associates, Inc. Sebastopol, CA.
ISBN 0-93715-64-1
"Learning Perl" by Randal L. Schwartz, O'Reilly & Associates, Inc. Sebastopol, CA. ISBN 1-56592-042-2 | |
| |
| Send bugs to <perl-bugs@perl.com> | |
| Almost all unix systems, Amiga, Atari, LynxOS, Macintosh, MPE, MS-DOS, MVS, Netware, OS/2, QNX, VMS, Windows 3.x, Windows NT (http://info.hip.com/ntperl/PerlFaq.htm) | |
| Extreamly high. | |
| July 8th, 1999 |
| C | |
| Pthreads | |
| 1.17 | |
| library | |
| PART (POSIX / Ada-Runtime Project) | |
| ftp://ftp.cs.fsu.edu/pub/PART/pthreads* | |
| 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. | |
| GNU General Public License | |
| Sun-4/SunOS 4.1.x | |
| send "Subject: subscribe-pthreads" to mueller@uzu.cs.fsu.edu | |
| pthreads-bugs@ada.cs.fsu.edu | |
| July 22nd, 1993 |
| Python | |
| Python | |
| 1.3 | |
| interpeter, libraries, documentation, emacs macros | |
| Guido van Rossum <guido@cwi.nl> OS/2 port by: Simon K Johnston <S.K.Johnston.bra0801@oasis.icl.co.uk> | |
|
| |
| Python is a simple, yet powerful programming language that bridges the gap between C and shell programming, and is thus ideally suited for rapid prototyping. Its syntax is put together from constructs borrowed from a variety of other languages; most prominent are influences from ABC, C, Modula-3 and Icon. Python is object oriented and is suitable for fairly large programs. | |
Preformatted documentation is available from ftp://ftp.cwi.nl/pub/sjoerd/python-X-doc.ps.gz | |
| Python documentation http://www.python.org/ | |
| tkinter (Tcl's Tk), termios, curses, syslog, sybase | |
| unix, Macintosh, OS/2, Windows 3.1 (with Win32s), Windows NT | |
| python-list-request@cwi.nl | |
| March 20th, 1996 |
| Scheme | |
| scm | |
| 4e1 | |
| interpreter, conformance test, documentation | |
| Aubrey Jaffer <jaffer@zurich.ai.mit.edu> | |
| Fast portable R4RS Scheme interpreter. | |
| Revised^4 Report on the Algorithmic Language Scheme, IEEE P1178 specification. | |
| GNU General Public License | |
| SLIB (pointers to it in documentation) | |
| Amiga, Atari-ST, MacOS, MS-DOS, OS/2, NOS/VE, Unicos, VMS, Unix. ASCII and EBCDIC both supported. | |
| actively developed | |
| send $$$ to Aubrey Jaffer, 84 Pleasant St., Wakefield, MA 01880 | |
| April 29th, 1994 |
| Simple SUIF, SUIF | |
| Simple SUIF | |
| 1.0.0.beta.1 | |
| translators(SUIF->SimpleSUIF, SimpleSUIF->SUIF), libraries, documentation | |
| "Stanford Compiler Group" <suif@suif.stanford.edu> | |
| ftp pub/suif/simplesuif-1.0.0.beta.1.tar.gz from ftp-suif.stanford.edu | |
| 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. | |
| suif-bugs@suif.Stanford.EDU mailing list | |
| Free for any use, commercial or non-commercial, only requires copyright notice be preserved | |
| basesuif-1.1.2 | |
Ultrix/DECstation, SunOS/SPARC, Solaris/SPARC/x86,
Irix/SGI-Mips, Linux/x86, OSF/DECAlpha,
| |
| Very system independent, but makefiles need to be replaced for non-UNIX systems if GNU make isn't used | |
| 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 | |
| suif-talk@suif.Stanford.EDU mailing list | |
| suif-talk@suif.Stanford.EDU mailing list | |
| No ``official'' support, but mailing lists usually provide support to any who ask | |
| suif-announce@suif.Stanford.EDU mailing list (see web site) | |
| 1995/12 |
| Sirius | |
| Sirius | |
| 1.2 | |
| bytecode compiler, interpreter, linker, librarian, debugger, make, documentation, Windows IDE, misc utilities | |
| Alan Conroy. alan@accessone.com | |
| http://www.accessone.com/~conroy/sirius.html | |
| non-conforming subset of Sirius programming language. | |
| http://www.accessone.com/~conroy/sirius.html | |
| none | |
| DOS or Windows | |
| MS DOS (v2.0 or later), MS Windows (v3.1 or later) | |
| supported | |
| http://www.accessone.com/~conroy/sirius.html | |
| alan@accessone.com | |
| http://www.accessone.com/~conroy/sirius.html | |
| September 6th, 1997 |
| Small-C | |
| smallc | |
| ? | |
| compiler | |
| ? | |
| ?, comp.sources.unix volume 5 | |
| 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. | |
| subset of C | |
| 68k, 6809, VAX, 8080, BBC Micro, Z80 | |
| January 5th, 1989 |
| SUIF | |
| SPARC Backend for SUIF (``sgen'') | |
| 1.0 | |
| compiler(->SPARC) | |
| "UofT Compiler Group" <tcm@eecg.toronto.edu> | |
| http://www.eecg.toronto.edu/~tcm/suif_code/sgen.tar.gz | |
| This is a SPARC code generator for SUIF based on the Harvard MachSUIF back-end framework for SUIF. | |
| suifbugs@eecg.toronto.edu | |
| Free for any use, commercial or non-commercial, only requires copyright notice be preserved | |
| basesuif-1.1.2, machsuif-1.1.2.beta | |
| Solaris/SPARC | |
| PowerPC back-end coming soon | |
| No official support, authors will try to help | |
| 1996/05 |
| C, Fortran, SUIF | |
| Stanford Base SUIF Compiler Package (``basesuif'') | |
| 1.1.2 | |
| compiler(->C,->SUIF), run-time, documentation, examples | |
| "Stanford Compiler Group" <suif@suif.stanford.edu> | |
| ftp://ftp-suif.stanford.edu/pub/suif/basesuif-1.1.2.tar.gz http://www-suif.Stanford.EDU | |
| 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. | |
| C front end, C back end ANSI-C, FORTRAN front end mostly f77, defining implementation of SUIF IR | |
| Wide range of published papers available from web site | |
| suif-bugs@suif.Stanford.EDU mailing list (more than 100 subscribers to this |