From:	SMTP%"everhart@DMC.COM"  6-JAN-1994 21:10:44.25
To:	EVERHART
CC:	
Subj:	compilrs4

Date: Thu, 06 Jan 1994 21:07:21 EST
From: everhart@DMC.COM
To: everhart@gce.com
Message-ID: <00978260.7D473900.27934@DMC.COM>
Subject: compilrs4

From:	DMC::EVERHART      6-JAN-1994 19:27:50.30
To:	everhart
CC:	
Subj:	Catalog of compilers, interpreters, and other language tools [p4of4]

X-News: thehulk comp.compilers:719
From: free-compilers@idiom.berkeley.ca.us (Steve Robenalt)
Subject:Catalog of compilers, interpreters, and other language tools [p4of4]
Date: Sat, 1 Jan 1994 12:00:41 GMT
Message-ID:<free4-Jan-94@comp.compilers>

Archive-name: free-compilers/part4
Last-modified: 1993/12/30
Version: 6.2

language:	Relation Grammar
package:	rl
version:	?
parts:		?
author:		Kent Wittenburg <kentw@bellcore.com>
how to get:	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 <cordy@qucis.queensu.ca> (language), 
		Rayan Zachariassen <rayan@cs.toronto.edu> (C implementation)
how to get:	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 <cordy@qucis.queensu.ca>
how to get:	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

mathematical tools and languages
-------------------------------------------------------------------------------
category:	mathematical tools and languages
description:	These are either special-purpose languages and tools, or
		general purpose langauges and tools that have traditionally
		been used for mathematical and scientific computing task.
lref:		Fortran 
lref:		PCN
lref:		CLP
lref:		Sisal

language:	APL
package:	I-APL
version:	?
parts:		?
author:		?
how to get:	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 <CvB@erasmus.hrz.uni-bielefeld.de>
how to get:	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:		(Pascal) Tim Budd's C++ implementation of Kamin's interpreters

