home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 January
/
usenetsourcesnewsgroupsinfomagicjanuary1994.iso
/
answers
/
free-compilers
/
part1
next >
Wrap
Text File
|
1993-12-02
|
63KB
|
1,702 lines
Newsgroups: comp.compilers,comp.lang.misc,comp.archives.admin,news.answers,comp.answers
Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!nic.hookup.net!europa.eng.gtefsd.com!uunet!world!iecc!compilers-sender
From: free-compilers@idiom.berkeley.ca.us (David Muir Sharnoff)
Subject: Catalog of compilers, interpreters, and other language tools [p1of4]
Message-ID: <free1-Dec-93@comp.compilers>
Followup-To: comp.lang.misc
Summary: Monthly posting of free language tools that include source code
Keywords: tools, FTP, administrivia
Sender: compilers-sender@chico.iecc.com
Supersedes: <free1-Nov-93@comp.compilers>
Reply-To: free-compilers@idiom.berkeley.ca.us (David Muir Sharnoff)
Organization: Idiom Consulting / Berkeley, CA
Date: Wed, 1 Dec 1993 16:35:47 GMT
Approved: compilers@iecc.com
Expires: Sat, 1 Jan 1994 23:59:00 GMT
Lines: 1683
Xref: senator-bedfellow.mit.edu comp.compilers:5939 comp.lang.misc:14811 comp.archives.admin:1263 news.answers:15305 comp.answers:2874
Archive-name: free-compilers/part1
Last-modified: 1993/11/28
Version: 6.1
-------------------------------------------------------------------------------
Catalog of Free Compilers and Interpreters.
-------------------------------------------------------------------------------
This list catalogues freely available software for language tools, which
includes the following: compilers, compiler generators, interpreters,
translators, important libraries, assemblers, etc. -- things whose user
interface is a language. Natural language processing tools may also
be included.
This list is primarily aimed at developers rather than researchers, and
consists mainly of citations for production quality systems. There is some
overlap of coverage between this document and other lists and catalogs. See
the references section for a list...
All the listed items should be free and come with source code, exceptions have
generally been deleted from the list in the past. If you find any such items
in the list let me know and I'll remove them.
The latest version of the catalog can be ftp'ed: get
pub/compilers-list/free-compilers from idiom.berkeley.ca.us.
This catalog is available through World Wide Web. A searchable
hypertext version can be accessed through http://cui_www.unige.ch/freecomp.
Not all entries have complete citations. Some fields are filled with question
marks (?). Fields with both the ? and an entry are implicit requests for
confirmation. Also, specific questions will often be asked [in brakets --ed].
Please send updates to <free-compilers@idiom.berkeley.ca.us>. If you
fill out the template (see the first entry in the tools section) it is
a lot easier for me to keep things going.
Thanks,
-Dave
Idiom Consulting, Berkeley, CA
-------------------------------------------------------------------------------
overview (table of contents)
-------------------------------------------------------------------------------
introduction
overview (table of contents)
changes and history
prototype entry
tools
scripting languages
functional languages
C and variants
compiled, imperitive languages
object oriented languages
LISP family langauges
Wirth family languages
logic programming languages
concurrent, parellel, and simulation languages
Forth family languages
compiler generators and related tools
mathematical tools and languages
electrical engineering languages
document formatting languages
assemblers
macro preprocessors
special purpose languages
natural languages
curiosities
unable to classify due to lack of knowledge
references
archives
cross-reference
-------------------------------------------------------------------------------
changes and history
-------------------------------------------------------------------------------
This document grew out of David Muir Sharnoff filing away postings that
he saw (mostly Ed Vielmetti's postings to comp.archives) during 1991 and
the first half of 1992. At the Summer 1992 USENIX Technical Conference,
the other attendees of the archivits BOF convinced David to compile his
data into a posting. David posted for about one year, then turned the
list over to Mark Hopkins. Mark Hopkins took care of it for the summer
of 1993 and then gave it back to David Sharnoff when it dropped off the
net. Steve Robenalt <robenalt@molly.dny.rockwell.com> will take the list
over from David, staring December 1993.
For this version the changes are:
A new format! A cross-reference section was added, and so
was a table of contents.
language package
-------- -------
new listings:
?Attribute grammer? Ox
Bourne shell Ash
C gc (garbage collector)
C ae (application executive)
C Preprocessor Decus cpp
C, C++ Cyclo (cyclomatic complexity tool)
C++ signatures for GCC 2.5.2
C++ Lily
C++ C++SIM
CLiP CLiP
EAG EAG (Extended Affix Grammar)
Gofer, BNF Ratatosk (?)
HP-GL, Postscript hp2ps
Forth pfe (Portable Forth Environment)
IVY Ivy
m4 pd/bsd m4
Objective-C Collection Library for GNU Objective-C
Perl curseperl
Perl Dylperl
Scheme, Tk STk
TCL Extended Tcl
TCL tcl-debug
new versions:
Assembly (various) GNU assember (gas) 2.2
awk GNU awk 2.15.3
BASIC bwBASIC 2.10
BNF Eli Compiler Construction System 3.5
BNF, Icon ibpag2
C Pthreads 1.17
C, C++ gdb 4.11
C, C++, Objective-C GNU CC 2.5.5
C, nroff, texinfo c2man 2.0 patchlevel 17
Candle, IDL Scorpion System 6.0
csh tcsh 6.04
Common Lisp CMU Common Lisp 17c
Glish glish 2.4.1
Korn Shell pdksh 4.9
Korn Shell Bash 1.13.4
Logo Berkeley Logo 3.0
Logo MswLogo 3.5
Lout Lout 2.05
ML (Caml Light) Caml Light 0.6
Perl Perl 5 alpha 3
Prolog SWI-Prolog 1.7.2
Scheme Elk 2.1
Scheme scm 4c5
Scheme slib 1d5
Scheme VSCM II Nov9
Scheme Psd 1.1
sed GNU sed 2.03
S-Lang S-Lang 0.94
TCL TCL 7.2
TCL Tk 3.5
TCL Wafe 0.95
deletions (no source available):
Simula cim
edits:
TOO MANY TO LIST
new cross-references:
TOO MANY TO LIST
new references:
Haskell haskell-status
new archives:
-------------------------------------------------------------------------------
prototype entry
-------------------------------------------------------------------------------
Every entry should at least have the fields marked with two asterixes (**).
language: **Reference Entry
Language: what the software compiles/interprets...
package: **The name of the package
version: **Its current version
parts: **compiler, assembler, interpreter, translator, grammar(yacc,
lex), library, documentation, examples, assembler, simulator,
tutorial, test suite, byte-code compiler, run-time,
translator(from->to)... Compilers that use C as an
intermediate lanaguage should be noted as "compiler(->C)".
Compilers that compile into a coded representation that is
interpreted by a runtime module should be noted as "bytecode
compiler". Do not say "source code" -- if source is not
included, do not send an entry at all!
author: **the creator of the package. Email addresses are in the
form "Real Name <email@address>". Surface mail addresses
are not used unless there is no email address.
how to get: **where to get the source, how to get it -- usually an FTP site
or two. May have subheaders for specific areas or different
ports of the software (don't overdo this!): Only official
sites should be listed. The format for ftp directives is "ftp
dir/file from host". No IP address is given.
N.America: Sites for North Americans.
Europe: Sites Europeans should use
Japan: Sites for people in Japan
OS/2: Sites with OS/2 ports.
description: **what the package is, possibly including some history
A short review encouraged, but no propaganda please.
conformance: how well does it conform to the existing Standard, if one exists
reference: research references and other external documentation.
features: salient features not listed in the description.
bugs: known bugs (also: where to go to find/report bugs)
restriction: restrictions using the software will place on the user.
requires: what is needed to install it. A C compiler is assumed.
ports: where it has been installed
portability: how system-independent is it, system dependencies.
status: development status (active, history, supported, etc)
discussion: where discussion about the package takes place
help: where help may be gotten from
support: where support may be gotten from
contributions: possible requests for money contributions (but no shareware)
announcements: where new releases are announced
contact: who to reach concerning the package (if not author)
updated: **last known update to the package, not time of the update
to the entry in the catalog!
In addition to the above, in entries for categories, and languages,
cross-references can be made.
cref: cross-reference to a category
lref: cross-reference to a language
iref: (language it's filed under in parenthesis) cross-reference
to an implamentation
-------------------------------------------------------------------------------
tools
-------------------------------------------------------------------------------
scripting languages
-------------------------------------------------------------------------------
category: scripting languages
description: These are languages that are primarily interpreted, and on
unix sytems, can ususally be invoked directly from a text
using #!.
language: ABC
package: ABC
version: 1.04.01
parts: interpreter/compiler
author: Leo Geurts, Lambert Meertens,
Steven Pemberton <Steven.Pemberton@cwi.nl>
how to get: ftp programming/languages/abc/* from ftp.eu.net or ftp.nluug.nl
description: ABC is an imperative language embedded in its own environment.
It is interactive, structured, high-level, very easy to learn,
and easy to use. It is suitable for general everyday
programming, such as you would use BASIC, Pascal, or AWK for.
It is not a systems-programming language. It is an excellent
teaching language, and because it is interactive, excellent for
prototyping. ABC programs are typically very compact, around a
quarter to a fifth the size of the equivalent Pascal or C
program. However, this is not at the cost of readability, on
the contrary in fact.
reference: "The ABC Programmer's Handbook" by Leo Geurts,
Lambert Meertens and Steven Pemberton, published by
Prentice-Hall (ISBN 0-13-000027-2)
"An Alternative Simple Language and Environment for PCs"
by Steven Pemberton, IEEE Software, Vol. 4, No. 1,
January 1987, pp. 56-64.
ports: unix, MSDOS, atari, mac
discussion: abc-list-request@cwi.nl
contact: abc@cwi.nl
updated: 1991/05/02
language: awk (new)
package: mawk
version: 1.1.3
parts: interpreter
author: Mike Brennan <brennan@bcsaic.boeing.com>
how to get: ftp public/mawk* from oxy.edu
description: ?
conformance: superset
+ RS can be a regular expression
features: + faster than most new awks
ports: sun3,sun4:sunos4.0.3 vax:bsd4.3,ultrix4.1 stardent3000:sysVR3
decstation:ultrix4.1 msdos:turboC++
status: actively developed
contact: Mike Brennan <brennan@bcsaic.boeing.com>
updated: 1993/03/14
language: awk (new)
package: GNU awk (gawk)
version: 2.15.3
parts: interpreter, documentation
author: David Trueman <david@cs.dal.ca> and
Arnold Robbins <arnold@cc.gatech.edu>
how to get: ftp gawk-2.15.tar.Z from a GNU archive site
description: ?
conformance: superset including some Plan 9 features
ports: unix, msdos:msc5.1
status: activly developed
updated: 1993/11/08
language: BASIC
package: bwBASIC (Bywater BASIC interpreter)
version: 2.10
parts: interpreter, shell, ?
author: Ted A. Campbell <tcamp@delphi.com>
how to get: comp.sources.misc volume 40
description: The Bywater BASIC Interpreter (bwBASIC) implements a large
superset of the ANSI Standard for Minimal BASIC (X3.60-1978)
implemented in ANSI C, and offers a simple interactive environ-
ment including some shell program facilities as an extension of
BASIC. The interpreter has been compiled successfully on a
range of ANSI C compilers on varying platforms with no
alterations to source code necessary.
ports: DOS, Unix, Acorn's RISC OS
updated: 1993/10/29
language: BASIC
package: ? basic ?
version: ?
parts: paser(yacc), interpreter
author: ?
how to get: comp.sources.unix archives volume 2
description: ?
updated: ?
language: BASIC
package: ? bournebasic ?
version: ?
parts: interpreter
author: ?
how to get: comp.sources.misc archives volume 1
description: ?
updated: ?
language: BASIC
package: ubasic
version: 8
parts: ?
author: Yuji Kida
how to get: ? ask archie ?
description: ?
reference: reviewed in Notices of the A.M.S #36 (May/June 1989),
and "A math-oriented high-precision BASIC", #38 (3/91)
contact: ?
updated: 1992/07/06
language: BASIC
package: ?
version: ?
parts: interpreter
author: ?
how to get: ftp pub/unix-c/languages/basic/basic.tar-z from oak.oakland.edu
description: public domain version of DEC's MU-Basic with Microsoft
Basic mixed together
contact: ?
updated: ?
language: Bourne Shell
package: ash
version: ?
parts: interpreter, manual page
author: Kenneth Almquist
how to get: ftp from any 386BSD, NetBSD, or FreeBSD archive
linux: ftp pub/linux/ports/ash-linux-0.1.tar.gz from ftp.win.tue.nl
description: A Bourne Shell clone. It works pretty well. For running
scripts, it is sometimes better and sometimes worse than Bash.
ports: 386BSD, NetBSD, FreeBSD, Linux
updated: ?
language: csh (C-Shell)
package: tcsh
version: 6.04
parts: interpreter
author: Christos Zoulas <christos@ee.cornell.edu>
how to get: ftp ? from ftp.spc.edu
description: a modified C-Shell with history editing
ports: unix, OpenVMS
updated: 1993/07/09
language: ERGO-Shell (a window-based Unix shell)
package: ERGO-Shell
version: 2.1
parts: interpreter
author: Regine Freitag <freitag@gmd.de>
how to get: ftp gmd/ergo/? from ftp.gmd.de
description: An ergonomic window-based Unix shell for software engineers.
[Can one program in ERGO-Shell? --ed]
bugs: Relative path names are not expanded on the SUN 3 port,
expansion ability on SUN 4 only on certain conditions.
requires: Needs X-windows (X11R4) or OSF/Motif (revision 1.1)
ports: Sun 4
contact: Dr. Wolfgang Dzida, GMD <dzida@gmd.de> or the author
updated: 1993/06/04
language: es (a functional shell)
package: es
version: 0.84
parts: interpreter
author: Byron Rakitzis <byron@netapp.com>, Paul Haahr <haahr@adobe.com>
how to get: ftp pub/es/es-0.84.tar.Z from ftp.sys.utoronto.ca
description: shell with higher order functions
+ builtin features implemented as redefineable functions
updated: 1993/04/30
language: Glish
package: glish
version: 2.4.1
parts: interpreter, C++ class library, user manual
author: Vern Paxson <vern@ee.lbl.gov>
how to get: ftp glish/glish-2.4.1.tar.Z from ftp.ee.lbl.gov
description: Glish is an interpretive language for building loosely-coupled
distributed systems from modular, event-oriented programs.
These programs are written in conventional languages such as C,
C++, or Fortran. Glish scripts can create local and remote
processes and control their communication. Glish also provides
a full, array-oriented programming language (similar to S) for
manipulating binary data sent between the processes. In
general Glish uses a centralized communication model where
interprocess communication passes through the Glish
interpreter, allowing dynamic modification and rerouting of
data values, but Glish also supports point-to-point links
between processes when necessary for high performance.
reference: "Glish: A User-Level Software Bus for Loosely-Coupled
Distributed Systems," Vern Paxson and Chris Saltmarsh,
Proceedings of the 1993 Winter USENIX Conference, San Diego,
CA, January, 1993.
requires: C++
ports: SunOS, Ultrix, HP/UX (rusty)
updated: 1993/11/01
language: ici
package: ici
version: ?
parts: interpreter, documentation, examples
author: Tim Long
how to get: ftp pub/ici.cpio.Z from extro.ucc.su.oz.au
description: ICI has dynamic arrays, structures and typing with the flow
control constructs, operators and syntax of C. There are
standard functions to provided the sort of support provided
by the standard I/O and the C libraries, as well as additional
types and functions to support common needs such as simple
data bases and character based screen handling.
features: + direct access to many system calls
+ structures, safe pointers, floating point
+ simple, non-indexed built in database
+ terminal-based windowing library
ports: Sun4, 80x86 Xenix, NextStep, MSDOS
portability: high
status: actively developed.
discussion: send "help" to listserv@research.canon.oz.au
contact: Andy Newman <andy@research.canon.oz.au>
updated: 1992/11/10
language: Icon
package: icon
version: 8.7 (8.5, 8.0 depending on platform)
parts: interpreter, compiler (some platforms), library (v8.8)
author: Ralph Griswold <ralph@CS.ARIZONA.EDU>
how to get: ftp icon/* from cs.arizona.edu
description: Icon is a high-level, general purpose programming language that
contains many features for processing nonnumeric data,
particularly for textual material consisting of string of
characters.
- no packages, one name-space
- no exceptions
+ object oiented features
+ records, sets, lists, strings, tables
+ unlimited line length
- unix interface is primitive
+ co-expressions
reference: "The Icon Programmming Language", Ralph E. Griswold and
Madge T. Griswold, Prentice Hall, seond edition, 1990.
"The Implementation of the Icon Programmming Language",
Ralph E. Griswold and Madge T. Griswold, Princeton
University Press 1986
ports: Amiga, Atari, CMS, Macintosh, Macintosh/MPW, MSDOS, MVS, OS/2,
Unix (most variants), VMS, Acorn
discussion: comp.lang.icon
contact: icon-project@cs.arizona.edu
updated: 1992/08/21
language: Icon
iref: (BNF) ibpag2
language: IVY
package: Ivy
version: experimental
parts: interpreter
author: Joseph H Allen <jhallen@world.std.com>
how to get: alt.sources 1993/09/28 <CE1wo3.74A@world.std.com>
description: A language with a pleasant syntax compared to perl, tcl or
lisp. It has nice features like low punctuation count, blocks
indicated by indentation, and similarity to normal procedural
languages. This language started out as an idea for an
extension language for the editor JOE.
updated: 1993/09/28
language: Korn Shell
package: SKsh
version: 2.1
parts: interpreter, utilities
author: Steve Koren <koren@hpfcogv.fc.hp.com>
how to get: ftp pub/amiga/incom*/utils/SKsh021.lzh from hubcap.clemson.edu
description: SKsh is a Unix ksh-like shell which runs under AmigaDos.
it provides a Unix like environment but supports many
AmigaDos features such as resident commands, ARexx, etc.
Scripts can be written to run under either ksh or SKsh,
and many of the useful Unix commands such as xargs, grep,
find, etc. are provided.
ports: Amiga
updated: 1992/12/16
language: Korn Shell
package: Bash (Bourne Again SHell)
version: 1.13.4
parts: parser(yacc), interpreter, documentation
author: Brian Fox <bfox@vision.ucsb.edu>
how to get: ftp bash-1.12.tar.Z from a GNU archive site
description: Bash is a Posix compatable shell with full Bourne shell syntax,
and some C-shell commands built in. The Bourne Again Shell
supports emacs-style command-line editing, job control,
functions, and on-line help.
bugs: gnu.bash.bug, bug-bash@prep.ai.mit.edu
restriction: GNU General Public License
updated: 1993/11/15
language: Korn Shell
package: pdksh
version: 4.9
parts: interpreter
author: Simon J. Gerraty <sjg@zen.void.oz.au>
how to get: comp.sources.misc volume 4
description: It is not intended to be the ultimate shell but rather a usable
ksh work alike.
conformance: Almost identical to ksh88, but missing arrays
contact: Simon J Gerraty <sjg@melb.bull.oz.au> (zen.void.oz.au is down)
ports: Sun, 386bsd, ?
updated: 1993/10/11
language: Perl5 (Practical Extraction and Report Language)
package: perl
version: 5.0 alpha 3
parts: interpreter, debugger, libraries, tests, documentation
author: Larry Wall <lwall@netlabs.com>
how to get: ftp pub/perl5.0/* from ftp.netlabs.com
description: perl5 is a major rewrite and enhancement to perl4. It adds
real data structures (by way of "references"), un-adorned
subroutine calls, and method inheritance. It is not
stable (yet).
ports: SunOS
updated: 1993/11
language: Perl (Practical Extraction and Report Language)
package: perl
version: 4.0 patchlevel 36
parts: interpreter, debugger, libraries, tests, documentation
author: Larry Wall <lwall@netlabs.com>
how to get: ftp pub/perl.4.0/* from jpl-devvax.jpl.nasa.gov
OS/2 port: ftp pub/os2/all/unix/prog*/perl4019.zip from hobbes.nmsu.edu
Mac port: ftp software/mac/src/mpw_c/Mac_Perl_405_* from nic.switch.ch
Amiga port: ftp perl4.035.V010.* from wuarchive.wustl.edu
VMS port: ftp software/vms/perl/* from ftp.pitt.edu
Atari port: ftp amiga/Languages/perl* from atari.archive.umich.edu
DOS port: ftp pub/msdos/perl/* from ftp.ee.umanitoba.ca
DOS port#2: ftp pub/msdos/perl/bperl* from oak.oakland.edu
Windows NT: ftp ? from rhino.microsoft.com
MVS: ftp dist/perl-4036.tar.Z from oozelum.csi.cam.ac.uk
Netware: contact Jack Thomasson <Jack_Thomasson@Novell.COM>
description: perl is an interpreted language optimized for scanning
arbitrary text files, extracting information from those text
files, and printing reports based on that information. It's
also a good language for many system management tasks.
reference: "Programming Perl" by Larry Wall and Randal L. Schwartz,
O'Reilly & Associates, Inc. Sebastopol, CA.
ISBN 0-93715-64-1
"Learning Perl" by Randal L. Schwartz,
O'Reilly & Associates, Inc. Sebastopol, CA.
ISBN [??? --ed]
The perl FAQ, ftp from rtfm.mit.edu
features: + very-high semantic density becuase of powerful operators
like regular expression substitution
+ exceptions, provide/require
+ associative array can be bound to dbm files
+ no arbitrary limits
+ direct access to almost all system calls
+ can access binary data
+ many powerful idioms for common tasks
+ 8-bit clean, including nulls
- three variable types: scalar, array, and hash table
- syntax requires variable and function prefix characters
bugs: comp.lang.perl; Larry Wall <lwall@netlabs.com>
ports: almost all unix, MSDOS, Mac, Amiga, Atari, OS/2, VMS, NT, MVS
portability: very high for unix, not so high for others
discussion: comp.lang.perl
Macintosh: mpw-perl-request@iis.ee.ethz.ch
updated: 1993/02/07
language: perl, awk, sed, find
package: a2p, s2p, find2perl
version: ?
parts: translators(perl)
author: Larry Wall
how to get: comes with perl
description: translators to turn awk, sed, and find programs into perl programs.
updated: ?
language: perl, yacc
package: perl-byacc
version: 1.8.2
parts: parser-generator(perl)
author: Rick Ohnemus <rick@IMD.Sterling.COM>
how to get: ftp local/perl-byacc.tar.Z from ftp.sterling.com
description: A modified version of byacc that generates perl code. Has '-p'
switch so multiple parsers can be used in one program (C or
perl).
portability: Should work on most (?) Unix systems. Also works with
SAS/C 6.x on AMIGAs.
updated: 1993/01/24
language: Perl
package: perl profiler.
version: ? 1
parts: profiler
author: Anthony Iano-Fletcher <arf@maths.nott.ac.uk>
how to get: Source posted on comp.lang.perl in mid-June 1993
description: Profiles Perl scripts (mkpprof).
Collates data from Perl scripts (pprof)
updated: 1993/06/17
language: Perl
package: Dylperl
version: ?
author: Roberto Salama <rs@fi.gs.com>
how to get: posted to comp.lang.perl, 1993/08/11, <CBM3Bo.Lpw@fi.gs.com>
description: A dynamic linking package for perl. Dynamically-loaded
functions are accessed as if they were user-defined funtions.
This code is based on Oliver Sharp's May 1993 article in
Dr. Dobbs Journal (Dynamic Linking under Berkeley UNIX).
ports: ?
updated: 1993/08/11
language: Perl
package: curseperl
version: ?
author: Larry Wall <lwall@netlabs.com>
how to get: comes with perl
description: A curses library for perl
updated: ?
language: Python
package: Python
version: 0.9.9
parts: interpeter, libraries, documentation, emacs macros
author: Guido van Rossum <guido@cwi.nl>
how to get: ftp pub/python* from ftp.cwi.nl
N.America: ftp pub/? from wuarchive.wustl.edu
description: Python is a simple, yet powerful programming language
that bridges the gap between C and shell programming,
and is thus ideally suited for rapid prototyping. Its
syntax is put together from constructs borrowed from a
variety of other languages; most prominent are
influences from ABC, C, Modula-3 and Icon. Python is
object oriented and is suitable for fairly large programs.
+ packages
+ exceptions
+ good C interface
+ dynamic loading of C modules
- arbitrary restrictions
ports: unix and Macintosh
discussion: python-list-request@cwi.nl
updated: 1993/07/31
language: Q (also small subsets of Common Lisp and Scheme)
package: Q
version: ? 1
parts: interpreter, compiler framework, libraries, documentation
author: Per Bothner <bothner@cygnus.com>
how to get: ftp pub/Q.* from ftp.cygnus.com
description: Q is a very high-level programming language, and a test-bed
for programming language ideas. Where APL uses arrays
to explicit looping, Q uses generalized sequences
(finite or infinite, stored or calculated on demand).
It has lexical scoping, and some support for logical and
constraint programming. The syntax was designed for
convenient interactive use. A macro facility together
with primitives to run programs is used to make an
interactive command language with full shell features.
The Q system is written in C++, and its run-time code
may be useful to people implementing other languages.
ports: Linux and SUN 4
portability: Should work on 32-bit Unix-like systems
updated: 1993/06/07
language: REXX
package: The Regina Rexx Interpreter
version: 0.05i
parts: interpreter, documentation, test programs
author: Anders Christensen <anders@pvv.unit.no>
how to get: ftp pub/rexx/regina-0.05g.tar.Z from flipper.pvv.unit.no
N.America: ftp pub/freerexx/regina/regina-0.05d.tar.Z
from rexx.uwaterloo.ca
description: A Rexx interpreter. The VMS version has an almost complete
set of DCL lexical functions in the interpreter. Ports to
MS-DOS and OS/2 exist by lack special support for these
platforms.
conformance: Almost completely to Rexx Language Level 4.00 with some
Rexx SAA API extensions.
restriction: GNU General Public License
ports: Unix, VMS, MS-DOS (partial), OS/2 (partial)
discussion: comp.lang.rexx
updated: 1993/10/15
language: REXX
package: ?
version: 102
parts: interpreter
author: ? al ?
how to get: ftp alrexx/rx102.tar.Z from rexx.uwaterloo.ca
USA: ftp ? from tony.cat.syr.edu
description: ?
requires: C++
ports: unix
discussion: comp.lang.rexx
contact: ?
updated: 1992/05/13
language: REXX
package: imc
version: 1.3
parts: interpreter
author: ?
how to get: ftp pub/freerexx/imc/rexx-imc-1.3.tar.Z from rexx.uwaterloo.ca
description: ?
ports: SunOS
updated: ?
language: sed
package: GNU sed
version: 2.03
parts: interpreter, ?
author: Tom Lord <lord+@andrew.cmu.edu>
how to get: ftp sed-* from a GNU archive site
description: A SED interpreter. Sed is a stream editing filter language.
bugs: bug-gnu-utils@prep.ai.mit.edu
updated: 1993/08/09
language: rc (Plan 9 shell)
package: rc
version: 1.4
parts: interpretor
author: Byron Rakitzis <byron@netapp.com>
how to get: ftp pub/rc/* from ftp.white.toronto.edu
description: a free implementation of the Plan 9 shell.
discussion: rc-request@hawkwind.utcs.toronto.edu
updated: 1992/05/26
language: S-Lang
package: slang
version: 0.94
parts: interpreter, documentation, examples
author: John E. Davis <davis@amy.tch.harvard.edu>
how to get: ftp pub/slang/* from amy.tch.harvard.edu
description: A small but highly functional embedded interpreter. S-Lang was
a stack-based postfix language resembling Forth and BC/DC with
limited support for infix notation. Now it has a C-like infix
syntax. Arrays, Stings, Integers, Floating Point, and
Autoloading are all suported. The editor JED embeds S-lang.
restrictions: GNU Library General Public License
ports: MSDOS, Unix, VMS
portability: Must be compiled with large memory model on MSDOS.
updated: 1993/06/12
language: Snobol4
package: SIL (Macro Implementation of SNOBOL4)
version: 3.11
parts: ?
author: ?
how to get: ftp snobol4/* from cs.arizona.edu
description: ?
contact: snobol4@arizona.edu
updated: 1986/07/29
language: Snobol4
package: vanilla
version: ?
parts: ?
author: Catspaw, Inc.
how to get: ftp snobol4/vanilla.arc from cs.arizona.edu
description: ?
ports: MSDOS
contact: ?
updated: 1992/02/05
language: ssh (Steve's Shell)
package: ssh
version: 1.7
parts: interpreter
author: Steve Baker <ice@judy.indstate.edu> with help from Thomas Moore
how to get: comp.sources.unix volume 26
description: A unix shell with a lot of csh/ksh-like features.
ports: sequent, sun, next, ultrix, bsdi
updated: 1993/04/15
language: TCL (Tool Command Language)
package: Tcl
version: 7.2
parts: interpreter, libraries, tests, documentation
author: John Ousterhout <ouster@cs.berkeley.edu>
how to get: ftp ucb/tcl/tcl* from ftp.cs.berkeley.edu
MSDOS: ftp ? from cajal.uoregon.edu
Macintosh: ftp pub/ticl from bric-a-brac.apple.com
Macintosh: ftp pub/tcl/distrib/MacTcl7.0.sea.* from harbor.ecn.purdue.edu
Examples: ftp tcl/* from barkley.berkeley.edu
Kanji: ftp pub/lang/tcl/jp/tk3.2jp-patch.Z from srawgw.sra.co.jp
description: TCL started out as a small language that could be
embedded in applications. It has now been extended
into more of a general purpose shell type programming
language. TCL is like a text-oriented Lisp, but lets
you write algebraic expressions for simplicity and to
avoid scaring people away.
+ may be used as an embedded interpreter
+ exceptions, packages (called libraries)
- only a single name-space
+ provide/require
- no dynamic loading ability
+ 8-bit clean
- only three variable types: strings, lists, associative arrays
bugs: ?
ports: ?
discussion: comp.lang.tcl
updated: 1993/11/15
language: TCL, Tk
package: Tk
version: 3.5
parts: Tcl interpreter, Tk?
author: John Ousterhout <ouster@sprite.Berkeley.EDU>
how to get: ftp ucb/tcl/tk* from ftp.cs.berkeley.edu
description: Tk is a X11 gui library that is designed to interoperate
with TCL. It provides a very easy way to create sophisticated
applications. The appearence of Tk is very similar to Motif.
updated: 1993/11/15
language: TCL
package: BOS - The Basic Object System
version: 1.31
parts: library
author: Sean Levy <Sean.Levy@cs.cmu.edu>
how to get: ftp tcl/? from barkley.berkeley.edu
description: BOS is a C-callable library that implements the
notion of object and which uses Tcl as its interpreter
for interpreted methods (you can have "compiled"
methods in C, and mix compiled and interpreted
methods in the same object, plus lots more stuff).
I regularly (a) subclass and (b) mixin existing
objects using BOS to extend, among other things,
the set of tk widgets (I have all tk widgets wrapped
with BOS "classes"). BOS is a class-free object
system, also called a prototype-based object system;
it is modeled loosely on the Self system from
Stanford.
updated: 1992/08/21
language: TCL
package: Tcl-DP
version: 3.0
parts: library
author: Larry Rowe ?
how to get: ftp pub/multimedia/Tcl-DP from toe.cs.berkeley.edu
description: Tcl-DP extends the "send" by removing the restriction
that you can only send to other clients of the same
X11 server. [could someone give a better description? --ed]
updated: ?
language: TCL
package: Wafe
version: 0.95
parts: interface
author: Gustaf Neumann <neumann@watson.ibm.com>
how to get: ftp pub/src/X11/wafe/wafe-0.95.tar.gz from ftp.wu-wien.ac.at
description: Wafe (Widget[Athena]front end) is a package that implements
a symbolic interface to the Athena widgets (X11R5) and
OSF/Motif. A typical Wafe application consists of two
parts: a front-end (Wafe) and an application program which
runs typically as a separate process. The distribution
contains sample application programs in Perl, GAWK, Prolog,
TCL, C and Ada talking to the same Wafe binary.
discussion: send "subscribe Wafe <Your Name>" to listserv@wu-wien.ac.at
portability: very high, just needs X11R4 or X11R5.
updated: 1993/07/01
language: TCL
package: Extended Tcl (tclx)
version: 7.2a
parts: library
author: Mark Diekhans <markd@NeoSoft.com>, Karl ?
how to get: ftp pub/tcl/beta/tclX7.1a-B5.tar.Z from ftp.neosoft.com
description: Extended Tcl adds statements to the TCL language to provide
high-level access unix system primitives.
contact: tcl-project@NeoSoft.com
updated: 1993/11/19
language: TCL
package: tcl-debug
version: ?
parts: debugger
author: Don Libes <libes@cme.nist.gov>
how to get: ftp pub/expect/tcl-debug.tar.Z from ftp.cme.nist.gov
description: A debugger for Tcl that can be easily embedded in other
applications. It is included with many other Tcl libraries.
updated: ?
language: TCL
package: Cygnus Tcl Tools
version: Release-930124
parts: ?
author: david d 'zoo' zuhn <zoo@cygnus.com>
how to get: ftp pub/tcltools-* from cygnus.com
description: A rebundling of Tcl and Tk into the Cyngus GNU build
framework with 'configure'.
updated: 1993/01/24
language: Z-shell
package: zsh
version: 2.3.1 (2.4 in beta)
parts: interpreter
author: Paul Falstad <pf@ttisms.com>
how to get: ftp pub/bas/zsh/zsh-*.tar.z from carlo.phys.uva.nl
description: zsh is most similar to ksh, while many of the additions are to
please csh users.
features: + multi-line commands editable as a single buffer,
+ variable editing (vared),
+ command buffer stack,
+ recursive globbing,
+ manipulation of arrays,
+ spelling correction.
ports: Berkeley-based Unix, SVR4-based Unix
discussion: zsh-request@cs.uow.edu.au
contact: zsh-list@cs.uow.edu.au
updated: 1993/03/23
functional languages
-------------------------------------------------------------------------------
category: functional languages
description: [someone have a good one-liner? --ed]
lref: es
lref: LIFE
lref: ALLOY
language: Caml
package: CAML
version: 3.1
parts: compiler, interactive development environment
author: Ascander Suarez, Pierre Weis, Michel Mauny, others (INRIA)
how to get: ftp lang/caml/* from ftp.inria.fr
description: Caml is a programming language from the ML/Standard ML family,
with functions as first-class values, static type inference
with polymorphic types, user-defined variant and product
types, and pattern-matching. The CAML V3.1 implementation
adds lazy and mutable data structures, a "grammar" mechanism
for interfacing with the Yacc parser generator,
pretty-printing tools, high-performance arbitrary-precision
arithmetic, and a complete library.
bugs: caml@margaux.inria.fr
ports: Sun-3 Sun-4 Sony-68k Sony-R3000 Decstation Mac-A/UX Apollo
portability: low (built on a propietary runtime system)
status: maintained but no longer developed
discussion: caml-list@margaux.inria.fr, comp.lang.ml
contact: Pierre Weis <Pierre.Weis@inria.fr>
updated: 1991/10/20
language: Caml
package: Caml Light
version: 0.6
parts: bytecode compiler, emacs mode, libraries, scanner generator,
parser generator, runtime, interactive development environment
author: Xavier Leroy, Damien Doligez (INRIA)
how to get: ftp lang/caml-light/* from ftp.inria.fr
description: Caml is a programming language from the ML/Standard ML family,
with functions as first-class values, static type inference
with polymorphic types, user-defined variant and product
types, and pattern-matching. The Caml Light implementation
adds a Modula-2-like module system, separate compilation,
lazy streams for parsing and printing, graphics primitives,
and an interface with C.
features: very small
bugs: caml-light@margaux.inria.fr
ports: most unix, Macintosh, MSDOS (16 and 32 bit modes), Atari ST
portability: very high
status: actively developed
discussion: caml-list@margaux.inria.fr, comp.lang.ml
contact: Xavier Leroy <Xavier.Leroy@inria.fr>
updated: 1993/10/06
language: Concurrent Clean
package: The Concurrent Clean System
version: 0.8.1
parts: development environment, documentation, compiler(byte-code),
compiler(native), interpreter(byte-code), examples
author: Research Institute for Declarative Systems,
University of Nijmegen
how to get: ftp pub/Clean/* from ftp.cs.kun.nl
description: The Concurrent Clean system is a programming environment for
the functional language Concurrent Clean, developed at the
University of Nijmegen, The Netherlands. The system is one of
the fastest implementations of functional languages available
at the moment. Its I/O libraries make it possible to do modern,
yet purely functional I/O (including windows, menus, dialogs
etc.) in Concurrent Clean. With the Concurrent Clean system it
is possible to develop real-life applications in a purely
functional language.
* lazy and purely functional
* strongly typed - based on Milner/Mycroft scheme
* module structure
* modern I/O
* programmer-infulenced evaluation order by annotations
ports: Sun-3, Sun-4, Macintosh
contact: clean@cs.kun.nl
updated: 1992/11/07
language: FP
package: ? funcproglang ?
version: ?
parts: translator(C)
author: ?
how to get: comp.sources.unix archive volume 13
description: ? Backus Functional Programming ?
updated: ?
language: Gofer (Haskell derivative)
package: Gofer
version: 2.28b
parts: interpreter, compiler(->C), documentation, examples
author: Mark Jones <jones-mark@cs.yale.edu>
how to get: ftp pub/haskell/gofer/* from nebula.cs.yale.edu
UK: ftp pub/haskell/gofer/* from ftp.dcs.glasgow.ac.uk
Sweden: ftp pub/haskell/gofer/* from ftp.cs.chalmers.se
description: Gofer is based quite closely on the Haskell programming
language, version 1.2. It supports lazy evaluation, higher
order functions, pattern matching, polymorphism, overloading
etc and runs on a wide range of machines.
conformance: Gofer does not implement all of Haskell, although it is
very close.
ports: many, including Sun, PC, Mac, Atari, Amiga
status: maintained but not developed (for a while anyway)
updated: 1993/08/02
langauge: Gofer
iref: (BNF) Ratatosk
language: Haskell
package: Chalmers Haskell (aka Haskell B.)
version: 0.999.5
parts: compiler, interpreter, library, documentation, examples
author: Lennart Augustsson <augustss@cs.chalmers.se>
how to get: ftp pub/haskell/chalmers/* from nebula.cs.yale.edu
UK: ftp pub/haskell/chalmers/* from ftp.dcs.glasgow.ac.uk
Sweden: ftp pub/haskell/chalmers/* from ftp.cs.chalmers.se
description: Full-featured implementation of Haskell 1.2,
with quite a few "Haskell B" extensions
requires: LML
ports: many, including Sun, DEC, Sequent, PC, Symmetry
(unsupported versions for NS32000, RT/PC, CRAY, SUN3, VAX,
ARM, and RS6000.)
discussion: haskell-request@cs.yale.edu
europe: haskell-request@dcs.glasgow.ac.uk
contact: hbc@cs.chalmers.se
updated: 1993/08/02
language: Haskell
package: Glasgow Haskell Compiler (GHC)
version: 0.16
parts: compiler(->C), profiler
author: GRASP/AQUA project, headed by Simon Peyton Jones
<simonpj@dcs.glasgow.ac.uk>
how to get: ftp pub/haskell/glasgow/* from nebula.cs.yale.edu
UK: ftp pub/haskell/glasgow/* from ftp.dcs.glasgow.ac.uk
Sweden: ftp pub/haskell/glasgow/* from ftp.cs.chalmers.se
description: + almost all of Haskell 1.2 is implemented
+ An extensible I/O system is provided, based on a "monad"
+ significant language extensions are implemented: Fully
fledged unboxed data types, Ability to write arbitrary in-line
C-language code, Incrementally-updatable arrays, Mutable
reference types.
+ generational garbage collector
+ Good error messages
+ programs compiled with GHC "usually" beat
Chalmers-HBC-compiled ones.
+ compiler is written in a modular and well-documented way.
+ Highly configurable runtime system.
- No interactive system.
- Compiler is greedy on resources.
conformance: Almost all of Haskell 1.2 is implemented.
reference: "Imperative functional programming",
Peyton Jones & Wadler, POPL '93
"Unboxed data types as first-class citizens",
Peyton Jones & Launchbury, FPCA '91
"Profiling lazy functional languages",
Sansom & Peyton Jones, Glasgow workshop '92
"Implementing lazy functional languages on stock hardware",
Peyton Jones, Journal of Functional Programming, Apr 1992
bugs: <glasgow-haskell-bugs@dcs.glasgow.ac.uk>
requires: GNU C 2.1+, perl, either Chalmers HBC 0.998.x or GHC
0.10 (source build only)
ports: Sun4, Sun3
portability: should be high
discussion: haskell-request@cs.yale.edu
europe: haskell-request@dcs.glasgow.ac.uk
contact: <glasgow-haskell-request@dcs.glasgow.ac.uk>
updated: 1993/07/16
language: Haskell
package: Yale Haskell
version: 2.0.5
parts: compiler, documentation, reference manual (dvi format)
author: Yale Haskell project <haskell-request@cs.yale.edu>
how to get: ftp from nebula.cs.yale.edu (128.36.13.1):pub/haskell/yale/*
how to get: ftp pub/haskell/yale/* from nebula.cs.yale.edu
UK: ftp pub/haskell/yale/* from ftp.dcs.glasgow.ac.uk
Sweden: ftp pub/haskell/yale/* from ftp.cs.chalmers.se
description: ?
features: X-window interface, available at the Haskell level too.
requires: CMU Common Lisp, Lucid, Common Lisp, Allegro Common Lisp, or
Harlequin LispWorks
ports: SunOS 4.1.2, Sparc 10 (sun4m) 4.1.3
discussion: haskell-request@cs.yale.edu
europe: haskell-request@dcs.glasgow.ac.uk
contact: haskell-request@cs.yale.edu
updated: 1993/07/14
language: Hope
package: ?
version: ?
parts: ?
author: ?
how to get: ftp ? from brolga.cc.uq.oz.au
description: Functional language with polymorphic types and lazy lists.
First language to use call-by-pattern.
ports: Unix, Mac, PC
updated: 1992/11/27
language: IFP (Illinois Functional Programming)
package: ifp
version: 0.5
parts: interpreter
author: Arch D. Robison <robison@shell.com>
how to get: comp.sources.unix archive volume 10
description: A variant of Backus' "Functional Programming" language
with a syntax reminiscent of Modula-2. The interpreter
is written in portable C.
reference: [1] Arch D. Robison, "Illinois Functional Programming: A
Tutorial," BYTE, (February 1987), pp. 115--125.
[2] Arch D. Robison, "The Illinois Functional
Programming Interpreter," Proceedings of 1987 SIGPLAN
Conference on Interpreters and Interpretive Techniques,
(June 1987), pp. 64-73
ports: Unix, MS-DOS, CTSS (Cray)
updated: ?
language: ML
package: LML
version: ?
parts: compiler(?), interactive environment
author: ?
how to get: ftp pup/haskell/chalmers/* from animal.cs.chalmers.se
description: lazy, completely functional variant of ML.
ports: ?
contact: ?
updated: 1992/07/06
language: Standard ML
package: SML/NJ (Standard ML of New Jersey)
version: 0.93
parts: compiler, libraries, extensions, interfaces, documentation,
build facility
author: D. B. MacQueen <dbm@research.att.com>, Lal George
<george@research.att.com>, AJ. H. Reppy <jhr@research.att.com>,
A. W. Appel <appel@princeton.edu>
how to get: ftp dist/ml/* from research.att.com
description: Standard ML is a modern, polymorphically typed, (impure)
functional language with a module system that supports flexible
yet secure large-scale programming. Standard ML of New Jersey
is an optimizing native-code compiler for Standard ML that is
written in Standard ML. It runs on a wide range of
architectures. The distribution also contains:
+ an extensive library - The Standard ML of New Jersey Library,
including detailed documentation.
+ CML - Concurrent ML
+ eXene - an elegant interface to X11 (based on CML)
+ SourceGroup - a separate compilation and "make" facility
CML, eXene and SourceGroup not in the Macintosh port, but the
Mac port has a built-in editor.
ports: M68K, SPARC, MIPS, HPPA, RS/6000, I386/486, Macintosh
updated: 1993/02/18
language: Concurrent ML
package: Concurrent ML
version: 0.9.8
parts: extension
author: ?
how to get: ftp pub/CML* from ftp.cs.cornell.edu or get SML/NJ
description: Concurrent ML is a concurrent extension of SML/NJ, supporting
dynamic thread creation, synchronous message passing on
synchronous channels, and first-class synchronous operations.
First-class synchronous operations allow users to tailor their
synchronization abstractions for their application. CML also
supports both stream I/O and low-level I/O in an integrated
fashion.
bugs: sml-bugs@research.att.com
requires: SML/NJ 0.75 (or later)
updated: 1993/02/18
language: SASL
iref: (Pascal) Tim Budd's C++ implementation of Kamin's interpreters
language: Standard ML
package: sml2c
version: ?
parts: compiler(->C), documentation, tests
author: School of Computer Science, Carnegie Mellon University
how to get: ftp /usr/nemo/sml2c/sml2c.tar.Z from dravido.soar.cs.cmu.edu
Linux: ftp pub/linux/smlnj-0.82-linux.tar.Z from ftp.dcs.glasgow.ac.uk
description: sml2c is a Standard ML to C compiler. sml2c is a batch
compiler and compiles only module-level declarations,
i.e. signatures, structures and functors. It provides
the same pervasive environment for the compilation of
these programs as SML/NJ. As a result, module-level
programs that run on SML/NJ can be compiled by sml2c
without any changes. Based on SML/NJ version 0.67 and shares
front end and most of its runtime system, but does not support
SML/NJ style debugging and profiling.
conformance: superset
+ first-class continuations,
+ asynchronous signal handling
+ separate compilation
+ freeze and restart programs
ports: IBM-RT Decstation3100 Omron-Luna-88k Sun-3 Sun-4 386(Mach)
portability: easy, easier than SML/NJ
contact: david.tarditi@cs.cmu.edu anurag.acharya@cs.cmu.edu
peter.lee@cs.cmu.edu
updated: 1991/06/27
language: Standard ML
package: The ML Kit
version: 1
parts: interprter, documentation
author: Nick Rothwell, David N. Turner, Mads Tofte <tofte@diku.dk>,
and Lars Birkedal at Edinburgh and Copenhagen Universities.
how to get: ftp diku/users/birkedal/* from ftp.diku.dk
UK: ftp export/ml/mlkit/* from lfcs.ed.ac.uk
description: The ML Kit is a straight translation of the Definition of
Standard ML into a collection of Standard ML modules. For
example, every inference rule in the Definition is translated
into a small piece of Standard ML code which implements it. The
translation has been done with as little originality as
possible - even variable conventions from the Definition are
carried straight over to the Kit. The Kit is intended as a
tool box for those people in the programming language community
who may want a self-contained parser or type checker for full
Standard ML but do not want to understand the clever bits of a
high-performance compiler. We have tried to write simple code
and modular interfaces.
updated: 1993/03/12
language: SISAL 1.2
package: The Optimizing SISAL Compiler
version: 12.0
parts: compiler?, manuals, documentation, examples, debugger,...
author: David C. Cann <cann@sisal.llnl.gov>
how to get: ftp pub/sisal from sisal.llnl.gov
description: Sisal is a functional language designed to be competitive with
Fortran, and other imperative languages for scientific jobs.
In particualar, OSC uses advanced optimizing techniques to
achieve fast speeds for computation intensive programs.
It also features routines for making efficient use
of parallel processors, such as that on the Cray.
ports: ?
updated: ?
C variants
-------------------------------------------------------------------------------
category: C variants
description: These are languages that are closely based on C.
lref: C-Refine, C++-Refine, *-Refine
lref: (C,Duel) Duel (a <practical> C debugging language)
language: C, C++, Objective-C, RTL
package: GNU CC (gcc)
version: 2.5.5
parts: compiler, runtime, examples, documentation
Library listed separately
author: Richard Stallman <rms@gnu.ai.mit.edu> and others
how to get: ftp gcc-2.4.5.tar.gz from a GNU archive site
msdos: ftp pub/msdos/djgpp/* from omnigate.clarkson.edu
Macintosh: ftp mpw-gcc-1.37.1r14 from ?
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.
conformance: C: superset of K&R C and ANSI C.
C++: not exactly cfront 3.0? [could someone tell me which
version of cfront it is equivalent to, if any? --ed]
Objective-C: ?
bugs: gnu.gcc.bug
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,
sparc-solaris2, sparc-sysv.4, spur, sun386, tahoe, tow,
umpis, vax-vms, vax-bsd, we32k, hitachi-{SH,8300}
portability: very high in the theory, somewhat annoying in practice
status: actively developed
discussion: gnu.gcc.help
announcements: gnu.gcc.announce
updated: 1993/11/27
language: C
package: GNU C Library (glibc)
version: 1.06
parts: library
author: ?
how to get: ftp glibc-1.06.tar.Z from a GNU archive site
Source for "crypt" must be FTP'ed from non-USA site if you are
outside the USA (site: glibc-1.06-crypt.tar.z from
ftp.uni-c.dk [129.142.6.74]).
description: The run-time library for the GNU C compiler, gcc. The source
for libc.a. This package is separately maintained.
conformance: ANSI and POSIX.1 superset. Large subset of POSIX.2
bugs: Reports sent to mailing list bug-glibc@prep.ai.mit.edu.
updated: 1993/06/25
language: C
package: c68/c386
version: 4.2a
parts: compiler
author: Matthew Brandt, Christoph van Wuellen, Keith and Dave Walker
how to get: ftp pub/Minix/common-pkgs/c386-4.2.tar.Z from bugs.nosc.mil
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.min
updated: ?
language: C
package: GNU superoptimizer
version: 2.2
parts: exhaustive instruction sequence optimizer
author: Torbjorn Granlund <tege@gnu.ai.mit.edu> with Tom Wood
how to get: ftp superopt-2.2.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 <tege@gnu.ai.mit.edu>
restriction: GNU General Public License
ports: Alpha, Sparc, i386, 88k, RS/6000, 68k, 29k, Pyramid(SP,AP,XP)
updated: 1993/02/16
language: C
package: xdbx
version: 2.1
parts: X11 front end for dbx
author: ?
how to get: retrieve xxgdb from comp.sources.x volumes 11, 12, 13, 14, & 16
description: ?
contact: Po Cheung <cheung@sw.mcc.com>
updated: 1992/02/22
language: C
package: ups
version: 2.1
parts: interpreter, symbolic debugger, tests, documentation
author: Mark Russell <mtr@ukc.ac.uk>
how to get: ? ftp from contrib/ups*.tar.Z from export.lcs.mit.edu ?
unofficial: unofficial enhancements by Rod Armstrong <rod@sj.ate.slb.com>,
available by ftp misc/unix/ups/contrib/rob from sj.ate.slb.com
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: 1991/05/20
language: C
package: C-Interp
version: ?
parts: interpreter
author: ?
how to get: ftp Mac/Misc/C_Interp.sit from oac2.hsc.uth.tmc.edu
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: 1993/05/14
langauge: C
package: ae (application executive)
version: 1?
parts: interpreter
author: Brian Bliss <bliss@sp64.csrd.uiuc.edu> [Is this right? --ed]
how to get: ftp pub/at.tar.Z from sp2.csrd.uiuc.edu
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.
ports: SunOS (cc or gcc), Alliant FX, Cray YMP (soon)
updated: 1992/04/21
language: C (ANSI), lcc
package: lcc
version: 1.8
parts: compiler, test suite, documentation
author: Dave Hanson <drh@cs.princeton.edu>
how to get: ftp pub/lcc/lccfe-*.tar.Z from princeton.edu
description: + hand coded C parser (faster than yacc)
+ retargetable
+ code "as good as GCC"
ports: vax (mips, sparc, 68k backends are commercial)
status: small-scale production use using commerical backends; the
commercial backends are cheap (free?) to universities.
discussion: lcc-requests@princeton.edu
updated: 1992/02/20
language: C, lcc
package: Chop
version: 0.6
parts: code generator
author: Alan L. Wendt <wendt@CS.ColoState.EDU>
how to get: ftp pub/chop/0.6.tar.Z from beethoven.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
package: GCT
version: 1.4
parts: test-coverage-preprocessor
author: Brian Marick <marick@cs.uiuc.edu>
how to get: ftp pub/testing/gct.file/ftp.* from cs.uiuc.edu
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: 1993/02/12
language: C
package: MasPar mpl, ampl
version: 3.1
parts: compiler
author: ?
how to get: ftp put/mpl-* from maspar.maspar.com
description: mpl & ampl - the intrinsic parallel languages for MasPar's
machines are C (ampl is actually a gcc port these days). You
can get the source from marpar.com.
contact: ?
updated: ?
language: C
package: gc
version: 3.4
parts: library
author: Hans-J. Boehm <boehm@parc.xerox.com>, Alan J. Demers
how to get: ftp pub/russell/gc3.4.tar.Z from parcftp.xerox.com
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: ?
how to get: ftp pub/ham/dsp/dsp56k-tools/dsp56k-gcc.tar.Z from nic.funet.fi
Australia: ftp pub/micros/56k/g56k.tar.Z from evans.ee.adfa.oz.au
description: A port of gcc 1.37.1 to the Motorola DSP56000 done by
Motorola
contact: ?
updated: ?
language: C
package: dsp56165-gcc
version: ?
parts: compiler
author: Andrew Sterian <asterian@eecs.umich.edu>
how to get: ftp usenet/alt.sources/? from wuarchive.wustl.edu
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: ?
how to get: ftp mac/development/languages/harves* from archive.umich.edu
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
how to get: alt.sources archive, 1993/06/28, <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: 1993/06/28
language: C
package: cxref
version: ?
parts: code analysis tool
author: Arnold Robbins <arnold@gatech.?>
how to get: use archie
description: A cross-reference genrator
updated: ?
language: C
package: xref
version: ?
parts: code analysis tool
author: Jim Leinweber
how to get: use archie
description: A cross-reference genrator
updated: 1985?
language: C, C++
package: Xcoral
version: 1.72
parts: editor
author: ?
how to get: ftp X/contrib/clients/xcoral* from ftp.inria.fr
description: Xcoral is a multiwindows 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.
contact: ?
updated: 1993/03/14
language: C++
package: Lily (LIsp LibrarY)
version: 0.1
parts: library
author: Roger Sheldon <sheldon@kong.gsfc.nasa.gov>
how to get: ftp uploads/lily-0.1.tar.gz from sunsite.unc.edu
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.
requires: C++ (g++ or Turbo C++, but not cfront)
restriction: GNU Library General Public License
updated: 1993/11/08
language: C++
package: C++SIM
version: 1.0
parts: library
author: Mark Little <M.C.Little@newcastle.ac.uk>
how to get: ftp ? from 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: 1993/06/14
language: C++
package: ? signatures for GCC 2.5.2. ?
version: ?
parts: patches to GNU CC, documentation
author: Gerald Baumgartner <gb@cs.purdue.edu>
how to get: ftp pub/gb/* from ftp.cs.purdue.edu
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: ?
how to get: ftp pub/aard.tar.Z from wilma.cs.brown.edu
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: ET++
version: 3.0-alpha
parts: class libraries, documentation
author: ?
how to get: ftp C++/ET++/* from iamsun.unibe.ch
description: ?
contact: Erich Gamma <gamma@ifi.unizh.ch>
updated: 1992/10/26
language: C++
package: C++ grammar
version: ?
parts: parser (yacc)
author: ?
how to get: 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 <ted@cs.brown.edu>
how to get: 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: 1993/05/26
language: C++
package: C++ Object Oriented Library
version: COOL ?, GECOOL 2.1, JCOOL 0.1
parts: libraries, tests, documentation
author: ?
how to get: GECOOL, JCOOL: ftp pub/COOL/* from cs.utexas.edu
COOL: ftp pub/COOL.tar.Z from csc.ti.com
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: 1992/08/05
--
Send compilers articles to compilers@iecc.com or
{ima | spdcc | world}!iecc!compilers. Meta-mail to compilers-request@iecc.com.