From free-compilers@idiom.com Sun May 7 00:10:27 1995 Newsgroups: comp.compilers,comp.lang.misc,comp.archives.admin,news.answers,comp.answers From: free-compilers@idiom.com (Steven Robenalt) Subject: Catalog of compilers, interpreters, and other language tools [p1of5] Followup-To: comp.lang.misc Summary: Monthly posting of free language tools that include source code Keywords: compilers, interpreters, languages, tools, FTP Supersedes: Reply-To: free-compilers@idiom.com (Steven Robenalt) Organization: Idiom Consulting / Berkeley, CA Date: Thu, 4 May 1995 21:23:55 GMT Archive-name: free-compilers/part1 Last-modified: 1995/05/04 Version: 8.0 ------------------------------------------------------------------------------- Catalog of Free Compilers and Interpreters. ------------------------------------------------------------------------------- Copyright (c) 1992, 1993, 1994, David Muir Sharnoff, All Rights Reserved Copyright (c) 1994, 1995, 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 static version available through WWW at: (note: the trailing slash (/) is important) http://www.idiom.com/free-compilers/ There is a searchable (but less fancy) version sometimes available at: http://cuiwww.unige.ch/~scg/freecomp Not all entries have complete citations. Some fields are filled with question marks (?). Fields with both the ? and an entry are implicit requests for confirmation. Also, specific questions will often be asked [in 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 . ------------------------------------------------------------------------------- overview (table of contents) ------------------------------------------------------------------------------- Section Parts Catalog of Free Compilers and Interpreters. 1 overview (table of contents) 1 changes and 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 ------------------------------------------------------------------------------- changes and history ------------------------------------------------------------------------------- This document grew out of David Muir Sharnoff filing away postings that he saw (mostly Ed Vielmetti's postings to comp.archives) during 1991 and the first half of 1992. At the Summer 1992 USENIX Technical Conference, the other attendees of the 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 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 took over the list maintenance from Dave in January 1994. It was returned to Mark Hopkins 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. For this version the changes to the list are: language package -------- ------- new listings: C (ANSI/ISO) Metre Prolog Beta-Prolog 1.5 Tcl Object Tcl 1.0 beta Simula 67 cim 1.62 Expect Expect 5.12 EXPRESS NIST EXPRESS Toolkit Pascal Pascal for Minix OPAL ocs 2.1d BASIC ACE 2.3 lua lua 2.1 Ada 9X AVLAda9X Marpa Marpa Alpha 2.8 Oberon-2 o2c new versions: Perl5 perl5 5.001 C, C++,etc gdb 4.14 RLaB RLaB 1.18d Modula-3 SRC Modula-3 3.5 awk (new) gawk 2.15.6 lex flex 2.5.2 BNF (Extended) PCCTS 1.31 BNF (yacc) Bison-A2.3 Modula-3 m2tom3 translator 2.00 C (ANSI) lcc 3.2 Korn Shell pdksh 5.1.3 DSP56001 asm a56 1.2 Prolog clp(FD) 2.2 Prolog wamcc 2.2 Octave octave 1.1.1 Haskell Glasgow Haskell 0.23 C, C++, Obj-C gcc 2.6.3 Python Python 1.2 BNF Eli 3.8 Bourne Shell Bash 1.14.4 Scheme Hobbit 4b revised entry: Scheme->C Windows NT patches. Tcl Tcl 7.3 OS/2 port BNF (Extended) Gray orthogonal orthogonal BNF (Extended) GMD Toolbox Modula-2 mtc 6502 asm Pascal Pascal P4 ABC Grammar Analysis Tools, Examples ------------------------------------------------------------------------------- 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 ". 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 ". 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 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-request@cwi.nl contact: abc@cwi.nl updated: 1991/05/02 language: awk (new) package: mawk version: 1.1.3 parts: interpreter author: Mike Brennan 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 updated: 1993/03/14 language: awk (new) package: GNU awk (gawk) version: 2.15.6 parts: interpreter, documentation author: David Trueman and Arnold Robbins 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 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 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.Benn@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: Listserver@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.05 parts: interpreter, manual page, html manual author: Christos Zoulas location: ftp pub/tcsh/tcsh-6.05.tar.gz from tesla.ee.cornell.edu 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 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 or the author updated: 1993/06/04 language: es (a functional shell) package: es version: 0.84 parts: interpreter author: Byron Rakitzis , Paul Haahr 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 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 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 listserv@research.canon.oz.au contact: Andy Newman 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 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-project@cs.arizona.edu mengarini@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 location: alt.sources 1993/09/28 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 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.4 parts: parser(yacc), interpreter, documentation author: Brian Fox location: ftp bash-1.14.1.tar.gz from a GNU archive site 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-bash@prep.ai.mit.edu restriction: GNU General Public License updated: 1994/07/07 language: Korn Shell package: pdksh version: 5.1.3 parts: interpreter, documentation (complete man page) author: Michael Rendell (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 pdksh@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: pdksh@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 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-request@lysator.liu.se updated: 1994/06/04 language: lua package: lua version: 2.1 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 location: ftp://ftp.icad.puc-rio.br/pub/lua/lua-2.1.tar.gz 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/02 language: Perl5 (Practical Extraction and Report Language) package: perl version: 5.001 parts: interpreter, debugger, libraries, tests, documentation author: Larry Wall location: many! N.America: ftp://ftp.cis.ufl.edu/pub/perl/src/5.0/perl5.001.tar.gz ftp://prep.ai.mit.edu/pub/gnu/perl5.001.tar.gz ftp://ftp.uu.net/languages/perl/perl5.001.tar.gz ftp://ftp.khoros.unm.edu/pub/perl/perl5.001.tar.gz ftp://ftp.cbi.tamucc.edu/pub/duff/Perl/perl5.001.tar.gz ftp://ftp.metronet.com/perlinfo/source/perl5.001.tar.gz ftp://genetics.upenn.edu/perl5/perl5_001.zip Europe: ftp://ftp.cs.ruu.nl/pub/PERL/perl5.0/perl5.001.tar.gz ftp://ftp.funet.fi/pub/languages/perl/ports/perl5/perl5.001.tar.gz ftp://ftp.zrz.tu-berlin.de/pub/unix/perl/perl5.001.tar.gz ftp://src.doc.ic.ac.uk/packages/perl5/perl5.001.tar.gz http://src.doc.ic.ac.uk/packages/perl5/perl5.001.tar.gz gopher://src.doc.ic.ac.uk/0/packages/perl5/perl5.001.tar.gz Australia: ftp://sungear.mame.mu.oz.au/pub/perl/src/5.0/perl5.001.tar.gz MS-DOS: (beta) send mail to Darryl Okahata 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. 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, operator overloading - syntax requires variable prefix characters extensions: Also availabe at major archives Tk: ftp://sable.ox.ac.uk/pub/perl/tkperl5a5.tar.gz Curses: ftp://ftp.ncsu.edu/pub/math/wsetzer/cursperl5a6.tar.gz Msql: ftp://ftp.zrz.TU-Berlin.DE/pub/unix/perl/MsqlPerl-a1.tgz Sx (X11): ftp://ftp.pasteur.fr/pub/Perl/Sx/Sx-1.6.tar.gz Database: ftp://ftp.demon.co.uk:/pub/perl/db archives: ftp://ftp.metronet.com/pub/perlinfo ftp://ftp.cs.ruu.nl/pub/PERL ftp://ftp.khoros.unm.edu/pub/perl references: http://www.metronet.com/perlinfo/perl5.html http://www.metronet.com/0/perlinfo/perl5/manual/perl.html http://www.mit.edu:8001/perl/perl.html ftp://ftp.cis.ufl.edu/pub/perl/doc/faq.gz "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 bugs: Send bugs to ports: most unix platforms, VMS, MS-DOS portability: very high for unix, not so high for others updated: 1995/03/13 language: Perl5, Tk package: tkperl5 version: alpha 5 parts: library author: Port by: Malcolm Beattie . Tk by: John Ousterhout . location: ftp pub/perl/tkperl5a5.tar.gz from sable.ox.ac.uk ftp src/ALPHA/tkperl5a5.tar.gz from black.ox.ac.uk description: tkperl5 is a port of Tk to `native' Perl5. It takes advantage of perl5's object oriented features and magic variables to implement the Tk widget set in Perl5. Nothing touches the Tcl parser so knowledge of Tcl is not required. tkperl5alpha5 builds against perl 5.000. ports: OSF/1, Ultrix, Next, Solaris, Linux, SunOS, HP-UX updated: 1994/10/20 language: Perl5 package: Sx version: 1.6 parts: library author: Frederic Chauveau location: ftp://ftp.pasteur.fr/pub/Perl/Sx-1.4.tar.gz description: Sx is X11 interface library that uses Xlib and the Athena widget set. updated: 1994/10/25 language: Perl5, Tcl package: Tcl-ext version: alpha 1 parts: interpreter author: Wrapper by: Malcolm Beattie . Tcl by: John Ousterhout . location: ftp pub/perl/Tcl-ext-a1.tar.gz from sable.ox.ac.uk ftp src/ALPHA/Tcl-ext-a1.tar.gz from black.ox.ac.uk description: This is a Tcl extension for perl5. It lets you create Tcl interpreters, evalute scripts and files in them, bind commands into them which can be either C functions (presumably obtained via dynamic loading with dl_open or dl_find_symbol) or perl subroutines, manipulate Tcl variables and tie them to perl variables and so on. updated: 1994/10/23 language: Perl (Practical Extraction and Report Language) package: perl version: 4.0 patchlevel 36 parts: interpreter, debugger, libraries, tests, documentation author: Larry Wall 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 pub/pc/win3/nt/ntperl*.zip from cica.cica.indiana.edu MVS: ftp dist/perl-4036.tar.Z from oozelum.csi.cam.ac.uk Netware: contact Jack Thomasson 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 ports: almost all unix, MSDOS, Mac, Amiga, Atari, OS/2, VMS, NT, MVS portability: very high for unix, not so high for others discussion: comp.lang.perl Macintosh: mpw-perl-request@iis.ee.ethz.ch updated: 1993/02/07 language: perl, awk, sed, find package: a2p, s2p, find2perl version: ? parts: translators(perl) author: Larry Wall 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 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: Perl package: Dylperl version: ? parts: ? author: Roberto Salama location: posted to comp.lang.perl, 1993/08/11, description: A dynamic linking package for perl. Dynamically-loaded functions are accessed as if they were user-defined funtions. This code is based on Oliver Sharp's May 1993 article in Dr. Dobbs Journal (Dynamic Linking under Berkeley UNIX). ports: ? updated: 1993/08/11 language: Perl package: curseperl version: ? parts: ? author: Larry Wall location: comes with perl description: A curses library for perl updated: ? language: Proxy package: Proxy version: 1.4 parts: interpreter, documentation author: Burt Leavenworth 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.2 parts: interpeter, libraries, documentation, emacs macros author: Guido van Rossum OS/2 port by: Simon K Johnston location: ftp pub/python* from ftp.cwi.nl N.America: ftp pub/plan/python/cwi from gatekeeper.dec.com N.America: ftp languages/python fromftp.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 reference: Python documentation URL extensions: tkinter (Tcl's Tk), termios, curses, syslog, sybase ports: unix, Macintosh, OS/2, Windows 3.1 (with Win32s), Windows NT discussion: python-list-request@cwi.nl updated: 1994/10/11 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 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 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 Real Name 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 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 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 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 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-gnu-utils@prep.ai.mit.edu updated: 1994/04/30 language: rc (Plan 9 shell) package: rc version: 1.4 parts: interpretor author: Byron Rakitzis location: ftp pub/rc/* from ftp.white.toronto.edu description: a free implementation of the Plan 9 shell. discussion: rc-request@hawkwind.utcs.toronto.edu updated: 1992/05/26 language: S-Lang package: slang version: 0.94 parts: interpreter, documentation, examples author: John E. Davis 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 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: snobol4@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 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 (martin@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.3 parts: interpreter, libraries, tests, documentation author: John Ousterhout location: ftp.cs.berkeley.edu in ucb/tcl/tcl* MSDOS: harbor.ecn.purdue.edu in /pub/tcl/distrib/mstcl73e.zip Macintosh: bric-a-brac.apple.com in pub/ticl harbor.ecn.purdue.edu in pub/tcl/distrib/MacTcl7.3.sea.* 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: 3.5 parts: GUI library author: John Ousterhout location: ftp ucb/tcl/tk* from ftp.cs.berkeley.edu description: Tk is a X11 gui library that is designed to interoperate with Tcl. It provides a very easy way to create sophisticated applications. The appearence of Tk is very similar to Motif. updated: 1993/11/15 language: Tcl package: BOS (The Basic Object System) version: 1.31 parts: library author: Sean Levy 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.2 parts: library author: Larry Rowe ? location: mm-ftp.cs.berkeley.edu [128.32.149.157] in the /pub/multimedia/Tcl-DP directory. description: Tcl-DP extends the "send" by removing the restriction that you can only send to other clients of the same X11 server. [could someone give a better description? --ed] updated: 1994/06/01 language: Tcl package: Tickle version: 5.0v1 parts: editor, file translator, interpreter author: time@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: time@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 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 " to listserv@wu-wien.ac.at updated: 1994/06/26 language: Tcl package: Extended Tcl (tclx) version: 7.3b parts: library author: Mark Diekhans , Karl Lehenbauer location: ftp pub/tcl/distrib/tclX7.3b.tar.gz from ftp.neosoft.com ftp pub/tcl/extensions/tclX7.3b.tar.gz from harbor.ecn.purdue.edu description: Extended Tcl adds statements to the Tcl language to provide high-level access unix system primitives. contact: tcl-project@NeoSoft.com updated: 1994/07/17 language: Tcl package: tcl-debug version: ? parts: debugger author: Don Libes 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.8 parts: interpreter, library location: ftp tcl/extensions/MTtcl0.8.tar.gz from ftp.aud.alcatel.com 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.3, 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 73, Tk 3.6 ports: Sparc Solaris 2.3 updated: 1994/11/02 language: Tcl package: Cygnus Tcl Tools version: Release-930124 parts: ? author: david d 'zoo' zuhn 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 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, Linus 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 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 4 parts: interpeter, libraries, documentation author: port by Gordon Chaffee and Lawrence A. Rowe based on work by Ken Kubota of the University of Kentucky and Software Research Associates, Inc. of Japan. location: ftp pub/multimedia/winnt/tknt36r4/* from ftp.cs.berkeley.edu Europe: ftp pub/tcl/winnt/* from ftp.ibp.fr description: A port of Tcl/Tk and Tcl-DP to Windows NT. It has run under Windows NT 3.1, Windows NT 3.5 Beta 1, and Chicago Beta 1. 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: tknt@plateau.CS.Berkeley.EDU updated: 1994/09/22 language: Tcl package: Object Tcl version: 1.0beta parts: Tcl extension package including language reference, C++ binding reference. author: Dean Sheehan 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: otcl@x.co.uk requires: Tcl 7.? contact: otcl@x.co.uk updated: 1995/03 language: Marpa package: Marpa is TCL 7.3 extended with an enhanced Earley's Algorithm version: Alpha 2.8 parts: parser-generator, examples, document author: Jeffrey Kegler 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 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: expect@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 location: ftp pub/bas/zsh/zsh-*.tar.z from carlo.phys.uva.nl comp.sources.misc (v43i089) description: zsh is most similar to ksh, while many of the additions are to please csh users. features: + multi-line commands editable as a single buffer, + variable editing (vared), + command buffer stack, + recursive globbing, + manipulation of arrays, + spelling correction. ports: Berkeley-based Unix, SVR4-based Unix discussion: zsh-request@cs.uow.edu.au contact: zsh-list@cs.uow.edu.au updated: 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: caml@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-list@margaux.inria.fr, comp.lang.ml contact: Pierre Weis updated: 1991/10/20 language: Caml package: Caml Light version: 0.6 parts: bytecode compiler, emacs mode, libraries, scanner generator, parser generator, runtime, interactive development environment author: Xavier Leroy, Damien Doligez (INRIA) 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-light@margaux.inria.fr ports: most unix, Macintosh, MSDOS (16 and 32 bit modes), Windows, Atari ST portability: very high status: actively developed discussion: caml-list@margaux.inria.fr, comp.lang.ml contact: Xavier Leroy updated: 1993/10/06 language: CAML, Bigloo package: Camloo version: 0.2 parts: ? author: ? Manuel.Serrano@inria.fr, Pierre.Weis@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.Serrano@inria.fr, Pierre.Weis@inria.fr. updated: 1994/06/13 language: Concurrent Clean package: The Concurrent Clean System version: 0.8.1 parts: development environment, documentation, compiler(byte-code), compiler(native), interpreter(byte-code), examples author: Research Institute for Declarative Systems, University of Nijmegen location: ftp pub/Clean/* from ftp.cs.kun.nl description: The Concurrent Clean system is a programming environment for the functional language Concurrent Clean, developed at the University of Nijmegen, The Netherlands. The system is one of the fastest implementations of functional languages available at the moment. Its I/O libraries make it possible to do modern, yet purely functional I/O (including windows, menus, dialogs etc.) in Concurrent Clean. With the Concurrent Clean system it is possible to develop real-life applications in a purely functional language. + lazy and purely functional + strongly typed - based on Milner/Mycroft scheme + module structure + modern I/O + programmer-infulenced evaluation order by annotations ports: Sun-3, Sun-4, Macintosh contact: clean@cs.kun.nl updated: 1992/11/07 language: FP package: ? funcproglang ? version: ? parts: translator(C) author: ? location: comp.sources.unix archive volume 13 description: ? Backus Functional Programming ? updated: ? language: Gofer (Haskell derivative) package: Gofer version: 2.30 parts: interpreter, compiler(->C), documentation, examples author: Mark Jones 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 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-request@cs.yale.edu Europe: haskell-request@dcs.glasgow.ac.uk contact: hbc@cs.chalmers.se updated: 1993/08/02 language: Haskell package: Glasgow Haskell Compiler (GHC) version: 0.23 parts: translator (C, SPARC), profiler author: AQUA project, headed by Simon Peyton Jones 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 description: A near complete subset of Haskell 1.2, with numerous extensions. conformance: Almost all of Haskell 1.2 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: requires: GNU C 2.1+, perl ports: solid: Sun4, Sun3; sort of: HP-PA, Alpha, DECstation portability: should be high contact: updated: 1994/07/27 language: Haskell package: Yale Haskell version: 2.1 parts: compiler, documentation, reference manual (dvi format) author: Yale Haskell project 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-request@cs.yale.edu Europe: haskell-request@dcs.glasgow.ac.uk contact: haskell-request@cs.yale.edu updated: 1994/07/29 language: Hope package: ? version: ? parts: ? author: ? location: ftp pub/papers/R.Paterson/hope.tar.gz from santos.doc.ic.ac.uk 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 it handy 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 updated: 1992/11/27 language: IFP (Illinois Functional Programming) package: ifp version: 0.5 parts: interpreter author: Arch D. Robison 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 , Lal George , AJ. H. Reppy , A. W. Appel 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-bugs@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 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 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.tarditi@cs.cmu.edu anurag.acharya@cs.cmu.edu peter.lee@cs.cmu.edu updated: 1991/06/27 language: Standard ML package: The ML Kit version: 1 parts: interprter, documentation author: Nick Rothwell, David N. Turner, Mads Tofte , 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 SML version: 1.10 parts: bytecode compiler, runtime, libraries, documentation author: Sergei Romanenko location: ftp pub/Peter.Sestoft/mosml/*mos* from dina.kvl.dk 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 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. updated: 1994/07/15 language: OPAL package: ocs version: 2.1d parts: compiler(->C), interpreter, translator, library, documentation, examples, tutorial, run-time. author: The OPAL Group at Technical Univ. of Berlin. 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 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-bugs@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-discussion@cs.tu-berlin.de help: opal@cs.tu-berlin.de support: opal@cs.tu-berlin.de opal-bugs@cs.tu-berlin.de announcements: opal-announce@cs.tu-berlin.de contact: opal@cs.tu-berlin.de updated: 1994/10/28 -- Send compilers articles to compilers@iecc.com, meta-mail to compilers-request@iecc.com. From free-compilers@idiom.com Sun May 7 00:10:39 1995 Newsgroups: comp.compilers,comp.lang.misc,comp.archives.admin,news.answers,comp.answers From: free-compilers@idiom.com (Steven Robenalt) Subject: Catalog of compilers, interpreters, and other language tools [p2of5] Followup-To: comp.lang.misc Summary: Monthly posting of free language tools that include source code Keywords: tools, FTP, administrivia Supersedes: Reply-To: free-compilers@idiom.com (Steven Robenalt) Organization: Idiom Consulting / Berkeley, CA Date: Thu, 4 May 1995 21:32:42 GMT Archive-name: free-compilers/part2 Last-modified: 1995/05/04 Version: 8.0 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.6.3 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. conformance: C: superset of K&R C and ANSI C. C++: not exactly cfront 3.0? [could someone tell me which version of cfront it is equivalent to, if any? --ed] Objective-C: ? bugs: gnu.gcc.bug restriction: GNU General Public License ports: 3b1, a29k, aix385, alpha, altos3068, amix, arm, convex, crds, elxsi, fx2800, fx80, genix, hp320, clipper, i386-{dos,isc,sco,sysv.3,sysv.4,mach,bsd,linux,windows,OS/2}, iris,i860, i960, irix4, m68k, m88ksvsv.3, mips-news, mot3300, next, ns32k, nws3250-v.4, hp-pa, pc532, plexus, pyramid, romp, rs6000, sparc-sunos, sparc-solaris2, sparc-sysv.4, spur, sun386, tahoe, tow, umpis, vax-vms, vax-bsd, we32k, hitachi-{SH,8300}, 6811 portability: very high status: actively developed discussion: gnu.gcc.help announcements: gnu.gcc.announce updated: 1994/11/02 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. 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" 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-glibc@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-comments@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 pub/Minix/common-pkgs/c386-4.2.tar.Z from bugs.nosc.mil. 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.2 parts: exhaustive instruction sequence optimizer author: Torbjorn Granlund with Tom Wood location: ftp superopt-2.2.tar.Z from a GNU archive site description: GSO is a function sequence generator that uses an exhaustive generate-and-test approach to find the shortest instruction sequence for a given function. You have to tell the superoptimizer which function and which CPU you want to get code for. This is useful for compiler writers. bugs: Torbjorn Granlund restriction: GNU General Public License ports: Alpha, Sparc, i386, 88k, RS/6000, 68k, 29k, Pyramid(SP,AP,XP) updated: 1993/02/16 language: C package: xdbx version: 2.1 parts: X11 front end for dbx author: ? location: retrieve xxgdb from comp.sources.x volumes 11, 12, 13, 14, & 16 description: ? contact: Po Cheung updated: 1992/02/22 language: C package: ups version: 2.1 parts: interpreter, symbolic debugger, tests, documentation author: Mark Russell location: ? ftp from contrib/ups*.tar.Z from export.lcs.mit.edu ? unofficial: unofficial enhancements by Rod Armstrong , 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 ports: Sun, Decstation, VAX(ultrix), HLH Clipper discussion: ups-users-request@ukc.ac.uk updated: 1991/05/20 language: C package: C-Interp version: ? parts: interpreter author: ? 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 updated: 1993/05/14 language: C package: ae (application executive) version: 1? parts: interpreter author: Brian Bliss [Is this right? --ed] location: ftp pub/at.tar.Z from sp2.csrd.uiuc.edu description: ae (the "application executive") is a C interpreter library which is compiled with an application; hence, the interpreter exists in the same process and address space. it includes a dbx symbol table scanner to access compiled vars & routines, or you can enter them manually by providing a type/name declaration and the address. when the interpreter is invoked, source code fragments are read from the input stream (or a string), parsed, and evaluated immediately. The user can call compiled functions in addition to a few built-in intrinsics, declare new data types and data objects, etc. Different input streams can be evaluated in parallel on alliant machines. ports: SunOS (cc or gcc), Alliant FX, Cray YMP (soon) updated: 1992/04/21 language: C (ANSI), lcc intermediate format package: lcc version: 3.2 parts: compiler, test suite, documentation authors: Chris Fraser Dave Hanson location: ftp://ftp.cs.princeton.edu/pub/lcc/* description: + hand coded C parser (faster than yacc) + retargetable + code "nearly as good as GCC" ports: x86, MIPS, SPARC status: small-scale production use discussion: email "subscribe lcc" to majordomo@cs.princeton.edu updated: 1995/02/01 language: C, lcc intermediate format package: Chop version: 0.6 parts: code generator author: Alan L. Wendt 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 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-Request@cs.uiuc.edu support: commercial support available from author, (217) 351-7228 updated: 1993/02/12 language: C package: MasPar mpl, ampl version: 3.1 parts: compiler author: ? location: ftp put/mpl-* from maspar.maspar.com description: mpl & ampl - the intrinsic parallel languages for MasPar's machines are C (ampl is actually a gcc port these days). You can get the source from marpar.com. contact: ? updated: ? language: C package: gc version: 3.4 parts: library author: Hans-J. Boehm , 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 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, 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 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 location: comp.sources.reviewed volume 4 description: A C language code counter updated: 1994/10/17 language: C, C++ package: Xcoral version: 1.72 parts: editor author: ? location: ftp X/contrib/clients/xcoral* from ftp.inria.fr description: Xcoral is a multiwindows mouse-based text editor, for X Window System, with a built-in browser to navigate through C functions and C++ classes hierarchies... Xcoral provides variables width fonts, menus, scrollbars, buttons, search, regions, kill-buffers and 3D look. Commands are accessible from menus or standard key bindings. Xcoral is a direct Xlib client and run on color/bw X Display. contact: ? updated: 1993/03/14 language: C++ package: Lily (LIsp LibrarY) version: 0.1 parts: library author: Roger Sheldon 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 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 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 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 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 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 updated: 1992/08/05 language: C++ package: GNU C++ Library (libg++) version: 2.6 parts: library author: Per Bothner ? location: libg++-2.5.1.tar.gz from a GNU archive site description: The run-time library for the GNU C++ compiler. This package is separately maintained. conformance: ? ANSI and POSIX.1 superset bugs: bug-lib-g++@prep.ai.mit.edu updated: 1994/07/19 language: C++ package: ??? A C++ Parser toolkit version: ? parts: library author: Mayan Moudgill 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 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 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: exodus@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 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 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 location: comp.sources.misc volume 29 description: cproto generates function prototypes from function definitions. It can also translate function definition heads between K&R style and ANSI C style. ports: Unix, VMS, MS-DOS updated: 1992/07/18 language: C (ANSI) package: cextract version: 1.7 parts: translator(K&R C), header file generator author: Adam Bryant location: ftp from any comp.sources.reviewed archive description: A C prototype extractor, it is ideal for generating header files for large multi-file C programs, and will provide an automated method for generating all of the prototypes for all of the functions in such a program. It may also function as a rudimentary documentation extractor, generating a sorted list of all functions and their locations ports: Unix, VMS updated: 1992/11/03 language: C (ANSI) package: cgram version: ? parts: grammar author: Mohd Hanafiah Abdullah 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 location: ftp gnu/c++grammar2.0.tar.Z from ics.uci.edu ftp pub/C++/c++grammar2.0.tar.Z from mach1.npac.syr.edu 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.2 parts: grammar(yacc,lex), generated parser files, metrics examples, documentation (man pages). author: Paul Long 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. 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. updated: 1995/03/11 language: C, C++ package: xxgdb version: 1.06 parts: X11 front end for gdb author: ? location: retrieve xxgdb from comp.sources.x volumes 11, 12, 13, 14, & 16 description: ? contact: Pierre Willard updated: 1992/02/22 language: C, C++ package: gdb version: 4.14 parts: symbolic debugger, documentation author: many, but most recently Fred Fish , Stu Grossman , and John Gilmore , all of Cygnus Support location: ftp gdb-*.tar.[zZ] from a GNU archive site description: gdb is a full-featured symbolic debugger. It fills the same niche as dbx. Programs must be compiled with debugging symbols. bugs: restriction: CopyLeft ports: most unix variants, vms, vxworks, amiga, msdos updated: 1995/03/07 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 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 listserv@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 mueller@uzu.cs.fsu.edu contact: pthreads-bugs@ada.cs.fsu.edu updated: 1993/07/22 language: C, nroff, texinfo, latex package: c2man version: 2.0 patchlevel 31 parts: documentation generator (C -> nroff -man, -> texinfo, -> latex) author: Graham Stoney 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 ftp.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 or LaTeX 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 " (in the message body) to listserv@research.canon.oz.au help: from the author and other users on the mailing list: c2man@research.canon.oz.au announcements: patches appear first in comp.sources.bugs, and then in comp.sources.misc. updated: 1994/06/22 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. My 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 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 description: MeldC 2.0: A Reflective Object-Oriented Coordination Programming Language MELDC is a C-based, concurrent, object-oriented language built on a reflective architecture. The core of the architecture is a micro-kernel (the MELDC kernel), which encapsulates a minimum set of entities that cannot be modeled as objects. All components outside of the kernel are implemented as objects in MELDC itself and are modularized in the MELDC libraries. MELDC is reflective in three dimensions: structural, computational and architectural. The structural reflection indicates that classes and meta-classes are objects, which are written in MELDC. The computational reflection means that object behaviors can be computed and extended at runtime. The architectural reflection indicates that new features/properties (e.g., persistency and remoteness) can be constructed in MELDC. restriction: must sign license, cannot use for commercial purposes ports: Sun4/SunOS4.1 Mips/Ultrix4.2 contact: updated: 1992/12/15 language: uC++ package: uC++ version: 3.7 parts: compiler, reference author: ? Peter A. Ruhr location: ftp pub/uSystem/u++-3.7.tar.Z 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. requires: dmake 3.0+ (ftp pub/dmake/dmake38.tar.Z from plg.uwaterloo.ca) GNU C++ 2.3.3 ports: Sequent, Sun-4, Sun-3, Ultrix, SGI, RS/6000, HP-PA portability: Needs "setitimer" and "sigcontext" from Unix-like systems. updated: 1993/06/10 language: Objective-C package: libcoll -- Collection Class Library for GNU Objective-C version: 940510 parts: class library author: Andrew McCallum 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 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 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 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 compilers-server@iecc.cambridge.ma.us description: ? contact: masticol@dumas.rutgers.edu updated: 1991/10/12 language: Ada package: Compiler for Toy/Ada in SML/NJ version: ? parts: translator(?) author: Amit Bhatiani 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 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: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: paradise-info@cnam.cnam.fr updated: 1992/09/30 language: Ada package: Adamakegen version: 2.6.3 parts: makefile generator author: Owen O'Malley 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 9X package: GNAT version: 1.80 parts: parser, library management system, documentation? author: The GNAT Development Team location: cs.nyu.edu in pub/gnat/* sunsite.unc.edu in /pub/Linux/development/ada/gnat-*.lp2.tar.gz nic.funet.fi in /pub/OS/Linux/util/languages/gnat-*.lp2.tar.gz tsx-11.mit.edu in /pub/linux/packages/Ada/gnat-*.lp2.tar.gz description: A bootstrapped implementation of a Ada83 subset. conformance: Currently only a subset of of Ada 83 is working. Compliance to Ada 9X being worked on. requires: gcc 2.5.x or higher status: Actively developed. updated: 1994/06/22 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 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 stt@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: stt@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 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 ftpmail@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%"34U3IQN@CMUVM.BITNET" announcements: comp.lang.ada, listserv@wunet.wustl.edu contact: IN%"34U3IQN@CMUVM.BITNET" updated: Fall 1994 language: FOOGOL (a subset of Algol-60) package: cfoogol version: 5.0 parts: compiler(->C) author: Per Lindberg, John Cowan 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 updated: ? language: E package: Amiga E version: 2.1b parts: compiler, assembler, linker, utilities author: Wouter van Oortmerssen 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 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.1 parts: compiler(->C), library, examples, documentation author: International Computer Science Institute in Berkeley, CA location: ftp pub/sather/Sather-1.0.0.tar.Z from ftp.icsi.berkeley.edu 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 sather-bugs@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: sather-bugs@icsi.berkeley.edu announcements: comp.lang.sather, also a mailing list; send mail to sather-request@icsi.berkeley.edu updated: 1994/10/31 language: Simula 67 package: cim version: 1.62 parts: compiler(->C) author: Sverre Hvammen Johansen Stein Krogdahl 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: cim@ifi.uio.no contact: E-mail: cim@ifi.uio.no updated: 1995/03/20. language: XPL (PL/I dialect) package: XPL optimizing Compiler version: 1 parts: compiler, documentation author: Robin Vowels location: mail to author description: The compiler is a standard implementation of XPL and is based on McKeeman, Horning, and Wortman's improved XCOM (which employs hashed symbol table generation). It includes the extra built-in function COREHALFWORD. The following areas have been optimized: procedures calls when the argument and corresponding parameter are of the same type, and when the argument is a constant; constant subscripts; use of CORELHALFWORD and COREWORD; string constants of length one; iterative DO statements by transferring code to the end of the 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 Gary Funck 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 compilers-server@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: Perl5 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: CooL@sietec.de updated: 1994/10/25 language: O'small package: O'small version: Initial release parts: compiler?, parser/scanner specification author: ? Andreas Hense 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-interest@self.stanford.edu, send mail to self-request to be added. contact: self-request@self.stanford.edu updated: 1992/08/13 language: Smalltalk package: Little Smalltalk version: 3 parts: ? author: Tim Budd ? location: ftp pub/budd/? from cs.orst.edu description: ? ports: unix, pc, atari, vms status: ? updated: ? language: Smalltalk package: GNU Smalltalk version: 1.1.1 parts: ? author: Steven Byrne location: ftp smalltalk-1.1.1.tar.Z from a GNU archive site description: ? bugs: gnu.smalltalk.bug discussion: ? contact: ? updated: 1991/09/15 language: Smalltalk package: msgGUI version: 1.0 parts: library author: Mark Bush 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 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 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: tnt@tk.telematik.informatik.uni-karlsruhe.de updated: 1994/10/27 -- Send compilers articles to compilers@iecc.com, meta-mail to compilers-request@iecc.com. From free-compilers@idiom.com Sun May 7 00:10:43 1995 Newsgroups: comp.compilers,comp.lang.misc,comp.archives.admin,news.answers,comp.answers From: free-compilers@idiom.com (Steven Robenalt) Subject: Catalog of compilers, interpreters, and other language tools [p3of5] Followup-To: comp.lang.misc Summary: Monthly posting of free language tools that include source code Keywords: tools, FTP, administrivia Supersedes: Reply-To: free-compilers@idiom.com (Steven Robenalt) Organization: Idiom Consulting / Berkeley, CA Date: Thu, 4 May 1995 21:33:02 GMT Archive-name: free-compilers/part3 Last-modified: $version_D Version: $version_V lisp family ------------------------------------------------------------------------------- category: lisp family description: [The programming languages for those who like parenthesis --ed] language: Dylan package: Thomas version: 1.1 parts: translator(Scheme) author: Matt Birkholz , Jim Miller , Ron Weiss location: ftp pub/DEC/Thomas from gatekeeper.pa.dec.com ftp pub/dylan/Thomas from cambridge.apple.com description: Thomas, a compiler written at Digital Equipment Corporation's Cambridge Research Laboratory compiles a language compatible with the language described in the book "Dylan(TM) an object-oriented dynamic language" by Apple Computer Eastern Research and Technology, April 1992. It does not perform well. Thomas is NOT Dylan(TM). requires: Scheme ports: MIT's CScheme, DEC's Scheme->C, Marc Feeley's Gambit, Mac, PC, Vax, MIPS, Alpha, 680x0 updated: 1994/04/18 language: Dylan package: Marlais version: 0.4 parts: interpreter author: Brent Benson location: ftp /pub/Marlais/* from ftp.cis.ufl.edu ftp pub/dylan/Marlais/* from cambridge.apple.com description: Marlais is a simple-minded interpreter for a programming language strongly resembling Dylan [1]. It is not intended as a final release, but rather to fill a perceived void where Dylan implementations are concerned. This is a "hackers release" and is intended as a vehicle for education, experimentation and also to encourage people to port it to different architectures, add features, and fix bugs. Marlais is alpha software and should not be used by people desiring reliability!!! ports: Sun-3, Sun-4, VAX/BSD, OS/2, Linux, Sequent Symmetry, Encore, HP-UX, Ultrix, SGI, Sony News, A/UX updated: 1994/07/13 language: Dylan package: Mindy version: 1.0 parts: byte-code compiler and interpreter, documentation, libraries author: Bill Chiles location: public WWW page: http://legend.gwydion.cs.cmu.edu:8001/gwydion/ FTP: legend.gwydion.cs.cmu.edu in /afs/cs.cmu.edu/project/gwydion/release/mindy.tar.gz description: A partial implementation of Dylan developed by the Gwydion Project at CMU for internal purposed pending the further development of a full implementation of Dylan. It is being released in the public domain as a vehicle for introducing the language to new users. requires: Gcc, Gmake, Flex, Bison ports: MACH on DECstation, HP-UX on HP 700, OSF1 on Alpha, Irix on SGI updated: 1994/06/30 language: EuLisp package: Feel (Free and Eventually Eulisp) version: 0.75 parts: interpreter, documentation author: Pete Broadbery location: ftp pub/eulisp from ftp.bath.ac.uk description: + integrated object system + a module system + parallelism + interfaces to PVM library, tcp/ip sockets, futures, Linda, and CSP. ports: most unix portability: high, but can use shared memory and threads if available updated: 1992/09/14 language: Common Lisp package: CMU Common Lisp version: 17c parts: incremental compiler, profiler, runtime, documentation, editor, debugger author: ? location: ftp pub/* from lisp-sun1.slisp.cs.cmu.edu. description: CMU Common Lisp is public domain "industrial strength" Common Lisp programming environment. Many of the X3j13 changes have been incorporated into CMU CL. Wherever possible, this has been done so as to transparently allow use of either CLtL1 or proposed ANSI CL. Probably the new features most interesting to users are SETF functions, LOOP and the WITH-COMPILATION-UNIT macro. + The new CMU CL compiler (Python) is more sophisticated thatn other Common Lisp compilers. It produces better code and is easier to use. + The programming environment based on the Hemlock editor is better integrated than gnu-emacs based environments. conformance: mostly X3J13 compatible. ports: Sparc/Mach Sparc/SunOS Mips/Mach IBMRT/Mach contact: slisp@cs.cmu.edu updated: 1993/11/18 language: Common Lisp package: PCL (Portable Common Loops) version: 8/28/92 PCL parts: library author: ? Richard Harris ? location: ftp pcl/* from parcftp.xerox.com description: A portable CLOS implementation. CLOS is the object oriented programming standard for Common Lisp. Based on Symbolics FLAVORS and Xerox LOOPS, among others. Loops stands for Lisp Object Oriented Programming System. ports: Lucid CL 4.0.1, CMUCL 16e, ? status: ? updated: 1992/09/02 language: Common Lisp package: WCL version: 2.14 parts: ?, shared library runtime, source debugger author: Wade Hennessey location: ftp pub/wcl/* from sunrise.stanford.edu, miscellany/wcl from gummo.stanford.edu description: A common lisp implementation as a shared library. WCL Is not a 100% complete Common Lisp, but it does have the full development environment including dynamic file loading and debugging. A modified version of GDB provides mixed-language debugging. A paper describing WCL was published in the proceedings of the 1992 Lisp and Functional Programming Conference. requires: GNU C 2.1 (not 2.2.2) ports: Sparc/SunOS discussion: contact: updated: 1992/10/28 language: Common Lisp package: KCL (Kyoto Common Lisp) version: ? parts: compiler(->C), interpreter author: T. Yuasa , M. Hagiya location: ? ftp pub/kcl*.tar.Z from rascal.ics.utexas.edu ? description: KCL, Kyoto Common Lisp, is an implementation of Lisp, It is written in the language C to run under Un*x-like operating systems. KCL is very C-oriented; for example, the compilation of Lisp functions in KCL involves a subsidiary C compilation. conformance: conforms to the book ``Common Lisp: The Language,'' G. Steele, et al., Digital Press, 1984. bugs: kcl@cli.com restriction: must sign license agreement discussion: kcl-request@cli.com updated: 1987/06 language: Common Lisp package: AKCL (Austin Kyoto Common Lisp) version: 1-615 parts: improvements author: Bill Schelter , location: ftp pub/akcl-*.tar.Z from rascal.ics.utexas.edu description: AKCL is a collection of ports, bug fixes, and performance improvements to KCL. ports: Decstation3100, HP9000/300, i386/sysV, IBM-PS2/aix, IBM-RT/aix SGI Sun-3/Sunos[34].* Sun-4 Sequent-Symmetry IBM370/aix, VAX/bsd VAX/ultrix NeXT updated: 1992/04/29 language: Common Lisp package: CLX version: 5.01 parts: library author: ? location: ftp contrib/CLX.R5.01.tar.Z from export.lcs.mit.edu description: Common Lisp binding for X bugs: bug-clx@expo.lcs.mit.edu ports: ?, CMU Common Lisp contact: ? updated: 1992/08/26 language: Common Lisp package: CLISP version: 1994/07/12 parts: interpreter, bytecode compiler, runtime library, editor author: Bruno Haible , Michael Stoll location: ftp /pub/lisp/clisp from ma2s2.mathematik.uni-karlsruhe.de /pub/Linux/development/lisp/ from sunsite.unc.edu /pub/linux/packages/lisp/ from tsx-11.mit.edu description: CLISP is a Common Lisp (CLtL1) implementation by Bruno Haible of Karlsruhe University and Michael Stoll of Munich University, both in Germany. It needs only 1.5 MB of RAM. German and English versions are available, French coming soon. Packages running in CLISP include PCL and, on Unix machines, CLX. A native subset of CLOS is included. conformance: CLtL1 + parts of CLtL2 restriction: GNU General Public License ports: Atari, Amiga, MS-DOS, OS/2, Linux, Sun4, Sun386i, HP90000/800 and others discussion: send "subscribe clisp-list" to listserv@ma2s2.mathematik.uni-karlsruhe.de contact: Bruno Haible updated: 1994/07/12 language: Common Lisp package: Cartier's Contribs version: 1.2 parts: libraries, documentation author: Guillaume Cartier location: ftp pub/mcl2/contrib/Cartiers* from cambridge.apple.com description: libraries for MCL requires: Macintosh Common Lisp discussion: comp.lang.lisp.mcl updated: 1994/04/18 language: Common Lisp package: QT-OBJECTS version: ? parts: library author: Michael Travers and others location: ? description: interface between MCL and QuickTime requires: Macintosh Common Lisp discussion: comp.lang.lisp.mcl updated: 1994/04/18 language: Common Lisp package: Memoization ? version: ? parts: library author: Marty Hall location: ftp pub/Memoization from archive.cs.umbc.edu description: Automatic memoization is a technique by which an existing function can be transformed into one that "remembers" previous arguments and their associated results updated: 1992/11/30 language: Common Lisp package: GINA (Generic Interactive Application) version: 2.2 parts: language binding, class library, interface builder author: ? location: ftp /gmd/gina from ftp.gmd.de N.America: ftp contrib/? from export.lcs.mit.edu description: GINA is an application framework based on Common Lisp and OSF/Motif to simplify the construction of graphical interactive applications. It consists of: + CLM, a language binding for OSF/Motif in Common Lisp. + the GINA application framework, a class library in CLOS + the GINA interface builder, an interactive tool implemented with GINA to design Motif windows. requires: OSF/Motif 1.1 or better. Common Lisp with CLX, CLOS, PCL and processes. ports: Franz Allegro, Lucid, CMU CL and Symbolics Genera discussion: gina-users-request@gmd.de updated: ? language: Common Lisp package: CLiCC version: 0.6.4 parts: compiler(->C), runtime library author: Heinz Knutzen , Ulrich Hoffman , Wolfgang Goerigk location: ftp pub/kiel/apply/clicc* from ftp.informatik.uni-kiel.de (134.245.15.114) description: A Common Lisp to C compiler, meant to be used as a supplement to existing CLISP systems for generating portable applications. Target C code must be linked with CLiCC runtime library to produce executable. conformance: Subset of Common Lisp + CLOS (named: CL_0, or CommonLisp_0) CL_0 based on CLtL1. restriction: Freely distributable and modifiable ports: Runs in Lucid Lisp, AKCL, CLISP, ... status: Working towards CLtL2 and ANSI-CL conformance. updated: 1994/06/25 language: Common Lisp package: Hyperlisp version: 2.1f parts: ? author: Joe Chung, MIT Media Laboratory location: ftp pub/mcl2/contrib/hyperlisp21f.sit.hqx from cambridge.apple.com description: Hyperlisp is a real-time MIDI programming environment embedded in Macintosh Common Lisp. The environment was developed specifically for the Hyperinstruments project at the MIT Media Laboratory, and is optimized for interactive systems which require fast response times. Hyperlisp provides two main services for the music programmer: routines for MIDI processing and primitives for scheduling the application of functions. Programs written in Macintosh Common Lisp can use these services for a wide variety of real-time MIDI applications. updated: 1994/04/18 language: Franz Lisp package: Liszt? version: ? parts: compiler(->C) author: port to C by J W Dalton location: ask author description: A version of Liszt that emits C updated: ? language: Lisp package: RefLisp version: 2.67 parts: interpreter, documentation, examples, profiler author: Bill Birch location: ftp implementations/reflisp/* from the directory /afs/cs.cmu.edu/user/mkant/Public/Lisp on ftp.cs.cmu.edu description: The interpreter is a shallow-binding (i.e., everything has dynamic scope), reference counting design making it suitable for experimenting with real-time and graphic user interface programming. Common Lisp compatibility macros are provided, and most of the examples in "Lisp" by Winston & Horn have been run on RefLisp. RefLisp makes no distinction between symbol-values and function-values, so a symbol can be either but not both. There are Lisp modules for lexical scope and for running indefinite extent Scheme programs. ports: MSDOS (CGA/EGA/VGA), Unix (AIX) status: "Last Update for a While," author is emigrating to Australia updated: 1993/02/09 language: Lisp package: xlisp version: 2.1 parts: interpreter author: David Micheal Betz location: ftp pub/xlisp* from wasp.eng.ufl.edu US Mail: contact Tom Almy Windows: ftp software/prog_lang/xlisp/xlisppc* from ftp.cs.orst.edu Version2.0: ftp pub/xlisp/* from cs.orst.edu Macintosh: ftp pub/bskendig/? from netcom.com (source comming) description: XLISP is an experimental programming language combining some of the features of Common Lisp with an object-oriented extension capability. It was implemented to allow experimentation with object-oriented programming on small computers. conformance: subset of Common Lisp with additions of Class and Object restriction: ? no commercial use ? ports: unix, amiga, atari, mac, MSDOS portability: very high: just needs a C compiler discussion: comp.lang.lisp.x updated: 1992/05/26 (unix), 1987/12/16 (other platforms) language: Lisp package: "LISP, Objects, and Symbolic Programming" version: ? parts: book with compiler included author: Robert R. Kessler and Amy R. Petajan, published by Scott, Foresman and Company, Glenview, IL location: bookstore... description: ? (A short synopsis might help if anyone has one) updated: 1988 language: Lisp package: franz lisp version: ? parts: ? author: ? location: [does anyone know where you get franz lisp??? --ed] description: ? discussion: franz-friends-request@berkeley.edu updated: ? language: Lisp (WOOL - Window Object Oriented Language) package: GWM (Generic Window Manager) version: ? parts: interpreter, examples author: ? location: ftp contrib/gwm/* from export.lcs.mit.edu France: ftp pub/gwm/* from avahi.inria.fr description: Gwm is an extensible window manager for X11. It is based on a WOOL kernel, and interpreted dialect of lisp with specific winow management primitives. discussion: gwm-talk@??? contact: ? updated: ? language: elisp (Emacs Lisp) package: ILISP version: 5.0 parts: Emacs interface author: ?? Ivan Vazquez location: ftp to haldane.bu.edu (128.197.54.25) in pub/ilisp/ilisp.tar.Z description: ILISP provides a somewhat lisp-machine like interface to lisp listeners from Emacs. bugs: ilisp-bug@darwin.bu.edu (or ilisp-bugs@darwin.bu.edu). discussion: ilisp@darwin.bu.edu support: Mailing list requests/deletions to ilisp-request@darwin.bu.edu updated: 1993/06/28 language: elisp (Emacs Lisp) package: GNU Emacs version: 19.28 parts: editor, interpreter, documentation, source debugger author: Richard Stallman and others location: pub/gnu/emacs-19.25.tar.gz from any GNU site. description: An editor that is almost an operating system. Quite programmable. And it even fits in your tackle box. bugs: gnu.emacs.bug, e-mail to bug-gnu-emacs@prep.ai.mit.edu ports: Unix, VMS, ? discussion: alt.religion.emacs, gnu.emacs.sources help: gnu.emacs.help announcements: gnu.emacs.announce updated: 1994/11/01 language: elisp (Emacs Lisp) package: Lucid Emacs (lemacs) version: 19.10 parts: ? interpreter author: kyle@crystal.wonderworks.com location: /pub/lemacs/* from LUCID.COM (192.43.175.3). description: A version of Emacs based on Emacs 19. Mirrored at other sites including: /pub/epoch-files/lemacs/ from cs.uiuc.edu /pub/lemacs-19.10/ from self.stanford.edu bugs: alt.lucid-emacs.bug, bug-lucid-emacs@lucid.com discussion: alt.lucid-emacs.help, help-lucid-emacs@lucid.com updated: 1994/06/01 language: ? Lisp, X package: winterp version: 2.03 parts: interpreter, documentation, examples author: Niels P. Mayer or location: ftp.x.org in contrib/devel_tools/winterp-2.*.tar.gz description: An object-oriented rapid prototyping, development and delivery environment for building extensible applications with the OSF/Motif UI Toolkit and Xtango-based graphics/animation. ports: UNIX discussion: comp.lang.lisp.x. announcements: winterp@netcom.com updated: 1994/06/24 language: Lisp iref: (Lisp) Tim Budd's C++ implementation of Kamin's interpreters language: LISP, awk package: A Lisp interpreter in awk version: ? parts: Interpreter, library, reference, example (ELIZA, tail-recursive Scheme interpreter (with library and examples)) author: Darius Bacon location: alt.sources (May 31, 1994) description: A relatively simple interpreter (no garbage collection or tail recursion) implemented in AWK. Variables have dynamic scope, but with a single namespace. Scheme names used for primitives and special forms. updated: 1994/05/31 language: lisp package: walk version: ? parts: interpreter, nroff document author: Roger Rohrbach location: alt.sources (May 31, 1994) description: A Lisp interpreter written in old awk. reference: McCarthy, J. Recursive Functions of Symbolic Expressions and their Computation by Machine, Part I. Comm. ACM, 3, 4, pp. 185-195 April 1960 Aho, A., Weinberger, P., & Kernighan, B.W. The Awk Programming Language. Addison-Wesley, Reading, MA 1988 updated: 1989/01/03 language: Oaklisp package: oaklisp version: 1.2 parts: interface, bytecode compiler, runtime system, documentation author: Barak Pearlmutter, Kevin Lang location: ftp /afs/cs.cmu.edu/user/bap/oak/ftpable/* from f.gp.cs.cmu.edu description: Oaklisp is a Scheme where everything is an object. It provides multiple inheritence, a strong error system, setters and locators for operations, and a facility for dynamic binding. status: actively developed? contact: Pearlmutter-Barak@CS.Yale.Edu ? updated: 1992/05 ? language: Logo package: logo version: 4 parts: interpreter author: ? location: comp.sources.unix archive volume 10 description: ? updated: ? language: Logo package: Berkeley Logo version: 3.0 parts: interpreter author: Brian Harvey location: ftp pub/ucblogo/* from anarres.cs.berkeley.edu description: + Logo programs are compatible among Unix, PC, and Mac. + "richer" than MswLogo? - pretty slow. - doesn't do anything fancy about graphics. (One turtle.) ports: unix, pc, mac updated: 1993/08/06 language: Logo package: MswLogo version: 3.5 parts: interpreter author: George Mills location: ftp pub/comp.lang.logo/programs/mswlogo from cher.media.mit.edu Source may require emailing George Mills. description: A windows front-end for Berkeley Logo bugs: George Mills ports: MS Windows 3.x status: activly developed updated: 1993/10/15 language: Scheme package: Schematik version: 1.1.5.2 parts: programming environment author: Chris Kane, Max Hailperin location: ftp /pub/next/scheme/* from ftp.gac.edu Europe: ftp /pub/next/ProgLang from ftp.informatik.uni-muenchen.de description: Schematik is a NeXT front-end to MIT Scheme for the NeXT. It provides syntax-knowledgeable text editing, graphics windows, and user-interface to an underlying MIT Scheme process. It comes packaged with MIT Scheme 7.1.3 ready to install on the NeXT. ports: NeXT, MIT Scheme 7.1.3 portability: requires NeXTSTEP contact: schematik@gac.edu updated: 1993/03/11 language: Scheme package: T version: 3.1 parts: compiler (native machine code) author: Norman Adams, David Kranz, Richard Kelsey, James Philbin, and Jonathan Rees. location: ftp pub/systems/t3.1 from ftp.ai.mit.edu description: a Scheme-like language developed at Yale. T is written in itself and compiles to efficient native code. Includes a Scheme environment. (A multiprocessing version of T is available from masala.lcs.mit.edu:/pub/mult) bugs: kranz@lcs.mit.edu ports: Decstation, Sparc, Iris. Old m68k version. contact: David Andrew Kranz updated: 1991/11/26 language: Scheme package: scm version: 4e1 parts: interpreter, conformance test, documentation author: Aubrey Jaffer location: altdorf.ai.mit.edu in archive/scm/scm* prep.ai.mit.edu in pub/gnu/jacal/scm*.tar.gz ftp.cs.indiana.edu in /pub/scheme-repository/imp/scm*.tar.gz Canada: ftp pub/oz/scheme/new/* from nexus.yorku.ca Europe: ftp pub/bosullvn/jacal/* from ftp.maths.tcd.ie description: Fast portable R4RS Scheme interpreter. conformance: Revised^4 Report on the Algorithmic Language Scheme, IEEE P1178 specification. restriction: GNU General Public License requires: SLIB (pointers to it in documentation) ports: Amiga, Atari-ST, MacOS, MS-DOS, OS/2, NOS/VE, Unicos, VMS, Unix. ASCII and EBCDIC both supported. status: actively developed contributions: send $$$ to Aubrey Jaffer, 84 Pleasant St., Wakefield, MA 01880 updated: 1994/04/29 language: Scheme package: Scheme Library (slib) version: 2a1 parts: library, documentation author: ?? Aubrey Jaffer location: altdorf.ai.mit.edu in ftp archive/scm/slib*.tar.Z prep.ai.mit.edu in pub/gnu/jacal/slib*.tar.gz ftp.maths.tcd.ie in pub/bosullvn/jacal/slib*.tar.gz ftp.cs.indiana.edu in /pub/scheme-repository/imp/slib*.tar.gz description: SLIB is a portable scheme library meant to provide compatibiliy and utility functions for all standard scheme implementations. ports: Scm4b, Chez, ELK 1.5, GAMBIT, MITScheme, Scheme->C, Scheme48, T3.1. status: actively developed contact: Aubrey Jaffer updated: 1993/10/09 language: Scheme package: Hobbit version: release 4b parts: compiler(->C), documentation author: Tanel Tammet location: altdorf.ai.mit.edu in archive/scm/hobbit2.tar.gz ftp.maths.tcd.ie in pub/bosullvn/jacal/hobbit2.tar.gz ftp.cs.indiana.edu in /pub/scheme-repository/imp/hobbit2.tar.gz description: The main aim of hobbit is to produce maximally fast C programs which would retain most of the original Scheme program structure, making the output C program readable and modifiable. Hobbit is written in Scheme and is able to self-compile. Hobbit release 1 works together with the scm release scm4b3. Future releases of scm and hobbit will be coordinated. requires: scm 4b3 updated: 1993/04/25 language: Scheme package: siod (Scheme In One Day, or Scheme In One Defun) version: 3.0 parts: interpreter,library,documentation,sql interface author: George Carrette location: ftp.std.com in pub/gjc ftp.cs.indiana.edu in scheme description: Small scheme implementation in C arranged as a set of subroutines that can be called from any main program for the purpose of introducing an interpreted extension language. Compiles to 20K bytes of executable (VAX/VMS). Lisp calls C and C calls Lisp transparently. features: symbols,strings,arrays,hash tables, file i/o binary/text/seek, data save/restore in binary and text, interface to commercial databases such Oracle, Digital RDB. Small executable (42k on VAX). restriction: none besides non-removal of copyright notice. ports: VAX/VMS, VAX Unix, Sun3, Sun4, Amiga, Macintosh, MIPS, Cray, ALPHA/VMS, Windows NT/WIN32, OS/2. portability: Liked by ANSI C compilers and C++ compilers. e.g. gcc -Wall status: supported as benchmark/testbed at mitech.com help: the author will help anyone building something. contributions: antique/classic computer hardware, perhaps. announcements: comp.lang.scheme updated: 1994/04/29 language: Scheme package: MIT Scheme (aka C-Scheme) version: 7.2 parts: interpreter, large runtime library, emacs macros, native-code compiler, emacs-like editor, source-level debugger author: MIT Scheme Team (primarily Chris Hanson, Jim Miller, and Bill Rozas, but also many others) location: ftp archive/scheme-7.2 from altdorf.ai.mit.edu DOS floppies ($95) and Unix tar tapes ($200) from Scheme Team / c/o Prof. Hal Abelson / MIT AI Laboratory / 545 Technology Sq. / Cambridge, MA 02139 description: Scheme implementation with rich set of utilities. conformance: full compatibility with Revised^4 Report on Scheme, one known incompatibility with IEEE Scheme standard bugs: bug-cscheme@zurich.ai.mit.edu ports: 68k (hp9000, sun3, NeXT), MIPS (Decstation, Sony, SGI), HP-PA (600, 700, 800), Vax (Ultrix, BSD), Alpha (OSF), i386 (DOS/Windows, various Unix) status: activly developed discussion: info-cscheme@zurich.ai.mit.edu (cross-posted to comp.lang.scheme.c) updated: 1992/08/24 language: Scheme package: Scheme->C version: 15mar93 parts: compiler(->C) author: Digital Western Research Laboratory; Joel Bartlett location: ftp pub/DEC/Scheme-to-C/* from gatekeeper.dec.com description: Translates Revised**4 Scheme to C that is then compiled by the native C compiler for the target machine. This design results in a portable system that allows either stand-alone Scheme programs or programs written in both compiled and interpreted Scheme and other languages. conformance: superset of Revised**4 + "expansion passing style" macros + foreign function call capability + interfaces to Xlib (ezd & Scix) + records reference: send Subject "help" to WRL-Techreports@decwrl.dec.com for technical report. Other documentation in Scheme-to-C directory on gatekeeper. ports: VAX/ULTRIX, DECstation ULTRIX, Alpha AXP OSF/1, Microsoft Windows 3.1, NT, Apple Macintosh 7.1, HP 9000/300, HP 9000/700, Sony News, SGI Iris and Harris Nighthawk and other Unix-like m88k systems. The 01nov91 version is also available on Amiga, SunOS, NeXT, and Apollo systems. status: actively developed, contributed ports welcomed updated: 1993/03/15 language: Scheme, Tk package: STk version: 1.00 parts: interpreter author: Gallesio Erick location: ftp pub/STk-1.00.tar.gz from kaolin.unice.fr description: A Scheme interpreter blended with Ousterhout's Tk package. STk expresses all of Tk as scheme objects. STk includes a CLOS/Dylan-like OO extenstion, but the extension is slow. conformance: almost R4RS ports: SunOS 4.1.x, Ultrix/MIPS updated: 1993/09/06 language: Scheme package: PC-Scheme version: 3.03 parts: compiler, debugger, profiler, editor, libraries author: Texas Instruments location: ftp archive/pc-scheme/* from altdorf.ai.mit.edu description: Written by Texas Instruments. Runs on MS-DOS 286/386 IBM PCs and compatibles. Includes an optimizing compiler, an emacs-like editor, inspector, debugger, performance testing, foreign function interface, window system and an object-oriented subsystem. Also supports the dialect used in Abelson and Sussman's SICP. conformance: Revised^3 Report, also supports dialect used in SICP. restriction: official version is $95, contact rww@ibuki.com ports: MSDOS updated: 1992/02/23 language: Scheme package: PCS/Geneva version: 4.02PL1 parts: compiler, debugger, profiler, editor, libraries author: "a team at the u. of Geneva" location: send email to schemege@uni2a.unige.ch description: PCS/Geneva is a cleaned-up version of Texas Instrument's PC Scheme developed at the University of Geneva. The main extensions to PC Scheme are 486 support, BGI graphics, LIM-EMS pagination support, line editing, and assembly-level interfacing. contact: schemege@uni2a.unige.ch updated: 1994/01/11 language: Scheme package: Gambit Scheme System version: 2.0 parts: interpreter, compiler, linker, libraries author: Marc Feeley location: ftp pub/parallele/gambit/* from ftp.iro.umontreal.ca description: Gambit is an optimizing Scheme compiler/system. The Macintosh port can run with Toolbox and has a built-in editor. conformance: IEEE Scheme standard and `future' construct. ports: 68k: unix, sun3, hp300, bbn gp100, NeXT, Macintosh updated: ? language: Scheme package: scsh version: 0.1 parts: parser, libraries author: Olin Shivers, Brian Carlstrom and David Albertz location: ftp://clark.lcs.mit.edu/pub/su/scsh/scsh.tar.z ftp://swiss-ftp.ai.mit.edu/pub/su/scsh/scsh.tar.z description: Scsh is a Unix shell that is embedded within R4RS Scheme. It provides high-level shell notation and full access to the Unix system calls. The current implementation is built on top of Scheme 48, version 0.36. Real interactive use needs a parser for an sh-like syntax, job control, and the gnu readline library. If you're interested in hacking on these things, drop us a line at scheme-underground@ai.mit.edu. We've got designs for most of this stuff; we're just short on time and bodies. portability: easy to port ports: SunOS, NetBSD, Linux, HP-UX, NeXTSTEP (on intel) updated: 1994/11/02 language: Scheme package: Elk (Extension Language Kit) version: 2.2 parts: interpreter, libraries author: Oliver Laumann , Carsten Bormann location: ftp pub/unix/languages/scheme/elk-2.2.tar.gz from ftp.fu-berlin.de N.America: ftp contrib/elk-2.2.tar.gz from ftp.x.org description: Elk is a Scheme interpreter designed to be used as a general extension language. + interfaces to Xlib, Xt, and various widget sets. + dynamic loading of extensions + almost all artificial limitations removed + generational/incremental garbage collector + Unix system call extensions + Records (structures) + bitstrings conformance: Mostly R3RS compatable. ports: unix, ultrix, vax, sun3, sun4, 68k, i386, mips, ibm rt, rs6000, hp700, sgi, sony, DOS (gcc+DJGPP or go32) updated: 1994/2/15 language: Scheme package: libscheme version: 0.5 parts: embedded interpreter author: Brent Benson location: ftp.cs.indiana.edu in imp/libscheme-0.5.tar.gz description: An embedded interpreter for Scheme written in C, can be used as a command interpreter or extension language, and is easily extended in C with new primitive types, primitve functions and syntax. Now supports linkage with C++. conformance: Revised^4 Report on the Algorithmic Language Scheme. updated: 1994/10/21 language: Scheme package: ezd (easy drawing for programs on X displays) version: 15mar93 parts: interpreter/server author: ? location: ftp pub/DEC/ezd/* from gatekeeper.dec.com description: Ezd is a graphics server that sits between an application program and the X server and allows both existing and new programs easy access to structured graphics. Ezd users have been able to have their programs produce interactive drawings within hours of reading the man page. Structured graphics: application defined graphical objects are ordered into drawings by the application. Loose coupling to the application program: unlike most X tools, ezd does not require any event handling by the application. The ezd server mantains window contents. When an event occurs on such an object, an application supplied Scheme expression is evaluated. contact: Joel Bartlett ? updated: 1993/03/10 language: Scheme package: XScheme version: 0.28 parts: ? author: David Betz location: ftp pub/scheme/* from nexus.yorku.ca description: ? discussion: comp.lang.lisp.x contact: ? updated: 1992/02/02 language: Scheme package: Fools' Lisp version: 1.3.2 parts: ? author: Jonathan Lee location: ftp src/local/fools.tar.Z from scam.berkeley.edu description: a small Scheme interpreter that is R4RS conformant. ports: Sun-3, Sun-4, Decstation, Vax (ultrix), Sequent, Apollo updated: 1991/10/31 language: Scheme package: Scheme88 version: ? parts: ? author: ? location: ftp pub/scheme/* from nexus.yorku.ca description: ? contact: ? updated: ? language: Scheme package: UMB Scheme version: ? parts: ?, editor, debugger author: William Campbell location: ftp pub/scheme/* from nexus.yorku.ca description: ? conformance: R4RS Scheme ports: ? updated: ? language: Scheme package: PseudoScheme version: 2.8 parts: translator(Common Lisp) author: Jonathan Rees location: ? description: ? conformance: R3RS except call/cc. requires: Common Lisp ports: Lucid, Symbolics CL, VAX Lisp, Explorer CL announcements: info-clscheme-request@mc.lcs.mit.edu updated: ? language: Scheme package: SOS (Scheme Object System) version: ? parts: ? author: Chris Hanson ? location: ftp archive/cph/sos.tar.gz from altdorf.ai.mit.edu description: ? updated: ? language: Scheme package: Similix version: 5.0 parts: partial evaulator, debugger author: Anders Bondorf location: ftp pub/diku/dists/Similix.tar.Z from ftp.diku.dk description: Similix is an autoprojector (self-applicable partial evaluator) for a higher order subset of the strict functional language Scheme. Similix handles programs with user defined primitive abstract data type operators which may process global variables (such as input/output operators). conformance: extension of large subset of R4RS Scheme. requires: Scheme ports: Scm, Chez Scheme portability: high contact: Anders Bondorf updated: 1993/05/18 language: Scheme package: syntax-case version: 2.1 parts: macro system, documentation author: R. Kent Dybvig location: cs.indiana.edu in ftp pub/scheme/syntax-case.tar.Z Macintosh: maya.dei.unipd.it in /pub/mac/gambit/ description: We have designed and implemented a macro system that is vastly superior to the low-level system described in the Revised^4 Report; in fact, it essentially eliminates the low level altogether. We also believe it to be superior to the other proposed low-level systems as well, but each of you can judge that for yourself. We have accomplished this by "lowering the level" of the high-level system slightly, making pattern variables ordinary identifiers with essentially the same status as lexical variable names and macro keywords, and by making "syntax" recognize and handle references to pattern variables. reference: Robert Hieb, R. Kent Dybvig, and Carl Bruggeman "Syntactic Abstraction in Scheme", IUCS TR #355, 6/92 (revised 7/3/92) R. Kent Dybvig, "Writing Hygienic Macros in Scheme with Syntax-Case", IUCS TR #356, 6/92 (revised 7/3/92). ports: Chez Scheme, Mac port runs under MacGambit 2.0 updated: 1992/07/06 language: Scheme package: x-scm version: ? parts: ? author: Larry Campbell location: alt.sources archive description: x-scm is a bolt-on accessory for the "scm" Scheme interpreter that provides a handy environment for building Motif and OpenLook applications. (There is some support as well for raw Xlib applications, but not enough yet to be useful.) requires: scm, X ports: ? updated: 1992/08/10 language: Scheme, Prolog package: "Paradigms of AI Programming" version: ? parts: book with interpreters and compilers in Common Lisp author: Peter Norvig location: bookstore, and ftp pub/norvig/* from unix.sri.com description: ? updated: ? language: Scheme package: Psd (Portable Scheme Debugger) version: 1.1 parts: debugger author: Kellom{ki Pertti location: ftp pub/src/languages/schemes/psd.tar.Z from cs.tut.fi description: source code debugging from emacs restriction: GNU GPL requires: R4RS compliant Scheme, GNU Emacs. ports: scm, Elk, Scheme->C updated: 1992/10/08 language: Scheme package: Tiny Clos version: first release parts: ? author: ? location: ftp pub/mops/* from parcftp.xerox.com description: A core part of CLOS (Common Lisp Object System) ported to Scheme and rebuilt using a MOP (Metaobject Protocol). This should be interesting to those who want to use MOPs without using a full Common Lisp or Dylan. ports: MIT Scheme 11.74 discussion: mailing list: mops, administered by gregor@parc.xerox.com contact: Gregor Kiczales updated: 1992/12/14 language: Scheme package: VSCM version: V0r3 parts: runtime, bytecode compiler, bytecode interpreter author: Matthias Blume location: ftp /pub/scheme-repository/imp/vscm*.tar.gz ftp.cs.indiana.edu Germany: ftp pub/scheme/yorku/imp/vscm* from faui80.informatik.uni-erlangen.de UK: ftp pub/uunet/languages/lisp/scheme/repository/imp/vscm* from unix.hensa.ac.uk description: VSCM is a highly portable implementation of Scheme, written in ANSI C and Scheme. Portability is achieved by exlusive use of legal ANSI C features -- as opposed to a plethora of #ifdef's to adjust to various system peculiarities. (Of course, in real life ANSI C doesn't guarantee portability per se, because there are too many systems with broken compilers or broken libraries.) conformance: R4RS, IEEE P1178 features: exception and interrupt handling, executable portable memory images, coroutines, continuations with multiple arguments ports: Unix, Macintosh portability: very high status: actively developed discussion: comp.lang.scheme updated: 1993/11/09 language: Scheme package: PSI version: pre-release parts: interpreter, virtual machine author: Ozan Yigit , David Keldsen, Pontus Hedman location: from author description: I am looking for a few interested language hackers to play with and comment on a scheme interpreter. I would prefer those who have been hacking portable [non-scheme] interpreters for many years. The interpreter is PSI, a portable scheme interpreter that includes a simple dag compiler and a virtual machine. It can be used as an integrated extension interpreter in other systems, allows for easy addition of new primitives, and it embodies some other interesting ideas. There are some unique[2] code debug/trace facilities, as well, acceptable performance resulting from a fairly straight-forward implementation. Continuations are fully and portably supported, and perform well. PSI is based on the simple compilers/vm in Kent Dbyvig's thesis. conformance: R^4RS compatible with a number of useful extensions. updated: 1993/02/19 language: Scheme package: Bigloo version: 1.4 parts: interpreter, compiler(->ANSI C), runtime author: Manuel Serrano location: ftp INRIA/Projects/icsla/Implementations/bigl* from ftp.inria.fr description: The main goal of Bigloo is to deliver small and fast stand alone applications. conformance: IEEE Scheme standard with some extensions for regex handling features: Optimization supported. ports: sun, sony news, sgi, linux, hp-ux portability: very high for unix systems updated: 1993/09/08 language: Scheme package: Scheme84 version: ? parts: ? author: ? location: Send a tape w/return postage to: Scheme84 Distribution / Nancy Garrett / c/o Dan Friedman / Department of Computer Science / Indiana University / Bloomington, Indiana. Call 1-812-335-9770. description: ? requires: VAX, Franz Lisp, VMS or BSD contact: nlg@indiana.edu updated: ? language: Scheme iref: (Scheme) Tim Budd's C++ implementation of Kamin's interpreters language: Scheme iref: (Proxy) Proxy document formatting languages ------------------------------------------------------------------------------- category: document formatting languages description: These are formatting languages. Very application-specific. [Could someone make me an entry for TeX? --ed] iref: (C) c2man language: CLiP package: CLiP version: 2.1 parts: documentation generator author: Eric W. van Ammers location: ftp clip/* from sun01.info.wau.nl description: CLiP does not use explicite commands to perform the extraction process. It recognizes pseudostatemens written as comment of the programming language in question. CLiP distinguishes pseudostatments from ordinary comments because the former comply with a a particular style. This specific style can be adjusted to suit virtually any programming language. The CLiP approach to LP makes the system extremely versatile. It is independent of programming language and text processing environment. We designed CLiP to be compatible with hypertext systems as well but we have not yet experimented with this form of documentation. CLiP works with almost any target and almost any source language ports: MS-DOS, VAX/VMS, Unix updated: 1993/11/18 language: HP-GL, Postscript package: hp2ps version: 1.9c parts: interpreter author: Alun Jones location: ftp pub/hp2ps/hp2ps19c.zip from ftp.wst.com description: hp2ps is an HP-GL interpreter that is written in Postscript. It runs on the printer itself. restriction: If there is monetary benifit from using hp2ps, it is requested that money be set to Alun Jones. Further, hp2ps may not be distributed as part of a commercial offering without prior agreement. updated: ? language: Lout package: Lout version: 2.05 parts: translator(Lout->Postscript), documentation author: Jeffrey H. Kingston location: ftp jeff/lout.2.03.tar.Z from ftp.cs.su.oz.au description: Lout is a batch text formatting system. Lout offers an unprecedented range of advanced features, including equation formatting, tables, diagrams, rotation and scaling, sorted indexes, bibliographic databases, running headers and odd-even pages, automatic cross referencing, and much more, all ready to go. Furthermore, Lout is easily extended with definitions which are very much easier to write than troff of TeX macros because Lout is a high-level language, the outcome of an eight-year research project that went back to the beginning. ports: unix updated: 1993/07/30 language: Postscript package: Ghostscript version: 2.6.1 parts: interpreter, ? author: L. Peter Deutsch location: ftp pub/GNU/ghostscript* from a GNU archive site ftp from ftp.cs.wisc.edu:/pub/X/ghostscript*2.6.1* description: A postscript interpreter with previewers for serval systems and many fonts. updated: 1993/05/29 language: Postscript, Common Lisp package: PLisp version: ? parts: translator(Postscript), programming environment(Postscript) author: John Peterson location: ? description: ? updated: ? language: SGML (Standardized Generalized Markup Language) package: sgmls version: 1.1 parts: parser author: James Clark and Charles Goldfarb location: ftp pub/text-processing/sgml/sgmls-1.0.tar.Z from ftp.uu.net UK: ftp sgmls/sgmls-1.1.tar.Z from ftp.jclark.com description: SGML is a markup language standardized in ISO 8879. Sgmls is an SGML parser derived from the ARCSGML parser materials which were written by Charles Goldfarb. It outputs a simple, easily parsed, line oriented, ASCII representation of an SGML document's Element Structure Information Set (see pp 588-593 of ``The SGML Handbook''). It is intended to be used as the front end for structure-controlled SGML applications. SGML is an important move in the direction of separating information from its presentation, i.e. making different presentations possible for the same information. bugs: James Clark ports: unix, msdos updated: 1993/02/22 language: troff, nroff, eqn, tbl, pic, refer, Postscript, dvi package: groff version: 1.07 parts: document formatter, documentation author: James Clark location: ftp groff-1.07.tar.z from a GNU archive site description: [An absolutely fabulous troff! --ed] restriction: GNU General Public License requires: C++ updated: 1993/03/03 language: Web package: CWeb version: 3.1 parts: translator(ANSI C and C++) author: Levy/Knuth? location: ? description: [Referred to in the CWeb 3.x announcement (below). I'll follow up on it in the next release of the list. -- Ed] requires: ANSI C and/or C++ Compiler? contact: ? updated: ? language: Web package: CWeb version: 3.x parts: translator(ANSI C) author: Marc van Leeuwen location: ftp pub/cweb/? from ftp.cwi.nl description: An ANSI C implementation of the Web literate-programming concept (Both source and output are ANSI C). This version was developed in parallel with v3.1 referred to above. requires: ANSI C Compiler contact: M.van.Leeuwen@cwi.nl updated: 1993/12/16 language: Web package: web2c version: 5-851d parts: translator(C) author: ? location: ftp TeX/web2c.tar.Z from ics.uci.edu Europe: ftp pub/tex/src/web2c/web2c.tar.Z from ftp.th-darmstadt.de description: contact: Karl Berry updated: 1993/02/22 language: Web package: Web version: ? parts: translator(Pascal) author: Donald Knuth location: ftp ? from labrea.stanford.edu description: Donald Knuth's programming language where you write the source and documentation together. requires: Pascal contact: ? updated: ? language: Web package: FunnelWeb version: ? parts: macro preprocessor, documentation, tests, ? author: Ross Williams location: comp.sources.unix volume 26 description: FunnelWeb is a production-quality literate-programming tool that emphasises simplicity and reliability. It provides a macro facility, and assists in the production of typeset documentation. Input-programming-language independent restriction: CopyLeft ports: Sun, Vax, Mac, PC updated: 1993/04/11 logic programming languages ------------------------------------------------------------------------------- category: logic programming languages description: languages designed to manipulate logic predicates. Often used to build expert systems language: BABYLON package: BABYLON version: 2.3 parts: ai workbench (expert system development environment) author: members of GMD, FIT-KI location: ftp gmd/ai-research/Software/Babylon/* from ftp.gmd.de or in WWW from http://www.gmd.de/ description: BABYLON is a development environment for expert systems. It includes frames, rules, constraints, a prolog-like logic formalism, and a description language for diagnostic applications (texi). reference: Christaller, T., Di Primio, F., Voss, A. (Hrsg.). Die KI-Werkbank Babylon. Eine offene und portable Entwicklungsumgebung fuer Expertensysteme. Addison-Wesley, 1989, ISBN 3-89319-155-0 Christaller, T., Di Primio, F., Voss, A. (eds). The AI-Workbench BABYLON. An open and portable development environment for expert systems. Academic Press, London, 1992, ISBN 0-12-174235-0; Guesgen, H.-W., CONSAT: A system for constraint satisfaction. Research Notes in Artificial Intelligence, Morgan Kaufman, San Mateo, 1989. requires: Common Lisp, works under: Macintosh Common Lisp, Franz Allegro, CLisp, CMU, AKCL etc. contact: juergen.walther@gmd.de updated: 1994/06/22 language: Goedel package: Goedel version: 1.4 parts: book, compiler, user manual, system modules, example programs author: Jiwei Wang location: ftp.cs.kuleuven.ac.be (134.58.41.2) /pub/logic-prgm/goedel/README ftp.cs.bris.ac.uk (137.222.102.102) /goedel/README both contain further pointers. description: An implementation of a significant subset of Goedel. Goedel is a declarative, general-purpose strongly-typed logic programming language. The type system is based on many-sorted logic with parametric polymorphism. Modularity is supported, as well as infinite precision arithmetic, limited constraint satisfaction, and finite sets. reference: The Goedel Programming Language, P.M. Hill & J.W. Lloyd, MIT Press, 1994, ISBN 0-262-08229-2. requires: SICStus Prolog version 2.1 #6 (or later). Run time system for SPARCstation provided, though. status: underging continuing development contact: goedel@compsci.bristol.ac.uk updated: 1994/05/16 language: Isabelle package: Issabelle-93 version: ? parts: ? author: Written by Lawrence C Paulson and Tobias Nipkow? location: ftp /afs/cs.cmu.edu/user/mkant/Public/Lisp/ops5* from ftp.cs.cmu.edu description: Isabelle is a generic theorem prover. New logics are introduced by specifying their syntax and rules of inference. Proof procedures can be expressed using tactics and tacticals. The latest version, Isabelle-93, is significantly faster than Isabelle-92 and has several other improvements. requires: ? contact: Larry.Paulson@cl.cam.ac.uk Tobias.Nipkow@informatik.tu-muenchen.de? updated: 1993/12/20 language: Janus package: qdjanus version: 1.3 parts: translator(prolog) author: Saumya Debray location: ftp janus/qdjanus/* from cs.arizona.edu description: janus is a janus-to-prolog compiler meant to be used with Sicstus Prolog conformance: mostly compliant with "Programming in Janus" by Saraswat, Kahn, and Levy. updated: 1992/05/18 language: Janus package: jc version: 1.50 alpha parts: compiler(->C) author: David Gudeman location: ftp janus/jc/* from cs.arizona.edu description: jc is a janus-to-C compiler (considerably faster than qdjanus). jc is a _sequential_ implementation of a _concurrent_ language. bugs: jc-bugs@cs.arizona.edu ports: sun-4, sun-3, Sequent Symmetry status: jc is an experimental system, undergoing rapid development. It is in alpha release currently. discussion: janusinterest-request@parc.xerox.com updated: 1992/06/09 language: LIFE (Logic, Inheritance, Functions, and Equations) package: Wild_LIFE version: first-release parts: interpreter, manual, tests, libraries, examples author: Paradise Project, DEC Paris Research Laboratory. location: ftp pub/plan/Life.tar.Z from gatekeeper.dec.com. description: LIFE is an experimental programming language with a powerful facility for structured type inheritance. It reconciles styles from functional programming, logic programming, and object-oriented programming. LIFE implements a constraint logic programming language with equality (unification) and entailment (matching) constraints over order-sorted feature terms. The Wild_LIFE interpreter has a comfortable user interface with incremental query extension ability. It contains an extensive set of built-in operations as well as an X Windows interface. conformance: semantic superset of LOGIN and LeFun. Syntax is similar to prolog. bugs: life-bugs@prl.dec.com ports: MIPS-Ultrix portability: good in theory discussion: life-request@prl.dec.com contact: Peter Van Roy updated: 1992/12/14 language: Lolli (logic programming) package: Lolli version: ? parts: ? author: ? Josh Hodas ? location: ftp pub/Lolli/Lolli-07.tar.Z. from ftp.cis.upenn.edu description: Lolli is an interpreter for logic programming based on linear logic principles. Lolli can be viewed as a refinement of the the Hereditary Harrop formulas of Lambda-Prolog. All the operators (though not the higher order unification) of Lambda-Prolog are supported, but with the addition of linear variations. Thus a Lolli program distinguishes between clauses which can be used as many, or as few, times as desired, and those that must be used exactly once. requires: ML updated: 1992/11/08 language: Parlog package: SPM System (Sequential Parlog Machine) version: ? parts: ?, documenation author: ? location: ? ftp lang/Parlog.tar.Z from nuri.inria.fr description: a logic programming language ? reference: Steve Gregory, "Parallel Logic Programming in PARLOG", Addison-Wesely, UK, 1987 restriction: ? no source code ? ports: Sun-3 ? updated: ?? language: Prolog package: SB-Prolog version: 3.1 ? parts: ? author: interpreter location: ftp pub/sbprolog from sbcs.sunysb.edu description: ? restriction: GNU General Public License contact: ? warren@sbcs.sunysb.edu ? updated: ? language: Prolog package: XSB version: 1.2 parts: interpreter, preprocessor(HiLog), documentation author: XSB research group / SUNY at Stony Brook location: ftp pub/XSB/XSB.tar.Z from sbcs.sunysb.edu (130.245.1.15) description: XSB extends the standard functionality of Prolog (being a descendant of PSB- and SB-Prolog) to include implementations of OLDT (tabling) and HiLog terms. OLDT resolution is extremely useful for recursive query computation, allowing programs to terminate correctly in many cases where Prolog does not. HiLog supports a type of higher-order programming in which predicate symbols can be variable or structured. This allows unification to be performed on the predicate symbols themselves in addition to the arguments of the predicates. Of course, Tabling and HiLog can be used together. ports: Sun, Solaris, NeXT, Linux, 386 BSD, IRIX, HP-UX portability: Generally to 32-bit machines. contact: xsb-contact@cs.sunysb.edu updated: 1993/07/28 language: Prolog package: Modular SB-Prolog version: ? parts: interpreter author: ? location: ftp pub/dts/mod-prolog.tar.Z from ftp.dcs.ed.ac.uk description: SB-Prolog version 3.1 plus modules restriction: GNU General Public License ports: Sparc contact: Brian Paxton updated: ? language: ALF [prolog variant] package: alf (Algebraic Logic Functional programming language) version: ? parts: runtime, compiler(Warren Abstract Machine) author: Rudolf Opalla location: ftp pub/programming/languages/LogicFunctional from ftp.germany.eu.net description: ALF is a language which combines functional and logic programming techniques. The foundation of ALF is Horn clause logic with equality which consists of predicates and Horn clauses for logic programming, and functions and equations for functional programming. Since ALF is an integration of both programming paradigms, any functional expression can be used in a goal literal and arbitrary predicates can occur in conditions of equations. updated: 1992/10/08 language: CLP (Constraint Logic Programming language) [Prolog variant] package: CLP(R) version: 1.2 parts: runtime, compiler(byte-code), contstraint solver author: IBM location: mail to Joxan Jaffar description: CLP(R) is a constraint logic programming language with real-arithmetic constraints. The implementation contains a built-in constraint solver which deals with linear arithmetic and contains a mechanism for delaying nonlinear constraints until they become linear. Since CLP(R) subsumes PROLOG, the system is also usable as a general-purpose logic programming language. There are also powerful facilities for meta programming with constraints. Significant CLP(R) applications have been published in diverse areas such as molecular biology, finance, physical modelling, etc. We are distributing CLP(R) in order to help widen the use of constraint programming, and to solicit feedback on the system restriction: free for academic and research purposes only ports: unix, msdos, OS/2 contact: Roland Yap , Joxan Jaffar updated: 1992/10/14 language: Prolog + constraints over Finite Domains and Booleans package: clp(FD) version: 2.2 parts: compiler clp(FD)->C, FD solver, runtime, debugger. author: Daniel Diaz - INRIA Rocquencourt - FRANCE location: ftp ftp.inria.fr in the directory /INRIA/Projects/ChLoE/LOGIC_PROGRAMMING/clp_fd description: clp(FD) is a constraint logic programming language over Finite Domains. clp(FD) is based on the wamcc Prolog compiler which translates Prolog to C. clp(FD) provides several constraints "a la CHIP" on Finite Domains and Booleans and some facilities to build new constraints. clp(FD) is 4 times faster than CHIP v3.2 on average. restriction: free (see COPYRIGHT notice) requires: GNU C (gcc) version 2.4.5 or higher ports: Sparc workstations, PC under linux, sony mews, dec ultrix portability: Generally to 32-bit machines with gcc. contact: Daniel Diaz (Daniel.Diaz@inria.fr) updated: 1994/08/01 language: Prolog package: wamcc version: 2.2 parts: compiler Prolog->C, runtime, Prolog debugger, WAM debugger. author: Daniel Diaz - INRIA Rocquencourt - FRANCE location: ftp ftp.inria.fr in the directory /INRIA/Projects/ChLoE/LOGIC_PROGRAMMING/wamcc description: wamcc is a Prolog Compiler which translates Prolog to C via the WAM. wamcc has a syntax very close to the future ansi standard. wamcc offers the most usual built-in predicates, a top-level, a Prolog debugger and a WAM debugger. wamcc is designed to be easily extended (e.g. see clp(FD)). From an efficiency point of view, wamcc is between SICStus "emulated" and SICStus "native code" on Sparc machines (1.5 times faster than SICStus emulated, 1.5 times slower than SICStus "native code"). restriction: free (see COPYRIGHT notice) requires: GNU C (gcc) version 2.4.5 or higher ports: Sparc workstations, PC under linux, sony mews, dec ultrix portability: Generally to 32-bit machines with gcc. contact: Daniel Diaz (Daniel.Diaz@inria.fr) updated: 1994/08/01 language: Prolog (variant) package: Aditi version: Beta Release parts: interpreter, database author: Machine Intelligence Project, Univ. of Melbourne, Australia location: send email to aditi@cs.mu.oz.au description: The Aditi Deductive Database System is a multi-user deductive database system. It supports base relations defined by facts (relations in the sense of relational databases) and derived relations defined by rules that specify how to compute new information from old information. Both base relations and the rules defining derived relations are stored on disk and are accessed as required during query evaluation. The rules defining derived relations are expressed in a Prolog-like language, which is also used for expressing queries. Aditi supports the full structured data capability of Prolog. Base relations can store arbitrarily nested terms, for example arbitrary length lists, and rules can directly manipulate such terms. Base relations can be indexed with B-trees or multi-level signature files. Users can access the system through a Motif-based query and database administration tool, or through a command line interface. There is also in interface that allows NU-Prolog programs to access Aditi in a transparent manner. Proper transaction processing is not supported in this release. ports: Sparc/SunOS4.1.2 Mips/Irix4.0 contact: updated: 1992/12/17 language: Lambda-Prolog package: Prolog/Mali (PM) version: ? 6/23/92 ? parts: compiler(->C), linker, libraries, runtime, documentation author: Pascal Brisset location: ftp pm/* from ftp.irisa.fr description: Lambda-Prolog, a logic programming language defined by Miller, is an extension of Prolog where terms are simply typed $\lambda$terms and clauses are higher order hereditary Harrop formulas. The main novelties are universal quantification on goals and implication. reference: Miller D.A. and Nadathur G. "Higher-order logic programming", 3rd International Conference on Logic Programming, pp 448-462, London 1986. Nadathur G. "A Higher-Order Logic as a Basis for Logic Programming", Thesis, University of Pennsylvania, 1987. requires: MALI-V06 abstract memory. MALI is available by anonymous ftp from ftp.irisa.fr ports: unix discussion: prolog-mali-request@irisa.fr contact: pm@irisa.fr updated: 1992/07/06 language: Prolog (variant) package: CORAL version: ? parts: interpreter, interface(C++), documentation author: ? location: ftp ? from ftp.cs.wisc.edu description: The CORAL deductive database/logic programming system was developed at the University of Wisconsin-Madison. The CORAL declarative language is based on Horn-clause rules with extensions like SQL's group-by and aggregation operators, and uses a Prolog-like syntax. * Many evaluation techniques are supported, including bottom-up fixpoint evaluation and top-down backtracking. * A module mechanism is available. Modules are separately compiled; different evaluation methods can be used in different modules within a single program. * Disk-resident data is supported via an interface to the Exodus storage manager. * There is an on-line help facility requires: AT&T C++ 2.0 (G++ soon) ports: Decstation, Sun4 updated: 1993/01/29 language: Prolog package: BinProlog version: 1.71 parts: interpreter?, documentation author: ? location: ftp BinProlog/* from clement.info.umoncton.ca description: BinProlog 1.71 is at this time probably the fastest freely available C-emulated Prolog. ports: IBM-PC/386, Sun-4, Sun-3, NeXT contact: Paul Tarau updated: 1993/04/03 language: Prolog package: SWI-Prolog version: 1.7.2 parts: ? author: Jan Wielemaker location: ftp pub/SWI-Prolog from swi.psy.uva.nl OS/2: ftp pub/toolw/SWI/* from mpii02999.ag2.mpi-sb.mpg.de description: ? conformance: superset features: "very nice Ed. style prolog, best free one I've seen" restriction: GNU General Public License ports: Sun-4, Sun-3 (complete); Linux, DEC MIPS (done but incomplete, support needed); RS6000, PS2/AIX, Atari ST, Gould PN, NeXT, VAX, HP-UX (known problems, support needed); MSDOS (status unknown), OS/2 status: activly developed discussion: prolog-request@swi.psy.uva.nl contact: (OS/2) Andreas Toenne updated: 1993/07/23 language: Prolog package: Beta-Prolog version: 1.5 parts: interpreter(?), libraries, debugger author: Neng-Fa Zhou form "Real Name ". Surface mail addresses are not used unless there is no email address. location: ftp pub/Language/prolog/* from ftp.kyutech.ac.jp description: ? conformance: Incorporates most built-in predicates in ISO-Prolog. updated: 1995/04/05 language: Prolog package: Frolic version: ? parts: ? author: ? location: ftp pub/frolic.tar.Z from cs.utah.edu description: ? requires: Common Lisp contact: ? updated: 1991/11/23 language: Prolog package: ? Prolog package from the University of Calgary ? version: ? parts: ? author: ? location: ftp pub/prolog1.1/prolog11.tar.Z from cpsc.ucalgary.ca description: + delayed goals + interval arithmetic requires: Scheme portability: relies on continuations contact: ? updated: ? language: Prolog package: ? slog ? version: ? parts: translator(Prolog->Scheme) author: dorai@cs.rice.edu location: ftp public/slog.sh from titan.rice.edu description: macros expand syntax for clauses, elations etc, into Scheme ports: Chez Scheme portability: reliese on continuations updated: ? language: Prolog package: LM-PROLOG version: ? parts: ? author: Ken Kahn and Mats Carlsson location: ftp archives/lm-prolog.tar.Z from sics.se description: ? requires: ZetaLisp contact: ? updated: ? language: Prolog package: Open Prolog version: ? parts: ? author: ? location: ftp languages/open-prolog/* from grattan.cs.tcd.ie description: ? ports: Macintosh contact: Michael Brady updated: ? language: Prolog package: UPMAIL Tricia Prolog version: ? parts: ? author: ? location: ftp pub/Tricia/README from ftp.csd.uu.se description: ? contact: updated: ? language: Prolog package: ?; ? (two systems) version: ?; ? parts: ?; ? author: ? location: ftp ai.prolog/Contents from aisun1.ai.uga.edu description: ?; ? ports: MSDOS, Macintosh; MSDOS contact: Michael Covington updated: ?; ? language: Prolog package: XWIP (X Window Interface for Prolog) version: 0.6 parts: library author: ? location: ftp contrib/xwip-0.6.tar.Z from export.lcs.mit.edu description: It is a package for Prologs following the Quintus foreign function interface (such as SICStus). It provides a (low-level) Xlib style interface to X. The current version was developed and tested on SICStus 0.7 and MIT X11 R5 under SunOS 4.1.1. portability: It is adaptable to many other Unix configurations. contact: xwip@cs.ucla.edu updated: 1993/02/25 language: Prolog package: PI version: ? parts: library author: ? location: ftp pub/prolog/ytoolkit.tar.Z from ftp.ncc.up.pt description: PI is a interface between Prolog applications and XWindows that aims to be independent from the Prolog engine, provided that it has a Quintus foreign function interface (such as SICStus, YAP). It is mostly written in Prolog and is divided in two libraries: Edipo - the lower level interface to the Xlib functions; and Ytoolkit - the higher level user interface toolkit contact: Ze' Paulo Leal updated: 1993/03/02 language: Prolog package: ISO draft standard version: ? (What year??) parts: language definition author: ? location: ftp ? from ftp.th-darmstadt.de description: ? updated: 1992/07/06 language: Prolog iref: (Prolog) Tim Budd's C++ implementation of Kamin's interpreters language: OPS5 package: PD OPS5 version: ? parts: interpreter author: Written by Charles L. Forgy and ported to Common Lisp by George Wood and Jim Kowalski. location: ftp /afs/cs.cmu.edu/user/mkant/Public/Lisp/ops5* from ftp.cs.cmu.edu description: Public domain implementation of an OPS5 interpreter. OPS5 is a programming language for rule-based production systems. A rule consists of pre-condition(s) and the resulting action. The system as a whole acts first checking the status of system in its working memory and matches the rules to see if there are rules that are satisfied, and then the action in one selected satisfied rule is executed. There is a commercial version available called OPS83. Please contact the author for information. requires: Common Lisp contact: ? Mark Kantrowitz ? updated: 1992/10/17 -- Send compilers articles to compilers@iecc.com, meta-mail to compilers-request@iecc.com. From free-compilers@idiom.com Sun May 7 00:10:47 1995 Newsgroups: comp.compilers,comp.lang.misc,comp.archives.admin,news.answers,comp.answers From: free-compilers@idiom.com (Steven Robenalt) Subject: Catalog of compilers, interpreters, and other language tools [p4of5] Followup-To: comp.lang.misc Summary: Monthly posting of free language tools that include source code Keywords: tools, FTP, administrivia Supersedes: Reply-To: free-compilers@idiom.com (Steven Robenalt) Organization: Idiom Consulting / Berkeley, CA Date: Thu, 4 May 1995 21:33:35 GMT Archive-name: free-compilers/part4 Last-modified: 1995/05/04 Version: 8.0 concurrent, parallel, and simulation languages ------------------------------------------------------------------------------- category: concurrent, parellel, and simulation languages description: This is a fairly broad category of languages. Most of the implementations in this set are not good enough to be used in production systems. Some are. In addition to those listed below, see: lref: Concurrent Clean lref: Concurrent ML lref: EuLisp lref: Parallaxis lref: Maisie lref: uC++ lref: MeldC lref: pm2 lref: Simula 67 iref: (Tcl) MTtcl - Multi-threaded Tcl language: ABCL/1 (An object-Based Concurrent Language) package: ABCL/1 version: ? parts: ? author: Akinori Yonezawa, ABCL Group now at Department of Information Science, the University of Tokyo location: ftp pub/abcl1/* from camille.is.s.u-tokyo.ac.jp description: Asynchronous message passing to objects. reference: "ABCL: An Object-Oriented Concurrent System", Edited by Akinori Yonezawa, The MIT Press, 1990, (ISBN 0-262-24029-7) restriction: no commercial use, must return license agreement requires: Common Lisp contact: abcl@is.s.u-tokyo.ac.jp updated: 1990/05/23 language: ABCL ??? package: ABCL/R2 version: ? parts: ? author: masuhara@is.s.u-tokyo.ac.jp, matsu@is.s.u-tokyo.ac.jp, takuo@is.s.u-tokyo.ac.jp, yonezawa@is.s.u-tokyo.ac.jp location: ftp pub/abclr2/* from camille.is.s.u-tokyo.ac.jp description: ABCL/R2 is an object-oriented concurrent reflective language based on Hybrid Group Architecture. As a reflective language, an ABCL/R2 program can dynamically control its own behavior, such as scheduling policy, from within user-program. An an object-oriented concurrent language, this system has almost all functions of ABCL/1. requires: Common Lisp updated: 1993/01/28 language: ALLOY package: ALLOY version: 2.0? parts: interpreter, documentation, examples author: Thanasis Mitsolides location: ftp pub/local/alloy/* from cs.nyu.edu description: ALLOY is a higher level parallel programming language appropriate for programming massively parallel computing systems. It is based on a combination of ideas from functional, object oriented and logic programming languages. The result is a language that can directly support functional, object oriented and logic programming styles in a unified and controlled framework. Evaluating modes support serial or parallel execution, eager or lazy evaluation, non-determinism or multiple solutions etc. ALLOY is simple as it only requires 29 primitives in all (half of which for Object Oriented Programming support). ports: sparc, ? updated: 1991/06/11 language: Cellang (Cellular Automata) package: Cellular version: 2.0 parts: byte-code compiler, runtime, viewer author: J Dana Eckart location: comp.sources.unix, volume 26 description: A system for cellular automata programming. updated: 1993/04/03 language: Hermes package: IBM Watson prototype Hermes system version: 0.8alpha patchlevel 01 parts: bytecode compiler, compiler(bytecode->C), runtime author: Andy Lowry location: ftp pub/hermes/README from software.watson.ibm.com description: Hermes is a very-high-level integrated language and system for implementation of large systems and distributed applications, as well as for general-purpose programming. It is an imperative, strongly typed, process-oriented language. Hermes hides distribution and heterogeneity from the programmer. The programmer sees a single abstract machine containing processes that communicate using calls or sends. The compiler, not the programmer, deals with the complexity of data structure layout, local and remote communication, and interaction with the operating system. As a result, Hermes programs are portable and easy to write. Because the programming paradigm is simple and high level, there are many opportunities for optimization which are not present in languages which give the programmer more direct control over the machine. reference: Strom, Bacon, Goldberg, Lowry, Yellin, Yemini. Hermes: A Language for Distributed Computing. Prentice-Hall, Englewood Cliffs, NJ. 1991. ISBN: O-13-389537-8. ports: RS6000 Sun-4 NeXT IBM-RT/bsd4.3 (Sun-3 and Convex soon) discussion: comp.lang.hermes updated: 1992/03/22 language: PCN package: PCN version: 2.0 parts: compiler?, runtime, linker, libraries, tools, debugger, profiler, tracer author: Ian Foster , Steve Tuecke , and others location: ftp pub/pcn/pcn_v2.0.tar.Z from info.mcs.anl.gov description: PCN is a parallel programming system designed to improve the productivity of scientists and engineers using parallel computers. It provides a simple language for specifying concurrent algorithms, interfaces to Fortran and C, a portable toolkit that allows applications to be developed on a workstation or small parallel computer and run unchanged on supercomputers, and integrated debugging and performance analysis tools. PCN was developed at Argonne National Laboratory and the California Institute of Technology. It has been used to develop a wide variety of applications, in areas such as climate modeling, fluid dynamics, computational biology, chemistry, and circuit simulation. ports: (workstation nets): Sun4, NeXT, RS/6000, SGI (multicomputers): iPSC/860, Touchstone DELTA (shared memory multiprocessors): Symmetry/Dynix contact: updated: 1993/02/12 language: LOOPN package: LOOPN version: ? parts: compiler?, simulator author: ? location: ftp departments/computer_sci*/loopn.tar.Z from ftp.utas.edu.au description: I wish to announce the availability of a compiler, simulator and associated source control for an object-oriented petri net language called LOOPN. In LOOPN, a petri net is an extension of coloured timed petri nets. The extension means firstly that token types are classes. In other words, they consist of both data fields and functions, they can be declared by inheriting from other token types, and they can be used polymorphically. The object-oriented extensions also mean that module or subnet types are classes. LOOPN has been developed over a period of about 5 years at the University of Tasmania, where it has been used in teaching computer simulation and the modelling of network protocols. A petri net is a directed, bipartite graph; nodes are either places (represented by circles) or transitions (represented by rectangles). A net is marked by placing tokens on places. When all the places pointing to a transition (the input places) have a token, the net may be fired by removing a token from each input place and adding a token to each place pointed to by the transition (the output places). Petri nets are used to model concurrent systems, particularly in the network protocol area. contact: Charles Lakos updated: 1992/12/20 language: Simula package: Lund Simula version: 4.07 parts: ? author: ? location: ftp misc/mac/programming/+_Simula/* from rascal.ics.utexas.edu description: ? contact: Lund Software House AB / Box 7056 / S-22007 Lund, Sweden updated: 1992/05/22 language: SR (Synchronizing Resources) package: sr version: 2.0 parts: ?, documentation, tests author: ? location: ftp sr/sr.tar.Z from cs.arizona.edu description: SR is a language for writing concurrent programs. The main language constructs are resources and operations. Resources encapsulate processes and variables they share; operations provide the primary mechanism for process interaction. SR provides a novel integration of the mechanisms for invoking and servicing operations. Consequently, all of local and remote procedure call, rendezvous, message passing, dynamic process creation, multicast, and semaphores are supported. reference: "The SR Programming Language: Concurrency in Practice", by Gregory R. Andrews and Ronald A. Olsson, Benjamin/Cummings Publishing Company, 1993, ISBN 0-8053-0088-0 ports: Sun-4, Sun-3, Decstation, SGI Iris, HP PA, HP 9000/300, NeXT, Sequent Symmetry, DG AViiON, RS/6000, Multimax, Apollo, and others. discussion: info-sr-request@cs.arizona.edu contact: sr-project@cs.arizona.edu updated: 1992/09/01 language: UNITY package: MasPar Unity version: 1.0 parts: translator(UNITY->MPL), documentation author: Martin Huber, University of Karlsruhe, Germany location: ftp pub/maspar/maspar_unity* from SanFrancisco.ira.uka.de description: ? contact: Lutz Prechelt updated: ? language: UNITY package: HOL-UNITY version: 2.1 parts: verification tool author: ? location: ? description: ? contact: Flemming Andersen ? updated: ? Forth family languages ------------------------------------------------------------------------------- category: Forth family languages description: These are the stack-based postfix languages, usually interpreted, descended from the FORTH language originally developed for telescope control. lref: Postscript iref: (mc6809) 6809, E-Forth language: Forth package: TILE Forth version: 2.1 parts: interpreter author: Mikael Patel location: ftp tile-forth-2.1.tar.Z from a GNU archive site description: Forth interpreter in C; many Forth libraries conformance: Forth83 restriction: shareware/GPL ports: unix updated: 1991/11/13 language: Forth package: cforth version: ? parts: interpreter author: ? location: comp.sources.unix archive volume 1 description: ? updated: ? language: Forth package: pfe (Portable Forth Environment) version: 0.9.4 parts: ? author: Dirk Zoller location: ftp pub/unix/languages/pfe* from duz@roxi.rz.fht-mannheim.de description: A Forth development system that tries to be correct, complete, portable, usable and simple. It doesn't try too hard to be fast. conformance: all dpANS word sets ports: Linux, RS/6000, HP-UX portability: high updated: 1994/05/02 language: Forth package: F68K version: ? parts: ? author: ? location: ftp atari/Languages/f68k.* from archive.umich.edu description: a portable Forth system for Motorola 68k computers ports: Atari ST/TT, Amiga, Sinclair QL and OS9 portability: very high for 68000 based systems contact: Joerg Plewe updated: 1992/12/14 language: Forth package: 51forth version: ? parts: ? author: Scott Gehmlich location: ftp giovanni/51forth.zip from [130.123.96.9] description: source and documentation for a 8051 subroutine- threaded forth contact: ? updated: 1993/04/03 language: Forth package: M4th version: ? parts: interpreter, kernel, editor, application (8086 assembler), hypertext-based documentation, decompiler author: Nils M. Holm location: ftp.uni-stuttgart.de:/pub/systems/pc/lang/forth/m4th10.zip description: A small Forth implementation ports: MSDOS. updated: 1994/06/28 language: Forth package: ThisForth version: ? author: ? location: ftp pub/wilbaden/this4th-00B01.MAC.sit.* from ftp.netcom.com description: ThisForth has been built for Macintosh and PowerMac.There is still a single source for all incarnations. For now there is just a console interface for the Mac and PowerMac. ports: Macintosh, PowerMac updated: 1994/09/20 language: Mops package: Mops version: 2.3.1 parts: compiler, documentation, editor author: Michael Hore location: ftp pub/Yerk/? from oddjob.uchicago.edu description: Like Yerk, Mops is descended from the ex-commercial object-oriented language Neon. Mops features an optimizing native-code compiler; it is much faster than Yerk, but less compatible with Neon. Mops includes extensions such as multiple inheritance. ports: Macintosh updated: ? language: Kevo (Forth-like) package: kevo version: 0.9b6 parts: interpreter, demo programs, user's guide, papers author: Antero Taivalsaari location: ftp /pub/kevo/* from cs.uta.fi description: Kevo is a prototype-based object-oriented language for Macintosh Kevo features a unique prototype-based object model (which is based neither on classes nor Self-style delegation), multitasking (both preemptive and cooperative), dynamic memory management, and an icon-based object browser and editor modeled loosely after Mac Finder. Kevo has been built around a portable threaded code interpreter, and is syntactically a close derivative of Forth. ports: Macintosh contact: kevo-interest@ursamajor.uvic.ca updated: 1993/05/18 language: Yerk package: Yerk version: 3.62 parts: ? author: ? location: ftp pub/Yerk/? from oddjob.uchicago.edu description: Yerk is an object oriented language based on a Forth Kernel with some major modifications. It was originally known as Neon, developed and sold as a product by Kriya Systems from 1985 to 1989. Several of us at The University of Chicago have maintained Yerk since its demise as a product. Because of the possible trademark conflict that Kriya mentions, we picked the name Yerk, which is at least not an acronym for anything, but rather stands for Yerkes Observatory, part of the Department of Astronomy and Astrophysics at U of C. updated: ? compiler generators and related tools ------------------------------------------------------------------------------- category: compiler generators and related tools description: Yacc, and the rest of its family language: ABC package: Grammar analysis tools version: 1 parts: analysis tools, samples, documentation author: Steven Pemberton location: ftp /pub/abc/examples/grammar/* from ftp.cwi.nl or http://www.cwi.nl/~steven/abc/examples/grammar description: Grammar analysis program written in ABC (q.v.) for answering such questions as "what are the start symbols of all rules", "what symbols can follow this symbol", "which rules are left recursive", and so on. Includes a grammar of ISO Pascal. reference: Ftp archive includes an article explaining the package. ports: unix, MSDOS, atari, mac contact: Steven.Pemberton@cwi.nl updated: 1993/07/05 language: ? attribute grammar ? package: Alpha version: pre-release parts: semantic-analysis generator?, documentation(german) author: Andreas Koschinsky location: from author description: I have written a compiler generator. The generator is called Alpha and uses attribute grammars as specification calculus. Alpha is the result of a thesis at Technische Universitaet Berlin. I am looking for someone who would like to test and use Alpha. Alpha generates compilers from a compiler specification. This specification describes a compiler in terminology of attribute grammars. Parser and Scanner are generated by means of Bison and Flex. Alpha generates an ASE-evaluator (Jazayeri and Walter). The documentation is in german since it is a thesis at a german university. updated: 1993/02/16 language: attribute-grammar extension of Yacc and Lex package: Ox version: G1.01 parts: Yacc/Lex/C preprocessor, tutorial, reference manual, man page, examples, Ox-ready parsers (C, C++, Pascal, Ada, Fortran) author: Kurt Bischoff location: ftp pub/ox/* from ftp.cs.iastate.edu description: Ox generalizes the function of Yacc in the way that attribute grammars generalize context-free grammars. Ordinary Yacc and Lex specifications may be augmented with definitions of synthesized and inherited attributes written in C syntax. Ox checks these specifications for consistency and completeness, and generates from them a program that builds and decorates attributed parse trees. Ox accepts a most general class of attribute grammars. The user may specify postdecoration traversals for easy ordering of side effects such as code generation. Ox handles the tedious and error-prone details of writing code for parse-tree management, so its use eases problems of security and maintainability associated with that aspect of translator development. Ox is a preprocessor, and extends the syntax and semantics of Yacc, Lex, and C. reference: Most compiler textbooks have descriptions of attribute grammars. features: LALR(1), semantic-analyzer generation. bugs: none known. Report bugs to ox-project@cs.iastate.edu. restriction: Use of Ox is free. Ox-generated code is the property of the Ox user. ports: Unix contact: ox-request@cs.iastate.edu updated: 1993/11/14 language: attribute grammar package: Rie version: 1.0.4 parts: compiler generator (Rie->C), attribute evaluator generator, documentation, examples (PL/0 compiler, simple semantic analyzer). author: Masataka Sassa, Kazuhiro Kuroishi, Teruhisa Hirai and Yoshiki Ohshima location: ftp /pub/Rie/* from ftp.is.titech.ac.jp description: Rie is a yet another compiler generator based on a one-pass ECLR-attribnute grammar, a one-pass superset of LR-attributed grammar. It generates compilers comparable in speed to handwritten compilers (about 1.8 times slower) that can directly evaluate inherited and synthesized attributes in parallel with LR parsing, without having to create parse trees. Rie has a YACC-like syntax, but with the ability to define attribution rules, thus allowing a unified treatment of the syntax and semantics. Shorthand conditions, context conditions and 'local' attributes are also processed. reference: Sassa, M., Ishizuka, H., and Nakata, I.: Rie, a Compiler Generator Based on a One-Pass Attribute Grammar, Res. Rep. C-107, Dept. of Inf. Sci., Tokyo Institute of Technology Contact rie-info@is.titech.ac.jp for hardcopy. Electric version soon to be available at ftp.is.titech.ac.jp in /pub/Rie/Papers/*. bugs: Bug reports are welcome to rie-comments@is.titech.ac.jp. restriction: Falls under version 2 of the GNU CopyLeft and the same restrictions as Bison. ports: UNIX, DOS, etc. (same as bison) and Sharp X68000 contact: rie-info@is.titech.ac.jp> updated: 1993/12/02 language: BNF (Extended, actually a regular right part grammar) package: Gray version: 4 parts: parser generator, documentation, examples author: Martin Anton Ertl how to get: ftp://server.complang.tuwien.ac.at/pub/forth/gray4.tar.gz ftp://server.complang.tuwien.ac.at/pub/forth/gray4.zip description: Gray is a parser generator written in Forth. It takes grammars in an extended BNF and produces executable Forth code for recursive descent parsers. restrictions: Copyleft requires: ANS Forth conformance: ANS Forth with some environmental dependences (see README) status: supported ports: Several ANS Forth Systems; mail author for old versions running on Tile. updated: 1994/08/08 language: BNF (??) package: ZUSE version: ? parts: parser generator(?) author: Arthur Pyster location: ? Univ Calif at Santa Barbara ? description: ll(1) paser generator requires: Pascal updated: 1986/09/23 language: BNF (??) package: FMQ version: ? parts: paser generator w/error corrector generator author: Jon Mauney location: ftp from csczar.ncsu.edu description: ? status: ? contact: ? updated: 1990/03/31 language: BNF (??) package: ATS (Attribute Translation System) version: ? parts: ? author: ? University of Saskatchewan ? location: ? description: generates table-driven LL(1) parsers with full insert-only error recovery. It also handles full left-attribute semantic handling, which is a dream compared to using YACC's parser actions. status: ? contact: ? (suggested: Dave Bocking ) updated: 1988/11/29 language: BNF (Extended) package: PCCTS (Purdue Compiler-Construction Tool Set) version: 1.31 parts: scanner generator, parser generator (pred-LL(k)), documentation, tutorial author: Terence J. Parr , Will E. Cohen , Henry G. Dietz , Russell W. Quong location: ftp pub/pccts/* from ftp.parr-research.com UK: ftp computing/programming/languages/tools/pccts/* from src.doc.ic.ac.uk description: PCCTS is similar to a highly integrated version of YACC and LEX; where ANTLR (ANother Tool for Language Recognition) corresponds to YACC and DLG (DFA-based Lexical analyzer Generator) functions like LEX. PCCTS grammars contain specifications for lexical and syntactic analysis with selective backtracking ("infinite lookahead"), semantic predicates, intermediate-form construction and sophisticated parser exception handling. Rules may employ Extended BNF (EBNF) grammar constructs and may define parameters, return values and local variables. Languages described in PCCTS are recognized via predicated-LL(k) parsers constructed in pure, human-readable, C/C++ code; the C++ programming interface is very good. The documentation is complete, but distributed over an original manual plus multiple release notes. A book is in the works and should be available Fall 1995. A recently-developed PCCTS-based C++ parser is available at the ftp site; it is an *initial* release and was derived from the grammar built by NeXT, Inc.. restriction: The tool is totally public domain--it has no legal restrictions on its use or incorporation into commercial applications. ports: Unix, DOS, Windows, OS/2, Macintosh, NeXT portability: very high discussion: comp.compilers.tools.pccts contact: Terence J. Parr updated: 1995/04/05 language: BNF (very extended), yacc package: PRE-CC Xtended version: 2.30 parts: library, parser generator (LL(oo)), translator(yacc->) author: Peter Breuer location: FTP: ftp.comlab.ox.ac.uk:/pub/Programs/preccx.tar.Z (Unix) ftp.comlab.ox.ac.uk:/pub/Programs/preccx.msdos (MS-DOS) ftp.comlab.ox.ac.uk: /pub/Documents/techpapers/Jonathan.Bowen/preccx-uug.ps.Z (more recent versions available by subscription) URL: http://www.comlab.ox.ac.uk/archive/redo/precc.html description: PRECCX is an infinite-lookahead compiler compiler for context dependent grammars. The generated code is ANSI C. Specification scripts are in very EBNF with inherited and synthetic attributes allowed. Scripts can be compiled in separate modules, and linked together later. Meta-production rules allowed. The technology is essentially LL(oo) with optimizations. A converter for yacc scripts is available. reference: "The PRECC Compiler-Compiler" by P.T. Breuer and J.P. Bowen. In E. Davies and A. Findlay (eds.), Proc. UKUUG/SUKUG Joint New Year 1993 Conference, St. Cross Centre, Oxford, UK, 6-8 January 1993, ISBN 1 873611 06 4 (UKUUG), 0 9520700 0 6 (SUKUG) UKUUG/SUKUG Secretariat, Owles Hall, Buntingford, Herts SG9 9PL, UK, pp 167-182, 1993. "A PREttier Compiler-Compiler: Generating Higher Order Parsers in C" P.T. Breuer and J.P. Bowen. Oxford University Computing Laboratory Technical Report PRG-TR-20-92, 25pp, November 1992. Accepted by Software - Practice and Experience, 1994. ftp pub/Documents/techreports/TR-20-92.ps.Z from ftp.comlab.ox.ac.uk ports: unix, MS-DOS contact: Peter Breuer , Jonathan Bowen updated: 1994/06/02 language: BNF (??) package: LLGen version: ? parts: parser generator author: ? Fischer and LeBlanc ? location: ? ftp from csczar.ncsu.edu ? description: LL(1) parser generator conformance: subset of FMQ reference: "Crafting A Compiler", by Fischer and LeBlanc status: ? contact: ? updated: 1990/03/31 language: BNF package: wacco version: 1.1, July 91 parts: parser generator author: Parag Patel (parag@netcom.com, parag@sde.hp.com) location: comp.sources.misc volume ? description: Wacco is a recursive descent LL(1) parser generator that generates C++ code. Its syntax is similar to YACC with a lot of sugaring. It can also do attribute-driven parsing. The source is bootstrapped wacco code. ports: HP-UX s300 and s800, Sparc, and 4.3BSD (on HP) portability: Host machine must be 32 bits. contact: ? updated: ? language: BNF (Extended), BNF (yacc) package: GMD Toolbox for Compiler Construction (aka Cocktail) version: 9209 parts: lalr: parser generator (LALR(1) -> C, Modula-2), ell : parser generator (LL(1) -> C, Modula-2), rex : scanner generator (-> C, Modula-2), bnf : translator (Extended BNF -> BNF), y2l : translator (BNF (yacc) -> Extended BNF), ast : abstract syntax tree generator, ag : attribute-evaluator generator, puma: transformation of abstract syntax tree using pattern-matching documentation, examples author: Josef Grosch and others location: ftp /gmd/cocktail from ftp.gmd.de ftp /pub/unix/programming/compilerbau from ftp.rus.uni-stuttgart.de ftp /pub/programming/languages/compiler-compiler/cocktail from ftp.th-darmstadt.de ftp /languages/tools/gmd from src.doc.ic.ac.uk ftp /.3/plan/gmd from gatekeeper.dec.com OS/2: ftp.eb.ele.tue.nl/pub/src/cocktail/dos-os2.zoo description: A huge set of compiler building tools. requires: (MS-DOS and MS-Windows only) DJ Delorie's DOS extender (go32) (OS/2 only) emx programming environment for OS/2 ports: Unix, Linux, MS-DOS, MS-Windows, OS/2 portability: very high status: version 9209 is unsupported, Cocktail is actively developed, versions 9401 and higher are commercial discussion: subscribe to Cocktail using listserv@eb.ele.tue.nl support: Josef Grosch contact: Josef Grosch OS/2: Willem Jan Withagen updated: 1992/10/01 language: BNF (??) package: T-gen version: 2.1 parts: parser generator, documentation, ? author: Justin Graver location: ftp pub/st80_r41/T-gen2.1/* from st.cs.uiuc.edu description: T-gen is a general-purpose object-oriented tool for the automatic generation of string-to-object translators. It is written in Smalltalk and lives in the Smalltalk programming environment. T-gen supports the generation of both top-down (LL) and bottom-up (LR) parsers, which will automatically generate derivation trees, abstract syntax trees, or arbitrary Smalltalk objects. The simple specification syntax and graphical user interface are intended to enhance the learning, comprehension, and usefulness of T-gen. requires: Smalltalk-80 ports: ParcPlace Objectworks/Smalltalk 4.0 & 4.1 updated: 1992/10/18 language: BNF package: Eli Compiler Construction System version: 3.8 parts: scanner generator(regular expressions->C, C++), documentation parser generator(LALR->C, C++), documentation attribute grammar generator(LIDO->C, C++), documentation definition table generator(PDL->C, C++), documentation tree pattern-matcher generator(OIL->C, C++), documentation unparser generator(PTG->C, C++), documentation author: ? location: ftp pub/cs/distribs/eli/* from ftp.cs.colorado.edu Europe: ftp unix/eli from ftp.uni-paderborn.de or http://www.cs.colorado.edu/~eliuser description: Eli integrates off-the-shelf tools and libraries with specialized language processors to generate complete compilers quickly and reliably. It simplifies the development of new special-purpose languages, implementation of existing languages on new hardware and extension of the constructs and features of existing languages. ports: Sun-4 (SunOS 4 & 5), Ultrix/MIPS, RS/6000, HP-UX, SGI, Linux discussion: bugs: contact: , updated: 1993/11/01 language: BNF package: tom (demo for Tomita Parsing algorithm) version: 1 parts: parser generator, parser interpreter, examples, documentation author: Mark Hopkins location: iecc.com in pub/files/tomita.tar.gz alt.sources archive from October 4, 1993. description: An implementation of the Tomita parsing algorithm using LR(0) tables and dynamic programming. reference: Kluwer '91, _Generalized LR Parsing_, Tomita ed., 0-7923-9201-9 "The Tomita Parsing Algorithm ...", comp.compilers May 20, 1994 features: Cyclic context free grammars are processed. portability: System independent updated: 1994/10/03 language: BNF (yacc) package: NewYacc version: 1.0 parts: parser generator, documenation author: Jack Callahan location: ftp src/newyacc.1.0.*.Z from flubber.cs.umd.edu description: [someone want to fill it in? --ed] reference: see Dec 89 CACM for a brief overview of NewYacc. updated: 1992/02/10 language: BNF (yacc) package: bison version: 1.22 parts: parser generator, documentation author: ? Robert Corbett and Richard Stallman location: ftp bison-1.16.tar.Z from a GNU archive site description: ? bugs: bug-gnu-utils@prep.ai.mit.edu restriction: !! will apply the GNU General Public License to *your* code !! ports: unix, atari, ? updated: 1993/09/14 language: BNF (yacc), Lex package: Bison++ and Flex++ version: 1.21-8 (bison), 2.3.8-7 (flex), 5 (flex++bison++misc) parts: translator, documentation, postscript, examples, DOS binary author: Alain Coetmeur location: cse.unl.edu in ~ftp/pub/nandy/c++/tools/LATEST/* Europe: mirrored on ftp.th-darmstadt.de description: A retargeting of bison-1 and flex 2.3 to C++, able to generate classes. As with Bison and Flex, these two tools are independent but designed for mutual compatibility. The version numbering has been changed for consistency with Flex and Bison, so versions of flex3.0.x and bison2.x of this package are are actually earlier versions, not later. Examples are provided to help in getting started. conformance: Mostly compatible with flex2.3 and bison 1 in C, apart from the ability to generate classes. features: Almost all symbol names can be redefined, parsers can be shared in C and C++ in the same headers... very extensible... flex++ support IOSTREAM and STDIO in C++. bugs: Contact coetmeur@icdc.fr (current author and maintainer). restriction: GNU License for bison++. Same as flex for flex++. ports: SUNOS4, DOS, and same ports as Flex/Bison, Windows NT (tested) portability: Larger memory model required on DOS (DOS binary supplied). status: active, supported, might not support flex 2.4 discussion: coetmeur@icdc.fr, news: comp.compiler, or comp.lang.c++ help: coetmeur@icdc.fr, news: comp.compiler, or comp.lang.c++ for substantial problems. support: see help, no commercial support. (volunteer ?) announcements: mail list locally maintained by coetmeur@icdc.fr, news: comp.compiler comp.lang.c++ updated: 1994/02/07 lref: C lref: C++ lref: Lex lref: yacc language: BNF (yacc) package: bison-A2.3 version: 2.3 (corresponds to gnu bison 1.22) parts: parser generator, C-parser, C++parser, documentation author: Fred Hansen location: ftp://ftp.andrew.cmu.edu/pub/AUIS/bison/bison-A2.2.tar.gz also in contrib/andrew on the XV11R6 distribution in directories overhead/bison, overhead/mkparser (but not the C++ version of the parser) description: This is the standard gnu bison with a number of improvments: license-free parsers for C and C++, only one external symbol for each grammar, permits multiple grammars per application, better error reports on the grammar. conformance: grammars are the same as bison and yacc; but run-time errors are handled differently, so semantic rules must be changed features: tokens in the grammar can be expressed as ">=" instead of GE bugs: send bugs to info-andrew-bugs@andrew.cmu.edu restriction: none (unless you use the native gnu-bison parser) ports: has been tested on most Unix platforms portability: generation of names for temp files is system dependent. discussion: info-andrew@andrew.cmu.edu (mirrored to comp.soft-sys.andrew) support: supported by the Andrew Consortium contributions: your organization is invited to join the Andrew Consortium info-andrew-request@andrew.cmu.edu updated: 1994/05/09 language: BNF (yacc) package: ? jaccl ? version: ? parts: parser generator author: Dave Jones location: ? description: a LR(1) parser generator updated: 1989/09/08 language: BNF (yacc) package: byacc (Berkeley Yacc) version: 1.9 parts: parser generator author: Robert Corbett location: ftp pub/byacc.tar.1.9.Z from vangogh.CS.Berkeley.EDU description: probably the best yacc variant around. Previously known as Zoo, and before that, as Zeus. updated: 1993/02/22 language: BNF (yacc), Lex package: Lex/Yacc for Turbo Pascal uploaded version: ? parts: parser generator, scanner generator, documentation? author: ? location: iecc.com (140.186.81.1) at pub/file/lyprg.zip. description: Lex and Yacc retargeted to Pascal. contact: ? dpoole@hydrogen.oscs.montana.edu (David Poole) updated: 1993/07/02 language: BNF (yacc), Ada package: aflex-ayacc version: 1.2a parts: parser generator (Ada), scanner generator (Ada) author: IRUS (Irvine Research Unit in Software) location: ftp pub/irus/aflex-ayacc_1.2a.tar.Z from liege.ics.uci.edu description: Lex and Yacc equivalents that produce Ada output announcements: irus-software-request@ics.uci.edu contact: irus-software-request@ics.uci.edu updated: 1993/01/06 language: BNF (yacc), Perl package: perl-byacc version: 1.8.2 parts: parser-generator(perl) author: Rick Ohnemus location: ftp local/perl-byacc.tar.Z from ftp.sterling.com description: A modified version of byacc that generates perl code. Has '-p' switch so multiple parsers can be used in one program (C or perl). portability: Should work on most (?) Unix systems. Also works with SAS/C 6.x on AMIGAs. updated: 1993/01/24 language: BNF (yacc), Standard ML package: New SML-Yacc and SML-Lex version: ?? parts: ?? author: Andrew Appel location: princeton.edu in pub/ml, files mlyacc94.tar.Z, lexgen94.tar.Z. description: ?? updated: 1994/05/23 language: BNF (variant), Icon package: Ibpag2 (Icon-Based Parser Generation System 2) version: 1.2 parts: parser generator (Icon, SLR(1)) author: Richard L. Goerwitz location: comp.sources.misc volume 44 description: Ibpag2 is a parser generator for Icon. It does most of what you would expect. Latest version can handle both SLR(1) and even GLR (Tomita) grammars. ports: unix portability: ? (Unix dependencies?) updated: 1994/09/25 language: BNF ?, Gofer package: Ratatosk (?) version: ? parts: parser generatr (Gofer) author: Torben AEgidius Mogensen location: ftp pub/diku/dists/Ratatosk.tar.Z from ftp.diku.dk description: Ratatosk is a SLR parser generator in Gofer (a Haskell variant) that generates purely functional parsers (also in Gofer). Even though the sematic value of a production is a function of the attributes of its right-hand side (and thus apparently purely synthesized), inherited attributes are easily simulated by using higher order functions. ports: ? updated: ? language: BNF package: lalr.ss - An LALR(1) parser generator version: 0.9 parts: parser generator (->Scheme) author: Mark Johnson location: ftp new/lalr.shar from the Scheme Repository description: A LALR(1) parser generator in and for Scheme. requires: Scheme updated: 1993/05/24 language: BURS ? package: Iburg version: ? parts: parser generator? author: Christopher W. Fraser , David R. Hanson , Todd A. Proebsting location: ftp pub/iburg.tar.Z from ftp.cs.princeton.edu description: Iburg is a program that generates a fast tree parser. It is compatible with Burg. Both programs accept a cost-augmented tree grammar and emit a C program that discovers an optimal parse of trees in the language described by the grammar. They have been used to construct fast optimal instruction selectors for use in code generation. Burg uses BURS; Iburg's matchers do dynamic programming at compile time. updated: 1993/02/10 language: BNF variant, Python package: kwParsing ? version: ? parts: parser generator author: Aaron Watters location: ftp pub/python/kwParsing.* from ftp.markv.com description: A parser generator written in Python for Python. This package may be appropriate for experimental translators, code generators, interpreters, or compilers; for instructinal purposes; among other possibility. The documentation gives a brief introduction to the conventions and basic ideas of parsing. updated: 1994/09/24 language: Candle, IDL (Interface Description Language) package: Scorpion System version: 6.0 parts: software development environment for developing software development environments, documentation author: University of Arizona location: ftp scorpion/* from cs.arizona.edu description: 20 tools that can be used to construct specialized programming environments. The Scorpion Project was started by Prof. Richard Snodgrass as an outgrowth of the SoftLab Project (which pro- duced the IDL Toolkit) that he started when he was at the University of North Carolina. The Scorpion Project is directed by him at the University of Arizona and by Karen Shannon at the University of North Carolina at Chapel Hill. reference: "The Interface Description Language: Definition and Use," by Richard Snodgrass, Computer Science Press, 1989, ISBN 0-7167-8198-0 ports: Sun-3, Sun-4, Vax, Decstation, Iris, Sequent, HP9000 discussion: info-scorpion-request@cs.arizona.edu contact: scorpion-project@cs.arizona.edu updated: 1993/11/04 language: COCOL (EBNF variant) package: COCO/R version: 1.36 parts: parser generator(LL(1)) author: Hanspeter Moessenboeck Port to Modula-2 done by Marc Brandis, Christof Brass and Pat Terry location: neptune.inf.ethz.ch:/pub/Coco ftp.psg.com:/pub/modula-2/coco cs.ru.ac.za:/pub/coco pluto.fit.qut.edu.au:/pub/coco description: Coco/R generates recursive descent parsers and their associated scanners from attributed grammars. Coco/R can bootstrap itself to generate its own driver, parser, scanner, and semantic evaluator from the attributed grammar CR.ATG. This grammar thus serves as an an example of how to write compiler descriptions for Coco. There are also other simpler examples showing its use. reference: _A compiler generator for microcomputers_, by Rechenberg and Mossenbock (Prentice Hall, 1989, 0-13-155136-1) bugs: MS-DOS related versions: Pat Terry Other: Hanspeter Moessenboeck requires: Oberon or Modula-2 ports: MS-DOS: TopSpeed Modula-2; FST 2.0; FST 3.1; StonyBrook QuickMod 2.2; Logitech 3.03. Macintosh: Apple MacMeth status: Oberon version is freely available?, Modula-2 version is free to academic sites; commercial use requires a license updated: 1994/06/23 language: COCOL (EBNF variant) package: coco/R version: 1.03 parts: parser generator(LL(1)) description: A C version of COCO/R updated: 1994/11/10 language: EAG (Extended Affix Grammar) package: EAG version: first public release parts: recognizer generator, transduccer generator, translator generator, editor generator, documentation author: Marc Seutter location: ftp pub/eag/* from hades.cs.kun.nl description: The Extended Affix Grammar formalism, or EAG for short, is a formalism for describing both the context free and the context sensitive syntax of languages. EAG is a member of the family of two-level grammars. They are very closely related to two-level van Wijngaarden grammars. The EAG compiler will generate either a recognizer or a transducer or a translator or a syntax directed editor for a language described in the EAG formalism. updated: 1993/09/14 language: EBNF package: ETO version: test version parts: parser, postscript document, examples author: Lin Li location: FTP: fi.ethz.ch under /pub/ETO/eto-09.* description: ETO is an object oriented universal syntax checker. It takes an EBNF specification for a language and then uses it on an input file to check its syntax. updated: 1994/06/03 language: lex package: flex version: 2.5.2 parts: scanner generator author: Vern Paxson location: ftp flex-2.5.2.tar.Z from a GNU archive site or ftp.ee.lbl.gov description: A POSIX-compliant "lex" scanner generator. bugs: vern@ee.lbl.gov or bug-gnu-utils@prep.ai.mit.edu updated: 1995/03/28 language: Regular Expressions package: re2c version: alpha parts: translator (re->c) author: ?? peter@csg.uwaterloo.ca location: csg.uwaterloo.ca in /pub/peter/re2c.0.5.tar.gz description: A regular expression to C converter. updated: ?? 1994/04/29 language: Milarepa package: Milarepa Perl/BNF Parser version: Prototype 1.0 parts: parser-generator, examples, tutorial author: Jeffrey Kegler location: via anonymous ftp at alexia.lis.uiuc.edu:/pub/perl/marpa-1.0.tar.Z description: Milarepa takes a source grammar in the Milarepa language (a straightforward mix of BNF and Perl) and generates a Perl file, which, when enclosed in a simple wrapper, parses some third language described by the source grammar. This is intended to be a real hacker's parser. It is not restricted to LR(k), and the parse logic follows directly from the BNF. It handles ambiguous grammars, ambiguous tokens (tokens which were not positively identified by the lexer) and allows the programmer to change the start symbol. The grammar may not be left recursive. The input must be divided into sentences of a finite maximum length. There is no fixed distinction between terminals and non-terminals, that is, a symbol can both match the input AND be on the left hand side of a production. Multiple Marpa grammars are allowed in a single perl program. It's only a prototype primarily due to poor speed. This is intended to be remedied after Perl 5.0 is out. requires: perl updated: 1994/04/27 language: Pascal, Lisp, APL, Scheme, SASL, CLU, Smalltalk, Prolog package: Tim Budd's C++ implementation of Kamin's interpreters version: ? parts: interpretors, documentation author: Tim Budd location: ? ftp pub/budd/kamin/*.shar from cs.orst.edu ? description: a set of interpretors written as subclasses based on "Programming Languages, An Interpreter-Based Approach", by Samuel Kamin. requires: C++ status: ? contact: Tim Budd updated: 1991/09/12 language: Relation Grammar package: rl version: ? parts: ? author: Kent Wittenburg location: fto rl/* from flash.bellcore.com description: The RL files contain code for defining Relational Grammars and using them in a bottom-up parser to recognize and/or parse expressions in Relational Languages. The approach is a simplification of that described in Wittenburg, Weitzman, and Talley (1991), Unification-Based Grammars and Tabular Parsing for Graphical Languages, Journal of Visual Languages and Computing 2:347-370. This code is designed to support the definition and parsing of Relational Languages, which are characterized as sets of objects standing in user-defined relations. Correctness and completeness is independent of the order in which the input is given to the parser. Data to be parsed can be in many forms as long as an interface is supported for queries and predicates for the relations used in grammar productions. To date, this software has been used to parse recursive pen-based input such as math expressions and flowcharts; to check for data integrity and design conformance in databases; to automatically generate constraints in drag-and-drop style graphical interfaces; and to generate graphical displays by parsing relational data and generating output code. requires: Common Lisp ports: Allegro Common Lisp 4.1, Macintosh Common Lisp 2.0 updated: 1992/10/31 language: S/SL (Syntax Semantic Language) package: ssl version: ? parts: parser bytecode compiler, runtime author: Rick Holt, Jim Cordy (language), Rayan Zachariassen (C implementation) location: ftp pub/ssl.tar.Z from neat.cs.toronto.edu description: A better characterization is that S/SL is a language explicitly designed for making efficient recusive-descent parsers. Unlike most other languages, practicially the LEAST expensive thing you can do in S/SL is recur. A small language that defines input/output/error token names (& values), semantic operations (which are really escapes to a programming language but allow good abstration in the pseudo-code), and a pseudo-code program that defines a grammar by the token stream the program accepts. Alternation, control flow, and 1-symbol lookahead constructs are part of the language. What I call an S/SL "implementation", is a program that compiles this S/SL pseudo-code into a table (think byte-codes) that is interpreted by the S/SL table-walker (interpreter). I think the pseudo-code language is LR(1), and that the semantic mechanisms turn it into LR(N) relatively easily. + more powerful and cleaner than yac - slower than yacc reference: Cordy, J.R. and Holt, R.C. [1980] Specification of S/SL: Syntax/Semantic Language, Computer Systems Research Institute, University of Toronto. "An Introduction to S/SL: Syntax/Semantic Language" by R.C. Holt, J.R. Cordy, and D.B. Wortman, in ACM Transactions on Programming Languages and Systems (TOPLAS), Vol 4, No. 2, April 1982, Pages 149-178. updated: 1989/09/25 language: TXL package: TXL: Tree Transformation Language version: 7.4 parts: translator, documentation, tutorial, examples author: Jim Cordy location: ftp pub/txl/* from ftp.qucis.queensu.ca description: TXL is a language for performing source to source transformations and is well suited for rapidly prototyping new languages and language processors. It has also been used to prototype specification languages, command languages, and more traditional program transformation tasks such as constant folding, type inference, source optimization and reverse engineering. TXL takes as input an arbitrary context-free grammar in extended BNF-like notation, and a set of show-by-example transformation rules to be applied to inputs parsed using the grammar. TXL is a functional/rule-based hybrid programming language, using the paradigm of structural transformation. reference: Several listed in software documentation updated: 1993/08/04 language: BNF (extended) package: SORCERER: A Simple Tree Parser Generator version: 1.01 parts: translator, documentation, tutorial, examples author: Terence Parr location: ftp pub/pccts/sorcerer/* from marvin.ecn.purdue.edu description: SORCERER is more suitable for the class of translation problems lying between those solved by code-generator generators and by full source-to-source translator generators. SORCERER generates simple, flexible, top-down, tree parsers that, in contrast to code-generators, may execute actions at any point during a tree walk. SORCERER accepts extended BNF notation, allows predicates to direct the tree walk with semantic and syntactic context information, and does not rely on any particular intermediate form, parser generator, or other pre-existing application. reference: Several listed in software documentation discussion: send mail with a body of "subscribe pccts-users your_name" to pccts-users@ahpcrc.umn.edu. "your_name" can be email, or full. help: from mailing list support: actively supported, from mailing list updated: ? 1994/06/15 mathematical tools and languages ------------------------------------------------------------------------------- category: mathematical tools and languages description: These are either special-purpose languages and tools, or general purpose languages and tools that have traditionally been used for mathematical and scientific computing task. lref: Fortran lref: PCN lref: CLP lref: SISAL 1.2 language: APL package: I-APL version: ? parts: ? author: ? location: ftp languages/apl/* from watserv1.waterloo.edu description: ? updated: 1992/07/06 language: APL package: APLWEB version: ? parts: translator(web->apl), translator(web->TeX) author: Dr. Christoph von Basum location: ftp languages/apl/aplweb/* from watserv1.uwaterloo.ca description: [Should this be listed with the Web entries? -- Ed.] updated: 1992/12/07 language: APL iref: (APL) Tim Budd's C++ implementation of Kamin's interpreters language: J package: J-mode version: ? parts: emacs macros author: ? location: ftp pub/j/gmacs/j-interaction-mode.el from think.com description: add on to J updated: 1991/03/04 language: RLaB language (math manipulation - MATLAB-like) package: RLaB version: 1.18d parts: interpreter, libraries, documentation author: Ian Searle location: ftp pub/RLaB/* from evans.ee.adfa.oz.au US: csi.jpl.nasa.gov in /pub/matlab/RLaB description: RLaB is a "MATLAB-like" matrix-oriented programming language/toolbox. RLaB focuses on creating a good experimental environment (or laboratory) in which to do matrix math Currently RLaB has numeric scalars and matrices (real and complex), and string scalars, and matrices. RLaB also contains a list variable type, which is a heterogeneous associative array. bugs: Ian Searle restriction: GNU General Public License requires: GNUPLOT, lib[IF]77.a (from f2c) ports: many unix, OS/2, Amiga updated: 1995/03/16 language: octave language (math manipulation - MATLAB-like) package: octave version: 1.1.1 parts: interpreter, libraries, documentation author: John W. Eaton location: ftp /pub/octave/* from ftp.che.utexas.edu also, any GNU archive site (see archive listing below) description: Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically. Octave can do arithmetic for real and complex scalars and matrices, solve sets of nonlinear algebraic equations, integrate functions over finite and infinite intervals, and integrate systems of ordinary differential and differential-algebraic equations. bugs: bug-octave@che.utexas.edu restriction: GNU General Public License requires: gnuplot, C++ compiler and FORTRAN compiler or f2c translator. ports: several updated: 1994/2/23 language: FUDGIT language (math manipulation) package: FUDGIT version: 2.27 parts: interpreter author: Thomas Koenig ?? location: ftp /pub/linux/sources/usr.bin/fudgit-* from tsx-11.mit.edu ?? description: FUDGIT is a double-precision multi-purpose fitting program. It can manipulate complete columns of numbers in the form of vector arithmetic. FUDGIT is also an expression language interpreter understanding most of C grammar except pointers. Morever, FUDGIT is a front end for any plotting program supporting commands from stdin. It is a nice mathematical complement to GNUPLOT, for example. requires: GNUPLOT ports: AIX, HPUX, Linux, IRIX, NeXT, SunOS, Ultrix updated: 1993/02/22 language: Unix BC (arbitrary-precision arithmetic language) package: C-BC version: 1.1 parts: bytecode compiler, interpreter, documentation, examples author: Mark Hopkins location: alt.sources (10/04/93), or contact author by E-mail. description: A strongly typed version of BC with expanded C-like syntax, more base types, with ability to form array and pointer types of any dimension and to allocate/free arrays at run-time. conformance: Most POSIX-BC features supported, except functions must be declared consistently and declared before first use. String handling slightly different. reference: C-BC implementation notes contained with software documentation requires: ANSI-C compiler ports: DOS, Unix portability: No system dependent features present. updated: 1993/08/23 language: Unix BC (arbitrary-precision arithmetic language) package: GNU BC version: 1.02 parts: parser (yacc), interpreter, BC math library author: Philip A. Nelson location: ftp bc-1.02.tar.Z from a GNU archive site description: BC is an arbitrary precision numeric processing language with a C-like syntax that traditionally provided a front-end to DC. This version, however, is self-contained and internally executes its own compiled code (unrelated to DC code). conformance: Superset of POSIX BC (P10003.2/D11), with a POSIX-only mode. restriction: Source code falls under the GNU CopyLeft. requires: vsprintf and vfprintf routines ports: Unix (BSD, System V, MINIX, POSIX) updated: ? language: Calc? (symbolic math calculator) package: Calc version: 2.02 parts: interpreter, emacs mode, documentation author: Dave Gillespie location: ftp calc-2.02.tar.z from a GNU archive site description: Calc is an extensible, advanced desk calculator and mathematical tool written in Emacs Lisp that runs as part of GNU Emacs. It is accompanied by the "Calc Manual", which serves as both a tutorial and a reference. If you wish, you can use Calc as only a simple four-function calculator, but it also provides additional features including choice of algebraic or RPN (stack-based) entry, logarithms, trigonometric and financial functions, arbitrary precision, complex numbers, vectors, matrices, dates, times, infinities, sets, algebraic simplification, differentiation, and integration. bugs: ? updated: ? language: C-like caluculator package: Arbitrary precision calculator version: 1.26.4 parts: interpreter author: David I. Bell location: ftp pub/calc from ftp.uu.net description: Arbitrary precision C-like calculator [similar to BC? --ed] ports: Linux updated: 1993/06/15 language: Unix DC (arbitrary-precision arithmetic language) package: GNU DC version: 0.2 parts: interpreter author: ? location: ftp dc-0.2.tar.Z from a GNU archive site description: DC is the language for an arbitrary precision postfix calculator. This version is a subset of DC that handles all the Unix DC operations, except the (undocumented) array operations. status: Attempting integration with GNU BC. updated: 1993/05/21 language: Fortran package: f2c version: 1993.04.28 parts: translator (to C), postscript documentation, man pages, support libraries. author: S. I. Feldman, D. M. Gay, M. W. Maimone and N. L. Schryer location: ftp from netlib@research.att.com:netlib/f2c/src/* description: translator (Fortran 77 to ANSI C or C++) bugs: D. M. Gay updated: 1993 April 27 language: Fortran package: Floppy version: ? parts: ? author: ? location: ffccc in comp.sources.misc archive volume 12 description: ? contact: ? updated: 1992/08/04 language: Fortran package: Flow version: ? parts: ? author: Julian James Bunn location: comp.sources.misc archive volume 31 description: The Flow program is a companion to Floppy, it allows the user to produce various reports on the structure of Fortran 77 code, such as flow diagrams and common block tables. requires: Floppy ports: VMS, Unix, CMS updated: ? language: Fortran package: Adaptor (Automatic DAta Parallelism TranslatOR) version: 1.0 parts: preprocessor, library, documentation author: ? location: ftp gmd/adaptor/adp_1.0.tar.Z from ftp.gmd.de description: Adaptor is a tool that transforms data parallel programs written in Fortran with array extensions, parallel loops, and layout directives to parallel programs with explicit message passing. ADAPTOR is not a compiler but a source to source transformation that generates Fortran 77 host and node programs with message passing. The new generated source codes have to be compiled by the compiler of the parallel machine. ports: CM-5, iPCS/860, Meiko CS1/CS2, KSR 1, SGI, Alliant, network of Suns, or RS/6000s contact: Thomas Brandes updated: 1993/06 language: Fortran, C package: cfortran.h version: 2.6 parts: macros, documentation, examples author: Burkhard Burow location: ftp cfortran/* from zebra.desy.de description: cfortran.h is an easy-to-use powerful bridge between C and FORTRAN. It provides a completely transparent, machine independent interface between C and FORTRAN routines and global data. cfortran.h provides macros which allow the C preprocessor to translate a simple description of a C (Fortran) routine or global data into a Fortran (C) interface. reference: reviewed in RS/Magazine November 1992 and a user's experiences with cfortran.h are to be described in the 1/93 issue of Computers in Physics. ports: VAX VMS or Ultrix, DECstation, Silicon Graphics, IBM RS/6000, Sun, CRAY, Apollo, HP9000, LynxOS, f2c, NAG f90. portability: high contact: burow@vxdesy.cern.ch updated: 1992/04/12 language: Fortran package: fsplit version: ? parts: ? author: ? location: ? description: a tool to split up monolithic fortran programs updated: ? language: Fortran package: ? version: ? parts: ? author: Steve Mccrea location: ? description: a tool to split up monolithic fortran programs requires: new awk updated: ? language: Fortran package: Fortran77 -> Fortran90 converter version: ? 1 parts: translator(Fortran 77 -> Fortran 90), documentation? author: metcalf@cernvm.cern.ch location: ftp pub/MandR/convert.f90 from jkr.cc.rl.ac.uk description: A Fortran77 to Fortran90 translator. There's a number of significant differences between the two Fortrans that makes a package like this useful. updated: 1993/07/17 language: Fortran package: F-curses version: ? parts: library author: Wade Schauer location: comp.sources.misc volume 44 description: F-curses (C) is a library of Fortran and C routines that gives Fortran programmers tranparent access to the curses library (a C library). restriction: shareware ports: UNIX, MS-DOS updated: 1994/10/10 language: Fortran iref: (Fortran) Stanford SUIF Compiler language: Fortran package: ? version: ? parts: semantic analyser author: ? location: http://www.nag.co.uk:70/ description: Fortran 90 semantic analyser updated: ? language: J package: J from ISI version: 6 parts: interpreter, tutorial author: Kenneth E. Iverson and Roger Hui location: ftp languages/apl/j/* from watserv1.waterloo.edu description: J was designed and developed by Ken Iverson and Roger Hui. It is similar to the language APL, departing from APL in using using the ASCII alphabet exclusively, but employing a spelling scheme that retains the advantages of the special alphabet required by APL. It has added features and control structures that extend its power beyond standard APL. Although it can be used as a conventional procedural programming language, it can also be used as a pure functional programming language. ports: Dec, NeXT, SGI, Sun-3, Sun-4, VAX, RS/6000, MIPS, Mac, Acorn IBM-PC, Atari, 3b1, Amiga updated: 1992/10/31 language: Ratfor package: ? ratfor ? version: ? parts: translator(Ratfor->Fortran IV) author: Brian Kernighan and P.J. Plauger (wrote the book anyway) location: comp.sources.unix archives volume 13 description: Ratfor is a front end language for Fortran. It was designed to give structured control structures to Fortran. It is mainly of historical significance. updated: ? language: Y (cross between C and Ratfor) package: y+po version: ? parts: compiler author: Jack W. Davidson and Christopher W. Fraser location: ftp pub/y+po.tar.Z from ftp.cs.princeton.edu description: Davidson/Fraser peephole optimizer PO [1-3] [where the GCC RTL idea and other optimization ideas came from] along with the Y compiler [cross between C+ratfor] is ftpable from ftp.cs.princeton.edu: /pub/y+po.tar.Z. It is a copy of the original distribution from the University of Arizona during the early 80's, totally unsupported, almost forgotten [do not bug the authors] old code, possibly of interest to compiler/language hackers. reference: Jack W. Davidson and Christopher W. Fraser, "The Design and Application of a Retargetable Peephole Optimizer", TOPLAS, Apr. 1980. Jack W. Davidson, "Simplifying Code Through Peephole Optimization" Technical Report TR81-19, The University of Arizona, Tucson, AZ, 1981. Jack W. Davidson and Christopher W. Fraser, "Register Allocation and Exhaustive Peephole Optimization" Software-Practice and Experience, Sep. 1984. status: history updated: ? electrical engineering languages ------------------------------------------------------------------------------- category: electrical engineering languages description: These are languages used for simulating, designing, and specifying circuits. language: CASE-DSP (Computer Aided Software Eng. for Digital Signal Proc) package: Ptolemy version: 0.4.1 parts: grahpical algorithm layout, code generator, simulator author: ? location: ftp pub/ptolemy/* from ptolemy.bekeley.edu description: Ptolemy provides a highly flexible foundation for the specification, simulation, and rapid prototyping of systems. It is an object oriented framework within which diverse models of computation can co-exist and interact. For example, using Ptolemy a data-flow system can be easily connected to a hardware simulator which in turn may be connected to a discrete-event system, etc. Because of this, Ptolemy can be used to model entire systems. In addition, Ptolemy now has code generation capabilities. from a flow graph description, Ptolemy can generate both C code and DSP assembly code for rapid prototyping. Note that code generation is not yet complete, and is included in the current release for demonstration purposes only. requires: C++, C ports: Sun-4, MIPS/Ultrix; DSP56001, DSP96002. status: active research project discussion: ptolemy-hackers-request@ohm.berkeley.edu contact: ptolemy@ohm.berkeley.edu updated: 1993/04/22 language: EDIF (Electronic Design Interchange Format) package: Berkeley EDIF200 version: 7.6 parts: translator-building toolkit author: Wendell C. Baker and Prof A. Richard Newton of the Electronics Research Laboratory, Department of Electrical Engineering and Computer Sciences at the University of California, Berkeley, CA location: ftp from pub/edif in ic.berkeley.edu description: ? restriction: no-profit w/o permission ports: ? updated: 1990/07 language: Verilog, XNF package: XNF to Verilog Translator version: ? parts: translator(XNF->Verilog) author: M J Colley location: ftp pub/dank/xnf2ver.tar.Z from punisher.caltech.edu description: This program was written by a postgraduate student as part of his M.Sc course, it was designed to form part a larger system operating with the Cadence Edge 2.1 framework. This should be born in mind when considering the construction and/or operation of the program. updated: ? language: VHDL package: ALLIANCE version: 1.1 parts: compiler, simulator, tools and environment, documentation author: ? location: ftp pub/cao-vlsi/alliance from ftp-masi.ibp.fr description: ALLIANCE 1.1 is a complete set of CAD tools for teaching Digital CMOS VLSI Design in Universities. It includes VHDL compiler and simulator, logic synthesis tools, automatic place and route, etc... ALLIANCE is the result of a ten years effort at University Pierre et Marie Curie (PARIS VI, France). ports: Sun4, also not well supported: Mips/Ultrix, 386/SystemV discussion: alliance-request@masi.ibp.fr contact: cao-vlsi@masi.ibp.fr updated: 1993/02/16 language: VHDL package: VHDL Object Model (VOM) version: 1.0 parts: parser author: David Benz and Phillip Baraona location: ftp pub/vhdl/tools/vhdl-object-model.tar.g from thor.ece.uc.edu description: VOM 1.0 is an object-oriented syntactic specification for VHDL written using the REFINE software design and synthesis environment. In simpler terms, it is a VHDL parser which builds an object tree from VHDL source code. If you are interested in transforming VHDL into some other form (source code, whatever) you might be interested in this. The parse tree (in the form of an object tree) is provided, you would just need to add your own transformations. VOM isn't complete. The semantic information is not included (type checking, certain syntactic-rules, etc.). VOM 1.0 should parse most VHDL programs. However, it will not detect errors such as a wait statement in a process statement with an explicit sensitivity list. updated: 1994/11/01 -- Send compilers articles to compilers@iecc.com, meta-mail to compilers-request@iecc.com. From free-compilers@idiom.com Sun May 7 00:10:51 1995 Newsgroups: comp.compilers,comp.lang.misc,comp.archives.admin,news.answers,comp.answers From: free-compilers@idiom.com (Steven Robenalt) Subject: Catalog of compilers, interpreters, and other language tools [p5of5] Followup-To: comp.lang.misc Summary: Monthly posting of free language tools that include source code Keywords: tools, FTP, administrivia Supersedes: Reply-To: free-compilers@idiom.com (Steven Robenalt) Organization: Idiom Consulting / Berkeley, CA Date: Thu, 4 May 1995 21:34:03 GMT Archive-name: free-compilers/part5 Last-modified: 1995/05/04 Version: 8.0 Wirth family languages ------------------------------------------------------------------------------ category: Wirth family languages description: These are the languages that were either designed by Niklaus Wirth are are descended from them. lref: IFP language: CLU iref: (CLU) Tim Budd's C++ implementation of Kamin's interpreters language: Modula-2, Pascal package: m2 version: ? 7/2/92 ? parts: ? compiler ? author: Michael L. Powell. See description below. location: ftp pub/DEC/Modula-2/m2.tar.Z from gatekeeper.dec.com description: A modula-2 compiler for VAX and MIPS. A Pascal compiler for VAX is also included. The Pascal compiler accepts a language that is almost identical to Berkeley Pascal. It was originally designed and built by Michael L. Powell, in 1984. Joel McCormack made it faster, fixed lots of bugs, and swiped/wrote a User's Manual. Len Lattanzi ported it to the MIPS. conformance: extensions: + foreign function and data interface + dynamic array variables + subarray parameters + multi-dimensional open array parameters + inline proceedures + longfloat type + type-checked interface to C library I/O routines restriction: must pass changes back to Digital ports: vax (ultrix, bsd), mips (ultrix) contact: modula-2@decwrl.pa.dec.com updated: 1992/07/06 language: Modula-2 package: Ulm's Modula-2 System version: 2.2.1 parts: compiler, library, tools author: Andreas Borchert compiler derived from the ETHZ compiler for the Lilith system location: ftp pub/soft/modula/ulm/sun3/modula-2.2.1.tar.Z from titania.mathematik.uni-ulm.de. Please get the READ_ME too. description: ? conformance: PIM3 restriction: commercial use requires licence; compiler sources available by separate licence agreement (licence fee is not required if it is possible to transfer the sources across the network) requires: gas-1.36 (to be found in the same directory) ports: Sun3, Nixdorf Targon/31, Concurrent 3200 Series contact: Andreas Borchert updated: 1992/03/02 language: Modula-2 package: mtc version: 9209 parts: translator(->C) author: Matthias Martin, Josef Grosch location: ftp /gmd/cocktail/{mtc,reuse}.tar.Z from ftp.gmd.de ftp /pub/unix/programming/compilerbau/{mtc,reuse}.tar.Z from ftp.rus.uni-stuttgart.de ftp /pub/programming/languages/compiler-compiler/cocktail/{mtc,reuse}.tar.Z from ftp.th-darmstadt.de ftp /languages/tools/gmd/{mtc,reuse}.tar.Z from src.doc.ic.ac.uk ftp /.3/plan/gmd/{mtc,reuse}.tar.Z from gatekeeper.dec.com description: A Modula-2 to C translator ports: Unix, Linux, MS-DOS, MS-Windows, OS/2 contact: Josef Grosch updated: 1992/10/01 language: Modula-2 package: mocka version: 9404 parts: compiler, library, examples, docs author: ? Holger Hopp location: ftp /pub/mocka/linux/mocka9404* from i44.s10.ira.uka.de or ftp /pub/Linux/devel/modula-2/mocka9404* from sunsite.unc.edu description: A free version of a Modula-2 compiler for the Intel X86 under Linux or 386BSD (and derivatives?). Source code in Modula-2 is available. ports: Linux and 386BSD (also commercial versions) updated: 1994/04/29 language: Modula-2* (parallel extension) package: IPD Modula-2* Programming Environment version: 9401 parts: translator (->C), debugger (SUN4 only), X Windows user panel, automatic cross-architecture make, sequential and parallel libraries, examples, documentation author: IPD Modula-2* team consisting of the following kernel contributors: Thomas Gauweiler, Stefan U. Haenssgen, Ernst A. Heinz, Paul Lukowicz, Hendrik Mager, Michael Philippsen. location: ftp.ira.uka.de (129.13.10.90) in pub/programming/modula2star/ description: Modula-2* is an extension of Modula-2 for highly parallel, portable programs. IPD Modula-2* is provided freely for research, educational and classroom use. A complete sequential Modula-2 environment in provided complemented with a set of parallel libraries, which even include routines for implementing low-level parallel operations. The employment of of C translator allows increased accessibility to actual parallel machines (many have nothing lower-level than C), at the expense of Modula-2 features of arrays bounds checking and symbolic debugging at the Modula-2* level. [An interpreter could be written with functionality subsuming that of a symbolic debugger. -- Mark] conformance: PIM but not ISO compliant reference: J.R. Smith. "The design and analysis of parallel algorithms. Chapter 3: Modula-2*." Oxford University Press, December 1992. M. Philippsen, E.A. Heinz, and P. Lukowicz. "Compiling machine-independent parallel programs." ACM SIGPLAN Notices, v. 28, no. 8, pp. 99-108, August 1993. M. Philippsen, T.M. Warschko, W.F. Tichy, C.G. Herter, E.A. Heinz, and P. Lukowicz. "Project Triton: Towards improved programmability of parallel computers." In D.J. Lija and P.L. Bird (eds), The Interaction of Compilation Technology and Computer Architecture, Kluwer Academic Publishers, 1994. Others available from i41s10.ira.uka.de (129.13.13.110) in pub/m2s/*.ps ports: 386 and above with BSDI/386 or Linux (sequential), KSR-1/KSR-2 with KSR-OS (sequential and parallel), DECStation (R3000/R4000) with Ultrix (sequential), MP-1/MP-2 (DECStation frontend) with MP-Ultrix (parallel) SUN (Sun-3, Sun-4 SPARCStation) with SunOS (sequential), portability: sources are for GMD Mocka Modula-2 compiler status: supported updated: ??? language: Modula-2, Modula-3 package: m2tom3 version: 2.00 parts: Translator (Modula-2->Modula-3), Modula-2 standard library emulation author: Peter Klein location: ftp://ftp-i3.informatik.rwth-aachen.de/pub/Modula-3-Contrib/m2tom3/m2tom3-2.00.tar.gz description: m2tom3 is a system to port Modula-2 programs to Modula-3. It consists of two parts: 1) A conversion program which tries to create a Modula-3 source text with the same semantics as the Modula-2 input while retaining the original look and feel as good as possible. 2) A base library which tries to emulate the Modula-2 standard library using the Modula-3 standard library. This version performs a wide range of conversions including WITH-statements, variant RECORDS, qualification of enumeration type literals etc. For a detailed description, see the enclosed README file. requires: DEC SRC Modula-3 release 3.3 help: announcements: comp.lang.modula2, comp.lang.modula3 contact: updated: 1994/11/30 language: pm2 package: PRAM emulator and parallel modula-2 compiler ?? version: ? parts: compiler, emulator author: ? location: ftp pub/pram/* from cs.joensuu.fi description: A software emulator for parallel random access machine (PRAM) and a parallel modula-2 compiler for the emulator. A PRAM consists of P processors, an unbounded shared memory, and a common clock. Each processor is a random access machine (RAM) consisting of R registers, a program counter, and a read-only signature register. Each RAM has an identical program, but the RAMs can branch to different parts of the program. The RAMs execute the program synchronously one instruction in one clock cycle. pm2 programming language is Modula-2/Pascal mixture having extensions for parallel execution in a PRAM. Parallelism is expressed by pardo-loop- structure. Additional features include privat/shared variables, two synchronization strategies, load balancing and parallel dynamic memory allocation. contact: Simo Juvaste updated: 1993/02/17 language: Modula-3 package: SRC Modula-3 version: 3.5 parts: compiler(->C), runtime library, documentation author: DEC Systems Research Center LINUX version compiled by Michel Dagenais location: ftp pub/DEC/Modula-3/release-3.5/*.tar.gz from gatekeeper.dec.com MSDOS: ftp pub/DEC/Modula-3/contrib/m3pc* from gatekeeper.dec.com Linux: ftp.vlsi.polymtl.ca in pub/m3/linux (binaries only) description: The goal of Modula-3 is to be as simple and safe as it can be while meeting the needs of modern systems programmers. Instead of exploring new features, we studied the features of the Modula family of languages that have proven themselves in practice and tried to simplify them into a harmonious language. We found that most of the successful features were aimed at one of two main goals: greater robustness, and a simpler, more systematic type system. Modula-3 retains one of Modula-2's most successful features, the provision for explicit interfaces between modules. It adds objects and classes, exception handling, garbage collection, lightweight processes (or threads), and the isolation of unsafe features. conformance: implements the language defined in SPwM3. requires: gcc, preferrably X11 ports: i386/AIX 68020/DomainOS Acorn/RISCiX MIPS/Ultrix 68020/HP-UX RS6000/AIX IBMRT/4.3 68000/NextStep i860/SVR4 SPARC/SunOS 68020/SunOS sun386/SunOS Multimax/4.3 VAX/Ultrix discussion: comp.lang.modula3 contact: Bill Kalsow updated: 1994/07/09 language: Oberon2 package: Oberon-2 LEX/YACC definition version: 1.4 parts: parser(yacc), scanner(lex) author: Stephen J Bevan location: ftp pub/oberon/tools/o2lexyac.tar.Z from ftp.psg.com or mail bevan@cs.man.ac.uk with Subject "b-server-request~ and body "send oberon/oberon_2_p_v1.4.shar" description: A LEX and YACC grammar for Oberon 2 based on the one given in the listed reference. reference: The Programming Language Oberon-2 H. M\"{o}ssenb\"{o}ck, N. Wirth Institut f\"{u}r Computersysteme, ETH Z\"{u}rich January 1992 ftp Oberon/Docu/Oberon2.Report.ps.Z from neptune.inf.ethz.ch restriction: Portions of the source under copyright by U. Manchester. status: un-officially supported updated: 1992/07/06 language: Oberon package: Ceres workstation Oberon System version: ? parts: compiler author: ? location: ftp Oberon/? from neptune.ethz.ch description: file format is Oberon, binary header status: The sources to the various _full_ implementations are indeed not available but the source to most of the complete Ceres workstation Oberon System, including NS32032 code generator but less low level system specific is available. This includes the complete Oberon compiler written in Oberon. updated: ? language: Oberon package: Ulm's Oberon System version: 0.4 parts: compiler, tools, library, documentation author: Andreas Borchert location: ftp pub/soft/oberon/ulm/sun3/oberon-0.4.tar.gz from titania.mathematik.uni-ulm.de. description: In comparison to the Oberon Systems of ETH Zurich this system may be used like other traditional language systems (e.g. cc). It consists of a compiler, a makefile generator, a debugger, and a large library which has a system-independent kernel that supports exception handling, concurrency, synchronization, persistence, and distributed systems. The package contains a copying garbage collector. The compiler is written in Modula-2, the debugger in C, all other parts are written in Oberon. conformance: N. Wirth, ``The Programming Language Oberon'', SP&E July 1988 with some selective adaptions of later revisions. The compiler still requires the separation of definitions & modules like Modula-2. restriction: The compiler and associated tools fall under the GNU CopyLeft, and the library under the GNU library general public license. ports: Sun3/SunOS 4.1.1, Nixdorf Targon/31 status: Active -- will be ported to SPARC/Solaris 2.x announcements: New releases will be announced in comp.lang.oberon. updated: 1994/07/20 language: Oberon-2 package: o2c version: 1.4 author: Michael van Acken Juergen Zimmermann location: ftp://ftp.uni-kl.de/pub/informatik/software/o2c-1.4.tar.gz description: o2c is an Oberon-2 compiler that translates into the C dialect accepted by the GNU C compiler (version 2.5.8 or above). The compiler provides it's own make facility. The package includes a symbol file browser and a GNU Emacs mode that allows to use Emacs as a comfortable programming environment for the compiler. o2c is known to run on several 32bit UNIX-plattforms. It comes with full source-code. conformance: The programming language Oberon-2, Oct. 93, ETH Zuerich restriction: GNU General Public License ports: UNIX, tested on [GNU-cannonical name/GCC version] hppa1.1-hp-hpux/2.5.8 sparc-sun-sunos4.1.3/2.5.8 sparc-sun-sunos4.1.3_U1/2.6.2 iX86-unknown-linux/2.5.8 iX86-unknown-linux/2.6.3 contact: oberon1@informatik.uni-kl.de updated: 1995/04 language: Parallaxis package: parallaxis version: 2.0 parts: ?, simulator, x-based profiler author: ? location: ftp pub/parallaxis from ftp.informatik.uni-stuttgart.de description: Parallaxis is a procedural programming language based on Modula-2, but extended for data parallel (SIMD) programming. The main approach for machine independent parallel programming is to include a description of the virtual parallel machine with each parallel algorithm. ports: MP-1, CM-2, Sun-3, Sun-4, DECstation, HP 700, RS/6000 contact: ? Thomas Braunl ? updated: 1992/10/23 language: Pascal package: p2c version: 1.20 parts: translator(Pascal->C) author: Dave Gillespie location: ftp ? from csvax.cs.caltech.edu description: ? conformance: supports ANSI/ISO standard Pascal as well as substantial subsets of HP, Turbo, VAX, and many other Pascal dialects. ports: ? updated: 1990/04/13 language: Pascal package: Pascal P4 compiler and interpreter version: ? 1 parts: compiler, assembler/interpreter, documentation author: Urs Ammann, Kesav Nori, Christian Jacobi location: ftp /pub/pascal/* from ftp.cwi.nl or http://www.cwi.nl/~steven/pascal.html description: A compiler for Pascal written in Pascal, producing an intermediate code, with an assembler and interpreter for the code. reference: Pascal Implementation, by Steven Pemberton and Martin Daniels, published by Ellis Horwood, Chichester, UK (an imprint of Prentice Hall), ISBN: 0-13-653-0311. Also available in Japanese. contact: updated: 1993/07/05 language: Pascal package: ? iso_pascal ? version: ? parts: scanner(lex), parser(yacc) author: ? location: comp.sources.unix archive volume 13 description: ? updated: ? language: Pascal package: pasos2 version: Alpha parts: Compiler, run-time library author: Willem Jan Withagen location: ftp pub/src/pascal/pasos2* from ftp.eb.ele.tue.nl description: a PASCAL/i386 compiler which generates code for OS/2 and DOS. It uses EMX as DOS extender and GNU/GAS, MASM or TASM as assembler. updated: 1993/12/17 language: Pascal package: ptc version: ? parts: translator(Pascal->C) author: ? location: ftp languages/ptc from uxc.sco.uiuc.edu ? (use archie?) description: ? contact: ? updated: ? language: Turbo Pascal, Turbo C package: tptc version: ? parts: translator(Turbo Pascal->Turbo C) author: ? location: ftp mirrors/msdos/turbopas/tptc17*.zip from wuarchive.wustl.edu description: (It does come with full source and a student recently used it as a start for a language that included stacks and queues as a built-in data type. contact: ? updated: ? language: Pascal package: Pascal version: 1.0 parts: compiler(->C), library, assembler, linker etc author: Henrik Quintel location: ftp minix/pascal/? from top.cs.vu.nl description: Supports standard pascal with a few exceptions (set of.. , packed arrays, packed records, procedures/functions as parameters) features: Read the README file bugs: Cos, tan, sin.... does not work right ! requires: PC-Minix 1.6.25 help: support: announcements: comp.os.minix, comp.compilers contact: updated: 1994/01/04 language: Pascal iref: (Pascal) Tim Budd's C++ implementation of Kamin's interpreters assemblers ------------------------------------------------------------------------------- category: assemblers language: various assembly package: GNU assembler (GAS) version: 2.5.2 parts: assembler, documentation author: ? location: ftp binutils-*.tar.z from a GNU archive site description: Many CPU types are now handled, and COFF and IEEE-695 formats are supported as well as standard a.out. bugs: bug-gnu-utils@prep.ai.mit.edu ports: Sun-3, Sun-4, i386/{386BSD, BSD/386, Linux, PS/2-AIX}, VAX/{Ultrix,BSD,VMS} updated: 1994/11/02 language: various assembly package: fas: Frankenstein Cross Assemblers version: ? parts: base assembler, parser modules (yacc), documentation? author: Mark Zenier location: ftp.njit.edu:/pub/msdos/frankasm/frankasm.zoo [Inform me of the other sites -Mark] description: A reconfigurable assembler package, especially suited for 8-bit processors, consisting of a base assembler module and a yacc parser, for each microprocessor, to handle mnemonics and addressing. Second party parser modules available from many sites. requires: YACC updated: ? language: 6502, Z80, 8085, 68xx package: ? version: ? parts: ? author: msmakela@cc.helsinki.fi and Alan R. Baldwin location: ftp ? from ccosun.caltech.edu description: I have enhanced a set of 68xx and Z80 and 8085 cross assemblers to support 6502. These assemblers run on MS-DOS computers or on any systems that support standard Kerninghan & Richie C, for example, Amiga, Atari ST and any "big" machines updated: 1993/03/10 language: 6502, 6800, and 16 and 32 bit machine-independent skeletons package: ? version: ? parts: assembler, manual author: Doug Jones location: http://www.cs.uiowa.edu/~jones/cross/ ftp.cs.uiowa.edu:/pub/jones/smal description: Supports macro and conditional features, even, as well as being usable for linkage editing of object files. Easy to modify to support other machines. requires: Pascal updated: ? language: 65xx assembler package: d65 disassembler version: 0.1.0 parts: disassembler, documentation author: Marko.Makela@Helsinki.FIo location: ftp.funet.fi in /pub/cbm/programming/d65-0.1.0.tar.gz. description: A disassembler for the 65xx microprocessor. ports: Unix updated: 1994/06/15 language: mc6809 package: usim version: 0.90 parts: simulator, documentation author: Ray P. Bellis location: ftp /pub/mc6809/usim-* from ftp.mrc-bbc.ox.ac.uk Alt.sources archive at FTP site: wuarchive.wustl.edu in usenet/alt.sources/articles files 10405.Z 10406.Z and 10407.Z description: a mc6809 simulator updated: 1994/05/30 language: mc6809 package: 6809, E-Forth version: ? parts: assembler, simulator author: Lennart Benschop location: alt.sources, 1993/11/03 <2b8i2r$j0e@tuegate.tue.nl> description: An assembler and simulator for the Motorola M6809 processor. Also included is a Forth interpreter, E-Forth written in 6809. ports: assembler: Unix, DOS; simulator: Unix updated: 1993/11/03 language: 68HC11 package: 68HC11 simulator version: ? 1 parts: simulator author: Ted Dunning location: ftp pub/non-lexical/6811/sim6811.shar from crl.nmsu.edu description: An opcode simulator for the 68HC11 processor. Interrupts, hardware I/O, and half carries are still outside the loop. [Adding interrupts may require simulating at the clock phase level -Mark] ports: unix?, ms-dos updated: 1993/07/28 language: 8051 package: CAS 8051 Assembler version: 1.2 parts: assembler/linker, disassembler, documentation, examples author: Mark Hopkins location: ftp pub/8051/assem from lyman.pppl.gov Europe: ftp pub/microprocs/MCS-51/csd4-archive/assem from nic.funet.fi description: experimental one-pass assembler for the 8051 with C-like syntax. Most features of a modern assembler included except macros (soon to be added). Other software tools and applications contained in /pub/compilers/8051/*. requires: ANSI-C compiler ports: MSDOS, Ultrix, Sun4 (contact author) updated: 1993/07/22 language: 8051 package: as31 - An 8031/8051 assembler. version: ? 1 parts: assembler, parser(yacc), documentation author: Ken Stauffer (Theo Deraadt wrote the S-record output routines) location: comp.sources.misc volume 10 description: Assembler with ability to produce a variety of object output formats, including S-records. ports: SUN 3 / SUN 4 (SunOS 4.0), Tandy 6000 (Xenix) portability: File I/O may require porting on non-Unixs. updated: 1990/01/26 language: Motorola DSP56000 package: ? version: 1.1 parts: assembler author: Quinn Jensen location: alt.sources archive or ftp ? from wuarchive.wustl.edu description: ? updated: ? language: Motorola DSP56001 package: a56 version: 1.2 parts: assembler author: Quinn Jensen location: ftp pub/pin/misc/a56/a56v1.2* from ftp.novell.com description: DSP56001 cross-assembler written in YACC. Produces OMF or S-record format output suitable for serial download or EPROM. Package includes sample 56001 code fragments that implement musical DSP effects like reverberation, chorus, and flange. ports: Unix, DOS announcements: comp.dsp,comp.music updated: 1994/09/07 language: DSP32C package: a32src version: ? parts: assembler author: Tom Roberts location: comp.sources.misc volume 44 description: This is an assembler for the AT&T DSP32C Digital Signal Processor chip. This is source for the assembler and for an enhanced C pre-processor; a DSP test program is included. portability: probably high ports: MS-DOS updated: 1994/09/23 language: 80486 package: WDASM17B.ZIP - Windows 80486 Disassembler for Windows 3.1 version: 1.7b parts: disassembler author: Eric Grass location: SIMTEL20, pd1: description: An interactive 80486 disassembler for Windows 3.1. Multiple options for formatting disassembly exist. ports: Windows3.1 portability: Windows-specific updated: 1993/06/29 language: Assember (SPARC) package: elfdis version: 2.3 parts: disassembler author: Bruce Ediger location: comp.sources.misc archives volume 42, issue 83 description: An object code disassembler for SPARC which, unlike the native SPARC disassembler, uses the relocation and dynamic linking information in the Elf file. updated: 1994/05/08 language: 68000 assembler package: m68kdis version: ?? parts: documentation, disassembler author: Christopher Phillips location: comp.sources.misc volume 45 description: A disassembler for the M68000 family of microprocessors. Some extra functionality for Macintosh resource forks is provided. updated: 1994/11/08 macro preprocessors ------------------------------------------------------------------------------- category: macro preprocessors description: These are tools that expand macros for another language. iref: (C) GNU CC iref: (C) lcc -- [I assume lcc has a preprocessor? --ed] language: C preprocessor package: Decus cpp version: ? parts: pre-processor author: Martin Minow location: included in the X11R5 distribution as contrib/util/cpp description: An almost-ANSI C preprocessor. It is shipped with X11R5 because some systems don't have a working cpp. ports: VMS (Vax C, Decus C), RSX-11M, RSTS/E, P/OS, and RT11, A/UX, Apollo Domain/IX 9.6, etc. portability: very high updated: ? language: C-Refine,C++-Refine&comma *-Refine package: crefine version: 3.0 parts: pre-processor, documentation author: Lutz Prechelt location: aquire from any comp.sources.reviewed archive description: C-Refine is a preprocessor for C and languages that vaguely resemble C's syntax. It allows symbolic naming of code fragments so as to redistribute complexity and provide running commentary. ports: unix, msdos, atari, amiga. portability: high updated: 1992/07/16 language: m4 package: pd/bsd m4 version: ? parts: interpreter, man page author: Ozan Yigit , Richard A. O'Keefe location: ftp from any 386BSD, NetBSD, or FreeBSD archive description: A macro preprocessor, more flexible than cpp conformance: ? updated: 1993/11/03 language: m4 package: GNU m4 version: 1.4 parts: interperter author: Francois Pinard location: ftp m4-1.4.tar.gz from a GNU archive site Macintosh: ftp pub/software/mac/src/mpw-c/* from nic.switch.ch. description: A macro preprocessor, more flexible than cpp. It copies its input to the output, expanding macros. Macros are either built-in or user-defined. `m4' has built-in functions for including files, running Unix commands, doing integer arithmetic, manipulating text in various ways, recursing, etc. `m4' can be used either as a front-end to a compiler or as a macro processor in its own right. conformance: Mostly SVR4 compatible with a few extensions. restriction: GNU General Public License updated: 1994/11/06 special purpose languages ------------------------------------------------------------------------------- category: special purpose languages description: Languages with very specific purposes that are the only free language in that niche (otherwise they would have a category) language: ADL (Adventure Definition Language) package: ADL version: ? parts: interpreter author: Ross Cunniff , Tim Brengle location: comp.sources.games archive volume 2 description: An adventure language, semi-object-oriented with LISP-like syntax. A superset of DDL. updated: ? language: ASA package: Adaptive Simulated Annealing (ASA) version: 3.13 parts: ? author: Lester Ingber location: ftp pub/ingber/ from ftp.alumni.caltech.edu [131.215.139.234] description: ? Language interface to neural net simulator? discussion: asa-request@alumni.caltech.edu updated: 1994/05/31 language: ASN.1 (Abstract Syntax Notation One) package: snacc (Sample Neufeld ASN.1 to C/C++ Compiler) version: 1.1 parts: compiler, runtime BER libraries, utility progs author: Mike Sample location: ftp /pub/local/src/snacc/snacc1.1.tar.Z from ftp.cs.ubc.ca description: ASN.1 is a language used to describe data structures in a machine and implementation lang independent way. Basic Encoding Rules (BER) provide a universal (contiguous) representation of data values. ASN.1 & BER were designed to exchange data (with complex structure) over networks. OSI Application protocols such as X.400 MHS (email) and X.500 directory and others protocols such as SNMP use ASN.1 to describe the PDUs they exchange. Snacc compiles 1990 ASN.1 (including some macros) data structures into C, C++ or type tables. The generated C/C++ includes a .h file with the equivalent data struct and a .c/.C file for the BER encode and decode, print and free routines. conformance: ITU T X.680/ISO 8824 (1994) CCITT X.208 (1988), aka CCITT X.409 (1984) reference: Michael Sample and Gerald Neufeld, "Implementing Efficient Encoders and Decoders for Network Data Representations", IEEE INFOCOM '93 Proceedings, Vol 3, pp 1143-1153, Mar 1993 Michael Sample, "How Fast Can ASN.1 Encoding Rules Go?", M.Sc. Thesis, University of British Columbia, Apr 1993 restriction: Compiles under GNU Public License. No restriction on libs and C/C++/tables generated by snacc. requires: yacc (or bison), lex (or flex) and cc (ANSI or non-ANSI) contact: mailing list: mailing list join/quit requests: Barry Brachman updated: 1993/07/12 language: CLIPS package: CLIPS version: 6.02 parts: interpreter author: Gary Riley and Brian Donnell location: ftp user/ai/areas/expert/systems/clips from ftp.cs.cmu.edu description: CLIPS is an expert system tool which provides a complete environment for the construction of rule and/or object based expert systems (computer programs which emulate human expertise). CLIPS provides a cohesive tool for handling a wide variety of knowledge with support for three different programming paradigms: rule-based, object-oriented and procedural. bugs: A list of bug fixes for CLIPS 6.0 and the replacement source files to fix the bugs are available by anonymous ftp from hubble.jsc.nasa.gov in the directory /pub/clips/Bug-Fixes. ports: Mac, Win 3.1, DOS, Sun Sparc (X Windows), others. portability: Highly portable. requires: ANSI C Compiler status: active, supported discussion: Mailing list - send a single line message to listserv@cossack.cosmic.uga.edu saying SUBSCRIBE CLIPS-LIST Usenet - comp.ai.shells help: support: Software Technology Branch (STB) Help Desk voice - (713)286-8919 from 9:00 AM to 4:00 PM (CST). email - FAX - (713) 244-5698. updated: 5/5/94 language: Duel (a C debugging language) package: DUEL version: 1.10 parts: interpreter, stand-alone module, documentation, test suites author: Michael Golan location: ftp duel/* from ftp.cs.princeton.edu description: DUEL acts as front end to gdb. It implements a language designed for debbuging C programs. It mainly features efficient ways to select and display data items. It is normally linked into the gdb executable, but could stand alone. It interprets a subset of C in addition to its own language. requires: gdb status: author is pushing the system hard. updated: 1993/03/20 language: IDL (Project DOE's Interface Definition Language) package: SunSoft OMG IDL CFE version: 1.2 parts: compiler front end, documentation author: SunSoft Inc. location: ftp pub/OMG_IDL_CFE_1.2/* from omg.org description: OMG's (Object Management Group) CORBA 1.1 (Common Object Request Broker Architecture) specification provides the standard interface definition between OMG-compliant objects. IDL (Interface Definition Language) is the base mechanism for object interaction. The SunSoft OMG IDL CFE (Compiler Front End) provides a complete framework for building CORBA 1.1-compliant preprocessors for OMG IDL. To use SunSoft OMG IDL CFE, you must write a back-end; full instructions are included. A complete compiler of IDL would translate IDL into client side and server side routines for remote communication in the same manner as the currrent Sun RPCL compiler. The additional degree of freedom that the IDL compiler front end provides is that it allows integration of new back ends which can translate IDL to various programming languages. Several companies including Sunsoft are building back ends to the CFE which translate IDL into target languages, e.g. Pascal or C++, in the context of planned CORBA-compliant products. requires: C++ 2.1 conformant C++ compiler contact: idl-cfe@sun.com updated: 1993/05/04 language: NeuDL package: NeuDL - Neural-Network Description Language version: 0.2 parts: NeuDL interpreter, translator (NewDL->C++), user manual, NeuDL paper, examples author: Joey Rogers location: cs.ua.edu in /pub/neudl/NeuDLver02.tar.gz description: A prototype of a neural network description language with a C++ - like syntax currently limited to backpropagation neural nets. There is enough flexibility in the language, though, to allow users to create dynamic neural net configurations. The source is written in C++. updated: 1994/05/23 language: NeuronC package: nc version: ? parts: ? author: Robert G. Smith location: retina.anatomy.upenn.edu:pub/nc.tgz description: Neuronc ("nc") is a general-purpose programming language with a C-like syntax with special features for simulating large neural circuits using compartments. The source is written in C++, but facilities are included for converting the software to ANSI-C. reference: Smith, R.G. (1992) NeuronC: a computational language for investigating functional architecture of neural circuits. J. Neurosci. Meth. 43: 83-108. ports: Unix: SGI, Sun, IBM AIX, and Linux. updated: 1994/05/24 language: NewsClip ? package: NewsClip version: 1.01 parts: translator(NewsClip->C), examples, documentation author: Looking Glass Software Limited but distributed by ClariNet Communications Corp. location: ? description: NewsClip is a very high level language designed for writing netnews filters. It translates into C. It includes support for various newsreaders. restriction: Cannot sell the output of the filters. Donation is hinted at. status: supported for ClariNet customers only contact: newsclip@clarinet.com updated: 1992/10/25 language: PROGRES package: PROGRES version: RWTH 5.10 parts: environment, interpreter, database, ? author: Dr. Andy Schuerr , Albert Zuendorf location: send mail to authors sun4-bin: ftp pub/unix/PROGRES/? from ftp.informatik.rwth-aachen.de description: PROGRES is an integrated environment for a very high level programming language which has a formally defined semantics based on "PROgrammed Graph Rewriting Systems". This language supports the following programming paradigms/purposes: 1) Structurally object-oriented specification of attributed graph structures with multiple inheritance hierarchies and types of types (for parametric polymorphy). 2) Declarative/relational specification of derived attributes, node sets, binary relationships (directed edges), and Boolean constraints. 3) Rule-oriented/visual specification of parameterized graph rewrite rules with complex application conditions. 4) Nondeterministic & imperative programming of composite graph transformations (with built-in backtracking and cancelling arbitrary sequences of failing graph modifications). Therefore, PROGRES may be used as 1) a very high level programming language for implementing abstract data types with a graph-like internal structure, 2) a visual database programming language for the graph-oriented database system GRAS (which is available as free software under the GNU license conditions), 3) a rule-oriented language for rapid prototyping nondeterministically specified data/rule base transformations. Furthermore, PROGRES is an almost statically typed language which additionally offers "down casting" operators for runtime checked type casting/conversion (in order to avoid severe restrictions concerning the language's expressiveness). PROGRES is meant to be used with GRAS, which is also available updated: 1993/11/02 language: Tiny package: Omega test, Extended Tiny version: 3.2.2 parts: translator(fortran->tiny), tiny interpreter?, analysis tools author: William Pugh and others location: ftp pub/omega from ftp.cs.umd.edu description: The Omega test is implemented in an extended version of Michael Wolfe's tiny tool, a research/educational tool for examining array data dependence algorithms and program transformations for scientific computations. The extended version of tiny can be used as a educational or research tool. The Omega test: A system for performing symbolic manipulations of conjunctions of linear constraints over integer variables. The Omega test dependence analyzer: A system built on top of the Omega test to analyze array data dependences. contact: omega@cs.umd.edu updated: 1992/11/13 language: Extended Tiny package: Extended Tiny version: 3.0 (Dec 12th, 1992) parts: programming environment, dependence tester, tests translator(Fortran->tiny), documentation, tech. reports author: original author: Michael Wolfe , extended by William Pugh et al. location: ftp pub/omega from cs.umd.edu description: A research/educational tool for experimenting with array data dependence tests and reordering transformations. It works with a language tiny, which does not have procedures, goto's, pointers, or other features that complicate dependence testing. The original version of tiny was written by Michael Wolfe, and has been extended substantially by a research group at the University of Maryland. Michael Wolfe has made further extensions to his version of tiny. ports: Any unix system (xterm helpful but not required) contact: Omega test research group updated: 1993/01/23 language: SQL package: _lex & yacc_ by Levine, Mason & Brown published by O'Reilly version: ? parts: book, grammar author: Levine, Mason & Brown location: buy the book, or ftp published/oreilly/nutshell/lexyacc/? from ftp.uu.net. description: In _lex & yacc_, by Levine, Mason & Brown an SQL parser is included as an example grammar updated: ? language: SQL package: MultiCal System version: ? parts: ? author: Richard Snodgrass? location: ftp tsql/multical from FTP.cs.arizona.edu. description: [Anyone care to write a description? - ed] restriction: public domain, freely available contact: rts@cs.arizona.edu updated: ? language: SQL package: mSQL (Mini SQL) version: 0.1 parts: ? interpreter, documentation author: David J. Hughes location: Bond.edu.au [131.244.1.1] in /pub/Bond_Uni/Minerva description: Subset of ANSI SQL implemented with client-server support over TCP/IP. updated: 1994/07/12 language: ModSim - U. S. Army ModSim compiler package: USAModSim version: 1.0 parts: compiler(->C), compilation manager, browser, library, database interface language, documentation author: ? location: ftp from max.cecer.army.mil in /ftp/isle description: ModSim is a general-purpose, block-structured, object- oriented programming language with built in support for Simulation. Its "parent languages" are Modula-2 and Simula. It supports multiple inheritance, templates, reference types, polymorphism, and process-oriented simulation with synchronous and asynchronous activities using explicit simulation time. The documentation is extensive (>300 pages) and very good. ports: SPARC/SunOS, Silicon Graphics. According to the Doc, there is a DOS-Version (not found on the server. contact: Charles Herring updated: 1993/12/29 natural languages ------------------------------------------------------------------------------- category: natural languages description: These are tools that interact with human languages. language: natural languages package: Pleuk grammar development system version: 1.0 parts: shell, examples, documentation author: Jo Calder , Kevin Humphreys , Chris Brew , Mike Reape location: ftp from hostname ai.uga.edu: /ai.natural.language/ description: A shell for grammar development, handles various grammatical formalisms. requires: SICStus Prolog version 2.1#6 or later, and other programs readily available from the public domain. contact: pleuk@cogsci.ed.ac.uk. updated: 1993/06/18 language: natural languages package: proof version: ? parts: parser, documentation author: Craig R. Latta location: ftp src/local/proof/* from scam.berkeley.edu description: a left-associative natural language grammar scanner bugs: proof@xcf.berkeley.edu ports: Decstation3100 Sun-4 discussion: proof-request@xcf.berkeley.edu ("Subject: add me") updated: 1991/09/23 curiosities ------------------------------------------------------------------------------- category: curiosities description: These are the languages and tools that I could not fit into one of the other categories. I am quite willing to reclassify these if provided with a rational way to do so. language: a1 (Address 1 code) package: a1 code interpreter version: ? 1 parts: interpreter, examples author: Matthew Newhook location: garfield.cs.mun.ca:/pub/a1/a1.tar.Z description: An address 1 code interpreter used to test compiler output. requires: gcc 2.4.2 or higher portability: Ports to machine without memory segment protection unverified. updated: 1993/06/02 language: INTERCAL package: C-INTERCAL version: 0.10 parts: compiler(->C), library, documentation author: Eric S. Raymond location: ftp locke.ccil.org:pub/retro/intercal-0.10.tar.gz (in the Museum of Retrocomputing) description: INTERCAL is possibly the most elaborate and long-lived joke in the history of programming languages. It was first designed by Don Woods and Jim Lyons in 1972 as a deliberate attempt to produce a language as unlike any existing one as possible. The manual, describing features of horrifying uniqueness, became an underground classic. ESR wrote C-INTERCAL in 1990 as a break from editing _The_New_Hacker's_Dictionary_, adding to it the first implementation of COME FROM under its own name. The compiler has since been maintained and extended by an international community of technomasochists. The distribution includes extensive documentation and a program library. C-INTERCAL is actually an INTERCAL-to-C source translator which then calls the local C compiler to generate a binary. The code is thus quite portable. contact: Steve Swales updated: 1993/05/20 language: MIX package: mix version: 1.05 parts: interpreter, examples. author: Darius Bacon location: ftp locke.ccil.org:pub/retro/mix-1.5.shar.gz (in the Museum of Retrocomputing) description: An interpreter for the MIX pseudoassembler used for algorithm description in Volume I of Donald Knuth's "The Art Of Computer Programming". status: preliminary release of a program under active development portability: Any ANSI C host updated: 1994/10/20 language: Loglan'82 package: Loglan82 version: ? parts: Cross-Compiler (->C) author: ? location: ftp pub/Loglan82 from infpc1.univ-pau.fr description: The academic community has a need for one language which enables to teach all elements of object programming: classes & objects, coroutines, processes (in Loglan'82 processes are objects which are able to act in parallel), inheritance, exception handling, dynamic arrays etc. Loglan'82 offers the complete sets of programming tools used in object and modular and structural programming. It is suggested to use it duringthe first two years of teaching and afterwards too. Loglan'82 supports other styles of programming e.g. programming by rules, functional programming etc. restriction: GNU General Public License requires: ? announcements: send "SUBSCRIBE loglan82 " to loglan82-request@crisv1.univ-pau.fr contact: Andrzej.Salwicki@univ-pau.fr updated: 1994/2/15 language: TRAC package: trac version: 1.1 parts: interpreter, documentation, examples. author: Jown Cowan location: ftp locke.ccil.org:pub/retro/trac.shar.gz (in the Museum of Retrocomputing) description: TRAC is an interactive language built around the idea that everything is a macro. Analogous to APL, in that it is an elegant language with peculiar syntax that pushes one idea as far as it can go. bugs: report to Jown Cowan portability: Written in Perl; any host with a Perl can run it. updated: 1994/10/16 language: OISC package: oisc version: we don't need no steenking versions parts: interpreter, documentation, examples. author: Ross Cunniff location: ftp locke.ccil.org:pub/retro/oisc.shar.gz (in the Museum of Retrocomputing) description: You've heard of RISC, Reduced Instruction Set Computers? Well, here is the concept taken to its logical extreme -- an emulator for a computer with just one (1) instruction! Illustrative programs in the OISC machine language are included. language: orthogonal package: orthogonal version: ? parts: interpreter, documentation, examples. author: Jeff Epler location: ftp pub/retro/orthogonal.shar.gz from locke.ccil.org (in the Museum of Retrocomputing) description: A mini-language composed in September 1994 as a response to a speculative thread on the USENET group alt.lang.intercal, designed to explore the possibility of truly two-dimensional control structures. Vaguely FORTH-like, except that control flow can move forward, backward, or sideways (or even diagonally!). updated: 1994/09/24 unable to classify due to lack of knowledge ------------------------------------------------------------------------------- category: unable to classify due to lack of knowledge description: [Please help. --ed] 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: harding@ug.eds.com updated: ?? language: Common Lisp package: Garnet version: 2.2 parts: user interface builder author: The Garnet project location: ftp /usr/garnet/garnet from a.gp.cs.cmu.edu description: Garnet is a user interface development environment for Common Lisp and X11. It helps you create graphical, interactive user interfaces for your software. Garnet is a large scale system containing many features and parts including a custom object-oriented programming system which uses a prototype-instance model. It includes postscript support, gester recognition, and Motif emulation. contact: Brad_Myers@bam.garnet.cs.cmu.edu updated: October 15, 1993 language: FMPL of Accardi package: FMPL interpreter version: 1 parts: interpreter, documentation author: Jon Blow location: ftp src/local/fmpl/* from xcf.berkeley.edu description: FMPL is an experimental prototype-based object-oriented programming language developed at the Experimental Computing Facility of the University of California, Berkeley. + lambda-calculus based constructs. + event-driven (mainly I/O events) updated: 1992/06/02 language: Garnet package: Multi-Garnet version: 2.1 parts: ? author: Michael Sannella location: ftp /usr/garnet/alpha/src/contrib/multi-garnet from a.gp.cs.cmu.edu description: better contstraint system for Garnet ?? updated: 1992/09/21 language: EXPRESS (ISO 10303, Part 11) package: NIST EXPRESS Toolkit version: parts: scanner (lex or flex), parser (yacc or bison), library author: Don Libes location: ftp pub/step/npttools/exptk.tar.Z from ftp.cme.nist.gov description: Compiler front-end for EXPRESS language. Several backends are available in the same location. conformance: CADDETC certified. reference: numerous documents on ftp.cme.nist.gov in pub/step/nptdocs/exptk-*.ps.Z EXPRESS Language Reference Manual features: Can be tried without installing by emailing EXPRESS schemas to express-server@cme.nist.gov bugs: exptk-admin@cme.nist.gov restriction: none, is public-domain requires: lex or flex, yacc or bison, C compiler ports: any UNIX or UNIX-like system portability: DOS port available from: status: Settling down now that it has been certified. A new version is in development for EXPRESS 2 discussion: express-users-admin@cme.nist.gov (EXPRESS Users Mailing List) help: exptk-admin@cme.nist.gov support: exptk-admin@cme.nist.gov (not officially supported) contributions: no contributions, however a letter to your US congressional representative describing what a great (or lousy) job NIST is doing is helpful to maintaining (or destroying) our funding. announcements: EXPRESS Users Mailing List contact: exptk@cme.nist.gov updated: 1994/11/25 ------------------------------------------------------------------------------- references ------------------------------------------------------------------------------- name: The Apple II Programmer's Catalog of Languages and Toolkits version: 3.0 author: Larry W. Virden location: posted to comp.sys.apple2, comp.lang.misc; ftp from pub/compilers-list/AppleIICatalog3.0 from ftp.idiom.com description: A survey of language tools available for the Apple ][. updated: 1994/08/26 name: Catalog of embeddable Languages. version: 2 author: Colas Nahaboo location: posted to comp.lang.misc,comp.lang.tcl; ftp pub/EmbeddedInterpretersCatalog.txt from avahi.inria.fr description: Descriptions of languages from the point of view of embedding them. updated: 1992/07/09 name: Compilers bibliography version: 1.5 author: Charlie A. Lins location: ftp pub/oberon/comp_bib_1.4.Z from ftp.apple.com description: It includes all the POPLs, PLDIs, Compiler Construction, TOPLAS, and LOPAS. Plus various articles and papers from other sources on compilers and related topics. updated: 1992/10/31 name: haskell-status version: ? author: Simon Peyton Jones location: posted occaisionally to ??? description: A report, detailing the current features and status of all the implementations of Haskell. updated: ? name: Language List version: 2.1 author: Bill Kinnersley location: posted regularly to comp.lang.misc; ftp pub/comp.compilers/LanguageList* from primost.cs.wisc.edu; ftp pub/compilers-list/LanguageList* from ftp.idiom.com description: Descriptions of almost every computer language there is. Many references to available source code. updated: 1993/09/11 name: Numerical Analysis Using Non-Procedural Paradigms version: published thesis author: Steve Sullivan location: send email to author; or an ascii version of the comparision can be found in the comp.compilers archives, posted 1993/11/16 description: A thesis, that among other things, compares and benchmarks C++, Modula-3, Standard ML, Haskell, Sather, and Common Lisp updated: 1993 name: The Lisp FAQs version: 1.30 author: Mark Kantrowitz location: posted regularly to comp.lang.lisp,news.answers,comp.answers description: Details of many lisps and systems written in lisps including many languages not covered elsewhere. updated: 1993/02/08 name: Survey of Interpreted Languages version: ? author: Terrence Monroe Brannon location: Posted to comp.lang.tcl,comp.lang.misc,comp.lang.perl, gnu.emacs.help,news.answers; or ftp pub/gnu/emacs/elisp-ar*/pack*/Hy*Act*F*/survey-inter*-languages from archive.cis.ohio-state.edu. description: Detailed comparision of a few interpreters: Emacs Lisp, Perl, Python, and Tcl. updated: ? ------------------------------------------------------------------------------- archives ------------------------------------------------------------------------------- language: Ada package: AdaX location: ftp pub/AdaX/* from falcon.stars.rosslyn.unisys.com description: an archive of X libraries for Ada. Includes Motif [note, I chose this server out of many somewhat randomly. Use archie to find others --ed] contact: ? language: APL, J package: APL, J, and other APL Software at Waterloo location: ftp languages/apl/index from watserv1.waterloo.edu contact: Leroy J. (Lee) Dickey language: Assembler (Motorola) package: ? location: ftp bode.ee.ualberta.ca : /pub/dos/motorola description: An archive of development software and tools for the Motorola microcontroller series. Includes assemblers, a C compiler (6809), and applications. Comes mainly from the Austin Texas Motorola BBS. language: Assembler (Various) package: The Beowulf archive? location: hpcsos.col.hp.com : /misc/ns32k/beowulf description: An archive of assemblers for various 8-bit microcontrollers language: Assembler, Forth (8051) package: The Siemens 8051 archive location: ftp pub/8051/signetics-bbs from lyman.pppl.gov description: An archive for development software and tools for the 8051 microcontroller. contact: jsm@phoenix.princeton.edu language: Assembler (8051) package: The CAS archive. location: lyman.pppl.gov : /pub/8051/siemens-bbs nic.funet.fi: /pub/microprocs/MCS-51/csd4-archive description: Another archive for development software and tools for the 8051 microcontroller. May be converted into a general microprocessor archive in the future. language: C, C++, Objective-C, yacc, lex, postscript, sh, awk, smalltalk, sed package: the GNU archive sites location: NOTE: Many gnu files are now compressed with gzip. You can tell a gzip'ed file because it has a lower-case .z or .gz rather than the capital .Z that compress uses. Gzip is available from these same archives ftp pub/gnu/* from prep.ai.mit.edu USA: ftp mirrors4/gnu/* from wuarchive.wustl.edu ftp pub/src/gnu/* from ftp.cs.widener.edu ftp gnu/* from uxc.cso.uiuc.edu ftp mirrors/gnu/* from col.hp.com ftp pub/GNU/* from gatekeeper.dec.com ftp packages/gnu/* from ftp.uu.net Japan: ftp ? from ftp.cs.titech.ac.jp ftp ftpsync/prep/* from utsun.s.u-tokyo.ac.jp Australia: ftp gnu/* from archie.au Europe: ftp gnu/* from src.doc.ic.ac.uk ftp pub/GNU/*/* from ftp.informatik.tu-muenchen.de [re-org'ed] ftp pub/gnu/* from ftp.informatik.rwth-aachen.de ftp pub/gnu/* from nic.funet.fi ftp pub/gnu/* from ugle.unit.no ftp pub/gnu/* from isy.liu.se ftp pub/gnu/* from ftp.stacken.kth.se ftp pub/gnu/* from sunic.sunet.se [re-org'ed] ftp pub/gnu/* from ftp.win.tue.nl ftp pub/gnu/* from ftp.diku.dk ftp software/gnu/* from ftp.eunet.ch ftp gnu/* from archive.eu.net [re-org'ed] description: There are many sites which mirror the master gnu archives which live on prep.ai.mit.edu. Please do not use the master archive without good reason. restriction: Most GNU programs are CopyLeft'ed. That means that they are distributed under the terms of the GNU General Public License or GNU Library General Public License. The CopyLeft is only a concern if you want to use actual GNU code in your program. Using Gcc or any of the other tools is completely safe from a copyright point-of-view with the sole exception of bison which includes GNU code in its output. If you use a GNU library, you must supply an unlinked version of your program. language: C, C++ package: LEARN C/C++ TODAY location: http://nyx10.cs.du.edu:8001/~vcarpent/learn-cpp.html or ftp pub/usenet/news.answers/C-faq/learn-c-cpp-today from rtfm.mit.edu descripton: The LEARN C/C++ TODAY list is a list of a few C and C++ language tutorials available to a user. This list includes interactive tutorials, public-domain code collections, books etc. contact: Vinit S. Carpenter language: Forth package: ? location: anonymous@asterix.inescn.pt[192.35.246.17]:pub/forth description: Forth implementations and programs contact: Paulo A. D. Ferreira language: Haskell package: ? location: anonymous@ftp.cs.chalmers.se:pub/haskell/library anonymous@nebula.cs.yale.edu:pub/haskell/library anonymous@ftp.dcs.glasgow.ac.uk:pub/haskell/library description: An archive of Haskell and Gofer programs language: ALGOL-60, FOCAL, FOOGOL, INTERCAL, JCL, MIXAL, OISC, PILOT, TRAC, orthogonal, Little Smalltalk package: The Museum of Retrocomputing. location: locke.ccil.org:pub/retro description: The Museum of Retrocomputing. This archive collects implementations of languages that time forgot -- also, the jokes, freaks, and monstrosities from the history of language design. language: lisp package: MIT AI Lab archives location: ftp pub/* from ftp.ai.mit.edu description: archive of lisp extensions, utilities, and libraries contact: ? language: lisp package: Lisp Utilities collection location: ftp /afs/cs.cmu.edu/user/mkant/Public/Lisp from ftp.cs.cmu.edu description: ??? contact: cl-utilities-request@cs.cmu.edu language: Scheme package: The Scheme Repository location: ftp pub/scheme/* from nexus.yorku.ca description: an archive of scheme material including a bibliography, the R4RS report, sample code, utilities, and implementations. contact: Ozan S. Yigit language: Smalltalk package: Manchester Smalltalk Goodies Library location: ftp uiuc/st*/* from st.cs.uiuc.edu UK: ftp uiuc/st*/* from mushroom.cs.man.ac.uk description: a large collection of libraries for smalltalk. Created by Alan Wills, administered by Mario Wolczko. contact: goodies-lib@cs.man.ac.uk language: Tcl package: Tcl/Tk Contrib Archive location: ftp tcl/* from barkley.berkeley.edu description: An archive of Tcl/tk things. contact: Jack Hsu language: TeX package: CTAN (Comprehensive TeX Archive Network location: ftp ~ftp/tex-archive/* from ftp.shsu.edu Europe: ftp ? from ftp.uni-stuttgart.de description: A large archive site of most all things TeX-related, including literate programming tools such as WEB and derivatives. ------------------------------------------------------------------------------- cross-reference ------------------------------------------------------------------------------- These are additional categories. When an implementation is in a category rather than a language, the language is indicated in (parenthesis). category: command shells description: These are the languages that treat bare words as programs to execute. lref: csh lref: ERGO-Shell lref: es lref: Korn Shell lref: Q lref: rc lref: ssh lref: Z-shell category: compiler frontend/backend glue description: These are the languages used to glue semantic analysers to code generators. lref: C -- C is often used as an intermediate step lref: RTL lref: SUIF iref: (lcc intermediate format) lcc category: database description: These are the languages that are either specifically designed for database access or have an interface to persistent data that is much more than embedded SQL. lref: PFL lref: PROGRES iref: (CooL) CooL-SPE iref: (E) GNU E iref: (Prolog) Aditi iref: (Prolog) CORAL category: programming in the large description: These are systems designed for large-scale programming projects. [I just added this category, so please add to it --ed] lref: C lref: C++ lref: CooL category: distributed description: These are languages that include constructs that specifically support distributed programming. lref: Hermes lref: Glish iref: (Tcl) Tcl-DP category: dynamic foriegn functions description: These tools can dynamically load C code at run-time. lref: Common Lisp lref: Python iref: (Perl) Dylperl iref: (Scheme) Elk category: editor construction description: These are languages that are embedded in editors lref: IVY lref: S-Lang lref: elisp category: educational description: These are languages that are either designed for teaching, or are often used that way. lref: ABC lref: C lref: Logo lref: MIX lref: O'small lref: Pascal lref: PILOT lref: Scheme category: embeddable description: These tools can be used as scripting languages for programs written in C. They are all interpreted. lref: IVY lref: Perl5 lref: Python lref: S-Lang lref: Tcl iref: (C) ae iref: (Scheme) Elk iref: (Scheme) siod category: glue description: These are languages that are designed to tie other programs and libraries together. cref: dynamic foriegn functions cref: command shells lref: Glish lref: REXX category: graphic user interface support description: These are the languages that have support for writing gui programs. cref: C variants lref: Common Lisp lref: LIFE lref: Python iref: (Caml) Caml Light iref: (CooL) CooL-SPE iref: (Perl5) tkperl5 iref: (Perl5) Sx iref: (Prolog) PI iref: (Prolog) XWIP iref: (Scheme) Elk iref: (Scheme) ezd iref: (Scheme) STk iref: (Tcl) Tk iref: (Tcl) Wafe category: interactive description: These are the languages that are meant to be used interactively. [I'm sure there are more. Tell me! --ed] lref: Caml lref: Common Lisp lref: Q lref: TRAC iref: (C) ae category: reflective description: from Rainer Joswig (rainer@ki6.informatik.uni-hamburg.de) : To make it short: Reflective Languages have access to their own implementation. One can ask about the state of the running system and/or change aspects of the language. lref: ABCL ??? lref: ABCL/1 lref: MeldC lref: CLOS with MOP (Meta Object Protocol) category: terminal graphics support description: These are languages that can access curses, or have an equivalent. cref: C variants lref: ici lref: Perl5 iref: (Fortran) F-curses iref: (Common Lisp) CLISP iref: (Perl) curseperl iref: Python iref: (Scheme) scm category: text manipulation description: These languages have very high-level features for manipulating text. cref: compiler generators and related tools lref: Icon lref: Lex lref: Perl lref: Snobol4 category: unix tool building description: These are languages that are appropriate for building tools in a Unix environment. To be included, direct access to most system features is required. lref: C lref: ici lref: Perl lref: Python lref: Tcl iref: (Scheme) scsh category: window manager construction description: These are languages that are built into window managers iref: (Lisp) GWM -- Send compilers articles to compilers@iecc.com, meta-mail to compilers-request@iecc.com.