language:	J
package:	J-mode
version:	?
parts:		emacs macros
author:		?
how to get:	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:	0.95
parts:		interpreter, libraries, documentation
author:		Ian Searle <ians@eskimo.com>
how to get:	ftp pub/RLaB/* from evans.ee.adfa.oz.au
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 <ians@eskimo.com>
restriction:	GNU General Public License
requires:	GNUPLOT, lib[IF]77.a (from f2c)
ports:		many unix, OS/2, Amiga
updated:	1993/10/27

language:	FUDGIT language (math manipulation)
package:	FUDGIT
version:	2.27
parts:		interpreter
author:		Thomas Koenig <ig25@rz.uni-karlsruhe.de> ??
how to get:	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 
how to get:	alt.sources (10/04/93).
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 <phil@cs.wwu.edu>
how to get:	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).
restriction:	Source code falls under the GNU CopyLeft.
requires:	vsprintf and vfprintf routines
ports:		Unix (BSD, System V, MINIX, POSIX)
conformance:	Superset of POSIX BC (P10003.2/D11), with a POSIX-only mode.
updated:	?

language:	Calc?  (symbolic math calculator)
package:	Calc
version:	2.02
parts:		interpreter, emacs mode, documentation
author:		Dave Gillespie <daveg@cs.caltech.edu>
how to get:	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 <dbell@canb.auug.org.au>
how to get: 	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:		?
how to get:	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
how to get:	ftp from netlib@research.att.com:netlib/f2c/src/*
description:	translator (Fortran 77 to ANSI C or C++)
bugs:		D. M. Gay <dmg@research.att.com>
updated:	1993 April 27

language:	Fortran
package:	Floppy
version:	?
parts:		?
author:		?
how to get:	ffccc in comp.sources.misc archive volume 12
description:	?
contact:	?
updated:	1992/08/04

language:	Fortran
package:	Flow
version:	?
parts:		?
author:		Julian James Bunn <julian@vxcrna.cxern.ch>
how to get:	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:		?
how to get:	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 <brandes@gmdzi.gmd.de>
updated:	1993/06

language:	Fortran, C
package:	cfortran.h
version:	2.6
parts:		macros, documentation, examples
author:		Burkhard Burow
how to get:	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:		?
how to get:	?
description:	a tool to split up monolithic fortran programs
updated:	?

language:	Fortran
package:	?
version:	?
parts:		?
author:		Steve Mccrea <mccrea@gdwest.gd.com>
how to get:	?
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 <Michael Metcalf>
how to get:	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:	J
package:	J from ISI
version:	6
parts:		interpreter, tutorial
author:		Kenneth E. Iverson and Roger Hui <hui@yrloc.ipsa.reuter.com>
how to get:	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)
how to get:	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
how to get:	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:		?
how to get:	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
how to get:	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 <martin@essex.ac.uk>
how to get:	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:		?
how to get:	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


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 <AMMERS@RCL.WAU.NL>
how to get:	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 <alun@huey.wst.com>
how to get:	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 <jeff@cs.su.oz.au>
how to get:	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 <ghost@aladdin.com>
how to get:	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 <peterson-john@cs.yale.edu>
how to get:	?
description:	?
updated:	?

language:	SGML (Standardized Generalized Markup Language)
package:	sgmls
version:	1.1
parts:		parser
author:		James Clark <jjc@jclark.com> and Charles Goldfarb
how to get:	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 <jjc@jclark.com>
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 <jjc@jclark.com>
how to get:	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?
how to get:	?
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
how to get:	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:		?
how to get:	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 <karl@claude.cs.umb.edu>
updated:	1993/02/22

language:	Web
package:	Web
version:	?
parts:		translator(Pascal)
author:		Donald Knuth
how to get:	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 <ross@spam.adelaide.edu.au>
how to get:	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

assemblers
-------------------------------------------------------------------------------
category:	assemblers

language:	various assembly
package:	GNU assembler (GAS)
version:	2.2
parts:		assembler, documentation
author:		?
how to get:	ftp gas-2.0.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:	1993/11/11

language:	various assembly
package:	fas: Frankenstein Cross Assemblers
version:	?
parts:		base assembler, parser modules (yacc), documentation?
author:		Mark Zenier
how to get:	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
how to get:	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
package:	?
version:	?
parts:		assembler, manual
author:		Doug Jones <jones@cs.uiowa.edu> ?
how to get:	send mail to author
description:	Supports macro and conditional features, even, as well as 
		being usable for linkage editing of object files.
requires:	Pascal
updated:	?

language:	mc6809
package:	usim
version:	0.11
parts:		simulator, documentation
author:		Ray P. Bellis <rpb@psy.ox.ac.uk>
how to get:	ftp /pub/mc6809/usim-* from ftp.cns.ox.ac.uk
description:	a mc6809 simulator
updated:	1993/02/14

language:	mc6809
package:	6809, E-Forth
version:	?
parts:		assembler, simulator
author:		Lennart Benschop <lennart@blade.stack.urc.tue.nl>
how to get:	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:		assemlber: Unix, DOS; simulator: Unix
updated:	1993/11/03

language:	68HC11
package:	68HC11 simulator
version:	? 1
parts:		simulator
author:		Ted Dunning <ted@nmsu.edu>
how to get:	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 
how to get:	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 <stauffer@cpsc.ucalgary.ca>
		(Theo Deraadt wrote the S-record output routines)
how to get:	wuarchive.wustl.edu
		   at /usenet/comp.sources.misc/volume10/asm.8051.Z
		ftp.uu.net:/usenet/comp.sources.misc/volume10/asm.8051.Z
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 <jensenq@qcj.icon.com>
how to get:	alt.sources archive or ftp ? from wuarchive.wustl.edu
description:	?
updated:	?

language:	Motorola DSP56001
package:	a56
version:	1.1
parts:		assembler
author:		Quinn C. Jensen <jensenq@qcj.icon.com>
how to get:	alt.sources archive
description:	?
updated:	1992/08/10

language:	80486
package:	WDASM17B.ZIP - Windows 80486 Disassembler for Windows 3.1
version:	1.7b
parts:		disassembler
author:		Eric Grass <S876795@UMSLVMA.UMSL.EDU>
how to get:	SIMTEL20, pd1:<msdos.windows3>
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

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 
how to get:	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, *-Refine
package:	crefine
version:	3.0
parts:		pre-processor, documentation
author:		Lutz Prechelt <prechelt@ira.uka.de>
how to get:	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 <oz@sis.yorku.ca>, 
		Richard A. O'Keefe <ok@goanna.cs.rmit.OZ.AU>
how to get:	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.1
parts:		interperter, ?
author:		Francois Pinard <pinard@iro.umontreal.ca>
how to get:	ftp m4-1.0.tar.Z 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:	?
restriction:	GNU General Public License
updated:	1993/11/08

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 <cunniff@fc.hp.com>, Tim Brengle
how to get:	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:	1.53
parts:		?
author:		Lester Ingber <ingber@cco.caltech.edu>
how to get:	ftp pub/ingber/? from ftp.caltech.edu  
description:	? Language interface to neural net simulator?
discussion:	asa-request@alumni.caltech.edu
updated:	1993/11/14

language:	ASN.1 (Abstract Syntax Notation One) (ITU TS X.208/ISO 8824)
package:	snacc (Sample Neufeld ASN.1 to C/C++ Compiler)
version:	1.1
parts:		compiler, runtime BER libraries, utility progs
author:		Mike Sample <msample@cs.ubc.ca>
how to get:	ftp /pub/local/src/snacc/snacc1.1.tar.Z from 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.
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:	Compiler under GNU Public License. No restriction on libs
		and C/C++/tables generated by snacc.
		If you use it in a commercial product please let us know.
requires:	yacc (or bison), lex (or flex) and cc (ANSI or non-ANSI)
contact:	Barry Brachman <brachman@cs.ubc.ca> or <snacc-bugs@cs.ubc.ca>
updated:	1993/07/12

language:	Duel (a <practical> C debugging language)
package:	DUEL
version:	1.10
parts:		interpreter, stand-alone module, documentation, test suites
author:		Michael Golan <mg@cs.princeton.edu>
how to get:	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 maily 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.
how to get:	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:	NewsClip ?
package:	NewsClip
version:	1.01
parts:		translator(NewsClip->C), examples, documentation
author:		Looking Glass Software Limited but distributed by 
		ClariNet Communications Corp.
how to get:	?
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:	PROGRESS
package:	PROGRESS
version:	RWTH 5.10
parts:		environment, interpreter, database, ?
author:		Dr. Andy Schuerr <andy@i3.informatik.rwth-aachen.de>,
		Albert Zuendorf <albert@i3.informatik.rwth-aachen.de>
how to get:	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).  
		PROGRESS 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 <pugh@cs.umd.edu> and others
how to get:	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 <cse.ogi.edu>,
		extended by William Pugh et al. <pugh@cs.umd.edu>
how to get:	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 <omega@cs.umd.edu>
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
how to get:	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:	?

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 <jcalder@cs.sfu.ca>, Kevin Humphreys 
		<kwh@cogsci.ed.ac.uk>, Chris Brew <chrisbr@cogsci.ed.ac.uk>,
		Mike Reape <mreape@cs.tcd.ie>
how to get:	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 <latta@xcf.Berkeley.EDU>
how to get:	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 <matthew@engr.mun.ca>
how to get:	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.9
parts:		compiler, library, documentation
author:		Eric S. Raymond <esr@snark.thyrsus.com>
how to get:	ftp pub/intercal/intercal0.9.* from sequoia.lle.rochester.edu
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 <steve@bat.lle.rochester.edu>
updated:	1993/05/20

language:	Logo
package:	logo
version:	4
parts:		interpreter
author:		?
how to get:	comp.sources.unix archive volume 10
description:	?
updated:	?

language:	Logo
package:	Berkeley Logo
version:	3.0
parts:		interpreter
author:		Brian Harvey <bh@anarres.CS.Berkeley.EDU>
how to get:	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 <mills@athena.lkg.dec.com>
how to get:	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 <mills@athena.lkg.dec.com>
ports:		MS Windows 3.x
status:		activly developed
updated:	1993/10/15


unable to classify due to lack of knowledge
-------------------------------------------------------------------------------
category:	unable to classify due to lack of knowledge
description:	[Please help. --ed]

contact:	Jack Hsu <tcl-archive@barkley.berkeley.edu>
language:	FMPL of Accardi
package:	FMPL interpreter
version:	1
parts:		interpreter, documentation
author:		Jon Blow <blojo@xcf.berkeley.edu>
how to get:	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:	Garnet
version:	2.1 alpha
parts:		?
author:		?
how to get:	ftp from /usr/garnet/? from a.gp.cs.cmu.edu
description:	?
contact:	?
updated:	?

language:	Garnet
package:	Multi-Garnet
version:	2.1
parts:		?
author:		Michael Sannella <sannella@cs.washington.edu>
how to get:	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:	OPS5
package:	PD OPS5
version:	?
parts:		interpreter
author:		Written by Charles L. Forgy and ported to Common Lisp by 
		George Wood and Jim Kowalski. 
how to get:	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 production systems.	 ??????
requires:	Common Lisp
contact:	? Mark Kantrowitz <mkant+@cs.cmu.edu> ?
updated:	1992/10/17

language:	Isabelle
package:	Issabelle-93
version:	?
parts:		?
author:		Written by Lawrence C Paulson and Tobias Nipkow?
how to get:	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

-------------------------------------------------------------------------------
references
-------------------------------------------------------------------------------

name:		The Apple II Programmer's Catalog of Languages and Toolkits
version:	2.2
author:		Larry W. Virden <lvirden@cas.org>
how to get:	posted to comp.sys.apple2, comp.lang.misc; ftp from
		idiom.berkeley.ca.us
description:	A survey of language tools available for the Apple ][.
updated:	1993/04/28

name:		Catalog of embeddable Languages.
version:	2
author:		Colas Nahaboo <colas@bagheera.inria.fr>
how to get:	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
how to get:	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 <simonpj@dcs.glasgow.ac.uk>
how to get:	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 <billk@hawk.cs.ukans.edu>
how to get:	posted regularly to comp.lang.misc; 
		ftp pub/comp.compilers/LanguageList* from primost.cs.wisc.edu;
		ftp pub/compilers-list/LanguageList* from idiom.berkeley.ca.us
description:	Descriptions of almost every computer langauge 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 <sullivan@teal.csn.org>
how to get:	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 <mkant+@cs.cmu.edu>
how to get:	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 <tb06@CS1.CC.Lehigh.ED>
how to get:	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
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]
how to get:	ftp pub/AdaX/* from falcon.stars.rosslyn.unisys.com
contact:	?

language:	APL, J
package:	APL, J, and other APL Software at Waterloo
how to get:	ftp languages/apl/index from watserv1.waterloo.edu
contact:	Leroy J. (Lee) Dickey <ljdickey@math.waterloo.edu>

language:	Assembler (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.
how to get:	ftp bode.ee.ualberta.ca : /pub/dos/motorola

language:	Assembler (Various)
package:	The Beowulf archive?
description:	An archive of assemblers for various 8-bit microcontrollers
how to get:	hpcsos.col.hp.com : /misc/ns32k/beowulf

language:	Assembler, Forth (8051)
package:	The Siemens 8051 archive
description:	An archive for development software and tools for the 8051
		microcontroller.
how to get:	ftp pub/8051/signetics-bbs from lyman.pppl.gov
contact:	jsm@phoenix.princeton.edu

language:	Assembler (8051)
package:	The CAS archive.
description:	Another archive for development software and tools for the 8051
		microcontroller.  May be converted into a general microprocessor
		archive in the future.
how to get:	lyman.pppl.gov : /pub/8051/siemens-bbs
		nic.funet.fi: /pub/microprocs/MCS-51/csd4-archive
		csd4.csd.uwm.edu : /pub/compilers/* (Discontinued as of 10/4/93)

language:	C, C++, Objective-C, yacc, lex, postscript, 
		sh, awk, smalltalk, sed
package:	the GNU archive sites
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.
how to get:	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]
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:	Forth
description:	Forth implementations and programs
how to get:	anonymous@asterix.inescn.pt[192.35.246.17]:pub/forth
contact:	Paulo A. D. Ferreira <?>

language:	Haskell
description:	An archive of Haskell and Gofer programs
how to get:	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

language:	lisp
package:	MIT AI Lab archives
description:	archive of lisp extensions, utilities, and libraries
how to get:	ftp pub/* from ftp.ai.mit.edu
contact:	?

language:	lisp
package:	Lisp Utilities collection
how to get:	ftp /afs/cs.cmu.edu/user/mkant/Public/Lisp from ftp.cs.cmu.edu
contact:	cl-utilities-request@cs.cmu.edu

language:	Scheme
package:	The Scheme Repository
description:	an archive of scheme material including a bibliography, 
		the R4RS report, sample code, utilities, and implementations.
how to get:	ftp pub/scheme/* from nexus.yorku.ca
contact:	Ozan S. Yigit <scheme@nexus.yorku.ca>

language:	Smalltalk
package:	Manchester Smalltalk Goodies Library
description:	a large collection of libraries for smalltalk.
		Created by Alan Wills, administered by Mario Wolczko.
how to get:	ftp uiuc/st*/* from st.cs.uiuc.edu
    uk:		ftp uiuc/st*/* from mushroom.cs.man.ac.uk
contact:	goodies-lib@cs.man.ac.uk

language:	Tcl
package:	Tcl/Tk Contrib Archive
description:	An archive of Tcl/tk things.  
how to get:	ftp tcl/* from barkley.berkeley.edu
contact:	Jack Hsu <tcl-archive@barkley.berkeley.edu>

-------------------------------------------------------------------------------
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:		lcc	-- [what is the lcc intermediate code called? --ed]

category:	database
description:	These are the languages that are specifically designed
		for database access.
lref:		Aditi
lref:		CORAL
lref:		GNU E
lref:		PROGRESS

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:		CommonLisp
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
iref:		(Lisp) 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:		O'small
lref:		Pascal

category:	embeddable
description:	These tools can be used as scripting langauges 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:		CommonLisp
lref:		LIFE
lref:		Python
iref:		(Caml Light) Caml Light
iref:		(Prolog) PI
iref:		(Prolog) XWIP
iref:		(Scheme) Elk
lref:		(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:		CommonLisp
lref:		Q
iref:		(C) ae

category:	reflective
description:	[could someone tell me what reflective langauges are? --ed]
lref:		ABCL ???
lref:		ABCL/1
lref:		MeldC

category:	terminal graphics support
description:	These are languages that can access curses, or have an
		equivalent.
cref:		C variants
lref:		ici
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

category:	window manager construction
description:	These are languages that are built into window managers
iref:		(Lisp) WOOL
-- 
Send compilers articles to compilers@iecc.com or

-- 
Send compilers articles to compilers@iecc.com or
{ima | spdcc | world}!iecc!compilers. Meta-mail to compilers-request@iecc.com.