-------------------------------------------------------------------------------
Catalog of Free Compilers and Interpreters.
-------------------------------------------------------------------------------
Copyright (c) 1992, 1993, 1994, David Muir Sharnoff, All Rights Reserved
Copyright (c) 1994, 1995, 1996, Steven Allen Robenalt, All Rights Reserved
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
ftp://ftp.idiom.com/pub/compilers-list/free-compilers
There is a HTML version available at:
http://www.idiom.com/free-compilers
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 brackets --ed].
If you have information not included in here or updates to information
listed here, a template has been provided below for you to use. You
can send whatever new items or updates you have to
<free-co...@idiom.com>.
-------------------------------------------------------------------------------
overview (table of contents)
-------------------------------------------------------------------------------
Section Parts
Catalog of Free Compilers and Interpreters. 1
overview (table of contents) 1
history 1
prototype entry 1
tools 1
scripting languages 1
functional languages 1
C variants 2
compiled, imperative languages 2
object oriented languages 2
lisp family 3
document formatting languages 3
logic programming languages 3
concurrent, parallel, and simulation languages 4
Forth family languages 4
compiler generators and related tools 4
mathematical tools and languages 4
electrical engineering languages 4
Wirth family languages 5
assemblers 5
macro preprocessors 5
special purpose languages 5
natural languages 5
curiosities 5
unable to classify due to lack of knowledge 5
references 5
archives 5
cross-reference 5
-------------------------------------------------------------------------------
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 archivists 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 <ma...@csd4.csd.uwm.edu> took care of it for
the summer of 1993 and then gave it back to David Sharnoff when he dropped
off the net. Steve Robenalt <steven_...@uscs.com> took over the list
maintenance from Dave in January 1994. It was returned to Mark Hopkins
<ma...@omnifest.uwm.edu> in May 1994, but Dave's organization, Idiom
Consulting, remains as the focal point for information to be submitted.
In July through November 1994, David created a HTML version of the list while
updates piled up. Eric S. Raymond made quite a few edits during this
conversion process that had to be edited in by hand 'cause the compilers
list was kinda unstable. Eventually, David and Steve took care of the
backlog and passed maintenance back to Mark. Now that you are probably
completely confused about who does what, Steve is maintaining the list again.
After cleaning up a large portion of a rather hefty backlog from the past
six months, I would like to request that whenever possible, readers of this
list send in entries using the sample form provided, including the required
information. If you find a tool useful and it's not here, do the author a
favor and submit the information. It makes the updates much easier.
If you should wish to make substantial changes to the free compilers list,
please talk to us first. The version that you see is not quite the same as
the version that we maintain.
-------------------------------------------------------------------------------
prototype entry
-------------------------------------------------------------------------------
Every entry should at least have the fields marked with two asterisks (**).
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.
location: **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", although valid URL's are also
acceptable.
No IP address is ever given. No other ftp formats are allowed.
Continent: Sites for continent.
Country: Sites for country.
System: Sites for a particular port.
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.
If there is more than one entry in the section indent all
but first line of each entry by one character
If there is only one entry, then don't indent that single
entry at all.
features: 1. salient features not listed in the description.
2. You may list features with numbered lists
3. Or you may use bullet items:
+ every bullet item should be a plus
+ unless you want to say that something is an anti-feature
- in which case you should use a minus.
+ but in any case, you should put the + or - at the beginning
of the line.
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) Email
addresses are in the form "Real Name <email@address>". Surface
mail addresses are not used unless there is no email address.
updated: **last known update to the package, not time of the update
to the entry in the catalog!
The format of date is: yyyy/mm/dd, yyyy/mm, or yyyy.
No other formats are allowed.
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 implementation
-------------------------------------------------------------------------------
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 file
using #!.
iref: (Scheme) scsh
language: ABC
package: ABC
version: 1.04.01
parts: interpreter/compiler
author: Leo Geurts, Lambert Meertens,
Steven Pemberton <Steven.P...@cwi.nl>
location: ftp /pub/abc/* from ftp.cwi.nl
or http://www.cwi.nl/~steven/abc.html
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...@cwi.nl
contact: a...@cwi.nl
updated: 1991/05/02
language: awk (new)
package: mawk
version: 1.2beta
parts: interpreter
author: Mike Brennan <bre...@bcsaic.boeing.com>
location: ftp public/mawk* from oxy.edu
description: a pattern-directed language for massaging text files
conformance: superset of (old, V7) awk
features: + RS can be a regular expression
+ 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 <bre...@bcsaic.boeing.com>
updated: 1994/12/16
language: awk (new)
package: GNU awk (gawk)
version: 2.15.6
parts: interpreter, documentation
author: David Trueman <da...@cs.dal.ca> and
Arnold Robbins <arn...@cc.gatech.edu>
location: ftp gawk-2.15.tar.Z from a GNU archive site
description: a pattern-directed language for massaging text files
conformance: superset of (old, V7) awk including some Plan 9 features
ports: unix, msdos:msc5.1
status: activly developed
updated: 1995/03/09
language: BASIC
package: bwBASIC (Bywater BASIC interpreter)
version: 2.10
parts: interpreter, shell, ?
author: Ted A. Campbell <tc...@delphi.com>
location: 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: ?
location: comp.sources.unix archives volume 2
description: ?
updated: ?
language: BASIC
package: ? bournebasic ?
version: ?
parts: interpreter
author: ?
location: comp.sources.misc archives volume 1
description: ?
updated: ?
language: BASIC
package: ubasic
version: 8.74
parts: interpreter, documentation, examples
author: Yuji Kida <ki...@ax251.rikkyo.ac.jp>
location: math.ohio-state.edu in pub/msdos/ubasic/
N.America: ftp SimTel/msdos/ubasic/* from oak.oakland.edu
Europe: ftp pub/msdos/SimTel/ubasic/* from ftp.funet.fi
description: An implementation of BASIC with high precision real and complex
arithmetic (up to 2600 digits), exact rational arithmetics,
arithmetic of rational, modulo p or complex polynomials, and
strings and linked lists. It supports algebraic,
transcendental and arithmetic functions, some C-like and
Pascal-like functions. The latest version supports VGA
graphics.
reference: reviewed in Notices of the A.M.S #36 (May/June 1989),
and "A math-oriented high-precision BASIC", #38 (3/91)
ports: MS-DOS, VGA capability present.
updated: 1994/06/05
language: BASIC
package: ?
version: ?
parts: interpreter
author: ?
location: 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: BASIC
package: ACE - AmigaBASIC Compiler with Extras
version: 2.3
parts: Compiler (produces 68000 assembly code), assembler, linker,
run-time libraries (linkable), text and AmigaGuide docs,
integrated development environment, large collection of
example programs, utilities.
author: David Benn. E-mail: D.B...@appcomp.utas.edu.au
location: ftp /pub/ACE/ace23.lha from ftp.appcomp.utas.edu.au
ftp dev/basic/ace23.lha from Aminet sites (wuarchive.wustl.edu)
description: ACE is a FreeWare Amiga BASIC compiler which, in conjunction
with A68K and Blink produces standalone executables.
The language defines a large subset of AmigaBASIC but also has
many features not found in the latter such as: turtle graphics,
recursion, SUBs with return values, structures, arguments,
include files, a better WAVE command which allows for large
waveforms, external references, named constants and a variety
of other commands and functions not found in AmigaBASIC.
conformance: Follows AmigaBASIC fairly closely with most differences being
minor. Many extra features have been added however. Major
AmigaBASIC features yet to be implemented: double-precision
floating point math, random files, sprites.
bugs: See documentation: ace.doc, p 43-44.
restrictions: See documentation: ace.doc, p 42-43 and conformance (above).
portability: ACE is targetted at the Amiga but many generic BASIC
programs will compile with little or no change.
status: ACE is still being developed. Version 2.3 is its sixth release.
discussion: Discussion list: send the message "subscribe ace FirstName
LastName" to: Lists...@appcomp.utas.edu.au
announcements: On the ACE discussion list and the newsgroup
comp.sys.amiga.programmer
updated: 1994/10/22
language: Bourne Shell
package: ash
version: ?
parts: interpreter, manual page
author: Kenneth Almquist
location: 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.06
parts: interpreter, manual page, html manual
author: Christos Zoulas <chri...@ee.cornell.edu>
location: ftp://ftp.deshaw.com/pub/tcsh
description: a modified C-Shell with history editing
ports: unix, VMS_POSIX, nearing completion: OS/2 EMX.
updated: 1994/06/27
language: ERGO-Shell (a window-based Unix shell)
package: ERGO-Shell
version: 2.1
parts: interpreter
author: Regine Freitag <fre...@gmd.de>
location: 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 <dz...@gmd.de> or the author
updated: 1993/06/04
language: es (a functional shell)
package: es
version: 0.84
parts: interpreter
author: Byron Rakitzis <by...@netapp.com>, Paul Haahr <ha...@adobe.com>
location: 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: ESL
package: ESL
version: 0.2
parts: ?
author: David J. Hughes <ba...@kirk.Bond.edu.au>
location: Bond.edu.au [131.244.1.1] in /pub/Bond_Uni/Minerva
description: Styled scripting language with automatic allocation,
associative arrays, compilation to host-independent binary
format, bindings to CMU-SNMP library
ports: SPARC (under Sun OS 4.1.1), Solaris 2.3, Ultrix 4.3, Linux 1.0
updated: 1994/07/12
language: Glish
package: glish
version: 2.4.1
parts: interpreter, C++ class library, user manual
author: Vern Paxson <ve...@ee.lbl.gov>
location: 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
location: ftp pub/ici.tar.Z from ftp.su.edu.au
ftp pub/oz/ici.tar.Z from nexus.yorku.ca
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, HP-UX
portability: high
status: actively developed.
discussion: send "help" to list...@research.canon.oz.au
contact: Andy Newman <an...@research.canon.oz.au>
updated: 1994/04/18
language: Icon
package: icon
version: 8.8 (8.7, 8.5, 8.0 depending on platform)
parts: interpreter, compiler (some platforms), library (v8.8)
author: Ralph Griswold <ra...@CS.ARIZONA.EDU>
location: ftp icon/* from cs.arizona.edu
MS-DOS version: ftp norman/iconexe.zip from bellcore.com
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. Some features are reminiscent of SNOBOL, which
Griswold had previously designed.
- no packages, one name-space
- no exceptions
+ object oriented features
+ records, sets, lists, strings, tables
+ unlimited line length
- unix interface is primitive
+ co-expressions
reference: "The Icon Programming Language", Ralph E. Griswold and
Madge T. Griswold, Prentice Hall, seond edition, 1990.
"The Implementation of the Icon Programming 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-p...@cs.arizona.edu
meng...@delphi.com for MS-DOS version
updated: 1992/08/21
language: Icon
iref: (BNF) Ibpag2
language: IVY
package: Ivy
version: experimental
parts: interpreter
author: Joseph H Allen <jha...@world.std.com>
location: alt.sources 1993/09/28 <CE1wo...@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 <ko...@hpfcogv.fc.hp.com>
location: 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: Bourne Shell
package: Bash (Bourne Again SHell)
version: 1.14.5
parts: parser(yacc), interpreter, documentation
author: Brian Fox <bf...@vision.ucsb.edu>
location: ftp://slc2.ins.cwru.edu/pub/dist/bash-1.14.5.tar.gz
description: Bash is a Posix compatible 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-...@prep.ai.mit.edu
restriction: GNU General Public License
updated: 1995/07
language: Korn Shell
package: pdksh
version: 5.1.3
parts: interpreter, documentation (complete man page)
author: Michael Rendell <mic...@cs.mun.ca> (maintainer)
location: ftp://ftp.cs.mun.ca:pub/pdksh/pdksh.tar.gz
description: pdksh is a public domain implementation of ksh88. pdksh was
started by Eric Gisin based on Charles Forsyth's version
of sh. It has since been maintained by John R MacMillan and
Simon J. Gerraty and is currently maintained by Michael
Rendell.
conformance: Only major feature not implemented (yet) is Korn's
@(patter1|pattern2|..) style pattern matching. A few
other things are also missing like trap DEBUG (see NOTES
file in distribution for details).
bugs: should be reported to pd...@cs.mun.ca.
restriction: none
ports: Most unix boxes (uses GNU autoconf), OS2.
status: active (missing ksh88 features being added, being made POSIX
conforming)
support: pd...@cs.mun.ca
announcements: posted to comp.unix.shells newsgroup (also, send mail to
pdksh-request to be placed on a mailing list for announcements)
updated: 1994/12/22
language: LPC
package: LPC4
version: 4.05.11
parts: interpreter, bytecode compiler, documentation, sample scripts,
sample mudlib
author: Fredrik Hubinette <hu...@lysator.liu.se>
location: ftp pub/lpmud/drivers/profezzorn/* from ftp.lysator.liu.se
description: A development of Lars Pensj|'s language for MUD, with
script-running capability. LPC has a syntax similar to C,
but works internally like Perl or some one-cell Lisp.
features: mappings, dynamic arrays, binary strings (ie. they
can contain zeros) and socket communication functions
restriction: May currently not be used for monetary gain.
(Imposed by Lars Pensj|)
requires: yacc/byacc/bison
ports: dynix, hp-ux, Sunos4, Solaris, Linux
portability: Should work fine on most Unix.
discussion: lpc4-r...@lysator.liu.se
updated: 1994/06/04
language: lua
package: lua
version: 2.2
parts: bytecode compiler, grammar(yacc, lex), library, documentation,
examples, run-time, interpreter
author: TeCGraf, the Computer Graphics Technology Group of PUC-Rio,
the Catholic University of Rio de Janeiro, Brazil.
contact Luiz Henrique de Figueiredo <l...@icad.puc-rio.br>
location: ftp://ftp.icad.puc-rio.br/pub/lua/lua-2.2.tar.gz
http://www.inf.puc-rio.br/~roberto/lua.html
description: Lua is a language for extending applications.
features: simple syntax, variables need no declaration.
associative arrays, user-controlled type constructors.
variable number of arguments and multiple return values in
functions.
restriction: Lua is not in the public domain; TeCGraf keeps its copyright.
Nevertheless, Lua is freely available for academic purposes.
For commercial purposes, please contact TeCGraf.
ports: unix (Sun, AIX, dec), DOS, MacOS
portability: Lua is written in ANSI C and is completely portable.
updated: 1995/11/28
language: Perl (Practical Extraction and Report Language)
package: perl5
version: 5.002
parts: interpreter, debugger, libraries, tests, documentation
author: Larry Wall <lw...@netlabs.com>
location: many!
Africa: ftp://ftp.is.co.za:/programming/perl/CPAN/
Australia: ftp://coombs.anu.edu.au:/pub/perl/CPAN/
ftp://ftp.mame.mu.oz.au:/pub/perl/CPAN/
ftp://ftp.tekotago.ac.nz:/pub/perl/CPAN/
Austria: ftp://ftp.tuwien.ac.at:/pub/languages/perl/CPAN/
Canada: ftp://mango.pinc.com:/pub/mirrors/CPAN/
Czech Rep.: ftp://sunsite.mff.cuni.cz:/MIRRORS/ftp.funet.fi/pub/languages/perl/CPAN/
Denmark: ftp://sunsite.auc.dk:/pub/languages/perl/CPAN/
Finland: ftp://ftp.funet.fi:/pub/languages/perl/CPAN/
France: ftp://ftp.ibp.fr:/pub/perl/CPAN/
ftp://ftp.pasteur.fr:/pub/computing/unix/perl/CPAN/
Germany: ftp://ftp.leo.org:/pub/comp/programming/languages/perl/CPAN/
ftp://ftp.rz.ruhr-uni-bochum.de:/pub/CPAN/
Greece: ftp://ftp.ntua.gr:/pub/lang/perl/
Hungary: ftp://ftp.kfki.hu:/pub/packages/perl/
Japan: ftp://ftp.lab.kdd.co.jp:/lang/perl/CPAN/
Netherlands: ftp://http://www.cs.ruu.nl/pub/PERL/CPAN/
New Zealand: ftp://ftp.tekotago.ac.nz:/pub/perl/CPAN/
Poland: ftp://ftp.pk.edu.pl:/pub/lang/perl/CPAN/
Portugal: ftp://ftp.ci.uminho.pt:/pub/lang/perl/
Slovenia: ftp://ftp.arnes.si:/software/perl/CPAN/
Spain: ftp://ftp.rediris.es:/mirror/CPAN/
Sweden: ftp://ftp.sunet.se:/pub/lang/perl/CPAN/
Switzerland: ftp://ftp.switch.ch:/mirror/CPAN/
Taiwan: ftp://dongpo.math.ncu.edu.tw:/perl/CPAN/
UK: ftp://ftp.demon.co.uk:/pub/mirrors/perl/CPAN/
ftp://unix.hensa.ac.uk:/mirrors/perl-CPAN/
USA: ftp://ftp.cdrom.com:/pub/perl/CPAN/
ftp://ftp.cis.ufl.edu:/pub/perl/CPAN/
ftp://uiarchive.cso.uiuc.edu:/pub/lang/perl/CPAN/
ftp://ftp.delphi.com:/pub/mirrors/packages/perl/CPAN/
ftp://ftp.uoknor.edu:/mirrors/CPAN/
ftp://ftp.sedl.org:/pub/mirrors/CPAN/
ftp://ftp.metronet.com:/pub/perl/
ftp://ftp.sterling.com:/CPAN/
description: Perl5 is a major rewrite and enhancement to perl4. It adds
real data structures (by way of "references"), un-adorned
subroutine calls, and method inheritance. It is repackaged
with many extensions that can be dynamically loaded in the
interpreter at runtime.
features: + very-high semantic density becuase of powerful operators
like regular expression substitution
+ no arbitrary limits
+ exceptions
+ variables can be tied to arbitrary code (like dbm)
+ direct access to almost all system calls
+ can access binary data
+ many powerful idioms for common tasks
+ 8-bit clean, including nulls
+ dynamic loading of extensions
+ constructors, destructors, multiple inheritence, and
operator overloading
+ support for writing secure systems
+ many useful libraries and extensions
references: http://www.perl.com/perl/index.html.
"Programming Perl" by Larry Wall and Randal L. Schwartz,
O'Reilly & Associates, Inc. Sebastopol, CA.
ISBN 0-93715-64-1
"Learning Perl" by Randal L. Schwartz,
O'Reilly & Associates, Inc. Sebastopol, CA.
ISBN 1-56592-042-2
extensions: + Tk - easy to use X11 interface
+ tcl - dynamically load Tcl into perl
+ Curses - sreen-based
+ CGI - easy web programming
+ perlmenu - http://www.cc.iastate.edu/perlmenu/
+ DDI - interfaces to many relational databases
+ Safe - secure execution of untrusted code
+ Penguin - distributed secure execution of untrusted code
bugs: Send bugs to <perl...@perl.com>
lref: Tk
lref: Tcl
ports: Almost all unix systems, Amiga, Atari, LynxOS, Macintosh,
MPE, MS-DOS, MVS, Netware, OS/2, QNX, VMS, Windows 3.x,
Windows NT (http://info.hip.com/ntperl/PerlFaq.htm)
portability: Extreamly high.
updated: 1996/02/29
language: Perl (Practical Extraction and Report Language)
package: perl
version: 4.0 patchlevel 36
parts: interpreter, debugger, libraries, tests, documentation
author: Larry Wall <lw...@netlabs.com>
location: ftp pub/perl.4.0/* from jpl-devvax.jpl.nasa.gov
OS/2: ftp pub/os2/all/unix/prog*/perl4019.zip from hobbes.nmsu.edu
Macintosh: ftp software/mac/src/mpw_c/Mac_Perl_405_* from nic.switch.ch
Amiga: ftp perl4.035.V010.* from wuarchive.wustl.edu
VMS: ftp software/vms/perl/* from ftp.pitt.edu
Atari: ftp amiga/Languages/perl* from atari.archive.umich.edu
MSDOS: ftp pub/msdos/perl/* from ftp.ee.umanitoba.ca
ftp pub/msdos/perl/bperl* from oak.oakland.edu
Windows NT: ftp://ntperl.hip.com/ntperl/ntperl5.001.src.zip
ftp://ntperl.hip.com/ntperl/ntperl5.001.i86.zip
MVS: ftp dist/perl-4036.tar.Z from oozelum.csi.cam.ac.uk
Netware: contact Jack Thomasson <Jack_Th...@Novell.COM>
description: perl is an interpreted language optimized for scanning
arbitrary text files, extracting information from those text
files, and printing reports based on that information. It's
also a good language for many system management tasks.
reference: "Programming Perl" by Larry Wall and Randal L. Schwartz,
O'Reilly & Associates, Inc. Sebastopol, CA.
ISBN 0-93715-64-1
"Learning Perl" by Randal L. Schwartz,
O'Reilly & Associates, Inc. Sebastopol, CA.
ISBN 1-56592-042-2
The perl FAQ, ftp from rtfm.mit.edu
features: + very-high semantic density becuase of powerful operators
like regular expression substitution
+ exceptions, provide/require
+ associative array can be bound to dbm files
+ no arbitrary limits
+ direct access to almost all system calls
+ can access binary data
+ many powerful idioms for common tasks
+ 8-bit clean, including nulls
- three variable types: scalar, array, and hash table
- syntax requires variable and function prefix characters
bugs: comp.lang.perl; Larry Wall <lw...@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...@iis.ee.ethz.ch
updated: 1993/02/07
language: perl, awk, sed, find
package: a2p, s2p, find2perl
version: ?
parts: translators(->perl)
author: Larry Wall
location: comes with perl
description: translators to turn awk, sed, and find programs into perl
programs.
updated: ?
language: Perl
package: perl profiler.
version: ? 1
parts: profiler
author: Anthony Iano-Fletcher <a...@maths.nott.ac.uk>
location: Source posted on comp.lang.perl in mid-June 1993
description: Profiles Perl scripts (mkpprof).
Collates data from Perl scripts (pprof)
updated: 1993/06/17
language: Proxy
package: Proxy
version: 1.4
parts: interpreter, documentation
author: Burt Leavenworth <edl...@delphi.com>
location: ftp pub/scheme-repository/scm/proxy.zip from ftp.cs.indiana.edu
description: Proxy is an interpreter dor a rapid prototyping/specification
language with C/C++ like syntax based on modelling software
using data structures such as sets, maps, sequences, structures
and objectss. It allows the developer to make incremental
changes to a design and test them immediately. Proxy is written
in Scheme, provides a Scheme interface.
New in version 1.4 is a non-preemptive CSP-like multi-tasking facility.
ports: MS-DOS
updated: 1994/09/23
language: Python
package: Python
version: 1.3
parts: interpeter, libraries, documentation, emacs macros
author: Guido van Rossum <gu...@cwi.nl>
OS/2 port by:
Simon K Johnston <S.K.Johnst...@oasis.icl.co.uk>
location: ftp pub/python* from ftp.cwi.nl
N.America: ftp pub/plan/python from gatekeeper.dec.com
N.America: ftp languages/python from ftp.uu.net
Europe: ftp pub/unix/languages/python from ftp.fu-berlin.de
Finland: ftp pub/languages/python from ftp.funet.fi
UK: ftp uunet/languages/python from unix.hensa.ac.uk
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
+ methods, inheritance
- arbitrary restrictions
+ supports the native windowing system with most platforms
- does not support a common windowing api across platforms
A beta release of the X extension for Python release 1.3 is
now available by anonymous ftp from
ftp://ftp.cwi.nl/pub/sjoerd/python-X.tar.gz
Preformatted documentation is available from
ftp://ftp.cwi.nl/pub/sjoerd/python-X-doc.ps.gz
reference: Python documentation http://www.python.org/
extensions: tkinter (Tcl's Tk), termios, curses, syslog, sybase
lref: Tk
ports: unix, Macintosh, OS/2, Windows 3.1 (with Win32s), Windows NT
discussion: python-li...@cwi.nl
updated: 1995/04/10
language: Python
iref: (BNF variant) kwParsing ?
language: PILOT
package: pilot
version: 1.6
parts: compiler(->C), interpreter, library, documentation, examples,
tutorial, test suite.
author: Eric S. Raymond <e...@snark.thyrsus.com>
location: ftp locke.ccil.org:pub/retro/pilot-1.6.shar.gz
(in the Museum of Retrocomputing)
description: PILOT is a primitive CAI language first designed in 1962 on IBM
mainframes. It is rather weak and has very odd lexical rules,
but is easy to learn and use. I wrote this implementation
strictly as a hack, but it works and does include an
interactive tutorial written in PILOT itself which is also a
decent test load. This implementation is both an interpreter
for the PILOT language and a compiler for it using C as an
intermediate language.
conformance: Reference implementation of the IEEE Standard for PILOT, 1154-1191
bugs: report to Eric S. Raymond <e...@snark.thyrsus.com>
restrictions: If you plan to make money from it, contact the author.
portability: Any ANSI C host.
announcements: comp.lang.misc,alt.lang.intercal
updated: 1994/10/16
language: Python
package: vpApp
version: 0.2
parts: Class Library, User Reference
author: Per Spilling <p...@cwi.nl>
Real Name <email@address>
location: ftp.cwi.nl in /pub/python/vpApp.tar.gz.
description: vpApp = visual-programming application. It supports the
building of applications in Python.
requires: Python interpreter with built-in X support.
updated: 1994/05/06
language: Q (also small subsets of Common Lisp and Scheme)
package: Q
version: ? 1
parts: interpreter, compiler framework, libraries, documentation
author: Per Bothner <bot...@cygnus.com>
location: 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 <and...@pvv.unit.no>
location: 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 ?
location: 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: REXX/imc
version: 1.6
parts: Interpreter, documentation.
author: Ian Collier <i...@comlab.oxford.ac.uk>
location: ftp pub/freerexx/imc/rexx-imc-1.6.tar.Z from rexx.uwaterloo.ca
description: REXX for Unix. A general-purpose programming language
designed by Mike Cowlishaw of IBM UK for readability and
ease of use. Also useful as a control language for Unix
or for applications which make use of REXX's programming
interface (REXX/imc may be compiled as a dynamic C library
for applications to include on some systems). REXX is an
official scripting language of VM/CMS, OS/2 and AmigaDOS.
conformance: REXX language level 4.00 (more or less), with some small
extensions. The C programming interface is a subset of
the SAA interface exhibited by OS/2 REXX.
reference: "The REXX Language" 2nd edition, by M.F. Cowlishaw;
Prentice-Hall 1990.
ports: SunOS, AIX 3.2
portability: Requires Unix-domain sockets (restriction may be relaxed in
the future). Dynamic link function dlopen() is useful but
not essential.
status: Under slow development. Contact author for help/support.
discussion: comp.lang.rexx (general forum for all REXX-related products).
announcements: comp.lang.rexx
updated: 1994/05/18
language: sed
package: GNU sed
version: 2.04
parts: interpreter, documentation
author: Tom Lord <lo...@cygnus.com>
location: ftp sed-* from a GNU archive site
description: A SED interpreter. Sed is a stream editing filter language.
features: Modulo n line addressing.
bugs: bug-gn...@prep.ai.mit.edu
updated: 1994/04/30
language: rc (Plan 9 shell)
package: rc
version: 1.4
parts: interpretor
author: Byron Rakitzis <by...@netapp.com>
location: ftp pub/rc/* from ftp.white.toronto.edu
description: a free implementation of the Plan 9 shell.
discussion: rc-re...@hawkwind.utcs.toronto.edu
updated: 1992/05/26
language: S-Lang
package: slang
version: 0.94
parts: interpreter, documentation, examples
author: John E. Davis <da...@amy.tch.harvard.edu>
location: 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.
restriction: 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: beta2
version: 0.91
parts: compiler(->C)
author: Phil Budne <ph...@cs.bu.edu>
location: ftp snobol4/budne/beta2.tar.Z from cs.arizona.edu
description: An implementation of Ralph Griswold's SNOBOL 4, a classic early
language design specialized for text and string manipulation
that (among other things) influenced UNIX rexexp syntax. See
also Icon. This compiler is implemented as macro programs
in SIL (SNOBOL Implementation Language); this is a SIL
implementation plus macros with C as the target language.
features: + supports loading of C library functions on BSD systems
contact: sno...@arizona.edu
ports: various UNIX flavors, including 'generic' and 'POSIX' APIs
updated: 1986/06/24
language: Snobol4
package: vanilla
version: ?
parts: compiler, documentation
author: Catspaw, Inc.
location: ftp snobol4/vanilla.arc from cs.arizona.edu
description: An implementation of Ralph Griswold's SNOBOL 4, a classic early
language design specialized for text and string manipulation
that (among other things) influenced UNIX rexexp syntax. See
also Icon. This implementation is closely related to Phil
Budne's 'beta2' SNOBOL.
ports: MSDOS
contact: ?
updated: 1994/11/01
language: ssh (Steve's Shell)
package: ssh
version: 1.7
parts: interpreter
author: Steve Baker <i...@judy.indstate.edu> with help from Thomas Moore
location: 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: subscript
package: sub (seismic unix basic)
version: 0.9
parts: Embedded interpreter, demo application, User's Guide,
example inputs for demo.
author: Martin L. Smith (mar...@ner.com)
location: hilbert.mines.colorado.edu (138.67.12.63) in
pub/cwpcodes/*sub*.tar
description: subscript is a bytecode-compiled scripting language that
provides a convenient way of manipulating binary stream
data. It is currently distributed embedded in a demo
application (sub), which illustrates the processing of
seismic data, but the interpreter/compiler core is
portable to other applications.
features: the interpreted language provides atomic manipulation
of vectors of floating-point values.
requires: yacc.
ports: Unixware 1.x, SunOS 4.x, NextStep, Linux 0.99.
status: Undergoing active development, with future inclusion into
the Colorado School of Mines' Seismic Unix package.
updated: ?
language: Tcl (Tool Command Language)
package: Tcl
version: 7.4
parts: interpreter, libraries, tests, documentation
author: John Ousterhout <ous...@cs.berkeley.edu>
location: ftp://ftp.aud.alcatel.com/tcl
http://www.sunlabs.com/research/tcl/
MSDOS: harbor.ecn.purdue.edu in /pub/tcl/distrib/mstcl73e.zip
Macintosh: ftp://ftp.smli.com/pub/tcl/mac/
Examples: ftp tcl/* from barkley.berkeley.edu
Kanji: ftp pub/lang/tcl/jp/tk3.2jp-patch.Z from srawgw.sra.co.jp
OS/2: ftp /os2/unix/tcl2-73c.zip from hobbes.nmsu.edu
description: A small text-oriented embedded language similar to LISP with
add-on extensions that allow it to also function more as a
shell. Tcl also allows algebraic expressions to be written
for simplicity and convenience. Its greatest strength lies
in its uniform representation of everything as a string.
This is also its weakness.
+ 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: ?
requires: DOS port requires Desqview/X.
ports: MSDOS, others in progress (see comp.lang.tcl FAQ)
discussion: comp.lang.tcl
updated: 1993/11/15
language: Tcl, Tk
package: Tk
version: 4.0
parts: GUI library
author: John Ousterhout <ous...@sprite.Berkeley.EDU>
location: ftp://ftp.aud.alcatel.com/tcl
http://www.sunlabs.com/research/tcl/
description: Tk is a X11 gui library that is designed to interoperate
with Tcl. It provides a very easy way to create sophisticated
applications. The appearance of Tk is very similar to Motif.
updated: 1993/11/15
language: Tcl
package: BOS (The Basic Object System)
version: 1.31
parts: library
author: Sean Levy <Sean...@cs.cmu.edu>
location: 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.3
parts: library
author: Brian Smith and Lawrence Rowe
location: ftp://mm-ftp.cs.berkeley.edu/pub/multimedia/Tcl-DP
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]
contact: tcl...@roger-rabbit.CS.Berkeley.EDU
bugs: tcl-d...@roger-rabbit.CS.Berkeley.EDU
updated: 1995/06/20
language: Tcl
package: Tickle
version: 5.0v1
parts: editor, file translator, interpreter
author: ti...@ice.com
location: /pub/vendor/ice/tickle/Tickle5.0v1.hqx from ftp.msen.com
description: A Macintosh Tcl interprter and library. It includes a
text editor (>32k); file translation utilities; support
for tclX extensions; some unix-equivelent utilites; access
to Macintosh functions (Resource Manager, Communications
Toolbox, OSA Components, Editions, and Apple Events); OSA
Script Support; and Drag and Drop.
bugs: ti...@ice.com?
requires: ?
ports: Mac
portability: Mac-specific package
updated: 1994/01/12
lref: Tcl
language: Tcl
package: Wafe
version: 1.0
parts: interface
author: Gustaf Neumann <neu...@watson.ibm.com>
location: ftp pub/src/X11/wafe/wafe-1.0.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.
portability: very high, just needs X11R4 or X11R5.
discussion: send "subscribe Wafe <Your Name>" to list...@wu-wien.ac.at
updated: 1994/06/26
language: Tcl
package: Extended Tcl (tclx)
version: 7.4a
parts: library
author: Mark Diekhans <ma...@Grizzly.com>,
Karl Lehenbauer <ka...@NeoSoft.com>
location: ftp://ftp.neosoft.com/pub/tcl/distrib/tclX7.4a.tar.gz
ftp://ftp.aud.alcatel.com/tcl/extensions/tclX7.4a.tar.gz
description: Extended Tcl adds statements to the Tcl language to provide
high-level access unix system primitives.
contact: tcl-p...@NeoSoft.com
updated: 1994/07/17
language: Tcl
package: tcl-debug
version: ?
parts: debugger
author: Don Libes <li...@cme.nist.gov>
location: 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: MTtcl - Multi-threaded Tcl
version: 0.9
parts: interpreter, library
location: ftp://ftp.csua.berkeley.edu/pub/mttcl/MTtcl0.9.tar.gz
description: The MTtcl package gives Tcl/Tk programmers access to the
multi-threading features of Solaris 2. The package comes in
two parts; a modified version of Tcl 7.4, and a Tcl threads
extension.
Modifications were necessary to enable Tcl to work "safely" in
the presence of multiple threads. The Tcl interpretter uses a
number of static and global variables to execute scripts. If
two threads are using the same global, the behavior of the
script may be unpredictable. This "safe" Tcl is called
MT-Sturdy Tcl.
The threads extension brings multi-thread programming into the
Tcl environment. Multiple scripts can be interpretted
simultaneously with communication and synchronization between
scripts. There is special support for using threads in Tk
scripts. Documentation for the threads commands are in the
form of man pages.
requires: Sparc, Solaris 2.3, Sparcworks 3.0 C compiler, Tcl 7.4, Tk 4.0
ports: Sparc Solaris 2.3
updated: 1994/11/02
language: Tcl
package: Cygnus Tcl Tools
version: Release-930124
parts: ?
author: david d 'zoo' zuhn <z...@cygnus.com>
location: 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: Tcl
package: tclmidi
version: 2.0
parts: ?? interpreter, documentation
author: Mike Durian <dur...@boogie.com>
location: comp.sources.misc (v43i109)
description: A language based on Tcl for creating/editing MIDI files. With
the proper driver interface it can play them too. It supports
function calls, recursion and conditionals (e.g. making the
chorus of your song a function, using loops for repeats,
etc.) Device drivers supplied for BSD, Linux and SVR4.
requires: Tcl-7.X
portability: Should work on POSIX compliant systems.
updated: 1994/07/25
language: Tcl
package: narray
version: 0.10
author: Sam Shen <s...@gainful.lbl.gov>
location: ftp://overload.lbl.gov/pub/narray
description: NArray is an extension to help Tcl cope with large in-memory
numeric arrays. NArray's require only a few more bytes than
the storage required by the array. In addition to providing
array referencing and setting, narray allows functions to be
mapped over each element of the array. These functions are
compiled into byte code for performance about 100x faster than
straight tcl and only 5-10x slower than C. (These numbers are
ball-park figures, actual results depend on the situation.)
If you have netCDF, then narray's can be saved to and loaded from
netCDF files.
updated: 1994/09/24
language: Tcl, Tk
package: tknt
version: 3.6 release 6beta4
parts: interpeter, libraries, documentation
author: port by Gordon Chaffee <cha...@bugs-bunny.CS.Berkeley.EDU>
and Lawrence A. Rowe <la...@cs.Berkeley.EDU> based on work by
Ken Kubota of the University of Kentucky and Software Research
Associates, Inc. of Japan.
location: ftp://mm-ftp.cs.berkeley.edu/pub/multimedia/winnt/tknt36r6beta4
Europe: ftp://ftp.ibp.fr/pub/tcl/winnt/
description: A port of Tcl/Tk and Tcl-DP to Windows NT. It has run under
Windows NT 3.1, Windows NT 3.5, and in part on Windows 95 final
Beta. Small parts of this distribution were taken from the
tkwin package by Ken Kubota of the Mathematical Sciences
Computing Facility at the University of Kentucky.
bugs: tk...@plateau.CS.Berkeley.EDU
updated: 1995/05/24
language: Tcl
package: Object Tcl
version: 1.0
parts: Tcl extension package including language reference, C++
binding reference.
author: Dean Sheehan <de...@x.co.uk>
location: http://www.ixi.com/devt/ObjectTcl (source & doc)
UK: http://www.x.co.uk/devt/ObjectTcl (source & doc)
ftp://ftp.aud.alcatel.com (source only)
description: Object Tcl is a standard Tcl extension package that
supports object oriented programming within Tcl with a
tight object oriented coupling to C++.
bugs: ot...@x.co.uk
requires: Tcl 7.?
contact: ot...@x.co.uk
updated: 1995/08/29
language: Marpa
package: Marpa
version: 2.8
parts: parser-generator, examples, document
author: Jeffrey Kegler <jef...@best.com>
location: ftp /pub/jeffrey/marpa/v2.8/marpa.2.8.tar.gz
from ftp.best.com
description: Marpa is a TCL 7.3 extended with an ambiguous context-free
parser which uses Earley's algorithm. It is hacker friendly,
with a variety of handy features. It is intended for use in
implementing parsers that use the same crude but effective
approaches to parsing that humans use, whether these humans
be reading natural language or computer code. TCL code is
attached to every production, explicitly or by default, and
this is used to evaluate the result of the parse.
Speed is reasonable if not blinding, and Marpa is in use in
some applications. Marpa is the outcome of the Milarepa
prototype which implemented a different general parsing
algorithm in Perl.
restriction: GNU Public License Version 2
requires: TCL 7.3, GNU C compiler, GNU Make
updated: 1995/04/19
language: Expect
package: Expect
version: 5.12
parts: interpreter, library, debugger, examples, documentation
author: Don Libes <li...@nist.gov>
location: ftp pub/expect/expect.tar.gz from ftp.cme.host.gov
description: Used to automate, test, or GUI-ize interactive programs
without any changes to underlying programs. Standalone
version is driven with Tcl. A library is provided for use
with C, C++, or any language that can call C functions.
reference: "Exploring Expect", ISBN 1-56592-090-2, publisher: O'Reilly.
Man pages included with software distribution.
Numerous technical papers in conferences and journals,
some of which are available via anonymous ftp from
ftp.cme.nist.gov:pub/expect/*.ps.Z
bugs: exp...@nist.gov
restriction: Expect itself is public-domain. Certain pieces such as Tcl
are copyrighted but have unlimited availability.
Nothing is GNU copylefted.
requires: UNIX or something like it
ports: ported to all UNIX systems and some non-UNIX systems
portability: uses autoconf for automatic configuration
status: stable, but certain extensions are being actively developed
discussion: comp.lang.tcl
help: author or comp.lang.tcl (or see next support field)
support: official: Cygnus Support, unofficial: author, comp.lang.tcl,
contributions: Awards or thank-you letters gratefully accepted.
announcements: comp.lang.tcl
contact: author
updated: 1994/11/25
language: Z-shell
package: zsh
version: 2.5.0
parts: interpreter
author: Paul Falstad <p...@ttisms.com>
location: ftp pub/bas/zsh/zsh-*.tar.z from carlo.phys.uva.nl
comp.sources.misc (v43i089)
http://mal9000.bevc.blacksburg.va.us/zsh/zsh_home.shtml
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-r...@cs.uow.edu.au
contact: zsh-...@cs.uow.edu.au
updated: 1994/07/13
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)
location: 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: ca...@margaux.inria.fr
ports: Sun-3 Sun-4 Sony-68k Sony-R3000 Decstation Mac-A/UX Apollo
portability: low (built on a proprietary runtime system)
status: maintained but no longer developed
discussion: caml...@margaux.inria.fr, comp.lang.ml
contact: Pierre Weis <Pierr...@inria.fr>
updated: 1991/10/20
language: Caml
package: Caml Light
version: 0.7
parts: bytecode compiler, emacs mode, libraries, scanner generator,
parser generator, runtime, interactive development environment
author: Xavier Leroy, Damien Doligez (INRIA)
location: 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-...@margaux.inria.fr
ports: most unix, Macintosh, MSDOS (16 and 32 bit modes), Windows, Atari ST
portability: very high
status: actively developed
discussion: caml...@margaux.inria.fr, comp.lang.ml
contact: Xavier Leroy <Xavier...@inria.fr>
updated: 1995/07/06
language: CAML, Bigloo
package: Camloo
version: 0.2
parts: ?
author: ? Manuel....@inria.fr, Pierr...@inria.fr
location: ftp from ftp.inria.fr [192.93.2.54], in Camloo0.2
description: An implementation of CAML in Bigloo. It can be considered as
an alternative to the regular camlc compiler. In particular,
it has successfully compiled many complex Caml Light programs,
including camlc and the Coq system (the ``calculus of
constructions'', a proof assistant).
conformance: Full compliance with Caml Light 0.6 and Caml Light Libraries
(including camlyacc and camllex).
requires: Bigloo1.6c (available from same address).
contact: Manuel....@inria.fr, Pierr...@inria.fr.
updated: 1994/06/13
language: Concurrent Clean
package: The Concurrent Clean System
version: 1.0.2
parts: development environment, documentation, compiler(byte-code),
compiler(native), interpreter(byte-code), examples
author: Research Group on Functional Languages,
Research Institute for Declarative Systems,
University of Nijmegen
location: ftp pub/Clean/* from ftp.cs.kun.nl
www www.cs.kun.nl/~clean
description: The Concurrent Clean system is a programming environment for
the lazy 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.).
+ lazy and purely functional
+ partial strict data types
+ strongly typed - based on Milner/Mycroft scheme
+ existential types
+ uniqueness types
+ type classes and type constructor classes
+ record types
+ module structure
+ modern I/O
+ programmer-infulenced evaluation order by annotations
+ parallel and distributed evaluation
ports: Macintosh, PowerMac (native), Sun-4, Linux, OS2
contact: cl...@cs.kun.nl
updated: 1995/08/03
language: FP
package: funcproglang
version: 1.0
parts: translator(C)
author: E. S. Biagioni
location: comp.sources.unix archive volume 13
description: Backus FP languag
updated: 1987
language: Gofer (Haskell derivative)
package: Gofer
version: 2.30
parts: interpreter, compiler(->C), documentation, examples
author: Mark Jones <jones...@cs.yale.edu>
location: 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: 1994/06/10
language: 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 <augu...@cs.chalmers.se>
location: 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...@cs.yale.edu
Europe: haskell...@dcs.glasgow.ac.uk
contact: h...@cs.chalmers.se
updated: 1993/08/02
language: Haskell
package: Glasgow Haskell Compiler (GHC)
version: 0.26
parts: translator (C, SPARC), profiler
author: AQUA project, headed by Simon Peyton Jones
<sim...@dcs.glasgow.ac.uk>
location: 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
http://www.dcs.glasgow.ac.uk/fp/software/ghc.html
description: A near complete subset of Haskell 1.2, with numerous
extensions from 1.3.
conformance: All of Haskell 1.2 and some 1.3 is implemented.
reference: Papers at ftp.dcs.glasgow.ac.uk (only) in pub/glasgow-fp,
"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
features: + An extensible I/O system is provided, based on a "monad"
+ In-line C code
+ Fully fledged unboxed data types,
+ Incrementally-updatable arrays
+ Mutable reference types.
+ Generational garbage collector
bugs: <glasgow-ha...@dcs.glasgow.ac.uk>
requires: GNU C 2.1+, perl
ports: solid: Sun4, Sun3; sort of: HP-PA, Alpha, DECstation
portability: should be high
contact: <glasgow-has...@dcs.glasgow.ac.uk>
updated: 1994/07/27
language: Haskell
package: Yale Haskell
version: 2.1
parts: compiler, documentation, reference manual (dvi format)
author: Yale Haskell project <haskell...@cs.yale.edu>
location: 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...@cs.yale.edu
Europe: haskell...@dcs.glasgow.ac.uk
contact: haskell...@cs.yale.edu
updated: 1994/07/29
language: Hope
package: ?
version: ?
parts: ?
author: ?
location: ftp://ftp-ala.doc.ic.ac.uk/pub/papers/R.Paterson/hope.tar.gz
http://www-ala.doc.ic.ac.uk/~rap/Hope/
description: It's a fairly old functional language, its predecessor NPL
having grown out of Burstall and Darlington's work on program
transformation in the late 70s. Its key innovation, algebraic
data types and pattern matching, has since become a fixture in
all modern functional programming languages. When it was
created (around 1980) it had adopted the key innovation of
the language ML (also developed at Edinburgh), namely
polymorphic types, which are
also now a standard feature in FPLs.
In my [rap's --ed] opinion, Hope's advantage over most other
FPLs is its small size and simplicity. I think that makes
it the ideal vehicle for learning functional programming.
I also find ithandy for prototyping various ideas, and
sometimes I fiddle with the interpreter to add experimental
features.
references: http://santos.doc.ic.ac.uk/~rap/Hope/
ports: Unix, Mac, PC
contact: Ross Paterson <r...@doc.ic.ac.uk>
updated: 1992/11/27
language: IFP (Illinois Functional Programming)
package: ifp
version: 0.5
parts: interpreter
author: Arch D. Robison <rob...@shell.com>
location: 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: Arch D. Robison, "Illinois Functional Programming: A
Tutorial," BYTE, (February 1987), pp. 115--125.
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: ?
location: 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 <d...@research.att.com>, Lal George
<geo...@research.att.com>, AJ. H. Reppy <j...@research.att.com>,
A. W. Appel <ap...@princeton.edu>
location: 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, OS/2
updated: 1993/02/18
language: Concurrent ML
package: Concurrent ML
version: 0.9.8
parts: extension
author: ?
location: 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-...@research.att.com
requires: SML/NJ 0.75 (or later)
updated: 1993/02/18
language: PFL (Persistant Functional Language)
package: pfl
version: 0.1
parts: ?, documentation, libraries
author: Carol Small <ca...@dcs.bbk.ac.uk>
location: ftp pub/linux/? from ftp.demon.co.uk
description: PFL is a computationally complete database environment
restriction: GNU General Public License
requires: GNU C++
contact: Tim Holmes <ti...@psammead.demon.co.uk>
updated: 1994/06/01
language: SASL
iref: (SASL) 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
location: 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....@cs.cmu.edu anurag....@cs.cmu.edu
pete...@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 <to...@diku.dk>,
and Lars Birkedal at Edinburgh and Copenhagen Universities.
location: 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: Standard ML
package: Moscow ML
version: 1.30
parts: bytecode compiler, runtime, libraries, documentation
author: Sergei Romanenko <sergei-r...@refal.msk.su>
location: ftp://ftp.dina.kvl.dk/pub/mosml/
description: Moscow SML provides a light-weight implementation of the
Standard ML Core language, a strict functional language widely
used in teaching and research.
Moscow SML is particularly suitable for teaching and
experimentation, where fast compilation and modest storage
consumption are more important than fast program execution.
Thanks to the efficient run-time system of Caml Light, Moscow
SML compiles fast and uses little memory. Typically it uses
5-10 times less memory than SML/NJ and 2-3 times less than
Edinburgh ML. Yet the bytecode is only 3 to 12 times slower
than SML/NJ 0.93 compiled native code (fast on PCs, slower on
RISCs).
Moscow SML implements arithmetic exceptions, and thus deals
with the entire Core language.
requires: Caml Light 0.61
ports: anything Caml Light supports
updated: 1994/09/30
language: SISAL 1.2
package: The Optimizing SISAL Compiler
version: 12.9+
parts: compiler, manuals, documentation, examples, debugger,
user support
author: Thomas M. DeBoni <deb...@sisal.llnl.gov>
location: ftp pub/sisal from sisal.llnl.gov
description: Sisal is a functional language aimed at parallel numerical and
scientific programming. It provides Fortran-like performance
(or better), automatic parallelism, and excellent portability.
It is an easy language to learn and use; Sisal programs tend
to be easier to read and understand than those in other
functional or parallel languages. The Optimizing Sisal
Compiler, OSC, allows efficient use of machine resources
during serial or parallel execution, and guarantees
determinate results under any execution environment.
ports: Unix, Cray-2 Y-MP & C-90 and Convex Sequent and SGI,
Sun/Sparc, Vax, HP, PC, Mac
portability: Can run on many Unix machines, shared-memory machines,
workstations or personal computers.
reference: http://www.llnl.gov/sisal
updated: 1994/07/15
language: OPAL
package: ocs
version: 2.1e
parts: compiler(->C), interpreter, translator,
library, documentation, examples,
tutorial, run-time.
author: The OPAL Group at Technical Univ. of Berlin.
<op...@cs.tu-berlin.de>
location: ftp /pub/local/uebb/ocs/* from ftp.tu-berlin.de
Europe: ftp pub/unix/languages/opal/* from ftp.fu-berlin.de
U.S. : ftp opal/* from ftp.isi.edu
http://www.cs.tu-berlin.de/~opal/
description: The language OPAL has been designed as a testbed
for the development of functional programs. Opal
molds concepts from Algebraic Specification and
Functional Programming, which shall favor the
(formal) development of (large) production-quality
software that is written in a purely functional
style.
The core of OPAL is a strongly typed, higher-order,
strict applicative language which belongs to the
tradition of HOPE and ML. The algebraic flavour of
OPAL shows up in the syntactical appearance and
the preference of parameterization to polymorphism.
reference: ftp.tu-berlin.de:pub/local/uebb/papers/DesignImplOpal.ps.gz
features: In the latest "pseudoknot" benchmark, its performance falls
in the top group of the functional languages tested. Orders
of magnitude faster than the interpreted fps.
bugs: Report bugs to opal...@cs.tu-berlin.de
restriction: Constructors cannot have more then 24 components.
requires: gcc 2.x + gnu make 3.64 or better.
ports: Most unix( SPARCs, DECstations, NeXTs, PC-Linux,
HP7xx).
portability: Very portable,one just needs to find out which compiler
switches are needed.
status: active, supported.
discussion: opal-di...@cs.tu-berlin.de
help: op...@cs.tu-berlin.de
support: op...@cs.tu-berlin.de
opal...@cs.tu-berlin.de
announcements: opal-a...@cs.tu-berlin.de
contact: op...@cs.tu-berlin.de
updated: 1995/08/01
--
Send compilers articles to comp...@iecc.com,
meta-mail to compiler...@iecc.com.
C variants
-------------------------------------------------------------------------------
category: C variants
description: These are languages that are closely based on C.
lref: C-Refine,C++-Refine&comma *-Refine
iref: (Duel) DUEL
language: C, C++, Objective-C, RTL
package: GNU CC (gcc)
version: 2.7.1
parts: compiler, runtime, examples, documentation
Library listed separately
author: Richard Stallman and others
location: ftp gcc-2.X.X.tar.gz from a GNU archive site
MSDOS: ftp pub/msdos/djgpp/* from oak.oakland.edu
6811: ftp pub/coactive/gcc-6811-beta.tar.gz from netcom.com
(these are diffs from 2.5.8 distribution)
description: A very high quality, very portable compiler for C, C++,
Objective-C. The compiler is designed to support multiple
front-ends and multiple back-ends by translating first
into RTL (Register Transfer Language) and from there into
assembly for the target architecture. Front ends for
Ada, Pascal, and Fortran are all under development.
There is a bounds checking port based on gcc 2.7.1.
Patches for this port are available at:
ftp://dse.doc.ic.ac.uk/pub/misc/bcc
conformance: C: superset of K&R C and ANSI C.
C++: supports most ARM features; exceptions supported
only on some platforms. Supports "bool". Alpha-level
RTTI implementation included. Not yet supported: member
templates, namespaces. Developers are tracking the draft
ANSI/ISO standard and are committee members.
Objective-C: Complies with NeXT proposed (ANSI?) standard.
bugs: gnu.gcc.bug (for C/Objective-C), gnu.g++.bug (for C++)
restriction: GNU General Public License
ports: 3b1, a29k, aix385, alpha, altos3068, amix, arm, convex,
crds, elxsi, fx2800, fx80, genix, hp320, clipper,
i386-{dos,isc,sco,sysv.3,sysv.4,mach,bsd,linux,windows,OS/2},
iris,i860, i960, irix4, m68k, m88ksvsv.3, mips-news,
mot3300, next, ns32k, nws3250-v.4, hp-pa, pc532,
plexus, pyramid, romp, rs6000, sparc-sunos,
sparc-solaris2, sparc-sysv.4, spur, sun386, tahoe, tow,
umpis, vax-vms, vax-bsd, we32k, hitachi-{SH,8300}, 6811
portability: very high
status: actively developed
discussion: gnu.gcc.help (for C/Objective-C), gnu.g++.help (for C++)
announcements: gnu.gcc.announce (for C/Objective-C),
gnu.g++.announce (for C++)
updated: 1995
language: C, C++, Objective-C, RTL
package: GNU CC (gcc) - unsupported Macintosh port
version: 1.37
parts: compiler, runtime, examples, documentation
Library listed separately
author: ?
location: ftp mpw-gcc-1.37.1r14 from ?
description: This is an unsupported port of the GNU C compiler to the
Macintosh environment. The GNU project is actively
supporting the League for Programming Freedom (LPF) boycott
of Apple due to the "Look and Feel" lawsuit and chooses not
to support this port. [Note: I have been told this is no
longer in effect, can someone from LPF update me? - ed]
bugs: ?
restriction: GNU General Public License
ports: Macintosh
portability: very high
status: ?
updated: 1993/11/27
language: C, Fortran, SUIF
package: Stanford SUIF Compiler
version: 1.0.1
parts: compiler(->C, ->MIPS), run-time, documentation, examples
author: "Stanford Compiler Group" <su...@hawg.stanford.edu>
location: ftp pub/suif/suif-1.0.1.tar.Z from suif.stanford.edu
http://suif.Stanford.EDU.
(Patch to version 1.0 also available)
description: SUIF is a framework for research in compiler algorithms.
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 dependence analysis, loop transformations,
scalar optimizations, code generation, etc. Can generate
parallel code from major benchmarks.
conformance: C front end is ANSI-C compatible, FORTRAN front end mostly f77
reference: Wide range of published papers available from ftp site
restriction: Free for non-commercial use; redistribution prohibited
requires: GNU g++ 2.5.8, GNU make
ports: DECstation, SPARC/SunOS/Solaris, SGI, Linux
portability: Very system independent - requires UNIX
status: First public release; not supported, but we'll try to help
discussion: Mailing list information included in distribution
Archives available from http://suif.stanford.edu
updated: 1994/06/15
language: C
package: GNU C Library (glibc)
version: 1.09
parts: library, documentation
author: ?
location: ftp glibc-1.09.1.tar.gz from a GNU archive site
Source for "crypt" must be FTP'ed from non-USA site if you are
outside the USA: ftp glibc-1.09-crypt.tar.z from ftp.uni-c.dk.
description: The GNU C library is a complete drop-in replacement for libc.a
on Unix. It conforms to the ANSI C standard and POSIX.1, has
most of the functions specified by POSIX.2, and is intended to
be upward compatible with 4.3 and 4.4 BSD. It also has several
functions from System V and other systems, plus GNU
extensions.
conformance: ANSI and POSIX.1 superset. Large subset of POSIX.2
bugs: Reports sent to mailing list bug-...@prep.ai.mit.edu.
ports: most os's on alpha, i386, m88k, mips, and sparc
updated: 1994/11/07
language: C
package: fdlibm
version: ?
parts: library
author: Dr. K-C Ng
location: ftp netlib/fdlibm.tar from netlib.att.com
description: Dr. K-C Ng has developed a new version of libm that is the
basis for the bundled /usr/lib/libm.so in Solaris 2.3 for SPARC
and for future Solaris 2 releases for x86 and PowerPC. It
provides the standard functions necessary to pass the usual
test suites. This new libm can be configured to handle
exceptions in accordance with various language standards or in
the spirit of IEEE 754. The C source code should be portable to
any IEEE 754 system with minimal difficulty.
conformance: IEEE 754
bugs: Send comments and bug reports to:
fdlibm-...@sunpro.eng.sun.com.
updated: 1993/12/18
language: C
package: c68/c386
version: 4.2a
parts: compiler
author: Matthew Brandt, Christoph van Wuellen, Keith and Dave Walker
location: ftp://archimedes.nosc.mil/pub/misc/c386-4.2b.tar.Z
[Temporary location, looking for a permanent home. -ed]
You can get an older, 68k-only version from
ftp motorola/m68k/cc68k.arc from bode.ee.ualberta.ca
description: K&R C plus prototypes and other ANSI features.
targetted to several 68k and i386 assemblers, incl. gas.
floating point support by inline code or emulation.
lots of available warnings. better code generation than ACK.
ports: 386 and 68k Minix. generic unix actually.
status: actively worked on by the Walkers.
discussion: comp.os.minix
updated: ?
language: C
package: GNU superoptimizer
version: 2.5
parts: exhaustive instruction sequence optimizer
author: Torbjorn Granlund <te...@gnu.ai.mit.edu> with Tom Wood
location: ftp superopt-2.5.tar.Z from a GNU archive site
description: GSO is a function sequence generator that uses an exhaustive
generate-and-test approach to find the shortest instruction
sequence for a given function. You have to tell the
superoptimizer which function and which CPU you want to get
code for.
This is useful for compiler writers.
bugs: Torbjorn Granlund <te...@gnu.ai.mit.edu>
restriction: GNU General Public License
ports: Alpha, Sparc, i386, 88k, RS/6000, 68k, 29k, Pyramid(SP,AP,XP)
updated: 1995
language: C
package: xdbx
version: 2.1
parts: X11 front end for dbx
author: ?
location: retrieve xxgdb from comp.sources.x volumes 11, 12, 13, 14, & 16
description: ?
contact: Po Cheung <che...@sw.mcc.com>
updated: 1992/02/22
language: C
package: ups
version: 2.1
parts: interpreter, symbolic debugger, tests, documentation
author: Mark Russell <m...@ukc.ac.uk>
location: ? ftp from contrib/ups*.tar.Z from export.lcs.mit.edu ?
unofficial: unofficial enhancements by Rod Armstrong <r...@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 <m...@ukc.ac.uk>
ports: Sun, Decstation, VAX(ultrix), HLH Clipper
discussion: ups-user...@ukc.ac.uk
updated: 1991/05/20
language: C
package: C-Interp
version: ?
parts: interpreter
author: ?
location: 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 <csho...@oac.hsc.uth.tmc.edu>
updated: 1993/05/14
language: C
package: ae (application executive)
version: 2
parts: interpreter
author: Brian Bliss <bl...@convex.com>
location: ftp://sp2.csrd.uiuc.edu/pub/CSRD_Software/APPL_EXEC/
description: ae (the "application executive") is a C interpreter library
which is compiled with an application; hence, the interpreter
exists in the same process and address space. it includes a
dbx symbol table scanner to access compiled vars & routines, or
you can enter them manually by providing a type/name
declaration and the address. when the interpreter is invoked,
source code fragments are read from the input stream (or a
string), parsed, and evaluated immediately. The user can call
compiled functions in addition to a few built-in intrinsics,
declare new data types and data objects, etc. Different input
streams can be evaluated in parallel on alliant machines.
Version 2 differs substantially in that the code
fragments are read into an intermediate form before being
evaluated, and can be stored in this form and then called
from either user code or the interpreter. Version 2 also
handles looping constructs (and the full C language),
unlike version 1.
ports: SunOS (cc or gcc), Alliant FX, SGI (partial),
Cray YMP (partial)
updated: 1993/07/18
language: C (ANSI), lcc intermediate format
package: lcc
version: 3.4b
parts: compiler, test suite, documentation
authors: Chris Fraser <c...@research.att.com>
Dave Hanson <d...@cs.princeton.edu>
location: ftp://ftp.cs.princeton.edu/pub/lcc/*
description: + hand coded C parser (faster than yacc)
+ retargetable
+ code "nearly as good as GCC"
ports: x86, MIPS, SPARC
status: small-scale production use
discussion: email "subscribe lcc" to majo...@cs.princeton.edu
updated: 1995/02/01
language: C, lcc intermediate format
package: Chop
version: 0.6
parts: code generator
author: Alan L. Wendt <we...@CS.ColoState.EDU>
location: 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 <mar...@cs.uiuc.edu>
location: 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-R...@cs.uiuc.edu
support: commercial support available from author, (217) 351-7228
updated: 1993/02/12
language: C
package: Maspar MPL
version: 3.1
parts: compiler
author: Christopher Glaeser
location: ftp pub/mpl-* from maspar.maspar.com
description: MPL is based on ANSI C and includes SIMD language estensions.
The new keyword "plural" is a type qualifier which is used
to declare variables on a parallel array. For example, the
declaration "plural int i" declares an "i" on each of the
parallel processors.
In addition, plural expressions can be used in IF, WHILE,
SWITCH, and other statements to support plural control flow.
The MPL compiler is based on the GNU compiler.
contact: Christopher Glaeser c...@nullstone.com
updated: ?
language: C
package: gc
version: 3.4
parts: library
author: Hans-J. Boehm <bo...@parc.xerox.com>, Alan J. Demers
location: 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: ?
location: 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 <aste...@eecs.umich.edu>
location: 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: ?
location: 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
location: alt.sources archive, 1993/06/28, <C9C2...@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.?>
location: use archie
description: A cross-reference genrator
updated: ?
language: C
package: xref
version: ?
parts: code analysis tool
author: Jim Leinweber
location: use archie
description: A cross-reference genrator
updated: 1985 ?
language: C
package: csize
version: 1.12
parts: code analysis tool
author: Christopher Lott <lo...@informatik.uni-kl.de>
location: comp.sources.reviewed volume 4
description: A C language code counter
updated: 1994/10/17
language: C, C++
package: Xcoral
version: 2.5
parts: editor
author: ?
location: ftp contrib/editors/xcoral* from ftp.x.org
Europe: ftp X/contrib-R5/clients/xcoral* from ftp.inria.fr
description: Xcoral is a multiwindow mouse-based text editor, for X Window
System, with a built-in browser to navigate through C functions
and C++ classes hierarchies... Xcoral provides variables width
fonts, menus, scrollbars, buttons, search, regions,
kill-buffers and 3D look. Commands are accessible from menus
or standard key bindings. Xcoral is a direct Xlib client and
run on color/bw X Display. Also includes HTML and Latex modes.
contact: Lionel Fournigault <Lionel.Fo...@aar.alcatel-alsthom.fr>
updated: 1995/12/21
language: C++
package: Lily (LIsp LibrarY)
version: 0.1
parts: library
author: Roger Sheldon <she...@kong.gsfc.nasa.gov>
location: ftp packages/development/libraries/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.
restriction: GNU Library General Public License
requires: C++ (g++ or Turbo C++, but not cfront)
updated: 1993/11/08
language: C++
package: C++SIM
version: 1.0
parts: library
author: Mark Little <M.C.L...@newcastle.ac.uk>
location: 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 <g...@cs.purdue.edu>
location: 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: ?
location: 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 <s...@cs.brown.edu>
updated: ?
language: C++
package: ET++
version: 3.0-alpha
parts: class libraries, documentation
author: ?
location: ftp C++/ET++/* from iamsun.unibe.ch
description: ?
contact: Erich Gamma <ga...@ifi.unizh.ch>
updated: 1992/10/26
language: C++
package: C++ grammar
version: ?
parts: parser (yacc)
author: ?
location: comp.sources.misc volume ?
description: [is this a copy of the Roskind grammar or something else? --ed]
updated: 1991/10/23
language: C++
package: cppp
version: 1.14
parts: parser (yacc)
author: Tony Davis <t...@cs.brown.edu>
location: 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: ?
location: 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 <ngu...@crd.ge.com>
updated: 1992/08/05
language: C++
package: GNU C++ Library (libg++)
version: 2.6
parts: library
author: Per Bothner <bot...@cygnus.com> ?
location: libg++-2.5.1.tar.gz from a GNU archive site
description: The run-time library for the GNU C++ compiler.
This package is separately maintained.
conformance: ? ANSI and POSIX.1 superset
bugs: bug-l...@prep.ai.mit.edu
updated: 1994/07/19
language: C++
package: ??? A C++ Parser toolkit
version: ?
parts: library
author: Mayan Moudgill <moud...@cs.cornell.EDU>
location: ftp pub/Parse.shar from ftp.cs.cornell.edu
description: A collection of C++ classes that make building a
recursive descent parser/scanner very easy.
ports: Sun 4 with cfront 3.0,
portability: uses mmap(); probably low.
updated: 1993/04/11
language: C++, Extended C++
package: EC++
version: ?
parts: translator(C++), documentation
author: Glauco Masotti <mas...@lipari.usc.edu>
location: ? ftp languages/c++/EC++.tar.Z from ftp.uu.net ?
description: EC++ is a preprocessor that translates Extended C++
into C++. The extensions include:
+ preconditions, postconditions, and class invariants
+ parameterized classes
+ exception handling
+ garbage collection
status: ?
updated: 1989/10/10
language: C++
package: LEDA
version: 3.0
parts: libraries
author: ?
location: ftp pub/LEDA/* from ftp.mpi-sb.mpg.de
description: library of efficient data types and algorithms.
New with 3.0: both template and non-template versions.
contact: Stefan N"aher <ste...@mpi-sb.mpg.de>
updated: 1992/11/30
language: E (a persistent C++ variant)
package: GNU E
version: 2.3.3
parts: compiler
author: ?
location: ftp exodus/E/gnu_E* from ftp.cs.wisc.edu
description: GNU E is a persistent, object oriented programming language
developed as part of the Exodus project. GNU E extends C++
with the notion of persistent data, program level data objects
that can be transparently used across multiple executions of a
program, or multiple programs, without explicit input and
output operations.
GNU E's form of persistence is based on extensions to the C++
type system to distinguish potentially persistent data objects
from objects that are always memory resident. An object is
made persistent either by its declaration (via a new
"persistent" storage class qualifier) or by its method of
allocation (via persistent dynamic allocation using a special
overloading of the new operator). The underlying object
storage system is the Exodus storage manager, which provides
concurrency control and recovery in addition to storage for
persistent data.
restriction: GNU General Public License; not all runtime sources are
available (yet)
requires: release 2.1.1 of the Exodus storage manager
contact: exo...@cs.wisc.edu
updated: 1993/01/20
language: C (ANSI)
package: ? 1984 ANSI C to K&R C preprocessor ?
version: ?
parts: translator(K&R C)
author: ?
location: from comp.sources.unix archive volume 1
description: ?
status: ?
updated: ?
language: C (ANSI)
package: unproto ?
version: ? 4 ? 1.6 ?
parts: translator(K&R C)
author: Wietse Venema <wie...@wzv.win.tue.nl>
location: ftp pub/unix/unproto4.shar.Z from ftp.win.tue.nl
description: ?
contact: ?
updated: ?
language: C (ANSI)
package: LCLint
version: 1.4
parts: code analysis tool
author: David E Evans <e...@larch.lcs.mit.edu>
location: ftp pub/Larch/lclint/ from larch.lcs.mit.edu
description: LCLint is a lint-like tool for ANSI C. It can be used like a
traditional lint to detect certain classes of C errors
statically; if formal specifications are also supplied, it can
do more powerful checking to detect inconsistencies between
specifications and code.
references: http://larch-www.lcs.mit.edu:8001/larch/lclint.html
ports: OSF/1, Ultrix, SunOS, Solaris, Linux, IRIX
updated: 1994/10/16
language: C (ANSI)
package: cproto
version: 4 patchlevel 0
parts: translator(K&R C)
author: Chin Huang <chin....@canrem.com>
location: comp.sources.misc volume 29
description: cproto generates function prototypes from function definitions.
It can also translate function definition heads between K&R
style and ANSI C style.
ports: Unix, VMS, MS-DOS
updated: 1992/07/18
language: C (ANSI)
package: cextract
version: 1.7
parts: translator(K&R C), header file generator
author: Adam Bryant <a...@cs.bu.edu>
location: ftp from any comp.sources.reviewed archive
description: A C prototype extractor, it is ideal for generating
header files for large multi-file C programs, and will
provide an automated method for generating all of the
prototypes for all of the functions in such a program.
It may also function as a rudimentary documentation
extractor, generating a sorted list of all functions
and their locations
ports: Unix, VMS
updated: 1992/11/03
language: C (ANSI)
package: cgram
version: ?
parts: grammar
author: Mohd Hanafiah Abdullah <na...@cs.indiana.edu>
location: ftp pub/comp.compilers/cgram-ll1.Z from primost.cs.wisc.edu
description: An ANSI C grammar in LL(k) (1 <= k <= 2). It's written in
Scheme, so you need to have a Scheme interpreter to process
the grammar using a program (f-f-d.s) that extracts the
FIRST/FOLLOW/DIRECTOR sets.
requires: Scheme
ports: ?
updated: ?
language: C, ANSI C, C++
package: The Roskind grammars
version: cpp5 (cf2.0)
parts: parser(yacc), documenation
author: Jim Roskind <j...@netscape.com>
location: ftp ftp/pub/c++grammar/* from ftp.infoseek.com
Japan: ftp://ftp.sra.co.jp/.a/pub/cmd/c++grammar2.0.tar.gz
description: The C grammar is CLEAN, it does not use %prec, %assoc, and
has only one shift-reduce conflict. The C++ grammar has
a few conflicts.
Also included is an extension to byacc that produces
graphical parse trees automatically.
conformance: the C grammar is true ANSI; the C++ grammar supports
cfront 2.0 constructs.
requires: byacc 1.8 (for graphical parse trees)
status: actively developed
updated: 1991/07/01
language: C (ANSI/ISO)
package: Metre
version: 2.3
parts: grammar(yacc,lex), generated parser files, metrics examples,
documentation (man pages).
author: Paul Long <pl...@perf.com>
location: ftp pub/file/metre.tar.gz from iecc.com
description: Metre is a freely-distributable ANSI/ISO Standard C parser
whose behavior is determined by a set of rules. Sets are
provided for a metrics tool and a call-tree tool. Written
in Standard C, lex, and yacc, it is source-code portable
across operating systems, Standard C compilers, and the
various flavors of lex and yacc.
conformance: Intended to conform to ANSI and ISO standards.
updated: 1995/04/04
language: C, C++
package: xxgdb
version: 1.06
parts: X11 front end for gdb
author: ?
location: retrieve xxgdb from comp.sources.x volumes 11, 12, 13, 14, & 16
description: ?
contact: Pierre Willard <pie...@la.tce.com>
updated: 1992/02/22
language: C, C++
package: gdb
version: 4.15.1
parts: symbolic debugger, documentation
author: many, but most recently Fred Fish <f...@cygnus.com>,
Stu Grossman <gros...@cygnus.com>, and
John Gilmore <g...@cygnus.com>, all of Cygnus Support
location: ftp gdb-*.tar.[zZ] from a GNU archive site
description: gdb is a full-featured symbolic debugger. It fills the
same niche as dbx. Programs must be compiled with debugging
symbols.
bugs: <bug...@prep.ai.mit.edu>
restriction: CopyLeft
ports: most unix variants, vms, vxworks, amiga, msdos
updated: 1995/11/04
language: C, C++, Objective-C
package: emx programming environment for OS/2
version: 0.8g
parts: gcc, g++, gdb, libg++, .obj linkage, DLL, headers
author: Eberhard Mattes <mat...@azu.informatik.uni-stuttgart.de>
location: ftp os2/2_x/unix/gnu/emx0.8g from ftp-os2.cdrom.com
Europe: ftp soft/os2/emx-0.8g from ftp.uni-stuttgart.de
description: ?
discussion: subscribe to emx-list using list...@ludd.luth.se
updated: 1992/09/21
language: C
package: Pthreads
version: 1.17
parts: library
author: PART (POSIX / Ada-Runtime Project)
location: ftp pub/PART/pthreads* from ftp.cs.fsu.edu
description: As part of the PART project we have been designing and
implementing a library package of preemptive threads which is
compliant with POSIX 1003.4a Draft 6. A description of the
interface for our Pthreads library is now available on ftp.
restriction: GNU General Public License
ports: Sun-4/SunOS 4.1.x
discussion: send "Subject: subscribe-pthreads" to mue...@uzu.cs.fsu.edu
contact: pthrea...@ada.cs.fsu.edu
updated: 1993/07/22
language: C, nroff, texinfo, latex, html
package: c2man
version: 2.0 patchlevel 34
parts: documentation generator (C -> nroff -man, -> texinfo, -> latex,
-> html)
author: Graham Stoney <gre...@research.canon.oz.au>
location: ftp from any comp.sources.misc archive, in volume42
(the version in the comp.sources.reviewed archive is obsolete)
ftp /pub/Unix/Util/c2man-2.0.*.tar.gz from dnpap.et.tudelft.nl
Australia: ftp /usenet/comp.sources.misc/volume42/c2man-2.0/*
from archie.au
N.America: ftp /usenet/comp.sources.misc/volume42/c2man-2.0/*
from ftp.wustl.edu
Europe: ftp /News/comp.sources.misc/volume42/c2man-2.0/*
from ftp.irisa.fr
Japan: ftp /pub/NetNews/comp.sources.misc/volume42/c2man-2.0/*
from ftp.iij.ad.jp
Patches: ftp pub/netnews/sources.bugs/volume93/sep/c2man* from lth.se
description: c2man is an automatic documentation tool that extracts comments
from C source code to generate functional interface
documentation in the same format as sections 2 & 3 of the Unix
Programmer's Manual. It requires minimal effort from the
programmer by looking for comments in the usual places near the
objects they document, rather than imposing a rigid
function-comment syntax or requiring that the programmer learn
and use a typesetting language. Acceptable documentation can
often be generated from existing code with no modifications.
conformance: supports both K&R and ISO/ANSI C coding styles
features: + generates output in nroff -man, TeXinfo, LaTeX or HTML format
+ handles comments as part of the language grammar
+ automagically documents enum parameter & return values
+ handles C (/* */) and C++ (//) style comments
- doesn't handle C++ grammar (yet)
requires: yacc/byacc/bison, lex/flex, and nroff/groff/texinfo/LaTeX.
ports: Unix, OS/2, MSDOS, VMS.
portability: very high for unix, via Configure
status: actively developed; contributions by users are encouraged.
discussion: via a mailing list: send "subscribe c2man <Your Name>" (in the
message body) to list...@research.canon.oz.au
help: from the author and other users on the mailing list:
c2...@research.canon.oz.au
announcements: patches appear first in comp.sources.bugs, and then in
comp.sources.misc.
updated: 1995/03/02
language: Small-C
package: smallc
version: ?
parts: compiler
author: ?
location: ?, comp.sources.unix volume 5
description: Small-C is a subset of the C programming language for which a
number of public-domain compilers have been written. The
original compiler was written by Ron Cain and appeared in the
May 1980 issue of Dr.Dobb's Journal. More recently, James
E.Hendrix has improved and extended the original Small-C
compiler and published "The Small-C Handbook", ISBN
0-8359-7012-4 (1984). Both compilers produce 8080 assembly
language, which is the most popular implementation of Small-C
to-date. The 6502 Small-C compiler for the BBC Micro is based
on "RatC", a version of the original Ron Cain compiler
described by R.E.Berry and B.A.Meekings in "A Book on C", ISBN
0-333-36821-5 (1984). The 6502 compiler is written in Small-C
and was bootstrapped using Zorland C on an Amstrad PC1512 under
MSDOS 3.2, then transferred onto a BBC Micro using Kermit. The
compiler can be used to cross-compile 6502 code from an MSDOS
host, or as a 'resident' Small-C compiler on a BBC Micro.
conformance: subset of C
ports: 68k, 6809, VAX, 8080, BBC Micro, Z80
updated: 1989/01/05
language: Maisie
package: Maisie
version: 2.1
parts: ?, user manual, examples
author: Wen-Toh Liao <wen...@may.CS.UCLA.EDU>
location: ftp pub/maisie.2.1.1.3.tar.Z from cs.ucla.edu
description: C-based parallel programming language that uses asynchronous
typed-message passing and supports light-weight processes.
The language is C with enhancements to allow processes to be
defined, created, and destroyed, to send and receive messages,
and manipulate the system clock.
ports: PVM/3.1, Cosmic Environment, and SUN Sockets.
updated: 1993/06/14
language: MeldC (MELD, C)
package: MeldC
version: 2.0
parts: microkernel, compiler, debugger, manual, examples
author: MELD Project, Programming Systems Laboratory at
Columbia University
location: obtain license from <Me...@cs.columbia.edu>
description: MeldC 2.0: A Reflective Object-Oriented Coordination
Programming Language MELDC is a C-based, concurrent,
object-oriented language built on a reflective architecture.
The core of the architecture is a micro-kernel (the MELDC
kernel), which encapsulates a minimum set of entities that
cannot be modeled as objects. All components outside of the
kernel are implemented as objects in MELDC itself and are
modularized in the MELDC libraries. MELDC is reflective in
three dimensions: structural, computational and architectural.
The structural reflection indicates that classes and
meta-classes are objects, which are written in MELDC. The
computational reflection means that object behaviors can be
computed and extended at runtime. The architectural reflection
indicates that new features/properties (e.g., persistency and
remoteness) can be constructed in MELDC.
restriction: must sign license, cannot use for commercial purposes
ports: Sun4/SunOS4.1 Mips/Ultrix4.2
contact: <Me...@cs.columbia.edu>
updated: 1992/12/15
language: uC++
package: uC++
version: 4.4
parts: translator (uC++ to C++), concurrency library, documentation,
examples
author: Peter A. Buhr <pab...@uwaterloo.ca>
location: ftp pub/uSystem/u++-4.4.tar.gz from plg.uwaterloo.ca
description: An extended C++ with light-weight concurrency for Unix-like
systems. uC++ is pronounced "micro-C++".
reference: Software--Practice and Experience, 22(2):137-172, February
1992.
features: 1. true multiprocessor support on SUN, DEC, SGI, Sequent
2. coroutine, monitor and task extensions to C++
3. non-blocking I/O library
4. mechanism to group tasks and virtual processors
5. non-deterministic time slicing
bugs: LINUX non-blocking sockets fail
requires: dmake 4.0+ (ftp pub/dmake/dmake40.tar.gz from plg.uwaterloo.ca)
GNU C++ 2.6.3+
ports: Sequent (BSD), SUN Solaris (SPARC) & SunOS (SPARC, M68K), DEC
OSF 3.2+ (Alpha), SGI IRIX 5.3+ (MIPS), IBM AIX 3.2+ (RS/6000),
HP HP-UX 9.03+ (PA), LINUX 1.2.13+/1.3.20+ (i386+)
portability: Needs "setitimer" and "sigcontext" from Unix-like systems.
updated: 1995/09/14
language: Objective-C
package: libcoll -- Collection Class Library for GNU Objective-C
version: 940510
parts: class library
author: Andrew McCallum <mcca...@cs.rochester.edu>
location: ftp.cs.rochester.edu in pub/objc/libcoll-940510.tar.gz
description: It's a library of Objective-C objects with similar
functionality to Smalltalk's Collection objects. It includes:
Set, Bag, Array, LinkedList, LinkList, CircularArray, Queue,
Stack, Heap, SortedArray, MappedCollector, GapArray and
DelegateList.
updated: 1994/05/10
language: Glenda
package: Glenda parallel programming environment
version: 0.91
parts: preprocessor,tuple server, and tuple functions
author: Ray Seyfarth <seyf...@whale.st.usm.edu>
location: ftp pub/glenda.tar.Z from seabass.st.usm.edu
description: Glenda is a programming environment for parallel programming
implementing a variation of the Linda programming model
defined by Carriero and Gelernter. It consists of a C
preprocessor to allow reasonable syntax for the added
operations, a tuple server process and a set of functions to
connect an application to the tuple server.
ports: RS6000, SUN4, LINUX
updated: 1993/06/01
compiled, imperative languages
-------------------------------------------------------------------------------
category: compiled, imperative languages
description: This is the set of traditional infix languages other than C
and Pascal which each have their own section.
cref: C variants
cref: Wirth family languages
lref: Simula
lref: Fortran
language: Ada
package: Ada/Ed
version: 1.11.0a+
parts: translator(?), interpreter, ?
author: ?
location: ftp pub/Ada/Ada-Ed from cnam.cnam.fr
description: Ada/Ed is a translator-interpreter for Ada. It is
intended as a teaching tool, and does not have the
capacity, performance, or robustness of commercial
Ada compilers. Ada/Ed was developed at New York
University, as part of a long-range project in
language definition and software prototyping.
conformance: Ada 83. Last validated with version 1.7 of the ACVC tests.
being an interpreter, it does not implement most
representation clauses, and thus does not support systems
programming close to the machine level.
ports: Unix, MSDOS, Amiga, Atari
contact: Michael Feldman <mfel...@seas.gwu.edu>
updated: 1992/05/08
language: Ada
package: GW-Ada
version: ?
parts: translator, interpreter, editor, runtime environment
author: ?
location: ftp languages/ada/compiler/adaed/gwu/9309/dos
or languages/ada/compilers/adaed/gwu/mac from
wuarchive.wustl.edu
description: Ada/Ed is a translator-interpreter for Ada. It is
intended as a teaching tool, and does not have the
capacity, performance, or robustness of commercial
Ada compilers. Ada/Ed was developed at New York
University, as part of a long-range project in
language definition and software prototyping.
conformance: "Ada/Ed handles nearly all of Ada 83"
restriction: For educational purposes only.
ports: MSDOS and Mac
contact: Michael Feldman <mfel...@seas.gwu.edu>
updated: 1993/09/01
language: Ada
package: Ada grammar
version: ?
parts: scanner(lex), parser(yacc)
author: ?
location: ftp from primost.cs.wisc.edu or mail to
compiler...@iecc.cambridge.ma.us
description: ?
contact: mast...@dumas.rutgers.edu
updated: 1991/10/12
language: Ada
package: Compiler for Toy/Ada in SML/NJ
version: ?
parts: translator(?)
author: Amit Bhatiani <bha...@polly.cs.rose-hulman.edu>
location: ftp pub/compiler*.tar.Z from master.cs.rose-hulman.edu
description: ?
conformance: subset
updated: 1992/04/08
language: Ada
package: NASA PrettyPrinter
version: ?
parts: Ada LR parser, ?
author: ? Michael Feldman <mfel...@seas.gwu.edu> in comp.compilers
provided the initial reference to this package, he also has a
yacc grammar for ada.
location: ftp from Ada Software Repository on wsmr-simtel20.army.mil
description: pretty-print program that contains an ada parser
requires: Ada
updated: 1991/02/01
language: Ada
package: yacc grammar for Ada
version: ?
parts: parser(yacc)
author: Herman Fischer
location: ftp PD2:<ADA.EXTERNAL-TOOLS>GRAM2.SRC
from wsmr-simtel20.army.mil
description: ?
contact: ?
updated: 1991/02/01
language: Ada
package: Paradise
version: 2.0
parts: library
author: ?
location: ftp pub/Ada/Paradise from cnam.cnam.fr
description: Paradise is a subsystem (a set of packages) developped
to implement inter-processes, inter-tasks and
inter-machines communication for Ada programs in
the Unix world. This subsystem gives the user full
access to files, pipes, sockets (both Unix and
Internet), and pseudo-devices.
ports: Sun, Dec, Sony Mips, Verdex compiler, DEC compiler,
Alsys/Systeam compiler
contact: paradi...@cnam.cnam.fr
updated: 1992/09/30
language: Ada
package: Adamakegen
version: 2.6.3
parts: makefile generator
author: Owen O'Malley <oma...@porte-de-st-ouen.ics.uci.edu>
location: ftp ftp/pub/arcadia/adamakegen* from spare.ics.uci.edu
description: A program that generates makefiles for Ada programs
requires: Icon
ports: Verdix, SunAda
updated: 1993/03/02
language: Ada 95
package: GNAT
version: 3.01
parts: Full compiler, standard environment, build tools,
cross-reference.
author: The GNAT Project at New York University.
Now maintained by Ada Core Technologies (rep...@gnat.com)
See also http://www.gnat.com/
location: ftp pub/gnat/* from cs.nyu.edu
debugger at:
ftp://helen.cs.berkeley.edu/pub/gdp/
other mirror sites, see home page.
description: full compiler for Ada95, uses GCC back-end technology. Current
targets include SunOS, Sun/Solaris, OS/2, SGI/IRIX, Windows NT,
Windows95, Linux, NetBSD, Alpha/Dec-Unix, DOS, others.
conformance: Fully validated on SGI/IRIX under version 2.0 of ACVC
validation suite. Other validations to follow 1Q 1996.
requires: gcc 2.7.1 or higher
status: Complete, in active use.
updated: 1995/12/19
language: Ada 9X
package: grammar9x.y and lexer9x.l
version: 5.0 (June 1994)
parts: Yacc grammar, Lex grammar with simple driver in C
author: S. Tucker Taft <s...@inmet.com>
location: ftp public/ada9x/rm9x/grammar9x.y from host ajpo.sei.cmu.edu
ftp public/ada9x/rm9x/lexer9x.l from host ajpo.sei.cmu.edu
description: YACC-based parser for Ada 9X, with simple Lexer and
simple driver written in C.
conformance: Grammar conforms to Ada 9X version 5.0 (DIS 8652-9X, June 1994);
Lexer does not support wide characters.
reference: RM9X;5.0
(ftp://ajpo.sei.cmu.edu/public/ada9x/rm9x/v5.0/rm9x.doc)
bugs: Grammar known to be somewhat liberal (to avoid
ambiguity); Lexer does not support wide characters;
Report bugs to s...@inmet.com or comp.lang.ada
ports: SunOS 4.X, others presumed
portability: No known system dependencies
status: active, though presumed "done"
discussion: comp.lang.ada
contact: s...@inmet.com
updated: 1994/06
language: Ada 9X
package: AVLAda9X
version: 191 prototype (Fall 1994)
parts: compiler, editor, online help, example programs, doc files
author: Dr. Arthur Vargas Lopes <IN%"34U...@CMUVM.BITNET">
location: ftp languages/ada/compiler/avlada9x/ver_191/avlada9x.zip
N.America: from host wuarchive.wstlu.edu or ftp.cdrom.com/pub
Europe: ftp.cnam.fr/pub/Ada/PAL or ftp.cdrom.com/pub
Also available via NFS mounts on WUARCHIVE
Gopher servers wuarchive.wustl.edu and gopher.wustl.edu
email server ftp...@decwrl.dec.com, CDROM
description: Ada 9X student starter compiler/interpreter.
AVLAda9X is a prototype Ada 9X student compiler/interpreter.
Its goal is to provide a small Ada 9x compiler/translator
that is easy to install and has good performance for
compilation and interpretation.
conformance: Grammar conforms to Ada 9X version 5.0
(DIS 8652-9X, June 1994);
reference: RM9X;5.0
(ftp://ajpo.sei.cmu.edu/public/ada9x/rm9x/v5.0/rm9x.doc)
features: The version being released allows separate compilation of
package specs and bodies. The tasking model is working with
simple tasking constructs including the use of protected
units and tasks with discriminants as shown within the
enclosed example programs.
bugs: Some problems with generics.
Future work will focus on OOP and generics.
It is expected that the completed work will allow the use of
most of the Ada 9X constructs.
restriction: Approved for Public Release; Distribution Unlimited
This software can be freely distributed, provided:
1) there is no distribution/usage fee charged,
2) all the files which accommodate this software are
included, unmodified, and with their modification dates
preserved
This software cannot be
1) distributed as a part of any other product without the
written permission from the author, or
2) used in a commercial environment without the written
permission from the author.
requires: DOS
ports: DOS
portability: DOS, No other known system dependencies
status: active, still undergoing development
discussion: comp.lang.ada
help: IN%"34U...@CMUVM.BITNET"
announcements: comp.lang.ada, list...@wunet.wustl.edu
contact: IN%"34U...@CMUVM.BITNET"
updated: Fall 1994
language: BLISS-11
package: BLISS-11
version: ?? 1
parts: compiler, minimal run-time support
author: Wulf, et. al.
location: iecc.com:/pub/file/bliss.tar.Z
description: This is the BLISS compiler as described in the reference
cited below. It is written entirely in BLISS-10 and is the
version submitted to the DEC user society (DECUS) back in
1972.
conformance: The defining implementation.
reference: 'The Design of an Optimizing Compiler' by Wulf, et. al.
portability: *EXTREMELY* dependent upon the PDP-10 and its 36-bit
architecture.
contact: har...@ug.eds.com
updated: ??
language: FOOGOL (a subset of Algol-60)
package: cfoogol
version: 5.0
parts: compiler(->C)
author: Per Lindberg, John Cowan <co...@locke.ccil.org>
location: ftp locke.ccil.org:pub/retro/cfoogol.shar.gz
(in the Museum of Retrocomputing). An earlier version
was posted in comp.sources.misc in May 1994.
description: This is a toy compiler for a subset of Algol-60, based on
the VALGOL-1 compiler by G. A. Edgar published in the May
1985 Dr. Dobb's Journal. It is intended solely to demonstrate
recursive-descent parsing and other elementary compiler-
construction techniques.
conformance: subset of Algol-60
portability: portable pre-ANSI C
ports: VAX
updated: 1994/05/08
language: Algol
lref: Simula
language: BCPL
package: ?
version: ?
parts: ?
author: ?
location: ftp systems/amiga/programming/languages/BCPL/BCPL4Amiga.lzh
from wuarchive.wustl.edu.
description: The original INTCODE interpreter for BCPL.
ports: Amiga, Unix, MSDOS
contact: ?
updated: ?
language: BCPL
package: ?
version: ?
parts: ?
author: ?
location: ftp ftp.syd.dit.csiro.au in pub/ken/bcpl.tar.gz.
description: A BCPL* (Basic Combined Programming Language) compiler
bootstrap kit with an INTCODE interpreter in C.
contact: Ken Yap <k...@syd.dit.CSIRO.AU>
updated: ?
language: E
package: Amiga E
version: 2.1b
parts: compiler, assembler, linker, utilities
author: Wouter van Oortmerssen <Wou...@mars.let.uva.nl>
location: ftp amiga/dev/lang/AmigaE21b.lha from amiga.physik.unizh.ch
description: An Amiga specific E compiler. E is a powerful and flexible
procedural programming language and Amiga E a very fast
compiler for it, with features such as compilation speed of
20000 lines/minute on a 7 Mhz amiga, inline assembler and
linker integrated into compiler, large set of integrated
functions, module concept with 2.04 includes as modules,
flexible type-system, quoted expressions, immediate and typed
lists, low level polymorphism, exception handling and much,
much more. Written in Assembly and E.
ports: Amiga
portability: not portable at all
status: actively developed
discussion: comp.sys.amiga.programmer (sometimes)
updated: 1993/03/01
language: Eiffel
package: ?
version: ?
parts: source checker
author: Olaf Langmack <lang...@inf.fu-berlin.de> and Burghardt Groeber
location: ftp pub/heron/ep.tar.Z from ftp.fu-berlin.de
description: A compiler front-end for Eiffel-3 is available. It has been
generated automatically with the Karlsruhe toolbox for
compiler construction according to the most recent public
language definition. The parser derives an easy-to-use
abstract syntax tree, supports elementary error recovery
and provides a precise source code indication of errors. It
performs a strict syntax check and analyses 4000 lines of
source code per second on a Sun-SPARC workstation.
updated: 1992/12/14
language: Sather
package: Sather 1.0
version: 1.0.6
parts: compiler(->C), library, examples, documentation
author: International Computer Science Institute in Berkeley, CA
location: ftp://ftp.icsi.berkeley.edu/pub/sather/Sather-1.0.6.tar.gz
description: Sather is an object oriented language which aims to be simple,
efficient, safe, and non-proprietary. One way of placing it in
the "space of languages" is to say that it aims to be as
efficient as C, C++, or Fortran, as elegant and safe as Eiffel
or CLU, and support higher-order functions and iteration
abstraction as well as Common Lisp, Scheme, or Smalltalk.
Sather has parameterized classes, object-oriented dispatch,
statically-checked strong (contravariant) typing, separate
implementation and type inheritance, multiple inheritance,
garbage collection, iteration abstraction, higher-order
routines and iters, exception handling, assertions,
preconditions, postconditions, and class invariants. Sather
programs can be compiled into portable C code and can
efficiently link with C object files. Sather has a very
unrestrictive license which allows its use in proprietary
projects but encourages contribution to the public library.
conformance: reference implementation
reference: http://www.icsi.berkeley.edu/Sather
bugs: Send email to sathe...@icsi.berkeley.edu
requires: ANSI C compiler such as gcc.
ports: SunOS 4.1.3, Ultrix 4.3, NetBSD 1.0_BETA, Linux 1.0.8s,
IRIX 4.0.5H and 5.2, NEWSOS 4.1R MIPS RISC os 4.53C, SunOS 5.3,
DEC OSF/1 V2.0, FreeBSD 1.1.5.1, OS/2
portability: high.
status: actively developed
discussion: comp.lang.sather
help: sathe...@icsi.berkeley.edu
announcements: comp.lang.sather, also a mailing list; send mail to
sather-...@icsi.berkeley.edu
updated: 1994/10/31
language: Simula 67
package: cim
version: 1.62
parts: compiler(->C)
author: Sverre Hvammen Johansen <s...@ifi.uio.no>
Stein Krogdahl <ste...@ifi.uio.no>
Terje Mjoes.
location: ftp pub/Linux/devel/simula/cim-1.??.tar.gz
from sunsite.unc.edu
Europe: ftp pub/cim/cim-1.??.tar.gz from ftp.ifi.uio.no
ftp pub/lang/simula/compilers/cim/cim-1.??.tar.gz
from ftp.fenk.wau.nl
description: A compiler that translates Simula to C, for further
compilation.
conformance: Does not include unspecified virtual procedures.
reference: "Viderefoering og testing av et portabelt Simula-system."
Hovedoppgave til cand.scient.-graden av Terje Mjoes.
Institutt for informatikk, Universitetet i Oslo, April
1989.
"Et portabelt Simula-system bygget paa C." Hovedoppgave til
cand.scient-graden av Sverre Johansen. Institutt for
informatikk, Universitetet i Oslo, Mai 1987.
bugs: Constant must be declared before reference/use.
restriction: See bugs and conformance.
requires: A C compiler.
ports: Numerous.
portability: Any UNIX system. (Uses GNU AutoConf.)
status: Maintained by Sverre Johansen.
help: E-mail: c...@ifi.uio.no
contact: E-mail: c...@ifi.uio.no
updated: 1995/03/20.
language: XPL (PL/I dialect)
package: XPL optimizing Compiler
version: 1
parts: compiler, documentation
author: Robin Vowels <robin_...@rmit.edu.au>
location: mail to author
description: The compiler is a standard implementation of XPL and is based
on McKeeman, Horning, and Wortman's improved XCOM (which
employs hashed symbol table generation). It includes the extra
built-in function COREHALFWORD.
The following areas have been optimized: procedures calls when
the argument and corresponding parameter are of the same type,
and when the argument is a constant; constant subscripts; use
of CORELHALFWORD and COREWORD; string constants of length one;
iterative DO statements by transferring code to the end of the
loop.
String constants of length one do not require a descriptor,
hence more descriptors are available for string variables.
Comparison operations are treated as commutative, and an
improved Commute algorithm is used. Halfword instructions are
generated for BIT(16) variables.
These areas have been improved or re-written: calls on OUTPUT,
catenation, integer-to-string conversion, multiply, divide, and
MOD. An emitter for SS-type instructions has been added.
The compiler achieves an 11% reduction in object code
compiling itself, an 11% increase in compilation rate, a 55%
increase in compilation speed when the $E toggle is set.
Special treatment for catenating a string to an integer
substantially decreases consumption of the free string area,
and decreases string moves. The latter improvement is most
noticeable on small core machines.
Core requirements: less than the improved XCOM on which it is
based (approx. 98000 bytes). Symbol table size is 468.
ports: IBM System 370
portability: The compiler is written in XPL. The code generators are
machine-specific.
updated: 1993/08/07
language: PL/M grammar and parser
package: plm-parse
version: 1.1
parts: bison (GNU yacc) grammar description, flex (GNU lex)
lexer description, and a scoped symbol table manager
author: Kirk Hays <ha...@ichips.intel.com>
Gary Funck <ga...@intrepid.com>
location: ftp pub/file/plm.shar.gz from iecc.com to obtain
a shar archive in compressed GNU zip format. To access
the mail server, mail "send plm.shar"
to compiler...@iecc.com.
description: this is a skeleton parser for PL/M. The grammar description
and lexer description files were written for bison and flex.
The grammar description closely follows the EBNF documented
in the _PL/M Programmer's Guide_, Intel doc. 452161-003,
Appendix C. A symbol table manager is supplied,
though there is no semantic checking.
conformance: the grammar describes PL/M 386 and where possible, will
accept various other dialects
reference: _PL/M Programmer's Guide_, Intel doc. 452161-003
features: has support for PL/M's "literally" macro definitions
bugs: doesn't support $-directives (includes)
restriction: freely available, use at you own risk
requires: flex, bison, an ANSI compliant C compiler (gcc), and the
avl-subs balanced binary tree library routines
(comp.sources.unix Volume 27, Issue 34 ,'avl-subs')
ports: SGI IRTIX 5.2, and a 486DX2 PC clone running Linux
help: contact the authors
updated: 04/04/1994
object oriented languages
-------------------------------------------------------------------------------
category: object oriented languages
description: In general, object oriented languages were categorized
elsewhere. Only those that were not anything but object-
oriented are here. (HTML version has 'em all here)
lref: ABCL ???
lref: ABCL/1
lref: ALLOY
lref: C++
lref: CLU
lref: Common Lisp
lref: Dylan
lref: MeldC
lref: Objective-C
lref: Oberon2
lref: Perl
lref: Proxy
lref: Python
lref: Sather
lref: Simula
lref: Simula 67
iref: (Tcl) BOS
iref: (Scheme) STk
iref: (Scheme) SOS
iref: (E) GNU E
language: CooL (Combined object-oriented Language)
package: CooL-SPE
version: 2.1pre45
parts: compiler(->C), emacs mode, X libraries, container libraries,
database access libraries, dialog editor, source debugger,
object test harness
author: ITHACA project
location: ftp pub/unix/languages/cool/cool-*.tar.Z from ftp.fu-berlin.de
description: The CooL-SPE is a programming environment specially designed to
support the professional development of large-scale
object-oriented application systems.
CooL offers all the basic features of the object-oriented
paradigm, such as (single) inheritance, dynamic binding and
polymorphism. Above that, CooL offers generic object types and
abstract object types and last but not least supports modules
in the tradition of Modula, thus allowing to really build large
systems. CooL is fully type-compliant with the C language type
system and allows software written in C or in languages with a
C interface to be integrated into CooL applications without any
effort.
CooL-SPE supports the development of application systems with
graphical user interfaces based on X/Motif. These interfaces
may be constructed using UIL or interactivly using a dialog
editor. A dialog object class library, DIO, is available to
facilitate integration of the application with the runtime
system of X/Motif. This interface abstracts from the toolkit's
primitives.
The CooL language is extended by the CooL library system
CoLibri. CoLibri offers a BCD type and a number of functions
for the CooL simple types (e.g. STRING). As foundation object
types, provides basic file I/O, time representation (including
date, time, duration, interval etc.), and the basic container
object types (e.g. set, list, sortedList, map and dictionary)
as generic types.
The SQL Object Interface (SOI) is provided to allow
object-oriented applications to be integrated with a relational
database system. This interface offers access to SQL tables via
a generated object type interface.
requires: INFORMIX
ports: Linux, Solaris, Sinux 5.41
portability: nothing prevents using a different database backend
status: new
contact: Co...@sietec.de
updated: 1994/10/25
language: O'small
package: O'small
version: Initial release
parts: compiler?, parser/scanner specification
author: ? Andreas Hense <he...@sol.cs.uni-sb.de>
location: FTP /pub/osmall/machine/* from cs.uni-sb.de (134.96.7.254)
description: A concise, formally defined object-oriented language suited
for teaching object oriented programming.
reference: (Numerous references listed in software documentation)
Christoph Boeschen. Christmas - An abstract machine for
O'small. Master's thesis, Universit"at des Saarlandes,
Fachbereich 14, June 1993.
requires: sml-yacc, sml-lex, sml-noshare (details in HowToGetML).
ports: Sun 4, SPARC (binaries provided).
portability: Probably portable to other Unix's.
updated: 1993/06/25
language: O'small
package: ?
version: ?
parts: interpreter
author: ?
location: ?
description: ?
requires: Miranda
ports: ?
portability: ?
updated: ?
language: Self
package: Self
version: 3.0
parts: compiler, debugger, browser
author: The Self Group at Sun Microsystems & Stanford University
location: ftp from self.stanford.edu or http://self.stanford.edu
description: The Self Group at Sun Microsystems Laboratories, Inc., and
Stanford University is pleased to announce Release 2.0 of the
experimental object-oriented exploratory programming language
Self. Release 2.0 introduces full source-level debugging of
optimized code, adaptive optimization to shorten compile
pauses, lightweight threads within Self, support for
dynamically linking foreign functions, changing programs within
Self, and the ability to run the experimental Self graphical
browser under OpenWindows.
Designed for expressive power and malleability, Self combines a
pure, prototype-based object model with uniform access to state
and behavior. Unlike other languages, Self allows objects to
inherit state and to change their patterns of inheritance
dynamically. Self's customizing compiler can generate very
efficient code compared to other dynamically-typed
object-oriented languages.
ports: Sun-4 (SPARC) only [Sun-3 discontinued]
portability: compiler back end and runtime system system-dependent
(source available)
discussion: mailing list -- self-i...@self.stanford.edu,
send mail to self-request to be added.
contact: self-r...@self.stanford.edu
updated: 1992/08/13
language: Smalltalk
package: Little Smalltalk
version: 4.0
parts: ?
author: Tim Budd <bu...@cs.orst.edu> ?
location: ftp://ftp.cs.orst.edu/pub/budd/little/
http://ftp.cs.orst.edu/pub/budd/little/ReadMe.html
description: ?
ports: unix, pc, atari, vms
status: ?
updated: ?
language: Smalltalk
package: GNU Smalltalk
version: 1.1.1
parts: ?
author: Steven Byrne <s...@eng.sun.com>
location: ftp smalltalk-1.1.1.tar.Z from a GNU archive site
description: ?
bugs: gnu.smalltalk.bug
discussion: ?
contact: ?
updated: 1991/09/15
language: Smalltalk
package: msgGUI
version: 1.0
parts: library
author: Mark Bush <bu...@ecs.ox.ac.uk>
location: ftp pub/Packages/mst/mstGUI-1.0.tar.Z from ftp.comlab.ox.ac.uk
description: GUI for GNU Smalltalk. This this package contains the basics
for creating window applications in the manner available in
other graphical based Smalltalk implementations.
updated: 1992/12/14
language: Smalltalk
package: Mei
version: 0.50
parts: interpreters(Lisp,Prolog), examples, libraries, tools, editor,
browser
author: Atsushi Aoki <ao...@sra.co.jp> and others
location: ftp pub/goodies/misc/Mei.tar.Z from mushroom.cs.man.ac.uk
N.America: ftp pub/MANCHESTER/misc/Mei from st.cs.uiuc.edu
Japan: ftp pub/lang/smalltalk/mei/Mei0.50.tar.Z from srawgw.sra.co.jp
description: Mei is a set of class libraries for Objectworks Smalltalk
Release 4.1. it includes:
1. Grapher Library (useful for drawing diagrams);
2. Meta Grapher Library (grapher to develop grapher);
3. Drawing tools and painting tools (structured diagram
editors and drawing editors);
4. GUI editor (graphical user interface builder);
5. Lisp interpreter;
6. Prolog interpreter;
7. Pluggable gauges;
8. Extended browser; (package, history, recover, etc.)
restriction: GNU General Public License
requires: Objectworks Smalltalk Release 4.1
contact: Watanabe Katsuhiro <ka...@sran14.sra.co.jp>
updated: 1993/01/20
language: Smalltalk
iref: (Smalltalk) Tim Budd's C++ implementation of Kamin's interpreters
language: Trellis
package: TNT
version: 0.2 beta
parts: compiler, library, run-time system
author: ?
location: ftp pub/tnt/tnt-0.1.tar.gz from tk.telematik.informatik.uni-karlsruhe.de
desciption: Trellis is an object-oriented language developed within Digital
Equipment Corp. The language features compile-time type
checking, multiple inheritance, parametrized types, exception
handling and iterators.
Currently the run-time system does not support garbage collection
or threads.
requires: building from source: Cocktail V9208, GNU make V3.68, patch, makedepend
restriction: may not be used for non-academic, non-research, non-internal
business purposes
ports: OSF/1, HP-UX, Linux, Ultrix, SunOS
contact: br...@tk.uni-linz.ac.at
updated: 1994/10/27