allanswers.org - Catalog of compilers, interpreters, and other language tools [p4of5]

 Home >  Programming > compilers > free >
 Catalog of compilers, interpreters, and other language tools [p4of5]

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

Back to category free - Discuss "Catalog of compilers, interpreters, and other language tools [p4of5]"
Home - Search - About the project - Forum - Feedback

© allanswers.org | Terms of use

rax