home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-12-02 | 56.8 KB | 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.
-