Section 1 of 3 - Prev - Next
All sections - 1 - 2 - 3
Archive-name: compilers/free/part4
Last-modified: 2000/02/08
Version: 10.3
concurrent, parallel, and simulation languages
-------------------------------------------------------------------------------
category: concurrent, parellel, and simulation languages
description: This is a fairly broad category of languages. Most of the
implementations in this set are not good enough to be used in
production systems. Some are. In addition to those listed
below, see:
lref: Concurrent Clean
lref: Concurrent ML
lref: EuLisp
lref: Parallaxis
lref: Maisie
lref: uC++
lref: MeldC
lref: pm2
lref: Simula 67
iref: (Tcl) MTtcl - Multi-threaded Tcl
language: ABCL/1 (An object-Based Concurrent Language)
package: ABCL/1
version: ?
parts: ?
author: Akinori Yonezawa, ABCL Group now at Department of Information
Science, the University of Tokyo
location: ftp://camille.is.s.u-tokyo.ac.jp/pub/abcl1/*
description: Asynchronous message passing to objects.
reference: "ABCL: An Object-Oriented Concurrent System", Edited by
Akinori Yonezawa, The MIT Press, 1990, (ISBN 0-262-24029-7)
restriction: no commercial use, must return license agreement
requires: Common Lisp
contact: abcl@is.s.u-tokyo.ac.jp
updated: 1990/05/23
language: ABCL ???
package: ABCL/R2
version: ?
parts: ?
author: masuhara@is.s.u-tokyo.ac.jp, matsu@is.s.u-tokyo.ac.jp,
takuo@is.s.u-tokyo.ac.jp, yonezawa@is.s.u-tokyo.ac.jp
location: ftp://camille.is.s.u-tokyo.ac.jp/pub/abclr2/*
description: ABCL/R2 is an object-oriented concurrent reflective language
based on Hybrid Group Architecture. As a reflective language,
an ABCL/R2 program can dynamically control its own behavior,
such as scheduling policy, from within user-program. An an
object-oriented concurrent language, this system has almost all
functions of ABCL/1.
requires: Common Lisp
updated: 1993/01/28
language: ALLOY
package: ALLOY
version: 2.0?
parts: interpreter, documentation, examples
author: Thanasis Mitsolides
location: ftp://cs.nyu.edu/pub/local/alloy/*
description: ALLOY is a higher level parallel programming language
appropriate for programming massively parallel computing
systems. It is based on a combination of ideas from
functional, object oriented and logic programming languages.
The result is a language that can directly support
functional, object oriented and logic programming styles
in a unified and controlled framework. Evaluating modes
support serial or parallel execution, eager or lazy
evaluation, non-determinism or multiple solutions etc.
ALLOY is simple as it only requires 29 primitives in all
(half of which for Object Oriented Programming support).
ports: sparc, ?
updated: 1991/06/11
language: Cellang (Cellular Automata)
package: Cellular
version: 2.0
parts: byte-code compiler, runtime, viewer
author: J Dana Eckart
location: comp.sources.unix, volume 26
description: A system for cellular automata programming.
updated: 1993/04/03
language: Hermes
package: IBM Watson prototype Hermes system
version: 0.8alpha patchlevel 01
parts: bytecode compiler, compiler(bytecode->C), runtime
author: Andy Lowry
location: ftp://software.watson.ibm.com/pub/hermes/README
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: ICC++ (Illinois Concert C++) and CA (Concurrent Aggregates)
package: Illinois Concert System
version: 3.0
parts: compiler(->C++), interpreter, symbolic debugger, parallel
runtime simulator, parallel implementation on TMC CM5,
Cray T3D
author: Various, concert@red-herring.cs.uiuc.edu
location: http://www-csag.cs.uiuc.edu/projects/concert.html
description: The Concert System incorporates global analysis for
parallel object-oriented languages, including
aggressive concrete type inference. In addition, it
include an extremely lightweight communication and
threading library (compiler-supported). The
implementation supports both a parallel C++ and
a simple parallel object-oriented language called
Concurrent aggregates.
conformance: ICC++ and CA documentation available from the web site.
reference: Andrew Chien, et. al. The Concert System -- Compiler and
Runtime Support for Efficient Fine-Grained Concurrent
Object-Oriented Programs, Department of Computer Science,
University of Illinois, Urbana, Illinois, Technical
Report UIUCDCS-R-93-1815, June 1993.
(Others are available also)
bugs: concert@red-herring.cs.uiuc.edu
restriction: redistribution is restricted
announcements: where new releases are announced
contact: Andrew Chien achien@cs.uiuc.edu
updated: 1995/05/07 Version 3.0
lref: C++
language: OCCAM 2 (A parallel, concurrent, distributed language)
package: D7202-oc / TDS
version: ?
parts: compiler & full toolset system
author: INMOS Ltd.
location: ftp://unix.hensa.ac.uk/pub/parallel/occam/compilers/inmos
http://www.hensa.ac.uk/parallel/occam/compilers/inmos/index.html
description: An old version of the INMOS OCCAM compiler & toolset, made
freely avaiable by INMOS Ltd. OCCAM is a language for
designed to express concurrent algorithms and their
implementation on a network of processing components.
conformance: The original implementation of OCCAM 2
reference: "OCCAM 2 reference manual", INMOS ltd, Prentice-Hall
International, ISBN 0-13-629312-3
features: produces object code for the INMOS transputer (but see
KROC entry)
restriction: Research purposes only. NO support will be provided by
INMOS Ltd.
requires: C & occam compiler (Sun4, PC, & Transputer binaries available)
ports: Sun3, Sun4, PC, INMOS transputer. (Most UNIXes?)
portability: produces object code for the INMOS transputer (but see KROC
entry)
status: Not developed, UNSUPPORTED.
discussion: comp.sys.transputer
contact: Dave Beckett
updated: 1-Mar-94
language: OCCAM 2 (A parallel, concurrent, distributed language)
package: KROC (Kent Retargetable Occam Compiler)
version: 0.1 Beta
parts: compiler, run-time kernel, documentation
author: David Wood, Professor Peter Welch
location: ftp://unix.hensa.ac.uk/pub/parallel/occam/projects/occam-for-all/kroc
http://www.hensa.ac.uk/parallel/occam/projects/occam-for-all/kroc/
description: KROC is a portable OCCAM compiler system that enables OCCAM to
run on non-transputer platforms (initially SunOS/SPARC(TM)
workstations). KROC works by translating code produced by an
INMOS OCCAM Toolset compiler into the native assembler for the
target architecture and linking in a small (< 2K bytes) kernel
that provides the process scheduling and message-passing
functionality of the transputer micro-code. Therefore, you
will need an OCCAM Toolset compiler (see requires:).
features: -initialy available as Sun4 (SunOS) binary.
+A source release will follow.
reference: "OCCAM 2 reference manual", INMOS ltd, Prentice-Hall
International, ISBN 0-13-629312-3
"Transputer Instruction Set - A Compiler Writers Guide", INMOS
Ltd, Prentice-Hall, ISBN 0-13-929100-8
restriction: ?
requires: INMOS OCCAM compiler D7202 from:
ftp://unix.hensa.ac.uk/pub/parallel/occam/compilers/inmos/oc
ports: Sun4 (DEC Alpha and Motorola PowerPC to follow)
portability: Sparc processor only at present
status: actively developed, supported
discussion: comp.sys.transputer,
contact: Occam For All Team
updated: 4-May-1995
language: OCCAM 2 (A parallel, concurrent, distributed language)
package: SPOC (Southampton Portable Occam Compiler)
version: 1.1
parts: compiler(->C), run-time system, documentation, tools, examples
author: Denis Nicole ,
Sean Wykes ,
Mark Debbage ,
Mark Hill
location: ftp://ftp.ecs.soton.ac.uk/pub/occam/spoc1.1
ftp://unix.hensa.ac.uk/pub/parallel/occam/compilers/spoc
http://www.hensa.ac.uk/parallel/occam/compilers/spoc/index.html
description: supports the OCCAM 2 programming language.
conformance: Full implementation of OCCAM 2
reference: "OCCAM 2 reference manual", INMOS ltd, Prentice-Hall
International, ISBN 0-13-629312-3
features: The system generates ANSI-C code, implementing efficient
portable concurrency running on a single target processor.
Supports cross-linking with NAG Fortran-90 compiler.
restriction: GPL'ed
requires: C compiler, gmd compiler tools (available with compiler
sources) (Sun4 binaries available)
ports: Sun3, Sun4
portability: ? Should work on most UNIXes
status: actively developed, supported
discussion: comp.sys.transputer
contact: Dr Denis A Nicole
updated: 1-March-1994
language: PCN
package: PCN
version: 2.0
parts: compiler?, runtime, linker, libraries, tools, debugger,
profiler, tracer
author: Ian Foster , Steve Tuecke
, and others
location: ftp://info.mcs.anl.gov/pub/pcn/pcn_v2.0.tar.Z
description: PCN is a parallel programming system designed to improve
the productivity of scientists and engineers using parallel
computers. It provides a simple language for specifying
concurrent algorithms, interfaces to Fortran and C, a
portable toolkit that allows applications to be developed
on a workstation or small parallel computer and run
unchanged on supercomputers, and integrated debugging and
performance analysis tools. PCN was developed at Argonne
National Laboratory and the California Institute of
Technology. It has been used to develop a wide variety of
applications, in areas such as climate modeling, fluid
dynamics, computational biology, chemistry, and circuit
simulation.
ports: (workstation nets): Sun4, NeXT, RS/6000, SGI
(multicomputers): iPSC/860, Touchstone DELTA
(shared memory multiprocessors): Symmetry/Dynix
contact:
updated: 1993/02/12
language: LOOPN
package: LOOPN
version: ?
parts: compiler?, simulator
author: ?
location: ftp://ftp.utas.edu.au/departments/computer_sci*/loopn.tar.Z
description: I wish to announce the availability of a compiler, simulator
and associated source control for an object-oriented petri net
language called LOOPN. In LOOPN, a petri net is an extension
of coloured timed petri nets. The extension means firstly that
token types are classes. In other words, they consist of both
data fields and functions, they can be declared by inheriting
from other token types, and they can be used polymorphically.
The object-oriented extensions also mean that module or subnet
types are classes. LOOPN has been developed over a period of
about 5 years at the University of Tasmania, where it has been
used in teaching computer simulation and the modelling of
network protocols. A petri net is a directed, bipartite graph;
nodes are either places (represented by circles) or transitions
(represented by rectangles). A net is marked by placing tokens
on places. When all the places pointing to a transition (the
input places) have a token, the net may be fired by removing a
token from each input place and adding a token to each place
pointed to by the transition (the output places). Petri nets
are used to model concurrent systems, particularly in the
network protocol area.
contact: Charles Lakos
updated: 1992/12/20
language: Simula
package: Lund Simula
version: 4.07
parts: ?
author: ?
location: ftp://rascal.ics.utexas.edu/misc/mac/programming/+_Simula/*
description: ?
contact: Lund Software House AB / Box 7056 / S-22007 Lund, Sweden
updated: 1992/05/22
language: SR (Synchronizing Resources)
package: sr
version: 2.0
parts: ?, documentation, tests
author: ?
location: ftp://cs.arizona.edu/sr/sr.tar.Z
description: SR is a language for writing concurrent programs.
The main language constructs are resources and
operations. Resources encapsulate processes and
variables they share; operations provide the primary
mechanism for process interaction. SR provides a novel
integration of the mechanisms for invoking and
servicing operations. Consequently, all of local and
remote procedure call, rendezvous, message passing,
dynamic process creation, multicast, and semaphores are
supported.
reference: "The SR Programming Language: Concurrency in Practice",
by Gregory R. Andrews and Ronald A. Olsson, Benjamin/Cummings
Publishing Company, 1993, ISBN 0-8053-0088-0
ports: Sun-4, Sun-3, Decstation, SGI Iris, HP PA, HP 9000/300,
NeXT, Sequent Symmetry, DG AViiON, RS/6000, Multimax,
Apollo, and others.
discussion: info-sr-request@cs.arizona.edu
contact: sr-project@cs.arizona.edu
updated: 1992/09/01
language: UNITY
package: MasPar Unity
version: 1.0
parts: translator(UNITY->MPL), documentation
author: Martin Huber, University of Karlsruhe, Germany
location: ftp://SanFrancisco.ira.uka.de/pub/maspar/maspar_unity*
description: ?
contact: Lutz Prechelt
updated: ?
language: UNITY
package: HOL-UNITY
version: 2.1
parts: verification tool
author: ?
location: ?
description: ?
contact: Flemming Andersen ?
updated: ?
Forth family languages
-------------------------------------------------------------------------------
category: Forth family languages
description: These are the stack-based postfix languages, usually
interpreted, descended from the FORTH language originally
developed for telescope control.
lref: Postscript
iref: (mc6809) 6809, E-Forth
language: Forth
package: TILE Forth
version: 2.1
parts: interpreter
author: Mikael Patel
location: ftp tile-forth-2.1.tar.Z from a GNU archive site
description: Forth interpreter in C; many Forth libraries
conformance: Forth83
restriction: shareware/GPL
ports: unix
updated: 1991/11/13
language: Forth
package: cforth
version: ?
parts: interpreter
author: ?
location: comp.sources.unix archive volume 1
description: ?
updated: ?
language: Forth
package: pfe (Portable Forth Environment)
version: 0.9.14
parts: ?
author: Dirk Zoller
location: ftp://ftp.taygeta.com/pub/Forth/Compilers/native/unix/
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: Runs on several Unix-like operating systems and on
MS-DOS and OS/2. Makefiles readily provided for AIX,
FreeBSD, Linux, HP-UX, Ultrix, DOS and OS/2.
DOS and OS/2 executables included (with EMX DOS extender).
Written in ANSI-C using Posix extensions and termcap.
Compiles with GNU-C and several OS-specific compilers.
restriction: Freely Redistributable
portability: high
updated: 1996/05/02
language: Forth
package: gforth
version: 0.2.1
author: Anton Ertl
location: ftp://prep.ai.mit.edu/pub/gnu/gforth-0.2.1.tar.gz
and
http://www.complang.tuwien.ac.at/forth/gforth/gforth-0.2.1.tar.gz
description: Gforth is a fast and portable implementation of the ANS
Forth language. It works nicely with the Emacs editor,
offers some nice features such as input completion and
history and a powerful locals facility, and it even has
(the beginnings of) a manual. Gforth employs traditional
implementation techniques. Gforth is distributed under
the GNU General Public license (see COPYING). Gforth runs
under Unix and DOS and should not be hard to port to other
systems supported by GCC. This version has been tested
successfully on the following platforms: i486-unknown-linuxaout,
i586-unknown-linux, alpha-dec-osf3.2, mips-dec-ultrix4.3,
sparc-sun-sunos4.1.4, sparc-unknown-netbsd1.2 (configured
with ac_cv_sizeof_long_long=0, see INSTALL),
hppa1.1-hp-hpux9.05, hppa1.1-hp-hpux10.20, Windows 95 using
DJGPP 2.0, and OS/2 3.0 using EMX 0.9c, the latter with manual
help to finish compilation.
updated: 1997/01/13
language: Forth
package: F68K
version: ?
parts: ?
author: ?
location: ftp://archive.umich.edu/atari/Languages/f68k.*
description: a portable Forth system for Motorola 68k computers
ports: Atari ST/TT, Amiga, Sinclair QL and OS9
portability: very high for 68000 based systems
contact: Joerg Plewe
updated: 1992/12/14
language: Forth
package: 51forth
version: ?
parts: ?
author: Scott Gehmlich
location: ftp giovanni/51forth.zip from [130.123.96.9] ?
description: source and documentation for a 8051 subroutine-
threaded forth
contact: ?
updated: 1993/04/03
language: Forth
package: M4th
version: ?
parts: interpreter, kernel, editor, application (8086 assembler),
hypertext-based documentation, decompiler
author: Nils M. Holm
location: ftp://ftp.uni-stuttgart.de/pub/systems/pc/lang/forth/m4th10.zip
description: A small Forth implementation
ports: MSDOS.
updated: 1994/06/28
language: Forth
package: ThisForth
version: 1.0.0.d
author: Will Baden
location: ftp://ftp.taygeta.com/pub/Forth/Compilers/native/unix/
description: This Forth was written to try out Standard (ANS) Forth,
to integrate macro processing with Forth, to be able to use
Forth in a conventional environment and to have Forth as an
interpretive shell and scripting language for applications.
features:
+ Integrated macro processing
+ Input/output re-assignment
+ Portable implementation
+ Easy extensibility
+ Pinhole optimization
requires: M4 and an ANSI C compiler.
ports: Macintosh, PowerMac, MIPS, SUN, SGI, 32-bit DOS
updated: 1995/02
language: Mops
package: Mops
version: 3.2
parts: compiler, assembler, documentation, editor
author: Michael Hore
location: ftp://ftp.taygeta.com/pub/Forth/Compilers/native/mac/Mops/
ftp://astro.uchicago.edu/pub/MAC/Yerk
description: Like Yerk, Mops is descended from the ex-commercial
object-oriented language Neon. Mops features an
optimizing native-code compiler; it is much faster
than Yerk, but less compatible with Neon. Mops
includes extensions such as multiple inheritance.
conformance: Includes a prologue for ANSI Forth.
features: + classes for all the standard Mac interface items
+ can produce double-clickable applications
+ extremely fast edit-compile cycle
+ includes a PowerPC assembler
ports: Macintosh
updated: 1998/07
language: Kevo (Forth-like)
package: kevo
version: 0.9b6
parts: interpreter, demo programs, user's guide, papers
author: Antero Taivalsaari
location: ftp://cs.uta.fi/pub/kevo/*
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.68
parts: interpreter, assembler, documentation, decompiler
author: Bob Loewenstein
location: ftp://astro.uchicago.edu/pub/astro/MAC/Yerk
description: Yerk is an object oriented derivative of Forth.
It was originally known as Neon, developed and sold
as a product by Kriya Systems from 1985 to 1989.
The language features many system classes and objects for mac
interfacing:
windows, controls, events, files, arrays, ordered-columns,
menus,hierarchical and popup menus, handles, strings,
mouse,quickdraw, modal dialogs, offscreen bitmaps, vbl,
time manager, etc.
features: + defaulted early binding, with ability to late bind in almost any circumstance
+ objects may be instantiated on the heap (dynamically)
+ inheritance (not multiple)
+ floating point (SANE)
+ module (overlay) creation that are loaded only when necessary
+ modules may be purged from application heap memory.
updated: 1996/03/19
compiler generators and related tools
-------------------------------------------------------------------------------
category: compiler generators and related tools
description: Yacc, and the rest of its family
language: ABC
package: Grammar analysis tools
version: 1
parts: analysis tools, samples, documentation
author: Steven Pemberton
location: ftp://ftp.cwi.nl/pub/abc/examples/grammar/*
or http://www.cwi.nl/~steven/abc/examples/grammar
description: Grammar analysis program written in ABC (q.v.) for
answering such questions as "what are the start
symbols of all rules", "what symbols can follow this
symbol", "which rules are left recursive", and so on.
Includes a grammar of ISO Pascal.
reference: Ftp://archive includes an article explaining the package.
ports: unix, MSDOS, atari, mac
contact: Steven.Pemberton@cwi.nl
updated: 1993/07/05
language: ? attribute grammar ?
package: Alpha
version: pre-release
parts: semantic-analysis generator?, documentation(german)
author: Andreas Koschinsky
location: from author
description: I have written a compiler generator. The generator is called
Alpha and uses attribute grammars as specification calculus.
Alpha is the result of a thesis at Technische Universitaet
Berlin. I am looking for someone who would like to test and use
Alpha. Alpha generates compilers from a compiler
specification. This specification describes a compiler in
terminology of attribute grammars. Parser and Scanner are
generated by means of Bison and Flex. Alpha generates an
ASE-evaluator (Jazayeri and Walter). The documentation is in
german since it is a thesis at a german university.
updated: 1993/02/16
language: attribute-grammar extension of Yacc and Lex
package: Ox
version: G1.01
parts: Yacc/Lex/C preprocessor, tutorial, reference manual,
man page, examples, Ox-ready parsers (C, C++, Pascal, Ada,
Fortran)
author: Kurt Bischoff
location: ftp://ftp.cs.iastate.edu/pub/ox/*
description: Ox generalizes the function of Yacc in the way that attribute
grammars generalize context-free grammars. Ordinary Yacc and
Lex specifications may be augmented with definitions of
synthesized and inherited attributes written in C syntax. Ox
checks these specifications for consistency and completeness,
and generates from them a program that builds and decorates
attributed parse trees. Ox accepts a most general class of
attribute grammars. The user may specify postdecoration
traversals for easy ordering of side effects such as code
generation. Ox handles the tedious and error-prone details of
writing code for parse-tree management, so its use eases
problems of security and maintainability associated with that
aspect of translator development. Ox is a preprocessor,
and extends the syntax and semantics of Yacc, Lex, and C.
reference: Most compiler textbooks have descriptions of attribute
grammars.
features: LALR(1), semantic-analyzer generation.
bugs: none known. Report bugs to ox-project@cs.iastate.edu.
restriction: Use of Ox is free. Ox-generated code is the property of
the Ox user.
ports: Unix
contact: ox-request@cs.iastate.edu
updated: 1993/11/14
language: attribute grammar
package: Rie
version: 1.0.6
parts: compiler generator, attribute evaluator generator
author: Masataka Sassa, Kazuhiro Kuroishi, Teruhisa Hirai and
Yoshiki Ohshima
location: ftp://ftp.is.titech.ac.jp/pub/Rie/*
description: Rie is a yet another compiler generator which is based on
a one-pass attribute grammar called ECLR-attributed grammar.
ECLR-attributed grammar is a superset of LR-attributed
grammar, and the generated compiler can evaluate both
inherited and synthesized attributes in parallel with LR
parsing without creating a parse tree. The style of the
Rie description is derived from Yacc, but the semantic
section of a production may contain attribution rules.
Because the specification is based on attribute grammar,
user can integrate syntax and semantics in one description.
Rie also accepts shorthand notations, context conditions
and `local' attributes, which are useful to write actual
compilers.
The generated compiler is only 1.8 times slower than a
handwritten compiler. Rie generates an attribute evaluator
in C source.
The package includes sample descriptions of PL/0 compiler
and of a sample of simple semantic analyzer, and documentation.
reference: Sassa, M., Ishizuka, H., and Nakata, I.:
Rie, a Compiler Generator Based on a One-Pass
Attribute Grammar, Res. Rep. C-107, Dept. of Inf.
Sci., Tokyo Institute of Technology
(Now, only a printed version is available. Contact
rie-info@is.titech.ac.jp. Electric version will be
available from ftp://ftp.is.titech.ac.jp/pub/Rie/Papers/* .)
bugs: Bug reports are welcome to rie-comments@is.titech.ac.jp.
restriction: Rie is implemented by modifying Bison, so Rie must be
also covered by GNU General Public License version 2
and Bison's restriction.
requires: C compiler
ports: UNIX, DOS, etc. (same as bison) and Sharp X68000
status: We hope that it is stable
contact: rie-info@is.titech.ac.jp>
updated: 1995/09/20
language: BNF (Extended, actually a regular right part grammar)
package: Gray
version: 4
parts: parser generator, documentation, examples
author: Martin Anton Ertl
how to get: ftp://server.complang.tuwien.ac.at/pub/forth/gray4.tar.gz
ftp://server.complang.tuwien.ac.at/pub/forth/gray4.zip
description: Gray is a parser generator written in Forth. It takes
grammars in an extended BNF and produces executable Forth
code for recursive descent parsers.
restrictions: Copyleft
requires: ANS Forth
conformance: ANS Forth with some environmental dependences (see README)
status: supported
ports: Several ANS Forth Systems; mail author for old versions
running on Tile.
updated: 1994/08/08
language: BNF (??)
package: ZUSE
version: ?
parts: parser generator(?)
author: Arthur Pyster
location: ? Univ Calif at Santa Barbara ?
description: ll(1) paser generator
requires: Pascal
updated: 1986/09/23
language: BNF (??)
package: FMQ
version: ?
parts: paser generator w/error corrector generator
author: Jon Mauney
location: ftp://csczar.ncsu.edu
description: ?
status: ?
contact: ?
updated: 1990/03/31
language: BNF (??)
package: ATS (Attribute Translation System)
version: ?
parts: ?
author: ? University of Saskatchewan ?
location: ?
description: generates table-driven LL(1) parsers with full insert-only
error recovery. It also handles full left-attribute semantic
handling, which is a dream compared to using YACC's parser
actions.
status: ?
contact: ? (suggested: Dave Bocking )
updated: 1988/11/29
language: BNF (Extended)
package: PCCTS (Purdue Compiler-Construction Tool Set)
version: 1.33
parts: scanner generator, parser generator (pred-LL(k)),
documentation, tutorial
author: Terence J. Parr ,
Will E. Cohen ,
Henry G. Dietz ,
Russell W. Quong
location: ftp://ftp.parr-research.com/pub/pccts/
UK: ftp://src.doc.ic.ac.uk/computing/programming/languages/tools/pccts/
description: PCCTS is similar to a highly integrated version of
YACC and LEX; where ANTLR (ANother Tool for Language
Recognition) corresponds to YACC and DLG (DFA-based
Lexical analyzer Generator) functions like LEX.
PCCTS grammars contain specifications for lexical and
syntactic analysis with selective backtracking
("infinite lookahead"), semantic predicates,
intermediate-form construction and sophisticated
parser exception handling. Rules may employ Extended BNF
(EBNF) grammar constructs and may define parameters,
return values and local variables. Languages described in
PCCTS are recognized via predicated-LL(k) parsers
constructed in pure, human-readable, C/C++ code; the C++
programming interface is very good. The documentation is
complete, but distributed over an original manual plus
multiple release notes. A book is in the works and should
be available 1Q 1996.
A recently-developed PCCTS-based C++ parser is available
at the ftp://site; it is an *initial* release and was
derived from the grammar built by NeXT, Inc..
restriction: The tool is totally public domain--it has no legal
restrictions on its use or incorporation into commercial
applications.
ports: Unix, DOS, Windows, OS/2, Macintosh, NeXT
portability: very high
discussion: comp.compilers.tools.pccts
contact: Terence J. Parr
updated: 1995/10/05
language: Antlr 1.33 (PCCTS Development Tools)
package: USQAGMS
version: 1998.02.02
parts: Grammar merger, documentation, additional small
tools including Word Perfect grammar extraction macro.
author: Ron House
location: httpd://www.sci.usq.edu.au/staff/house/usqagms/usqagms-manual.html
description: USQAGMS is a grammar merger that combines actions
from an old/obsolescent grammar with rules from an
updated grammar. It is intended to assist language
designers who are writing a compiler in parallel
with making changes to the grammar.
conformance: Processes Antlr 1.33 (PCCTS Development Tools) grammars.
bugs: Ron House
restriction: Setting up for your language is a bit fiddly, but it saves heaps of work thereafter.
requires: Antlr 1.33 (PCCTS Development Tools)
The grammar extraction macro requires Word Perfect (not an essential component).
ports: Linux.
portability: Should work on any Unix.
status: Not officially supported, but I want to fix any bugs you might find.
announcements: On web site and comp.compilers.tools.pccts.
contact: Ron House
updated: 1998/02/02
language: BNF (very extended), yacc
package: PRE-CC Xtended
version: 2.30
parts: library, parser generator (LL(oo)), translator(yacc->)
Section 1 of 3 - Prev - Next
All sections - 1 - 2 - 3
© allanswers.org | Terms of use