Archive-name: compilers/free/part5
Last-modified: 2000/02/08
Version: 10.3
Wirth family languages
------------------------------------------------------------------------------
category: Wirth family languages
description: These are the languages that were either designed by Niklaus
Wirth or 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://gatekeeper.dec.com/pub/DEC/Modula-2/m2.tar.Z
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: [email protected]
updated: 1992/07/06
language: Modula-2
package: Ulm's Modula-2 System
version: 3.0
parts: compiler, library, tools, documentation
author: Andreas Borchert <[email protected]>
location: ftp://ftp.mathematik.uni-ulm.de/pub/soft/modula/ulm/sun4/
description: This system may be used like other traditional systems
(e.g. cc) from the command line. Documentation is
available in the form of manual pages and a HTML tree.
The compiler has been derived from the ETHZ compiler for
the Lilith system (4 passes, written in Modula-2).
More informations may be found under
http://www.mathematik.uni-ulm.de/modula/
conformance: PIM3
restriction: may be freely distributed unter the terms of the
GNU General Public License or in case of the library
under the terms of the GNU Library General Public License.
requires: SPARCv8 / Solaris 2.x (Note that SunOS 4.x is not supported!)
ports: SPARCv8, Sun3, Nixdorf Targon/31, Concurrent 3200 Series
contact: Andreas Borchert <[email protected]>
announcements: New releases will be announced in comp.lang.modula2.
updated: 1997/03/06
language: Modula-2
package: m2c
version: 0.6
parts: Modula-2 to C translator
author: Vladimir N. Makarov <[email protected]>
location: http://www.geocities.com/SiliconValley/Lab/4557
description: A modula-2 translator to C.
conformance: The translator is based on language report in the 4th edition
of Wirth's book Programming in Modula-2. The translator also
supports of the third edition of Wirth's book.
ports: Unix
portability: very high (GNU configure)
support: Vladimir N. Makarov <[email protected]>
contact: Vladimir N. Makarov <[email protected]>
updated: 1998/01/05
language: Modula-2
package: mtc
version: 9209
parts: translator(->C)
author: Matthias Martin, Josef Grosch <[email protected]>
location: ftp://ftp.gmd.de/gmd/cocktail/{mtc,reuse}.tar.Z
ftp://ftp.rus.uni-stuttgart.de/pub/unix/programming/compilerbau/{mtc,reuse}.tar.Z
ftp://ftp.th-darmstadt.de/pub/programming/languages/compiler-compiler/cocktail/{mtc,reuse}.tar.Z
ftp://src.doc.ic.ac.uk/languages/tools/gmd/{mtc,reuse}.tar.Z
ftp://gatekeeper.dec.com/.3/plan/gmd/{mtc,reuse}.tar.Z
description: A Modula-2 to C translator
ports: Unix, Linux, MS-DOS, MS-Windows, OS/2
contact: Josef Grosch <[email protected]>
updated: 1992/10/01
language: Modula-2
package: mocka
version: 9404
parts: compiler, library, examples, docs
author: ? Holger Hopp <[email protected]>
location: ftp://i44.s10.ira.uka.de/pub/mocka/linux/mocka9404*
ftp://sunsite.unc.edu/pub/Linux/devel/modula-2/mocka9404*
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 <[email protected]> consisting of the
following kernel contributors:
Thomas Gauweiler, Stefan U. Haenssgen, Ernst A. Heinz,
Paul Lukowicz, Hendrik Mager, Michael Philippsen.
location: ftp://ftp.ira.uka.de/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 ftp://i41s10.ira.uka.de/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 <[email protected]>
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: <[email protected]>
announcements: comp.lang.modula2, comp.lang.modula3
contact: <[email protected]>
updated: 1994/11/30
language: pm2
package: PRAM emulator and parallel modula-2 compiler ??
version: ?
parts: compiler, emulator
author: ?
location: ftp://cs.joensuu.fi/pub/pram/*
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 <[email protected]>
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 <[email protected]>
LINUX version compiled by Michel Dagenais
location: ftp://gatekeeper.dec.com/pub/DEC/Modula-3/release-3.5/*.tar.gz
MSDOS: ftp://gatekeeper.dec.com/pub/DEC/Modula-3/contrib/m3pc*
OS2: ftp.vlsi.polymtl.ca in pub/m3/os2 (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 FreeBSD Linux
discussion: comp.lang.modula3
contact: Bill Kalsow <[email protected]>
updated: 1995/07/09
language: Oberon2
package: Oberon-2 LEX/YACC definition
version: 1.4
parts: parser(yacc), scanner(lex)
author: Stephen J Bevan <[email protected]>
location: ftp://ftp.psg.com/pub/oberon/tools/o2lexyac.tar.Z
http://panther.cs.man.ac.uk/~bevan/oberon
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://neptune.inf.ethz.ch/Oberon/Docu/Oberon2.Report.ps.Z
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://neptune.ethz.ch/Oberon/?
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 <[email protected]>
location: ftp://ftp.mathematik.uni-ulm.de/pub/soft/oberon/ulm/sun3/
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. More informations may be found at
http://www.mathematik.uni-ulm.de/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: 1997/03/06
language: Oberon-2
package: o2c
version: 1.4
author: Michael van Acken <[email protected]>
Juergen Zimmermann <[email protected]>
location: ftp://ftp.uni-kl.de/pub/informatik/software/o2c-1.4.tar.gz
ftp://cognac.informatik.uni-kl.de/pub/ooc
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: [email protected]
updated: 1996/04/01
language: Oberon-2
package: Jacob
version: 0
parts: compiler, library, documentation, examples
author: Max Spring <[email protected]>, Ralf Bauer <[email protected]>
location: ftp://sunsite.unc.edu/pub/Linux/devel/lang/oberon/jacob-v0*
ftp://ftp.cs.tu-berlin.de/pub/linux/Local/compilers/oberon/jacob-v0*
description: Jacob compiles Oberon-2 to 386 GNU Assembler code.
conformance: Oberon-2 as defined in "The Programming Language Oberon-2"
from H.Moessenboeck, N. Wirth, March 1995
reference: "Read Me" http://www.cs.tu-berlin.de/~sepp/jacob/jacob.html
"The Programming Language Oberon-2"
ftp://ftp.inf.ethz.ch/pub/Oberon/Docu/Oberon2.Report.ps.gz
features: + automatic storage reclamation (garbage collection)
+ FOREIGN modules for accessing third party libraries
+ verbose run-time error messages
bugs: report bugs to [email protected]
restriction: none
requires: GNU assembler
ports: Linux (386)
status: First public release
discussion: comp.lang.oberon
help: contact the authors
contact: Max Spring <[email protected]>
updated: 1995/09/12
language: Parallaxis
package: parallaxis
version: Parallaxis-III
parts: ?,debugger, viz tools, simulator, x-based profiler
author: Thomas Braunl <[email protected]>
location: ftp://ftp.informatik.uni-stuttgart.de/pub/p3
http://www.informatik.uni-stuttgart.de/ipvr/bv/p3
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 <[email protected]> ?
updated: 1992/10/23
language: Pascal
package: p2c
version: 1.20
parts: translator(Pascal->C)
author: Dave Gillespie <[email protected]>
location: ftp://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://ftp.cwi.nl/pub/pascal/*
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: <[email protected]>
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 <[email protected]>
location: ftp://ftp.eb.ele.tue.nl/pub/src/pascal/pasos2*
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://uxc.sco.uiuc.edu/languages/ptc ? (use archie?)
description: ?
contact: ?
updated: ?
language: Turbo Pascal, Turbo C
package: tptc
version: ?
parts: translator(Turbo Pascal->Turbo C)
author: ?
location: ftp://wuarchive.wustl.edu/mirrors/msdos/turbopas/tptc17*.zip
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: QCK
version: 2.0
parts: compiler(written in ANSI-C), library, assembler,
linker etc.
author: Henrik Quintel <[email protected]>
location: top.cs.vu.nl/pub/minix/pascal/
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 1.6.30 1.7.0
help: <[email protected]>
support: <[email protected]>
Announcements: comp.os.minix, comp.compilers
contact: <[email protected]>
updated: 1995/01/09
language: Pascal-Debugger
package: QCK
version: 1.0
parts: Debugger/Interpreter(written in ANSI-C)
author: Henrik Quintel <[email protected]>
location: Server : top.cs.vu.nl
Directory :/pub/minix/pascal/
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 1.6.30 1.7.0
help: <[email protected]>
support: <[email protected]>
announcements: comp.os.minix, comp.compilers
contact: <[email protected]>
updated: 1995/01/09
language: Pascal
iref: (Pascal) Tim Budd's C++ implementation of Kamin's interpreters
language: Cantata - Extensible Visual Programming Language
package: Khoros
version: 2.2
parts: Composer, Ghostwriter, Source Configuration & Management,
Animate, Editimage, Xprism, Viewimage. See features for
more details.
description: Khoros is an integrated software development environment for
information processing and visualization, based on the X
Windows System.
author: Khoral Research Inc
location:
USA: ftp://ftp.khoral.com/pub/khoros2.0
GERMANY: ftp://ftp.e20.physik.tu-muenchen.de
BRAZIL: ftp://ftp.unicamp.br/pub/khoros2.0
reference: Rasure and Kubica, "The Khoros Application Development
Environment", Experimental Environments for Computer Vision
and Image Processing, editor H.I Christensen and J.L Crowley,
World Scientific 1994.
Konstantinides and Rasure, "The Khoros Software Development
Environment For Image And Signal Processing", IEEE
Transactions on Image Processing, VOL. 3, No. 3 May 1994,
pp. 243-252.
Rasure, Williams, Argiro, and Sauer, "A Visual Language and
Software Development Environment for Image Processing",
International Journal of Imaging Systems and Technology, Vol.
2, pp 183-199 (1990)
Man pages included with software distribution.
features: +Composer - Interactive Graphical User Interface Editor
+Ghostwriter - Code Generation Tool for a Command Line User Interface
+Source Configuration & Management - Tools to install and maintain a distributed source tree
+Animate - Interactive Image Sequence Display Tool
+Editimage - Interactive Image Display & Manipulation Program
+Xprism - 2D and 3D Plotting Packages
+Viewimage - A basic interactive program for surface rendering documentation
bugs: k2-xvapp-bugs-FAQ, k2-xvlib-bugs-FAQ
restriction: Free access to Khoros, but not in the public domain. The
software is owned by Khoral Research, Inc., and does carry a
License and Copyright. While Khoros may be used by any
organization free of charge, it can not be distributed
without a license. All users of the system should register
with Khoral Research and agree to abide by the Free Access
License terms and conditions.
requires: gzip, C Compiler, X (R11), lex/yacc
discussion: comp.soft-sys.khoros
ports: Many Un*x ports
help: Khoros Consortium, ftp://ftp.khoral.com/pub/khoros/FAQ
ftp://ftp.khoral.com/pub/khoros2.0/manual
support: http://ftp.khoros.unm.edu/
updated: ?
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: [email protected]
ports: Sun-3, Sun-4, i386/{386BSD, BSD/386, FreeBSD, 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://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: [email protected] and Alan R. Baldwin
location: ftp://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 <[email protected]>
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: [email protected]
location: ftp://ftp.funet.fi/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 <[email protected]>
location: ftp://ftp.mrc-bbc.ox.ac.uk/pub/mc6809/usim-*
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 <[email protected]>
location: alt.sources, 1993/11/03 <[email protected]>
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 <[email protected]>
location: ftp://crl.nmsu.edu/pub/non-lexical/6811/sim6811.shar
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 <[email protected]>
location: ftp://lyman.pppl.gov/pub/8051/assem
Europe: ftp://nic.funet.fi/pub/microprocs/MCS-51/csd4-archive/assem
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 <[email protected]>
(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: MIL-STD-1750 assembly
package: as1750
version: 0.8
parts: assembler and linker (monolithic)
author: Oliver M. Kellogg <[email protected]>
location: ftp://ftp.fta-berlin.de/pub/crossgcc/1750gals/as1750-0.7.tar.gz
description: Simple assembler for the MIL-STD-1750 (A and B) instruction
set. This is the assembler used by gcc-1750a.
Assembly and linkage are not separate passes: load modules
are generated directly from sources, without object files.
features: + produces Tektronix Extended Hex or TLD LDM load modules
+ parameterized macros (MACRO/ENDMACRO)
+ macro variables (SET)
+ macro expressions with operators as in the C language
+ conditional assembly (IF/ELSIF/ELSE/ENDIF)
+ repeated assembly (WHILE/ENDWHILE)
+ small and fast
- no linker control directive file, the only means of
linkage control is via ORG statements
restriction: GNU General Public License
requires: 32-bit ANSI C compiler (gcc is just fine)
ports: Unix, VMS, DOS
status: actively developed
announcements: The Cross-GCC List <[email protected]>
updated: 1995/06/24
language: Motorola DSP56000
package: ?
version: 1.1
parts: assembler
author: Quinn Jensen <[email protected]>
location: alt.sources archive or ftp://wuarchive.wustl.edu ?
description: ?
updated: ?
language: Motorola DSP56001
package: a56
version: 1.2
parts: assembler
author: Quinn Jensen <[email protected]>
location: ftp://ftp.novell.com/pub/pin/misc/a56/a56v1.2*
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 <[email protected]>
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 <[email protected]>
location: 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
language: Assember (SPARC)
package: elfdis
version: 2.3
parts: disassembler
author: Bruce Ediger <[email protected]>
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 <[email protected]>
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
language: PDP-11 macro assembly
package: PDPXASM.EXE
version: 2.20
parts: assembler, linker, disassembler, serial line loader,
library routines
author: Jim Cook <[email protected]>
location: ftp://ftp.idiom.com/pub/msdos/pdpxasm.exe
description: A cross assembler that runs on the IBM PC/AT family. Assembles
PDP-11 into core image files. Developed for use in
testing an add-in PDP-11 clone board.
reference: Brief help files/screens for each program.
features: 1. Macro and .IRP support
bugs: Contact [email protected]
restriction: May not be sold for profit. Must be distributed in toto.
requires: 2mb on a MS-DOS compatible machine.
updated: 1995/06/02
macro preprocessors
-------------------------------------------------------------------------------
category: macro preprocessors
description: These are tools that expand macros for another language.
iref: (C) GNU CC
iref: (C) lcc
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 <[email protected]>
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: gema
package: gema
version: 1.1
parts: macro processor, documentation, examples.
author: David N. Gray <[email protected]>
location: FTP://ftp.ugcs.caltech.edu/pub/gema/gema.tar.gz
MS-DOS executable in file exe.zip
To just view doc: http://www.ugcs.caltech.edu/gema/
description: A general-purpose macro processor that uses pattern
matching and replacement. It can be used as a
pre-processor or to translate one language to another, or
to extract selected information from files.
features: + Does not impose any particular syntax for macro calls.
+ No built-in assumptions about input language syntax.
+ Can recognize patterns spanning multiple lines.
+ Handles recursive patterns, such as matching pairs of
nested parentheses.
+ Different sets of rules can be used in different contexts.
+ Easy to ignore redundant white space.
requires: ANSI C compiler
ports: Unix, MS-DOS, Windows/NT
updated: 1995/05/23
language: m4
package: pd/bsd m4
version: ?
parts: interpreter, man page
author: Ozan Yigit <[email protected]>,
Richard A. O'Keefe <[email protected]>
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 <[email protected]>
location: ftp m4-1.4.tar.gz from a GNU archive site
Macintosh: ftp://nic.switch.ch/pub/software/mac/src/mpw-c/*
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 <[email protected]>, 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: 9.4
parts: ?
author: Lester Ingber <[email protected]>
location: ftp://ftp.alumni.caltech.edu/pub/ingber
http://www.alumni.caltech.edu/~ingber/
description: ? Language interface to neural net simulator?
discussion: [email protected]
updated: 1995/09/03
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 <[email protected]>
location: ftp://ftp.cs.ubc.ca/pub/local/src/snacc/snacc1.1.tar.Z
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: <[email protected]>
mailing list join/quit requests: <[email protected]>
Barry Brachman <[email protected]>
updated: 1993/07/12
language: CLIPS
package: CLIPS
version: 6.02
parts: interpreter
author: Gary Riley and Brian Donnell
location: ftp://ftp.cs.cmu.edu/user/ai/areas/expert/systems/clips
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
[email protected] 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 - <[email protected]>
FAX - (713) 244-5698.
updated: 5/5/94
language: Duel (a <practical> C debugging language)
package: DUEL
version: 1.10
parts: interpreter, stand-alone module, documentation, test suites
author: Michael Golan <[email protected]>
location: ftp://ftp.cs.princeton.edu/duel/*
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: GSM suite
package: GSM
version: 1.0
parts: editor program, gsmedit,
a compiler, gsm2cc, that produces a C++ implementation of
a state machine, a PostScript generator, gsm2ps, and two
other minor programs.
author: [email protected] (Andrew Mangogna)
location: http://www.slip.net/~andrewm/gsm
description: GSM Suite is a set of programs to facilitate use of
finite state machines in programming. Included is a Motif based
graphical editor, a program to convert the state machine to
C++ code, and a PostScript generator for printing and viewing.
updated: 1997/07/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://omg.org/pub/OMG_IDL_CFE_1.2/*
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: [email protected]
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 <[email protected]>
location: ftp://cs.ua.edu/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 <[email protected]>
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: [email protected]
updated: 1992/10/25
language: PROGRES
package: PROGRES
version: RWTH 5.10
parts: environment, interpreter, database, ?
author: Dr. Andy Schuerr <[email protected]>,
Albert Zuendorf <[email protected]>
location: send mail to authors
sun4-bin: ftp://ftp.informatik.rwth-aachen.de/pub/unix/PROGRES/?
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 <[email protected]> and others
location: ftp://ftp.cs.umd.edu/pub/omega
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: [email protected]
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. <[email protected]>
location: ftp://cs.umd.edu/pub/omega
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 <[email protected]>
updated: 1993/01/23
language: PLAN
package: PLAN
version: 1.0
parts: ?
author: Carl A. Gunter
Mike Hicks
Pankaj Kakkar
Jonathan Moore
Scott Nettles
Sam Weber
location: http://www.cis.upenn.edu/~switchware/PLAN/
description: (Programming Language for Active Networks). PLAN is a
small functional scripting language that is intended to be
carried in communication packets and evaluated on routers
in an active network. Its primary goal is to support 1.
finding, installing, and invoking services, and 2. diagnostics
for routers and the network with authentication only on
services that require it. PLAN programs are guaranteed to
terminate and have predictable behavior over a limited safe
interface. PLAN programs with this limited interface can
therefore be interpreted by all active routers to all active
packets. PLAN programs may also access libraries of other
services that may not be provided to all packets, based on
authorization. PLAN 1.0 is our first experimental prototype
release, implementing some of the basic functionality
expected of PLAN.
updated: 1997/07/27
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://tp.uu.net/published/oreilly/nutshell/lexyacc/?
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://FTP.cs.arizona.edu/tsql/multical
description: [Anyone care to write a description? - ed]
restriction: public domain, freely available
contact: [email protected]
updated: ?
language: SQL
package: mSQL2 (Mini SQL)
version: 2.0.10.1
parts: interpreter, documentation, import and dumping tools, admin tool
author: David J. Hughes <[email protected]>
location: www.hughes.com.au
description: Subset of ANSI SQL implemented with client-server support
over TCP/IP. Mini SQL is a light weight relational database
management system capable of providing rapid access to your data
with very little overhead.
updated: 1999/05/26
language: SQL
package: MySQL
version: 3.23
parts: Interpreter (with command line editing), import and dump tools,
mysqld (server daemon). APIs for C, C++, Eiffel, Java, Perl, PHP
Python and TCL. ODBC (Open-DataBase-Connectivity) for Windows95
(with source).
author: Michael (Monty) Widenius <[email protected]>
contact: [email protected]
location: www.tcx.se
description: MySQL is a client/server implementation that consists of a
server daemon (mysqld) and many different client programs and
libraries. MySQL is a true multi-user, multi-threaded SQL database
server. A very fast thread-based memory allocation system.
No memory leaks. Tested with a commercial memory leakage detector
(purify). Includes isamchk, a very fast utility for table checking,
optimization and repair.
Full support for the ISO-8859-1 Latin1 character set. For example,
the Scandinavian characters @ringaccent{a}, @"a and @"o are allowed
in table and column names.
All data are saved in ISO-8859-1 Latin1 format. All comparisons for
normal string columns are case insensitive.
Sorting is done according to the ISO-8859-1 Latin1 character set
(the Swedish way at the moment). It is possible to change this in the
source by adding new sort order arrays. To see an example of very
advanced sorting, look at the Czech sorting code. MySQL supports many
different character sets that can be specified at compile time.
Aliases on tables and columns as in the SQL92 standard.
DELETE, INSERT, REPLACE, and UPDATE return how many rows were changed
(affected).
Function names do not clash with table or column names. For example,
ABS is a valid column name. The only restriction is that for a function
call, no spaces are allowed between the function name and the `(' that
follows it.
Clients connect to the MySQL server using TCP/IP connections or Unix
sockets, or named pipes under NT.
The EXPLAIN command can be used to determine how the optimizer resolves
a query.
The January 1999 issue of Linux Journal reported that the
1998 Readers Choice Award chose MySQL as the 'Most Used Database
over the Internet'.
updated: 1999/07/05
language: SQL
package: Beagle SQL
author: Rob Klein
location: http://tiny.iapnet.com/rob/beagle.html
description: Beagle SQL is a free client server database management system
for Unix operating systems. It is very new and development
is still in progress. The following subset of SQL is
currently supported (full ANSI compliance being the ultimite
goal): CREATE TABLE, CREATE INDEX, SELECT, INSERT,
DROP TABLE, DROP INDEX. The SELECT statement supports complex
expressions complete with implicit join operations as well
as explicit btree index support.
Supported operators include <>, <, >, contains, begins, and =.
- Full source code available
- Complex expression parser
- Implicit joins
- Variable length fields and records
- Multi-Attribute B-Tree indexes
- Subset of SQL
updated: 1997/10/01
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 <[email protected]>, Kevin Humphreys
<[email protected]>, Chris Brew <[email protected]>,
Mike Reape <[email protected]>
location: ftp://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: [email protected].
updated: 1993/06/18
language: natural languages
package: proof
version: ?
parts: parser, documentation
author: Craig R. Latta <[email protected]>
location: ftp://scam.berkeley.edu/src/local/proof/*
description: a left-associative natural language grammar scanner
bugs: [email protected]
ports: Decstation3100 Sun-4
discussion: [email protected] ("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 <[email protected]>
location: ftp://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 <[email protected]>
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 <[email protected]>
updated: 1993/05/20
language: MIX
package: mix
version: 1.05
parts: interpreter, examples.
author: Darius Bacon <[email protected]>
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://infpc1.univ-pau.fr/pub/Loglan82
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 <your_first_name> <your_name>"
to [email protected]
contact: [email protected]
updated: 1994/2/15
language: TRAC
package: trac
version: 1.1
parts: interpreter, documentation, examples.
author: Jown Cowan <[email protected]>
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 <[email protected]>
portability: Written in Perl. Almost universal...
updated: 1994/10/16
language: OISC
package: oisc
version: we don't need no steenking versions
parts: interpreter, documentation, examples.
author: Ross Cunniff <[email protected]>
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 <[email protected]>
location: ftp://locke.ccil.org/pub/retro/orthogonal.shar.gz
(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
language: Common Lisp
package: Garnet
version: 2.2
parts: user interface builder
author: The Garnet project
location: ftp://a.gp.cs.cmu.edu/usr/garnet/garnet
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: [email protected]
updated: October 15, 1993
language: FMPL of Accardi
package: FMPL interpreter
version: 1
parts: interpreter, documentation
author: Jon Blow <[email protected]>
location: ftp://xcf.berkeley.edu/src/local/fmpl/*
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 <[email protected]>
location: ftp://a.gp.cs.cmu.edu/usr/garnet/alpha/src/contrib/multi-garnet
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 <[email protected]>
location: ftp://ftp.cme.nist.gov/pub/step/npttools/exptk.tar.Z
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/pub/step/nptdocs/exptk-*.ps.Z
EXPRESS Language Reference Manual
features: Can be tried without installing by emailing EXPRESS schemas to
[email protected]
bugs: [email protected]
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: [email protected] (EXPRESS Users Mailing List)
help: [email protected]
support: [email protected] (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: [email protected]
updated: 1994/11/25
-------------------------------------------------------------------------------
references
-------------------------------------------------------------------------------
name: The Apple II Programmer's Catalog of Languages and Toolkits
version: 3.0
author: Larry W. Virden <[email protected]>
location: posted to comp.sys.apple2, comp.lang.misc;
ftp://ftp.idiom.com/pub/compilers-list/AppleIICatalog3.0
description: A survey of language tools available for the Apple ][.
updated: 1994/08/26
name: Catalog of embeddable Languages.
version: 2
author: Colas Nahaboo <[email protected]>
location: posted to comp.lang.misc,comp.lang.tcl;
ftp://avahi.inria.fr/pub/EmbeddedInterpretersCatalog.txt
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://ftp.apple.com/pub/oberon/comp_bib_1.4.Z
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 <[email protected]>
location: posted occasionally 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 <[email protected]>
location: posted regularly to comp.lang.misc;
ftp://primost.cs.wisc.edu/pub/comp.compilers/LanguageList*
ftp://ftp.idiom.com/pub/compilers-list/LanguageList*
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 <[email protected]>
location: ftp://ftp.mathcom.com/Mathcom/numex
or send email to the author.
description: A thesis, that among other things, compares
and benchmarks: C++, Modula-3, Standard ML, Haskell,
Sather, Common Lisp, Fortran 77, and Fortran 90.
updated: 1995
name: SoftFloat
version: 2
author: John R. Hauser
location: http://HTTP.CS.Berkeley.EDUn/~jhauser/arithmetic
description: SoftFloat is a high-quality software implementation of
floating-point conforming to the IEC/IEEE Standard for
Floating-point Arithmetic.
Release 2 now has single, double, extended double (80-bit), and
quadruple (128-bit) precisions, all written in standard C.
There's also a program called TestFloat for testing a
computer's IEEE floating-point. See the Web page for details.
updated: 1997/07/10
name: The Lisp FAQs
version: 1.30
author: Mark Kantrowitz <[email protected]>
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 <[email protected]>
location: Posted to comp.lang.tcl,comp.lang.misc,comp.lang.perl,
gnu.emacs.help,news.answers; or
ftp://archive.cis.ohio-state.edu/pub/gnu/emacs/elisp-ar*/pack*/Hy*Act*F*/survey-inter*-languages
description: Detailed comparision of a few interpreters: Emacs Lisp,
Perl, Python, and Tcl.
updated: ?
-------------------------------------------------------------------------------
archives
-------------------------------------------------------------------------------
language: Ada
package: AdaX
location: ftp://falcon.stars.rosslyn.unisys.com/pub/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]
contact: ?
language: APL, J
package: APL, J, and other APL Software at Waterloo
location: ftp://watserv1.waterloo.edu/languages/apl/index
contact: Leroy J. (Lee) Dickey <[email protected]>
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://ftp.pppl.gov/pub/8051/signetics-bbs/
description: An archive for development software and tools for the 8051
microcontroller.
contact: [email protected]
language: Assembler (8051)
package: The CAS archive.
location: ftp://nic.funet.fi/pub/microprocs/MCS-51/CAS/
description: Another archive for development software and tools for the 8051
microcontroller. May be converted into a general
microprocessor archive in the future.
language: Assembler
package: asl
version: 1.41r6
location: ftp://nic.funet.fi/pub/microprocs/MCS-51/CAS/
description: A cross assembler for a variety of micro-controllers/processors
ported from the same author's Borland version to Linux
author: [email protected] (Alfred Arnold)
restrictions: GPL
updated: 1997/02/24
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://prep.ai.mit.edu/pub/gnu/*
USA: ftp://wuarchive.wustl.edu/mirrors4/gnu/*
ftp://ftp.cs.widener.edu/pub/src/gnu/*
ftp://uxc.cso.uiuc.edu/gnu/*
ftp://col.hp.com/mirrors/gnu/*
ftp://gatekeeper.dec.com/pub/GNU/*
ftp://ftp.uu.net/packages/gnu/*
Japan: ftp://ftp.cs.titech.ac.jp/
ftp://utsun.s.u-tokyo.ac.jp/ftpsync/prep/*
Australia: ftp://archie.au/gnu/*
Europe: ftp://src.doc.ic.ac.uk/gnu/*
ftp://ftp.informatik.tu-muenchen.de/pub/GNU/*/* [re-org'ed]
ftp://ftp.informatik.rwth-aachen.de/pub/gnu/*
ftp://nic.funet.fi/pub/gnu/*
ftp://ugle.unit.no/pub/gnu/*
ftp://isy.liu.se/pub/gnu/*
ftp://ftp.stacken.kth.se/pub/gnu/*
ftp://sunic.sunet.se/pub/gnu/* [re-org'ed]
ftp://ftp.win.tue.nl/pub/gnu/*
ftp://ftp.diku.dk/pub/gnu/*
ftp://ftp.eunet.ch/software/gnu/*
ftp://archive.eu.net/gnu/* [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://rtfm.mit.edu/pub/usenet/news.answers/C-faq/learn-c-cpp-today
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 <[email protected]>
language: Forth
package: ?
location: [email protected][192.35.246.17]:pub/forth
description: Forth implementations and programs
contact: Paulo A. D. Ferreira <?>
language: Haskell
package: ?
location: [email protected]:pub/haskell/library
[email protected]:pub/haskell/library
[email protected]: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: ftp://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://ftp.ai.mit.edu/pub/*
description: archive of lisp extensions, utilities, and libraries
contact: ?
language: lisp
package: Lisp Utilities collection
location: ftp://ftp.cs.cmu.edu/afs/cs.cmu.edu/user/mkant/Public/Lisp/
description: ???
contact: [email protected]
language: Scheme
package: The Scheme Repository
location: ftp://nexus.yorku.ca/pub/scheme/*
description: an archive of scheme material including a bibliography,
the R4RS report, sample code, utilities, and implementations.
contact: Ozan S. Yigit <[email protected]>
language: Smalltalk
package: Manchester Smalltalk Goodies Library
location: ftp://st.cs.uiuc.edu/uiuc/st*/*
UK: ftp://mushroom.cs.man.ac.uk/uiuc/st*/*
description: a large collection of libraries for smalltalk.
Created by Alan Wills, administered by Mario Wolczko.
contact: [email protected]
language: Tcl
package: Tcl/Tk Contrib Archive
location: ftp://ftp.neosoft.com/pub/tcl/
description: An archive of Tcl/tk things.
contact: Barbara Pearce <[email protected]>
language: TeX
package: CTAN (Comprehensive TeX Archive Network
location: ftp://ftp.shsu.edu/~ftp/tex-archive/* ??
Europe: ftp://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 foreign functions
description: These tools can dynamically load C code at run-time.
lref: Common Lisp
lref: Python
lref: Perl
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: Perl
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 foreign 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
lref: Perl
iref: (Caml) Caml Light
iref: (CooL) CooL-SPE
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 ([email protected]) :
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: Perl
lref: Python
iref: (Fortran) F-curses
iref: (Common Lisp) CLISP
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 [email protected], meta-mail to
[email protected]. Archives at http://www.iecc.com/compilers
|
Закладки на сайте Проследить за страницей |
Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |