home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 January
/
usenetsourcesnewsgroupsinfomagicjanuary1994.iso
/
answers
/
free-compilers
/
part3
< prev
next >
Wrap
Text File
|
1993-12-02
|
58KB
|
1,554 lines
Newsgroups: comp.compilers,comp.lang.misc,comp.archives.admin,news.answers,comp.answers
Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!nic.hookup.net!europa.eng.gtefsd.com!uunet!world!iecc!compilers-sender
From: free-compilers@idiom.berkeley.ca.us (David Muir Sharnoff)
Subject: Catalog of compilers, interpreters, and other language tools [p3of4]
Message-ID: <free3-Dec-93@comp.compilers>
Followup-To: comp.lang.misc
Summary: Monthly posting of free language tools that include source code
Keywords: tools, FTP, administrivia
Sender: compilers-sender@chico.iecc.com
Supersedes: <free3-Nov-93@comp.compilers>
Reply-To: free-compilers@idiom.berkeley.ca.us (David Muir Sharnoff)
Organization: Idiom Consulting / Berkeley, CA
References: <free2-Dec-93@comp.compilers>
Date: Wed, 1 Dec 1993 16:36:26 GMT
Approved: compilers@iecc.com
Expires: Sat, 1 Jan 1994 23:59:00 GMT
Lines: 1534
Xref: senator-bedfellow.mit.edu comp.compilers:5941 comp.lang.misc:14813 comp.archives.admin:1265 news.answers:15307 comp.answers:2876
Archive-name: free-compilers/part3
Last-modified: 1993/11/28
Version: 6.1
Wirth family languages
------------------------------------------------------------------------------
category: Wirth family languages
description: These are the langauges that were either designed by Nikolas
Wirth are are descended from them. [if you think these should
be folded in to the compiled, imperative langauges section, let
me know --ed.]
lref: IFP
language: CLU
iref: (Pascal) 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.
how to get: ftp pub/DEC/Modula-2/m2.tar.Z from gatekeeper.dec.com
description: A modula-2 compiler for VAX and MIPS. A Pascal
compiler for VAX is also included. The Pascal compiler
accepts a language that is almost identical to Berkeley
Pascal. It was originally designed and built by Michael L.
Powell, in 1984. Joel McCormack made it faster, fixed lots of
bugs, and swiped/wrote a User's Manual. Len Lattanzi ported it
to the MIPS.
conformance: extensions:
+ foreign function and data interface
+ dynamic array variables
+ subarray parameters
+ multi-dimensional open array parameters
+ inline proceedures
+ longfloat type
+ type-checked interface to C library I/O routines
restriction: must pass changes back to Digital
ports: vax (ultrix, bsd), mips (ultrix)
contact: modula-2@decwrl.pa.dec.com
updated: 1992/07/06
language: Modula-2
package: Ulm's Modula-2 System
version: 2.2.1
parts: compiler, library, tools
author: Andreas Borchert <borchert@mathematik.uni-ulm.de>
compiler derived from the ETHZ compiler for the Lilith system
how to get: ftp pub/soft/modula/ulm/sun3/modula-2.2.1.tar.Z from
titania.mathematik.uni-ulm.de. Please get the READ_ME too.
description: ?
conformance: PIM3
restriction: commercial use requires licence;
compiler sources available by separate licence agreement
(licence fee is not required if it is possible to
transfer the sources across the network)
requires: gas-1.36 (to be found in the same directory)
ports: Sun3, Nixdorf Targon/31, Concurrent 3200 Series
contact: Andreas Borchert <borchert@mathematik.uni-ulm.de>
updated: 1992/03/02
language: Modula-2
package: mtc
version: ?
parts: translator(C)
author: ?
how to get: ftp soft/unixtools/compilerbau/mtc.tar.Z
from rusmv1.rus.uni-stuttgart.de
description: ?
ports: ?
updated: 1991/10/25
language: Modula-2, Modula-3
package: M2toM3
version: 1.01
parts: translator(Modula-2 -> Modula-3), libraries
author: Peter Klein <pk@i3.informatik.rwth-aachen.de>
how to get: ftp pub/Modula3 from martha.informatik.rwth-aachen.de
description: M2toM3 is a simple Modula-2 to Modula-3 translator which
covers most of the syntactic differences between those
languages. No context sensitive analysis is done, so WITH
statements, local modules, enumeration type literals and
variant RECORDS have to be dealt with by hand.
Part of the SUN Modula 2 library is emulated by the Modula 3
library
requires: a Modula-3 system
updated: 1992/12
language: pm2
package: PRAM emulator and parallel modula-2 compiler ??
version: ?
parts: compiler, emulator
author: ?
how to get: ftp pub/pram/* from cs.joensuu.fi
description: A software emulator for parallel random access machine (PRAM)
and a parallel modula-2 compiler for the emulator. A PRAM
consists of P processors, an unbounded shared memory, and a
common clock. Each processor is a random access machine (RAM)
consisting of R registers, a program counter, and a read-only
signature register. Each RAM has an identical program, but the
RAMs can branch to different parts of the program. The RAMs
execute the program synchronously one instruction in one clock
cycle.
pm2 programming language is Modula-2/Pascal mixture having
extensions for parallel execution in a PRAM. Parallelism is
expressed by pardo-loop- structure. Additional features include
privat/shared variables, two synchronization strategies, load
balancing and parallel dynamic memory allocation.
contact: Simo Juvaste <sjuva@cs.joensuu.fi>
updated: 1993/02/17
language: Modula-3
package: SRC Modula-3
version: 2.11
parts: compiler(->C), runtime, library, documentation
author: ?
how to get: ftp pub/DEC/Modula-3/m3-*.tar.Z from gatekeeper.dec.com
MS-DOS: ftp pub/DEC/Modula-3/contrib/m3pc* from gatekeeper.dec.com
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.
ports: i386/AIX 68020/DomainOS Acorn/RISCiX MIPS/Ultrix 68020/HP-UX
RS6000/AIX IBMRT/4.3 68000/NextStep i860/SVR4 SPARC/SunOS
68020/SunOS sun386/SunOS Multimax/4.3 VAX/Ultrix
discussion: comp.lang.modula3
contact: Bill Kalsow <kalsow@src.dec.com>
updated: 1992/02/09
language: Oberon2
package: Oberon-2 LEX/YACC definition
version: 1.4
parts: parser(yacc), scanner(lex)
author: Stephen J Bevan <bevan@cs.man.ac.uk>
how to get: ftp pub/oberon/tools/o2lexyac.tar.Z from ftp.psg.com
or mail bevan@cs.man.ac.uk with Subject "b-server-request~
and body "send oberon/oberon_2_p_v1.4.shar"
description: A LEX and YACC grammar for Oberon 2 based on the one given
in the listed reference.
reference: The Programming Language Oberon-2
H. M\"{o}ssenb\"{o}ck, N. Wirth
Institut f\"{u}r Computersysteme, ETH Z\"{u}rich
January 1992
ftp Oberon/Docu/Oberon2.Report.ps.Z from neptune.inf.ethz.ch
restriction: Portions of the source under copyright by U. Manchester.
status: un-officially supported
updated: 1992/07/06
language: Oberon
package: Ceres workstation Oberon System
version: ?
parts: compiler
author: ?
how to get: ftp Oberon/? from neptune.ethz.ch
description: file format is Oberon, binary header
status: The sources to the various _full_ implementations are indeed
not available but the source to most of the complete Ceres
workstation Oberon System, including NS32032 code generator but
less low level system specific is available. This includes the
complete Oberon compiler written in Oberon.
updated: ?
language: Parallaxis
package: parallaxis
version: 2.0
parts: ?, simulator, x-based profiler
author: ?
how to get: ftp pub/parallaxis from ftp.informatik.uni-stuttgart.de
description: Parallaxis is a procedural programming language based
on Modula-2, but extended for data parallel (SIMD) programming.
The main approach for machine independent parallel programming
is to include a description of the virtual parallel machine
with each parallel algorithm.
ports: MP-1, CM-2, Sun-3, Sun-4, DECstation, HP 700, RS/6000
contact: ? Thomas Braunl <braunl@informatik.uni-stuttgart.de> ?
updated: 1992/10/23
language: Pascal
package: p2c
version: 1.20
parts: translator(Pascal->C)
author: Dave Gillespie <daveg@synaptics.com>
how to get: ftp ? from csvax.cs.caltech.edu
description: ?
conformance: supports ANSI/ISO standard Pascal as well as substantial
subsets of HP, Turbo, VAX, and many other Pascal dialects.
ports: ?
updated: 1990/04/13
language: Pascal
package: Pascal P4 compiler and interpreter
version: ? 1
parts: compiler, assembler/interpreter, documentation
author: Urs Ammann, Kesav Nori, Christian Jacobi
how to get: ftp pascal/* from ftp.cwi.nl
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: Steven.Pemberton@cwi.nl
updated: 1993/07/05
language: Pascal
package: ? iso_pascal ?
version: ?
parts: scanner(lex), parser(yacc)
author: ?
how to get: comp.sources.unix archive volume 13
description: ?
updated: ?
language: Pascal
package: ? frontend ?
version: Alpha
parts: frontend (lexer, parser, semantic analysis)
author: Willem Jan Withagen <wjw@eb.ele.tue.nl>
how to get: ftp pub/src/pascal/front* from ftp.eb.ele.tue.nl
description: a new version of the PASCAL frontend using the Cocktail
compiler tools.
updated: 1993/02/24
language: Pascal
package: ptc
version: ?
parts: translator(Pacal->C)
author: ?
how to get: ftp languages/ptc from uxc.sco.uiuc.edu ? (use archie?)
description: ?
contact: ?
updated: ?
language: Turbo Pascal, Turbo C
package: tptc
version: ?
parts: translator(Turbo Pascal->Turbo C)
author: ?
how to get: ftp mirrors/msdos/turbopas/tptc17*.zip from wuarchive.wustl.edu
description: (It does come with full source and a student recently used it
as a start for a language that included stacks and queues as a
built-in data type.
contact: ?
updated: ?
language: Pascal
iref: (Pascal) Tim Budd's C++ implementation of Kamin's interpreters
logic programming languages
-------------------------------------------------------------------------------
category: logic programming languages
description: langauges designed to manipulate logic predicates. Often
used to build expert systems
language: BABYLON (Prolog variant???)
package: BABYLON
version: ?
parts: development environment
author: ?
how to get: ftp gmd/ai-research/Software/* from gmdzi.gmd.de
description: BABYLON is a development environment for expert systems. It
includes frames, constraints, a prolog-like logic formalism,
and a description language for diagnostic applications.
requires: Common Lisp
ports: many ?
contact: ?
updated: ?
language: Goedel
package: Goedel
version: 1.3
parts: book, compiler, user manual, system modules, example programs
author: Jiwei Wang <jiwei@lapu.bristol.ac.uk>
how to get: ftp pub/logic-prgm/goedel/? from ftp.cs.kuleuven.ac.be
or ftp goedel/? from ftp.cs.bris.ac.uk
description: An implementation of a significant subset of Goedel. Goedel is
a declarative, general-purpose strongly-typed logic programming
language. The type system is based on many-sorted logic with
parametric polymorphism. Modularity is supported, as well as
infinite precision arithmetic, limited constraint satisfaction,
and finite sets.
requires: SICStus Prolog version 2.1 #6 (or later). Run time system for
SPARCstation provided, though.
contact: goedel@compsci.bristol.ac.uk
status: completing development over the next year.
updated: 1993/06/30
language: Janus
package: qdjanus
version: 1.3
parts: translator(prolog)
author: Saumya Debray <debray@cs.arizona.edu>
how to get: ftp janus/qdjanus/* from cs.arizona.edu
description: janus is a janus-to-prolog compiler meant to be used
with Sicstus Prolog
conformance: mostly compliant with "Programming in Janus" by
Saraswat, Kahn, and Levy.
updated: 1992/05/18
language: Janus
package: jc
version: 1.50 alpha
parts: compiler(->C)
author: David Gudeman <gudeman@cs.arizona.edu>
how to get: ftp janus/jc/* from cs.arizona.edu
description: jc is a janus-to-C compiler (considerably faster than qdjanus).
jc is a _sequential_ implementation of a _concurrent_ language.
bugs: jc-bugs@cs.arizona.edu
ports: sun-4, sun-3, Sequent Symmetry
status: jc is an experimental system, undergoing rapid development.
It is in alpha release currently.
discussion: janusinterest-request@parc.xerox.com
updated: 1992/06/09
language: LIFE (Logic, Inheritance, Functions, and Equations)
package: Wild_LIFE
version: first-release
parts: interpreter, manual, tests, libraries, examples
author: Paradise Project, DEC Paris Research Laboratory.
how to get: ftp pub/plan/Life.tar.Z from gatekeeper.dec.com.
description: LIFE is an experimental programming language with a
powerful facility for structured type inheritance. It
reconciles styles from functional programming, logic
programming, and object-oriented programming. LIFE
implements a constraint logic programming language with
equality (unification) and entailment (matching)
constraints over order-sorted feature terms. The
Wild_LIFE interpreter has a comfortable user interface
with incremental query extension ability. It contains
an extensive set of built-in operations as well as an X
Windows interface.
conformance: semantic superset of LOGIN and LeFun. Syntax is similar
to prolog.
bugs: life-bugs@prl.dec.com
ports: MIPS-Ultrix
portability: good in theory
discussion: life-request@prl.dec.com
contact: Peter Van Roy <vanroy@prl.dec.com>
updated: 1992/12/14
language: Lolli (logic programming)
package: Lolli
version: ?
parts: ?
author: ? Josh Hodas <hodas@saul.cis.upenn.edu> ?
how to get: ftp pub/Lolli/Lolli-07.tar.Z. from ftp.cis.upenn.edu
description: Lolli is an interpreter for logic programming based
on linear logic principles.
Lolli can be viewed as a refinement of the the
Hereditary Harrop formulas of Lambda-Prolog. All the
operators (though not the higher order unification) of
Lambda-Prolog are supported, but with the addition of
linear variations. Thus a Lolli program distinguishes
between clauses which can be used as many, or as few,
times as desired, and those that must be used exactly once.
requires: ML
updated: 1992/11/08
language: Parlog
package: SPM System (Sequential Parlog Machine)
version: ?
parts: ?, documenation
author: ?
how to get: ? ftp lang/Parlog.tar.Z from nuri.inria.fr
description: a logic programming language ?
reference: Steve Gregory, "Parallel Logic Programming in PARLOG",
Addison-Wesely, UK, 1987
restriction: ? no source code ?
ports: Sun-3 ?
updated: ??
language: Prolog
package: SB-Prolog
version: 3.1 ?
parts: ?
author: interpreter
how to get: ftp pub/sbprolog from sbcs.sunysb.edu
description: ?
restriction: GNU General Public License
contact: ? warren@sbcs.sunysb.edu ?
updated: ?
language: Prolog
package: XSB
version: 1.2
parts: interpreter, preprocessor(HiLog), documentation
author: XSB research group / SUNY at Stony Brook
how to get: ftp pub/XSB/XSB.tar.Z from sbcs.sunysb.edu (130.245.1.15)
description: XSB extends the standard functionality of Prolog (being a
descendant of PSB- and SB-Prolog) to include implementations of
OLDT (tabling) and HiLog terms. OLDT resolution is extremely
useful for recursive query computation, allowing programs to
terminate correctly in many cases where Prolog does not. HiLog
supports a type of higher-order programming in which predicate
symbols can be variable or structured. This allows unification
to be performed on the predicate symbols themselves in addition
to the arguments of the predicates. Of course, Tabling and
HiLog can be used together.
ports: Sun, Solaris, NeXT, Linux, 386 BSD, IRIX, HP-UX
portability: Generally to 32-bit machines.
contact: xsb-contact@cs.sunysb.edu
updated: 1993/07/28
language: Prolog
package: Modular SB-Prolog
version: ?
parts: interpreter
author: ?
how to get: ftp pub/dts/mod-prolog.tar.Z from ftp.dcs.ed.ac.uk
description: SB-Prolog version 3.1 plus modules
restriction: GNU General Public License
ports: Sparc
contact: Brian Paxton <mprolog@dcs.ed.ac.uk>
updated: ?
language: ALF [prolog variant]
package: alf (Algebraic Logic Functional programming language)
version: ?
parts: runtime, compiler(Warren Abstract Machine)
author: Rudolf Opalla <opalla@julien.informatik.uni-dortmund.de>
how to get: ftp pub/programming/languages/LogicFunctional from
ftp.germany.eu.net
description: ALF is a language which combines functional and
logic programming techniques. The foundation of
ALF is Horn clause logic with equality which consists
of predicates and Horn clauses for logic programming,
and functions and equations for functional programming.
Since ALF is an integration of both programming
paradigms, any functional expression can be used
in a goal literal and arbitrary predicates can
occur in conditions of equations.
updated: 1992/10/08
language: CLP (Constraint Logic Programming language) [Prolog variant]
package: CLP(R)
version: 1.2
parts: runtime, compiler(byte-code), contstraint solver
author: IBM
how to get: mail to Joxan Jaffar <joxan@watson.ibm.com>
description: CLP(R) is a constraint logic programming language
with real-arithmetic constraints. The implementation
contains a built-in constraint solver which deals
with linear arithmetic and contains a mechanism
for delaying nonlinear constraints until they become
linear. Since CLP(R) subsumes PROLOG, the system
is also usable as a general-purpose logic programming
language. There are also powerful facilities for
meta programming with constraints. Significant
CLP(R) applications have been published in diverse
areas such as molecular biology, finance, physical
modelling, etc. We are distributing CLP(R) in order
to help widen the use of constraint programming, and
to solicit feedback on the system
restriction: free for academic and research purposes only
ports: unix, msdos, OS/2
contact: Roland Yap <roland@bruce.cs.monash.edu.au>, Joxan Jaffar
updated: 1992/10/14
language: Prolog (variant)
package: Aditi
version: Beta Release
parts: interpreter, database
author: Machine Intelligence Project, Univ. of Melbourne, Australia
how to get: send email to aditi@cs.mu.oz.au
description: The Aditi Deductive Database System is a multi-user
deductive database system. It supports base relations
defined by facts (relations in the sense of relational
databases) and derived relations defined by rules that
specify how to compute new information from old
information. Both base relations and the rules
defining derived relations are stored on disk and are
accessed as required during query evaluation. The
rules defining derived relations are expressed in a
Prolog-like language, which is also used for expressing
queries. Aditi supports the full structured data
capability of Prolog. Base relations can store
arbitrarily nested terms, for example arbitrary length
lists, and rules can directly manipulate such terms.
Base relations can be indexed with B-trees or
multi-level signature files. Users can access the
system through a Motif-based query and database
administration tool, or through a command line
interface. There is also in interface that allows
NU-Prolog programs to access Aditi in a transparent
manner. Proper transaction processing is not supported
in this release.
ports: Sparc/SunOS4.1.2 Mips/Irix4.0
contact: <aditi@cs.mu.oz.au>
updated: 1992/12/17
language: Lambda-Prolog
package: Prolog/Mali (PM)
version: ? 6/23/92 ?
parts: compiler(->C), linker, libraries, runtime, documentation
author: Pascal Brisset <brisset@irisa.fr>
how to get: ftp pm/* from ftp.irisa.fr
description: Lambda-Prolog, a logic programming language defined by
Miller, is an extension of Prolog where terms are
simply typed $\lambda$terms and clauses are higher
order hereditary Harrop formulas. The main novelties
are universal quantification on goals and implication.
reference: + Miller D.A. and Nadathur G. "Higher-order logic
programming", 3rd International Conference on Logic
Programming, pp 448-462, London 1986.
+ Nadathur G. "A Higher-Order Logic as a Basis for Logic
Programming", Thesis, University of Pennsylvania, 1987.
requires: MALI-V06 abstract memory. MALI is available by anonymous ftp
from ftp.irisa.fr
ports: unix
discussion: prolog-mali-request@irisa.fr
contact: pm@irisa.fr
updated: 1992/07/06
language: Prolog (variant)
package: CORAL
version: ?
parts: interpreter, interface(C++), documentation
author: ?
how to get: ftp ? from ftp.cs.wisc.edu
description: The CORAL deductive database/logic programming system was
developed at the University of Wisconsin-Madison. The CORAL
declarative language is based on Horn-clause rules with
extensions like SQL's group-by and aggregation operators, and
uses a Prolog-like syntax. * Many evaluation techniques are
supported, including bottom-up fixpoint evaluation and top-down
backtracking. * A module mechanism is available. Modules are
separately compiled; different evaluation methods can be used
in different modules within a single program. * Disk-resident
data is supported via an interface to the Exodus storage
manager. * There is an on-line help facility
requires: AT&T C++ 2.0 (G++ soon)
ports: Decstation, Sun4
updated: 1993/01/29
language: Prolog
package: BinProlog
version: 1.71
parts: interpreter?, documentation
author: ?
how to get: ftp BinProlog/* from clement.info.umoncton.ca
description: BinProlog 1.71 is at this time probably the
fastest freely available C-emulated Prolog.
ports: IBM-PC/386, Sun-4, Sun-3, NeXT
contact: Paul Tarau <tarau@info.umoncton.ca>
updated: 1993/04/03
language: Prolog
package: SWI-Prolog
version: 1.7.2
parts: ?
author: Jan Wielemaker <jan@swi.psy.uva.nl>
how to get: ftp pub/SWI-Prolog from swi.psy.uva.nl
OS/2: ftp pub/toolw/SWI/* from mpii02999.ag2.mpi-sb.mpg.de
description: ?
conformance: superset
features: "very nice Ed. style prolog, best free one I've seen"
restriction: GNU General Public License
ports: Sun-4, Sun-3 (complete); Linux, DEC MIPS (done but
incomplete, support needed); RS6000, PS2/AIX, Atari ST,
Gould PN, NeXT, VAX, HP-UX (known problems, support needed);
MSDOS (status unknown), OS/2
status: activly developed
discussion: prolog-request@swi.psy.uva.nl
contact: (OS/2) Andreas Toenne <atoenne@mpi-sb.mpg.de>
updated: 1993/07/23
language: Prolog
package: Frolic
version: ?
parts: ?
author: ?
how to get: ftp pub/frolic.tar.Z from cs.utah.edu
description: ?
requires: Common Lisp
contact: ?
updated: 1991/11/23
language: Prolog
package: ? Prolog package from the University of Calgary ?
version: ?
parts: ?
author: ?
how to get: ftp pub/prolog1.1/prolog11.tar.Z from cpsc.ucalgary.ca
description: + delayed goals
+ interval arithmetic
requires: Scheme
portability: relies on continuations
contact: ?
updated: ?
language: Prolog
package: ? slog ?
version: ?
parts: translator(Prolog->Scheme)
author: dorai@cs.rice.edu
how to get: ftp public/slog.sh from titan.rice.edu
description: macros expand syntax for clauses, elations etc, into Scheme
ports: Chez Scheme
portability: reliese on continuations
updated: ?
language: Prolog
package: LM-PROLOG
version: ?
parts: ?
author: Ken Kahn and Mats Carlsson
how to get: ftp archives/lm-prolog.tar.Z from sics.se
description: ?
requires: ZetaLisp
contact: ?
updated: ?
language: Prolog
package: Open Prolog
version: ?
parts: ?
author: ?
how to get: ftp languages/open-prolog/* from grattan.cs.tcd.ie
description: ?
ports: Macintosh
contact: Michael Brady <brady@cs.tcd.ie>
updated: ?
language: Prolog
package: UPMAIL Tricia Prolog
version: ?
parts: ?
author: ?
how to get: ftp pub/Tricia/README from ftp.csd.uu.se
description: ?
contact: <tricia-request@csd.uu.se>
updated: ?
language: Prolog
package: ?; ? (two systems)
version: ?; ?
parts: ?; ?
author: ?
how to get: ftp ai.prolog/Contents from aisun1.ai.uga.edu
description: ?; ?
ports: MSDOS, Macintosh; MSDOS
contact: Michael Covington <mcovingt@uga.cc.uga.edu>
updated: ?; ?
language: Prolog
package: XWIP (X Window Interface for Prolog)
version: 0.6
parts: library
author: ?
how to get: ftp contrib/xwip-0.6.tar.Z from export.lcs.mit.edu
description: It is a package for Prologs following the Quintus foreign
function interface (such as SICStus). It provides a (low-level)
Xlib style interface to X. The current version was developed
and tested on SICStus 0.7 and MIT X11 R5 under SunOS 4.1.1.
portability: It is adaptable to many other Unix configurations.
contact: xwip@cs.ucla.edu
updated: 1993/02/25
language: Prolog
package: PI
version: ?
parts: library
author: ?
how to get: ftp pub/prolog/ytoolkit.tar.Z from ftp.ncc.up.pt
description: PI is a interface between Prolog applications and XWindows that
aims to be independent from the Prolog engine, provided that it
has a Quintus foreign function interface (such as SICStus,
YAP). It is mostly written in Prolog and is divided in two
libraries: Edipo - the lower level interface to the Xlib
functions; and Ytoolkit - the higher level user interface
toolkit
contact: Ze' Paulo Leal <zp@ncc.up.pt>
updated: 1993/03/02
language: Prolog
package: ISO draft standard
version: ? (What year??)
parts: language definition
author: ?
how to get: ftp ? from ftp.th-darmstadt.de
description: ?
updated: 1992/07/06
language: Prolog
iref: (Pascal) Tim Budd's C++ implementation of Kamin's interpreters
concurrent, parellel, and simulation languages
-------------------------------------------------------------------------------
category: concurrent, parellel, and simulation languages
description: This is a fairly broad category of languages. Most of the
implementations in this set are not good enough to be used in
production systems. Some are. In addition to those listed
below, see:
lref: Concurrent Clean
lref: Concurrent ML
lref: EuLisp
lref: Parallaxis
lref: Maisie
lref: micro-C++
lref: MeldC
lref: pm2
language: ABCL/1 (An object-Based Concurrent Language)
package: ABCL/1
version: ?
parts: ?
author: Akinori Yonezawa, ABCL Group now at Department of Information
Science, the University of Tokyo
how to get: ftp pub/abcl1/* from camille.is.s.u-tokyo.ac.jp
description: Asynchronous message passing to objects.
reference: "ABCL: An Object-Oriented Concurrent System", Edited by
Akinori Yonezawa, The MIT Press, 1990, (ISBN 0-262-24029-7)
restriction: no commercial use, must return license agreement
requires: Common Lisp
contact: abcl@is.s.u-tokyo.ac.jp
updated: 1990/05/23
language: ABCL ???
package: ABCL/R2
version: ?
parts: ?
author: masuhara@is.s.u-tokyo.ac.jp, matsu@is.s.u-tokyo.ac.jp,
takuo@is.s.u-tokyo.ac.jp, yonezawa@is.s.u-tokyo.ac.jp
how to get: ftp pub/abclr2/* from camille.is.s.u-tokyo.ac.jp
description: ABCL/R2 is an object-oriented concurrent reflective language
based on Hybrid Group Architecture. As a reflective language,
an ABCL/R2 program can dynamically control its own behavior,
such as scheduling policy, from within user-program. An an
object-oriented concurrent language, this system has almost all
functions of ABCL/1.
requires: Common Lisp
updated: 1993/01/28
language: ALLOY
package: ALLOY
version: 2.0?
parts: interpreter, documentation, examples
author: Thanasis Mitsolides <mitsolid@cs.nyu.edu>
how to get: ftp pub/local/alloy/* from cs.nyu.edu
description: ALLOY is a higher level parallel programming language
appropriate for programming massively parallel computing
systems. It is based on a combination of ideas from
functional, object oriented and logic programming languages.
The result is a language that can directly support
functional, object oriented and logic programming styles
in a unified and controlled framework. Evaluating modes
support serial or parallel execution, eager or lazy
evaluation, non-determinism or multiple solutions etc.
ALLOY is simple as it only requires 29 primitives in all
(half of which for Object Oriented Programming support).
ports: sparc, ?
updated: 1991/06/11
language: Cellang (Cellular Automata)
package: Cellular
version: 2.0
parts: byte-code compiler, runtime, viewer
author: J Dana Eckart <dana@rucs.faculty.cs.runet.edu>
how to get: comp.sources.unix, volume 26
description: A system for cellular automata programming.
updated: 1993/04/03
language: Hermes
package: IBM Watson prototype Hermes system
version: 0.8alpha patchlevel 01
parts: bytecode compiler, compiler(bytecode->C), runtime
author: Andy Lowry <lowry@watson.ibm.com>
how to get: ftp pub/hermes/README from software.watson.ibm.com
description: Hermes is a very-high-level integrated language and
system for implementation of large systems and
distributed applications, as well as for
general-purpose programming. It is an imperative,
strongly typed, process-oriented language. Hermes
hides distribution and heterogeneity from the
programmer. The programmer sees a single abstract
machine containing processes that communicate using
calls or sends. The compiler, not the programmer,
deals with the complexity of data structure layout,
local and remote communication, and interaction with
the operating system. As a result, Hermes programs are
portable and easy to write. Because the programming
paradigm is simple and high level, there are many
opportunities for optimization which are not present in
languages which give the programmer more direct control
over the machine.
reference: Strom, Bacon, Goldberg, Lowry, Yellin, Yemini. Hermes: A
Language for Distributed Computing. Prentice-Hall, Englewood
Cliffs, NJ. 1991. ISBN: O-13-389537-8.
ports: RS6000 Sun-4 NeXT IBM-RT/bsd4.3 (Sun-3 and Convex soon)
discussion: comp.lang.hermes
updated: 1992/03/22
language: PCN
package: PCN
version: 2.0
parts: compiler?, runtime, linker, libraries, tools, debugger,
profiler, tracer
author: Ian Foster <foster@mcs.anl.gov>, Steve Tuecke
<tuecke@mcs.anl.gov>, and others
how to get: ftp pub/pcn/pcn_v2.0.tar.Z from info.mcs.anl.gov
description: PCN is a parallel programming system designed to improve
the productivity of scientists and engineers using parallel
computers. It provides a simple language for specifying
concurrent algorithms, interfaces to Fortran and C, a
portable toolkit that allows applications to be developed
on a workstation or small parallel computer and run
unchanged on supercomputers, and integrated debugging and
performance analysis tools. PCN was developed at Argonne
National Laboratory and the California Institute of
Technology. It has been used to develop a wide variety of
applications, in areas such as climate modeling, fluid
dynamics, computational biology, chemistry, and circuit
simulation.
ports: (workstation nets): Sun4, NeXT, RS/6000, SGI
(multicomputers): iPSC/860, Touchstone DELTA
(shared memory multiprocessors): Symmetry/Dynix
contact: <pcn@mcs.anl.gov>
updated: 1993/02/12
language: LOOPN
package: LOOPN
version: ?
parts: compiler?, simulator
author: ?
how to get: ftp departments/computer_sci*/loopn.tar.Z from ftp.utas.edu.au
description: I wish to announce the availability of a compiler, simulator
and associated source control for an object-oriented petri net
language called LOOPN. In LOOPN, a petri net is an extension
of coloured timed petri nets. The extension means firstly that
token types are classes. In other words, they consist of both
data fields and functions, they can be declared by inheriting
from other token types, and they can be used polymorphically.
The object-oriented extensions also mean that module or subnet
types are classes. LOOPN has been developed over a period of
about 5 years at the University of Tasmania, where it has been
used in teaching computer simulation and the modelling of
network protocols. A petri net is a directed, bipartite graph;
nodes are either places (represented by circles) or transitions
(represented by rectangles). A net is marked by placing tokens
on places. When all the places pointing to a transition (the
input places) have a token, the net may be fired by removing a
token from each input place and adding a token to each place
pointed to by the transition (the output places). Petri nets
are used to model concurrent systems, particularly in the
network protocol area.
contact: Charles Lakos <charles@probitas.cs.utas.edu.au>
updated: 1992/12/20
language: Simula
package: Lund Simula
version: 4.07
parts: ?
author: ?
how to get: ftp misc/mac/programming/+_Simula/* from rascal.ics.utexas.edu
description: ?
contact: Lund Software House AB / Box 7056 / S-22007 Lund, Sweden
updated: 1992/05/22
language: SR (Synchronizing Resources)
package: sr
version: 2.0
parts: ?, documentation, tests
author: ?
how to get: ftp sr/sr.tar.Z from cs.arizona.edu
description: SR is a language for writing concurrent programs.
The main language constructs are resources and
operations. Resources encapsulate processes and
variables they share; operations provide the primary
mechanism for process interaction. SR provides a novel
integration of the mechanisms for invoking and
servicing operations. Consequently, all of local and
remote procedure call, rendezvous, message passing,
dynamic process creation, multicast, and semaphores are
supported.
reference: "The SR Programming Language: Concurrency in Practice",
by Gregory R. Andrews and Ronald A. Olsson, Benjamin/Cummings
Publishing Company, 1993, ISBN 0-8053-0088-0
ports: Sun-4, Sun-3, Decstation, SGI Iris, HP PA, HP 9000/300,
NeXT, Sequent Symmetry, DG AViiON, RS/6000, Multimax,
Apollo, and others.
discussion: info-sr-request@cs.arizona.edu
contact: sr-project@cs.arizona.edu
updated: 1992/09/01
language: UNITY
package: MasPar Unity
version: 1.0
parts: translator(UNITY->MPL), documentation
author: Martin Huber, University of Karlsruhe, Germany
how to get: ftp pub/maspar/maspar_unity* from SanFrancisco.ira.uka.de
description: ?
contact: Lutz Prechelt <prechelt@ira.uka.de>
updated: ?
language: UNITY
package: HOL-UNITY
version: 2.1
parts: verification tool
author: ?
how to get: ?
description: ?
contact: Flemming Andersen <fa@tfl.dk> ?
updated: ?
Forth family languages
-------------------------------------------------------------------------------
category: Forth family languages
description: These are the stack-based postfix languages.
lref: Postscript
iref: (mc6809) 6809, E-Forth
language: Forth
package: TILE Forth
version: 2.1
parts: interpreter
author: Mikael Patel <mip@sectra.se>
how to get: ftp tile-forth-2.1.tar.Z from a GNU archive site
description: Forth interpreter in C; many Forth libraries
conformance: Forth83
restriction: shareware/GPL
ports: unix
updated: 1991/11/13
language: Forth
package: cforth
version: ?
parts: interpreter
author: ?
how to get: comp.sources.unix archive volume 1
description: ?
updated: ?
language: Forth
package: pfe (Portable Forth Environment)
version: 0.8.0
parts: ?
author: Dirk Zoller <duz@roxi.rz.fht-mannheim.de>
how to get: ftp pub/unix/languages/pfe* from duz@roxi.rz.fht-mannheim.de
description: A Forth development system that tries to be correct,
complete, portable, usable and simple. It doesn't try too
hard to be fast.
conformance: all dpANS word sets
ports: Linux, RS/6000, HP-UX
portability: high
updated: 1993/08/11
language: Forth
package: F68K
version: ?
parts: ?
author: ?
how to get: ftp atari/Languages/f68k.* from archive.umich.edu
description: a portable Forth system for Motorola 68k computers
ports: Atari ST/TT, Amiga, Sinclair QL and OS9
portability: very high for 68000 based systems
contact: Joerg Plewe <joerg.plewe@mpi-dortmund.mpg.de>
updated: 1992/12/14
language: Forth
package: 51forth
version: ?
parts: ?
author: Scott Gehmlich
how to get: ftp giovanni/51forth.zip from [130.123.96.9]
description: source and documentation for a 8051 subroutine-
threaded forth
contact: ?
updated: 1993/04/03
language: Forth?
package: Mops
version: 2.3
parts: ?
author: ?
how to get: ftp pub/Yerk/? from oddjob.uchicago.edu
description: ???
updated: 1993/03/22
language: Kevo (Forth-like)
package: kevo
version: 0.9b6
parts: interpreter, demo programs, user's guide, papers
author: Antero Taivalsaari <tsaari@cs.uta.fi>
how to get: ftp /pub/kevo/* from cs.uta.fi
description: Kevo is a prototype-based object-oriented language for
Macintosh Kevo features a unique prototype-based object model
(which is based neither on classes nor Self-style delegation),
multitasking (both preemptive and cooperative), dynamic memory
management, and an icon-based object browser and editor modeled
loosely after Mac Finder. Kevo has been built around a portable
threaded code interpreter, and is syntactically a close
derivative of Forth.
ports: Macintosh
contact: kevo-interest@ursamajor.uvic.ca
updated: 1993/05/18
language: Yerk
package: Yerk
version: 3.62
parts: ?
author: ?
how to get: ftp pub/Yerk/? from oddjob.uchicago.edu
description: Yerk is an object oriented language based on a
Forth Kernel with some major modifications. It
was originally known as Neon, developed and sold
as a product by Kriya Systems from 1985 to 1989.
Several of us at The University of Chicago have
maintained Yerk since its demise as a product.
Because of the possible trademark conflict that
Kriya mentions, we picked the name Yerk, which is
at least not an acronym for anything, but rather
stands for Yerkes Observatory, part of the Department
of Astronomy and Astrophysics at U of C.
updated: ?
compiler generators and related tools
-------------------------------------------------------------------------------
category: compiler generators and related tools
description: Yacc, and the rest of its family
language: ABC
package: Grammar analysis tools
version: 1
parts: analysis tools, samples, documentation
author: Steven Pemberton <Steven.Pemberton@cwi.nl>
how to get: ftp programming/languages/abc/examples/grammar/*
from ftp.eu.net or ftp.nluug.net
description: Grammar analysis program written in ABC (q.v.) for
answering such questions as "what are the start
symbols of all rules", "what symbols can follow this
symbol", "which rules are left recursive", and so on.
Includes a grammar of ISO Pascal.
reference: Ftp archive includes an article explaining the package.
ports: unix, MSDOS, atari, mac
contact: Steven.Pemberton@cwi.nl
updated: 1993/07/05
language: ? attribute grammar ?
package: Alpha
version: pre-release
parts: semantic-analysis generator?, documentation(german)
author: Andreas Koschinsky <koschins@cs.tu-berlin.de>
how to get: from author
description: I have written a compiler generator. The generator is called
Alpha and uses attribute grammars as specification calculus.
Alpha is the result of a thesis at Technische Universitaet
Berlin. I am looking for someone who would like to test and use
Alpha. Alpha generates compilers from a compiler
specification. This specification describes a compiler in
terminology of attribute grammars. Parser and Scanner are
generated by means of Bison and Flex. Alpha generates an
ASE-evaluator (Jazayeri and Walter). The documentation is in
german since it is a thesis at a german university.
updated: 1993/02/16
language: ? attribute gammar ?, Yacc, Lex, C, C++, Pascal, Ada, Fortran
package: Ox
version: G1.01
parts: preprocessor(Yacc, Lex, and C), tutorial, reference manual,
examples, parsers(C, C++, Pascal, Ada, Fortran)
author: Kurt Bischoff <bischoff@cs.iastate.edu>
how to get: ftp pub/ox/* from ftp.cs.iastate.edu
description: Ox generalizes the function of Yacc in the way that attribute
grammars generalize context-free grammars. Ordinary Yacc and
Lex specifications may be augmented with definitions of
synthesized and inherited attributes written in C syntax. Ox
checks these specifications for consistency and completeness,
and generates from them a program that builds and decorates
attributed parse trees. Ox accepts a most general class of
attribute grammars. The user may specify postdecoration
traversals for easy ordering of side effects such as code
generation. Ox handles the tedious and error-prone details of
writing code for parse-tree management, so its use eases
problems of security and maintainability associated with that
aspect of translator development.
reference: _The art of compiler design. (theory and practice)_, by
Thomas Pittman and James Peters, Prentice Hall,
ISBN 0-13-046160-1
contact: ox-request@cs.iastate.edu
updated: 1993/11/17
language: BNF (Extended)
package: Gray
version: 3
parts: parser generator(Forth)
author: Martin Anton Ertl <anton@mips.complang.tuwien.ac.at>
how to get: author; version 2 is on various ftp sites
description: Gray is a parser generator written in Forth. It takes
grammars in an extended BNF and produces executable Forth
code for recursive descent parsers. There is no special
support for error handling.
requires: Forth
ports: TILE Release 2 by Mikael Patel
updated: 1992/05/22
language: BNF ??
package: ZUSE
version: ?
parts: parser generator(?)
author: Arthur Pyster
how to get: ? Univ Calif at Santa Barbara ?
description: ll(1) paser generator
requires: Pascal
updated: 1986/09/23
language: BNF ??
package: FMQ
version: ?
parts: paser generator w/error corrector generator
author: Jon Mauney
how to get: ftp from csczar.ncsu.edu
description: ?
status: ?
contact: ?
updated: 1990/03/31
language: BNF ??
package: ATS (Attribute Translation System)
version: ?
parts: ?
author: ? University of Saskatchewan ?
how to get: ?
description: generates table-driven LL(1) parsers with full insert-only
error recovery. It also handles full left-attribute semantic
handling, which is a dream compared to using YACC's parser
actions.
status: ?
contact: ? (suggested: Dave Bocking <bocking@cs.usask.ca>)
updated: 1988/11/29
language: BNF (Extended)
package: PCCTS (Purdue Compiler-Construction Tool Set)
version: 1.10
parts: scanner generator, parser generator (LL(k)), documentation,
tutorial
author: Terence J. Parr <parrt@acm.org>, Will E. Cohen
<cohenw@ecn.purdue.edu>, Henry G. Dietz <hankd@ecn.purdue.edu>
how to get: ftp pub/pccts/1.10 from marvin.ecn.purdue.edu
UK: ftp computing/programming/languages/tools/pccts/*
from src.doc.ic.ac.uk
Macintosh: ftp pub/mac/* from maya.dei.unipd.it
description: PCCTS is similar to a highly integrated version of YACC
and LEX; where ANTLR (ANother Tool for Language
Recognition) corresponds to YACC and DLG (DFA-based
Lexical analyzer Generator) functions like LEX.
However, PCCTS has many additional features which make
it easier to use for a wide range of translation
problems. PCCTS grammars contain specifications for
lexical and syntactic analysis with selective backtracking
("infinite lookahead"), semantic predicates, intermediate-form
construction and error reporting. Rules may employ Extended
BNF (EBNF) grammar constructs and may define parameters,
return values and local variables. Languages described in
PCCTS are recognized via LL(k) parsers constructed in pure,
human-readable, C code. Selective backtracking is available
to handle non-LL(k) constructs. PCCTS parsers may be compiled
with C++.
ports: Unix, DOS, OS/2, Macintosh
portability: very high
discussion: send mail with a body of "subscribe pccts-users your_name"
to pccts-users-request@ahpcrc.umn.edu
contact: Terence J. Parr <parrt@acm.org>
Roberto Avanzi (mocenigo@maya.dei.unipd.it) (for the Mac port)
updated: 1993/09/14
language: BNF (very extended), yacc
package: PRE-CC Xtended
version: 2.30
parts: library, parser generator (LL(oo)), translator(yacc->)
author: Peter Breuer
how to get: ftp pub/Programs/preccx230* from ftp.comlab.ox.ac.uk
(later versions available by subscription)
description: PRECCX is an infinite-lookahead compiler compiler for context
dependent grammars. The generated code is ANSI C.
Specification scripts are in very EBNF with inherited and
synthetic attributes allowed. Scripts can be compiled in
separate modules, and linked together later. Meta-production
rules allowed. The technology is essentially LL(oo) with
optimizations. A converter for yacc scripts is available.
reference: "The PRECC Compiler-Compiler" by P.T. Breuer and J.P. Bowen.
In E. Davies and A. Findlay (eds.),
Proc. UKUUG/SUKUG Joint New Year 1993 Conference,
St. Cross Centre, Oxford, UK, 6-8 January 1993,
ISBN 1 873611 06 4 (UKUUG), 0 9520700 0 6 (SUKUG)
UKUUG/SUKUG Secretariat, Owles Hall, Buntingford,
Herts SG9 9PL, UK, pp 167-182, 1993.
ports: unix, MS-DOS
contact: Peter Breuer <ptb@comlab.ox.ac.uk>,
Jonathan Bowen <bowen@comlab.ox.ac.uk>
updated: 1992/08/25
language: BNF ??
package: LLGen
version: ?
parts: parser generator
author: ? Fischer and LeBlanc ?
how to get: ? ftp from csczar.ncsu.edu ?
description: LL(1) parser generator
conformance: subset of FMQ
reference: "Crafting A Compiler", by Fischer and LeBlanc
status: ?
contact: ?
updated: 1990/03/31
language: BNF ??
package: wacco
version: ?
parts: parser generator
author: ?
how to get: comp.sources.misc volume ?
description: LL(?) parser generator
contact: ?
updated: ?
language: BNF (Extended), BNF (yacc), Modula-2
package: GMD Toolbox for Compiler Construction (aka Cocktail)
version: 9209
parts: parser generator (LALR -> C, Modula-2), documentation,
parser generator (LL(1) -> C, Modula-2), tests,
scanner generator (-> C, Modula-2), tests
translator (Extended BNF -> BNF), translator (Modula-2 -> C),
translator (BNF (yacc) -> Extended BNF), examples
abstract syntax tree generator, attribute-evaluator generator,
code generator
author: ?
how to get: ftp pub/cocktail/dos from ftp.karlsruhe.gmd.de
OS/2: ftp.eb.ele.tue.nl/pub/src/cocktail/dos-os2.zoo
description: A huge set of compiler building tools.
requires: (ms-dos only) DJ Delorie's DOS extender (go32)
(OS/2 only) emx programming environment for OS/2
ports: msdos, unix, os/2
discussion: subscribe to Cocktail using listserv@eb.ele.tue.nl
contact: Josef Grosch <grosch@karlsruhe.gmd.de>
OS/2: Willem Jan Withagen <wjw@eb.ele.tue.nl>
updated: 1992/10/01
language: BNF ????
package: T-gen
version: 2.1
parts: parser generator, documentation, ?
author: Justin Graver <graver@comm.mot.com>
how to get: ftp pub/st80_r41/T-gen2.1/* from st.cs.uiuc.edu
description: T-gen is a general-purpose object-oriented tool for the
automatic generation of string-to-object translators.
It is written in Smalltalk and lives in the Smalltalk
programming environment. T-gen supports the generation
of both top-down (LL) and bottom-up (LR) parsers, which
will automatically generate derivation trees, abstract
syntax trees, or arbitrary Smalltalk objects. The simple
specification syntax and graphical user interface are
intended to enhance the learning, comprehension, and
usefulness of T-gen.
requires: Smalltalk-80
ports: ParcPlace Objectworks/Smalltalk 4.0 & 4.1
updated: 1992/10/18
language: BNF
package: Eli Compiler Construction System
version: 3.5
parts: ?, documentation
author: ?
how to get: ftp pub/cs/distribs/eli/* from ftp.cs.colorado.edu
Europe: ftp unix/eli from ftp.uni-paderborn.de
description: Eli integrates off-the-shelf tools and libraries with
specialized language processors to generate complete compilers
quickly and reliably. It simplifies the development of new
special-purpose languages, implementation of existing languages
on new hardware and extension of the constructs and features of
existing languages.
ports: Sun-4 (SunOS 4 & 5), Ultrix/MIPS, RS/6000, HP-UX, SGI, Linux
discussion: <eli-request@cs.colorado.edu>
contact: <compiler@cs.colorado.edu>, <compiler@uni-paderborn.de>
updated: 1993/11/01
language: BNF (yacc)
package: NewYacc
version: 1.0
parts: parser generator, documenation
author: Jack Callahan <callahan@mimsy.cs.umd.edu>
how to get: ftp src/newyacc.1.0.*.Z from flubber.cs.umd.edu
description: [someone want to fill it in? --ed]
reference: see Dec 89 CACM for a brief overview of NewYacc.
updated: 1992/02/10
language: BNF (yacc)
package: bison
version: 1.22
parts: parser generator, documentation
author: Robert Corbett ?
how to get: ftp bison-1.16.tar.Z from a GNU archive site
description: ?
bugs: bug-gnu-utils@prep.ai.mit.edu
restriction: !! will apply the GNU General Public License to *your* code !!
ports: unix, atari, ?
updated: 1993/09/14
language: BNF (yacc), Lex
package: Bison++, Flex++
version: ?
parts: parser generator, scanner generator, documentation, samples
author: ? Alain Coetmeur <coetmeur@icdc.fr>
how to get: ftp pub/file/{bison,flex,misc}++.tar.gz from iecc.com
description: GNU's Yacc and Lex, retargeted to C++
updated: 1993/07/08
language: BNF (yacc)
package: ? jaccl ?
version: ?
parts: parser generator
author: Dave Jones <djones@megatest.uucp>
how to get: ?
description: a LR(1) parser generator
updated: 1989/09/08
language: BNF (yacc)
package: byacc (Berkeley Yacc)
version: 1.9
parts: parser generator
author: Robert Corbett <Robert.Corbett@eng.sun.com>
how to get: ftp pub/byacc.tar.1.9.Z from vangogh.CS.Berkeley.EDU
description: probably the best yacc variant around. Previously known as
Zoo, and before that, as Zeus.
updated: 1993/02/22
language: BNF (yacc), Lex
package: Lex/Yacc for Turbo Pascal uploaded
version: ?
parts: parser generator, scanner generator, documentation?
author: ?
how to get: iecc.com (140.186.81.1) at pub/file/lyprg.zip.
description: Lex and Yacc retargeted to Pascal.
contact: ? dpoole@hydrogen.oscs.montana.edu (David Poole)
updated: 1993/07/02
language: BNF (yacc), Ada
package: aflex-ayacc
version: 1.2a
parts: parser generator (Ada), scanner generator (Ada)
author: IRUS (Irvine Research Unit in Software)
how to get: ftp pub/irus/aflex-ayacc_1.2a.tar.Z from liege.ics.uci.edu
description: Lex and Yacc equivalents that produce Ada output
announcements: irus-software-request@ics.uci.edu
contact: irus-software-request@ics.uci.edu
updated: 1993/01/06
language: BNF (variant), Icon
package: Ibpag2 (Icon-Based Parser Generation System 2)
version: 1.0 (beta)
parts: parser generator (Icon, SLR(1))
author: Richard L. Goerwitz <goer@midway.uchicago.edu>
how to get: comp.sources.misc archive
description: Ibpag2 is a parser generator for Icon. It does most
of what you would expect. Latest version can handle both
SLR(1) and even GLR (Tomita) grammars.
ports: unix
portability: ? (Unix dependencies?)
updated: 1993/07/13
language: BNF ?, Gofer
package: Ratatosk ?
version: ?
parts: parser generatr (Gofer)
author: Torben AEgidius Mogensen <torbenm@diku.dk>
how to get: ftp pub/diku/dists/Ratatosk.tar.Z from ftp.diku.dk
description: Ratatosk is a SLR parser generator in Gofer (a Haskell variant)
that generates purely functional parsers (also in Gofer). Even
though the sematic value of a production is a function of the
attributes of its right-hand side (and thus apparently purely
synthesized), inherited attributes are easily simulated by
using higher order functions.
ports: ?
updated: ?
language: BNF
package: lalr.ss - An LALR(1) parser generator
version: 0.9
parts: parser generator (->Scheme)
author: Mark Johnson <mj@cs.brown.edu>
how to get: ftp new/lalr.shar from the Scheme Repository
description: A LALR(1) parser generator in and for Scheme.
requires: Scheme
updated: 1993/05/24
language: BURS ?
package: Iburg
version: ?
parts: parser generator?
author: Christopher W. Fraser <cwf@research.att.com>, David R. Hanson
<drh@princeton.edu>, Todd A. Proebsting <todd@cs.arizona.edu>
how to get: ftp pub/iburg.tar.Z from ftp.cs.princeton.edu
description: Iburg is a program that generates a fast tree parser. It is
compatible with Burg. Both programs accept a cost-augmented
tree grammar and emit a C program that discovers an optimal
parse of trees in the language described by the grammar. They
have been used to construct fast optimal instruction selectors
for use in code generation. Burg uses BURS; Iburg's matchers
do dynamic programming at compile time.
updated: 1993/02/10
language: Candle, IDL (Interface Description Language)
package: Scorpion System
version: 6.0
parts: software development environment for developing
software development environments, documentation
author: University of Arizona
how to get: ftp scorpion/* from cs.arizona.edu
description: 20 tools that can be used to construct specialized
programming environments.
The Scorpion Project was started by Prof. Richard
Snodgrass as an outgrowth of the SoftLab Project (which pro-
duced the IDL Toolkit) that he started when he was at the
University of North Carolina. The Scorpion Project is
directed by him at the University of Arizona and by Karen
Shannon at the University of North Carolina at Chapel Hill.
reference: "The Interface Description Language: Definition and Use,"
by Richard Snodgrass, Computer Science Press, 1989,
ISBN 0-7167-8198-0
ports: Sun-3, Sun-4, Vax, Decstation, Iris, Sequent, HP9000
discussion: info-scorpion-request@cs.arizona.edu
contact: scorpion-project@cs.arizona.edu
updated: 1993/11/04
language: COCOL (EBNF variant)
package: COCO/R
version: 1.28
parts: parser generator(LL(1))
author: Hanspeter Moessenboeck <moessenboeck@inf.ethz.ch>
Port to Modula-2 done by Marc Brandis, Christof Brass
and Pat Terry <cspt@alpha.ru.ac.za>
how to get: ftp Oberon/Examples/Coco from neptune.inf.ethz.ch
description: Coco/R generates recursive descent parsers and their associated
scanners from attributed grammars. Coco/R can bootstrap itself
to generate its own driver, parser, scanner, and semantic
evaluator from the attributed grammar CR.ATG. This grammar
thus serves as an an example of how to write compiler
descriptions for Coco. There are also other simpler examples
showing its use.
references: _A compiler generator for microcomputers_, by Rechenberg
and Mossenbock (Prentice Hall, 1989, 0-13-155136-1)
bugs: MS-DOS related versions: Pat Terry <cspt@alpha.ru.ac.za>
Other: Hanspeter Moessenboeck <moessenboeck@inf.ethz.ch>
requires: Oberon
ports: MS-DOS: TopSpeed Modula-2; FST 2.0; FST 3.1; StonyBrook
QuickMod 2.2; Logitech 3.03. Macintosh: Apple MacMeth
status: free to academic sites; commercial use requires a license
updated: 1993/04/30
language: EAG (Extended Affix Grammar)
package: EAG
version: first public release
parts: recognizer generator, transduccer generator,
translator generator, editor generator, documentation
author: Marc Seutter <marcs@cs.kun.nl>
how to get: ftp pub/eag/* from hades.cs.kun.nl
description: The Extended Affix Grammar formalism, or shortly EAG, is a
formalism for describing both the context free and the context
sensitive syntax of languages. EAG is a member of the family
of two-level grammars. They are very closely related to
two-level van Wijngaarden grammars. The EAG compiler will
generate either a recognizer or a transducer or a translator or
a syntax directed editor for a language described in the EAG
formalism. [What's a tranducer? --ed]
updated: 1993/09/14
language: lex
package: flex
version: 2.3.8
parts: scanner generator
author: Vern Paxson <vern@ee.lbl.gov>
how to get: ftp flex-2.3.8.tar.Z from a GNU archive site or ftp.ee.lbl.gov
description: ?
updated: ?
language: Milarepa
package: Milarepa Perl/BNF Parser
version: Prototype 1.0
parts: parser-generator, examples, tutorial
author: Jeffrey Kegler <jeffrey@netcom.com>
how to get: comp.lang.perl, direct by E-mail.
The author is seeking an FTP site to hold the software.
description: Milarepa takes a source grammar in the Milarepa language (a
straightforward mix of BNF and Perl) and generates a Perl file,
which, when enclosed in a simple wrapper, parses some third
language described by the source grammar.
This is intended to be a real hacker's parser. It is not
restricted to LR(k), and the parse logic follows directly from
the BNF. It handles ambiguous grammars, ambiguous tokens
(tokens which were not positively identified by the lexer) and
allows the programmer to change the start symbol. The grammar
may not be left recursive. The input must be divided into
sentences of a finite maximum length. There is no fixed
distinction between terminals and non-terminals, that is, a
symbol can both match the input AND be on the left hand side of
a production. Multiple Marpa grammars are allowed in a single
perl program.
It's only a prototype primarily due to poor speed. This is
intended to be remedied after Perl 5.0 is out.
requires: perl
updated: 1993/03/17
language: Pascal, Lisp, APL, Scheme, SASL, CLU, Smalltalk, Prolog
package: Tim Budd's C++ implementation of Kamin's interpreters
version: ?
parts: interpretors, documentation
author: Tim Budd <budd@cs.orst.edu>
how to get: ? ftp pub/budd/kamin/*.shar from cs.orst.edu ?
description: a set of interpretors written as subclasses based on
"Programming Languages, An Interpreter-Based Approach",
by Samuel Kamin.
requires: C++
status: ?
contact: Tim Budd <budd@fog.cs.orst.edu>
updated: 1991/09/12
language: perl, yacc
iref: (Perl) perl-byacc
--
Send compilers articles to compilers@iecc.com or
{ima | spdcc | world}!iecc!compilers. Meta-mail to compilers-request@iecc.com.