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 2 of 3 - Prev - Next
All sections - 1 - 2 - 3


author:		Peter Breuer
location:	ftp://ftp.comlab.ox.ac.uk/pub/Programs/preccx.tar.Z (Unix)
		ftp://ftp.comlab.ox.ac.uk/pub/Programs/preccx.msdos (MS-DOS)
		ftp://ftp.comlab.ox.ac.uk/pub/Documents/techpapers/Jonathan.Bowen/preccx-uug.ps.Z
		(more recent versions available by subscription)
		URL: http://www.comlab.ox.ac.uk/archive/redo/precc.html
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.
		"A PREttier Compiler-Compiler: Generating Higher Order
		 Parsers in C"	P.T. Breuer and J.P. Bowen.
		 Oxford University Computing Laboratory Technical Report
		 PRG-TR-20-92, 25pp, November 1992. Accepted by
		 Software - Practice and Experience, 1994.
		 ftp://ftp.comlab.ox.ac.uk/pub/Documents/techreports/TR-20-92.ps.Z
ports:		unix, MS-DOS
contact:	Peter Breuer ,
		Jonathan Bowen 
updated:	1994/06/02

language:	BNF (??)
package:	LLGen
version:	?
parts:		parser generator
author:		? Fischer and LeBlanc ?
location:	? ftp://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:	1.1, July 91
parts:		parser generator
author:		Parag Patel (parag@netcom.com, parag@sde.hp.com)
location:	comp.sources.misc volume ?
description:	Wacco is a recursive descent LL(1) parser generator that
		generates C++ code.  Its syntax is similar to YACC
		with a lot of sugaring.	 It can also do attribute-driven
		parsing.  The source is bootstrapped wacco code.
ports:		HP-UX s300 and s800, Sparc, and 4.3BSD (on HP)
portability:	Host machine must be 32 bits.
contact:	?
updated:	?

language:	BNF (Extended), BNF (yacc)
package:	GMD Toolbox for Compiler Construction (aka Cocktail)
version:	9209
parts:		lalr: parser generator (LALR(1) -> C, Modula-2),
		ell : parser generator (LL(1) -> C, Modula-2),
		rex : scanner generator (-> C, Modula-2),
		bnf : translator (Extended BNF -> BNF),
		y2l : translator (BNF (yacc) -> Extended BNF),
		ast : abstract syntax tree generator,
		ag  : attribute-evaluator generator,
		puma: transformation of abstract syntax tree using
		      pattern-matching
		documentation, examples
author:		Josef Grosch  and others
location:	ftp://ftp.gmd.de/gmd/cocktail
		ftp://ftp.rus.uni-stuttgart.de/pub/unix/programming/compilerbau
		ftp://ftp.th-darmstadt.de/pub/programming/languages/compiler-compiler/cocktail
		ftp://src.doc.ic.ac.uk/languages/tools/gmd
		ftp://gatekeeper.dec.com/.3/plan/gmd
    OS/2:	ftp.eb.ele.tue.nl/pub/src/cocktail/dos-os2.zoo
description:	A huge set of compiler building tools.
requires:	(MS-DOS and MS-Windows only) DJ Delorie's DOS extender (go32)
		(OS/2 only) emx programming environment for OS/2
ports:		Unix, Linux, MS-DOS, MS-Windows, OS/2
portability:	very high
status:		version 9209 is unsupported, Cocktail is actively developed,
		versions 9401 and higher are commercial
discussion:	subscribe to Cocktail using listserv@eb.ele.tue.nl
support:	Josef Grosch 
contact:	Josef Grosch 
    OS/2:	Willem Jan Withagen 
updated:	1992/10/01

language:	BNF (??)
package:	T-gen
version:	2.1
parts:		parser generator, documentation, ?
author:		Justin Graver 
location:	ftp://st.cs.uiuc.edu/pub/st80_r41/T-gen2.1/*
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
version:	4.1.0
parts:		scanner generator (regular expressions->C, C++),
		parser generator (LALR->C, C++), attribute evaluator
		generator (LIDO->C, C++), definition table generator
		(PDL->C, C++), tree pattern-matcher generator (OIL->C,
		C++), pattern-based text generator (PTG->C, C++),
		unparser generator (Idem), command-line processing
		generator (CLP->C, C++), literate programming
		(FunnelWeb), integrated high-level debugger (Noosa),
		library with solutions for common tasks (ModLib),
		online and printable documentation
author:		William Waite 
		Basim Kadhim 
		Uwe Kastens 
		Matthias Jung 
		Peter Pfahler 
		Anthony Sloane 
location:	http://www.cs.colorado.edu/~eliuser
		http://www.uni-paderborn.de/project-hp/eli.html
		http://www.cs.jcu.edu.au/~tony/eli.html
description:	Eli is a fully integrated environment for the
		automatic generation of processors of structured text.
		It transparently utilises off-the-shelf tools and
		libraries with specialized language processors to
		generate complete processors 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.
bugs:		
restriction:	Eli is under the Free Software Foundation's General
		Public License.	 Code generated by Eli has no
		restrictions except that the dynamic memory allocation
		module (obstack) is covered by FSF's Library General
		Public License.
requires:	High-level debugging requires Tcl/Tk (at least
		versions 7.6/4.2).
ports:		SunOS (4.1.2, 5.4, 5.5), OSF1 (V3.0, V4.0), Linux
		(2.0.30 ELF), IRIX (5.3, 6.3), HP-UX (A.09.05)
portability:	Portable to most Unix systems using FSF's autoconf
		support.
status:		active, supported
discussion:	
		(join at )
help:		
announcements:	comp.compilers, 
contact:	
		
		
updated:	1997/10/6

language:	BNF
package:	tom (demo for Tomita Parsing algorithm)
version:	1
parts:		parser generator, parser interpreter, examples, documentation
author:		Mark Hopkins 
location:	iecc.com in pub/files/tomita.tar.gz
		alt.sources archive from October 4, 1993.
description:	An implementation of the Tomita parsing algorithm using
		LR(0) tables and dynamic programming.
reference:	Kluwer '91, _Generalized LR Parsing_, Tomita ed., 0-7923-9201-9
		"The Tomita Parsing Algorithm ...", comp.compilers May 20, 1994
features:	Cyclic context free grammars are processed.
portability:	System independent
updated:	1994/10/03

language:	BNF (yacc)
package:	NewYacc
version:	1.0
parts:		parser generator, documenation
author:		Jack Callahan 
location:	ftp://flubber.cs.umd.edu/src/newyacc.1.0.*.Z
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 and Richard Stallman
location:	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++ and Flex++
version:	1.21-8 (bison), 2.3.8-7 (flex), 5 (flex++bison++misc)
parts:		translator, documentation, postscript, examples, DOS binary
author:		Alain Coetmeur 
location:	cse.unl.edu in ~ftp/pub/nandy/c++/tools/LATEST/*
    Europe:	mirrored on ftp.th-darmstadt.de
description:	A retargeting of bison-1 and flex 2.3 to C++, able to
		generate classes.  As with Bison and Flex, these two tools
		are independent but designed for mutual compatibility.
		The version numbering has been changed for consistency with
		Flex and Bison, so versions of flex3.0.x and bison2.x of this
		package are are actually earlier versions, not later.
		Examples are provided to help in getting started.
conformance:	Mostly compatible with flex2.3 and bison 1 in C, apart
		from the ability to generate classes.
features:	Almost all symbol names can be redefined, parsers can be
		shared in C and C++ in the same headers... very extensible...
		flex++ support IOSTREAM and STDIO in C++.
bugs:		Contact coetmeur@icdc.fr (current author and maintainer).
restriction:	GNU License for bison++. Same as flex for flex++.
ports:		SUNOS4, DOS, and same ports as Flex/Bison, Windows NT (tested)
portability:	Larger memory model required on DOS (DOS binary supplied).
status:		active, supported, might not support flex 2.4
discussion:	coetmeur@icdc.fr, news: comp.compiler, or comp.lang.c++
help:		coetmeur@icdc.fr, news: comp.compiler, or comp.lang.c++
		for substantial problems.
support:	see help, no commercial support. (volunteer ?)
announcements:	mail list locally maintained by coetmeur@icdc.fr,
		news: comp.compiler comp.lang.c++
updated:	1994/02/07
lref:		C
lref:		C++
lref:		Lex
lref:		yacc

language:	BNF (yacc)
package:	bison-A2.3
version:	2.3 (corresponds to gnu bison 1.22)
parts:		parser generator, C-parser, C++parser, documentation
author:		Fred Hansen 
location:	ftp://ftp.andrew.cmu.edu/pub/AUIS/bison/bison-A2.2.tar.gz
		also in contrib/andrew on the XV11R6 distribution in
		directories overhead/bison, overhead/mkparser (but not the
		C++ version of the parser)
description:	This is the standard gnu bison with a number of improvments:
		license-free parsers for C and C++, only one external symbol
		for each grammar, permits multiple grammars per application,
		better error reports on the grammar.
conformance:	grammars are the same as bison and yacc; but run-time errors
		are handled differently, so semantic rules must be changed
features:	tokens in the grammar can be expressed as ">=" instead of GE
bugs:		send bugs to info-andrew-bugs@andrew.cmu.edu
restriction:	none (unless you use the native gnu-bison parser)
ports:		has been tested on most Unix platforms
portability:	generation of names for temp files is system dependent.
discussion:	info-andrew@andrew.cmu.edu   (mirrored to comp.soft-sys.andrew)
support:	supported by the Andrew Consortium
contributions:	your organization is invited to join the Andrew Consortium
		info-andrew-request@andrew.cmu.edu
updated:	1994/05/09

language:	BNF (Yacc like description languages)
package:	Compiler Construction Tool Set (aka COCOM or Russian Armoury)
version:	0.9
parts:		+Ammunition: reusable packages
		+Sprut : internal representation description translator (C, C++)
		+Nona : code selector description translator (C, C++)
		+Oka : pipeline hazards description translator (C,C++)
		      and basic block scheduler (C, C++)
		+Shilka : keywords description translator (C, C++) for
			 for fast recognizing keywords
		+Msta : syntax description translator (now only C) for
		       description of parsers and scanners (LR(k), LALR(k)).
		       documentation, examples
author:		Vladimir N. Makarov 
location:	http://www.geocities.com/SiliconValley/Lab/4557
description:	A set of compiler building tools.
ports:		Unix, Linux
portability:	very high (GNU configure)
status:		COCOM is actively developed
support:	Vladimir N. Makarov 
contact:	Vladimir N. Makarov 
updated:	1998/01/05

language:	BNF (yacc)
package:	? jaccl ?
version:	?
parts:		parser generator
author:		Dave Jones 
location:	?
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 
location:	ftp://vangogh.CS.Berkeley.EDU/pub/byacc.tar.1.9.Z
description:	probably the best yacc variant around.	Previously known as
		Zoo, and before that, as Zeus.
updated:	1993/02/22

language:	BNF (yacc)
package:	yacc
version:	1.9.1
parts:		parser_generator
author:		Todd Dukes (ladco@tab.com)
location:	sunsite.unc.edu/pub/Linux/devel/lang/compiler_tools
description:	Yacc is a parser generator. It reads an input file that
		describes a grammar and generates C code that implements that
		grammar. It is designed to work well with 'lex' compatible
		lexers. Flex is a good program for generating these lexers.
		This version has improved support for C++. Yacc 1.9 generated C
		code that caused warnings and errors when compiled with C++.
		Minor changes were made in the declarations in the skeleton
		file to eliminate these warnings and errors.
updated:	?

language:	BNF (yacc), Lex
package:	Lex/Yacc for Turbo Pascal uploaded
version:	?
parts:		parser generator, scanner generator, documentation?
author:		?
location:	ftp://iecc.com/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)
location:	ftp://liege.ics.uci.edu/pub/irus/aflex-ayacc_1.2a.tar.Z
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 (yacc), Perl
package:	perl-byacc
version:	1.8.2
parts:		parser-generator(perl)
author:		Rick Ohnemus 
location:	ftp://ftp.sterling.com/local/perl-byacc.tar.Z
description:	A modified version of byacc that generates perl code.  Has '-p'
		switch so multiple parsers can be used in one program (C or
		perl).
portability:	Should work on most (?) Unix systems.  Also works with
		SAS/C 6.x on AMIGAs.
updated:	1993/01/24

language:	BNF (yacc), Standard ML
package:	New SML-Yacc and SML-Lex
version:	??
parts:		??
author:		Andrew Appel 
location:	princeton.edu/pub/ml, files mlyacc94.tar.Z, lexgen94.tar.Z.
description:	??
updated:	1994/05/23

language:	BNF (variant), Icon
package:	Ibpag2 (Icon-Based Parser Generation System 2)
version:	1.2
parts:		parser generator (Icon, SLR(1))
author:		Richard L. Goerwitz 
location:	comp.sources.misc volume 44
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:	1994/09/25

language:	BNF ?, Gofer
package:	Ratatosk (?)
version:	?
parts:		parser generatr (Gofer)
author:		Torben AEgidius Mogensen 
location:	ftp://ftp.diku.dk/pub/diku/dists/Ratatosk.tar.Z
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 
location:	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 , David R. Hanson
		, Todd A. Proebsting 
location:	ftp://ftp.cs.princeton.edu/pub/iburg.tar.Z
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:	BNF variant, Python
package:	kwParsing ?
version:	?
parts:		parser generator
author:		Aaron Watters 
location:	ftp://ftp.markv.com/pub/python/kwParsing.*
description:	A parser generator written in Python for Python.  This package
		may be appropriate for experimental translators, code
		generators, interpreters, or compilers; for instructinal
		purposes; among other possibility.  The documentation gives a
		brief introduction to the conventions and basic ideas of
		parsing.
updated:	1994/09/24

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
location:	ftp://cs.arizona.edu/scorpion/*
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.39 (Modula, Pascal, Oberon)
parts:		parser generator(LL(1))
author:		Hanspeter Moessenboeck 
		Port to Modula-2 done by Marc Brandis, Christof Brass
		and Pat Terry 
		Port to Turbo Pascal done by Pat Terry and Volker Pohlers
		
location:	ftp://ftp.inf.ethz.ch:/pub/software/Coco
		ftp://ftp.psg.com:/pub/modula-2/coco
		ftp://cs.ru.ac.za:/pub/coco
		ftp://ftp.fit.qut.edu.au:/pub/coco
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.
reference:	_A compiler generator for microcomputers_, by Rechenberg
		and Moessenboeck (Prentice Hall, 1989, 0-13-155136-1)
bugs:		MS-DOS related versions: Pat Terry 
		Other: Hanspeter Moessenboeck
		       
requires:	Oberon, Modula-2, or Turbo Pascal
ports:		MS-DOS: TopSpeed Modula-2; FST 2.0; FST 3.1 - 3.5;
		StonyBrook QuickMod 2.2; Logitech 3.03; Turbo Pascal.
		Macintosh: Apple MacMeth.
		Unix/Linux/FreeBSD: Mocka, Gardens Point.
status:		Oberon version is freely available.  Modula-2 version is
		free to academic sites; commercial use requires a license
updated:	1995/11/01

language:	COCOL (EBNF variant)
package:	Coco/R for C
version:	1.05
author:		Francisco Arzu 
location:	ftp://cs.ru.ac.za:/pub/coco/cocorc05.zip
description:	This is a C version of Professor Moessenboeck's Coco/R.
		Coco/R generates recursive descent parsers and their
		associated scanners from attributed grammars. Semantic
		attributes and semantic actions are a dream compared to
		YACC's and Lex's ones. There are many examples showing
		its use, including itself (it can bootstrap itself to
		generate its own driver, parser, scanner, and semantic
		evaluator from the attributed grammar CR.ATG) and a
		simple C like language which uses Iburg to generate
		intel 80x86 assemble language.
parts:		parser generator(LL(1)), scanner generator, documentation,
examples
bugs:		Francisco Arzu 
requires:	Standard C compiler
ports:		Many UNIX systems(Linux, UnixWare, SunOS, IBM AIX, HP-UX, etc)
		MS-DOS and OS/2
restrictions:	Next release will be under the GNU General Public License
updated:	1995/11/01
lref:		C

language:	EAG (Extended Affix Grammar)
package:	EAG
version:	first public release
parts:		recognizer generator, transduccer generator,
		translator generator, editor generator, documentation
author:		Marc Seutter 
location:	ftp://hades.cs.kun.nl/pub/eag/*
description:	The Extended Affix Grammar formalism, or EAG for short, 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.
updated:	1993/09/14

language:	EBNF
package:	ETO
version:	test version
parts:		parser, postscript document, examples
author:		Lin Li 
location:	FTP://fi.ethz.ch/pub/ETO/eto-09.*
description:	ETO is an object oriented universal syntax checker.  It takes
		an EBNF specification for a language and then uses it on an
		input file to check its syntax.
updated:	1994/06/03

language:	lex
package:	flex
version:	2.5.2
parts:		scanner generator
author:		Vern Paxson 
location:	ftp://ftp.ee.lbl.gov/flex-2.5.2.tar.Z or from a GNU archive site
description:	A POSIX-compliant "lex" scanner generator.
bugs:		vern@ee.lbl.gov or bug-gnu-utils@prep.ai.mit.edu
updated:	1995/04/28

language:	Regular Expressions
package:	re2c
version:	alpha
parts:		translator (re->c)
author:		?? peter@csg.uwaterloo.ca
location:	ftp://csg.uwaterloo.ca/pub/peter/re2c.0.5.tar.gz
description:	A regular expression to C converter.
updated:	?? 1994/04/29

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 
location:	? ftp://cs.orst.edu/pub/budd/kamin/*.shar
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 
updated:	1991/09/12

language:	Relation Grammar
package:	rl
version:	?
parts:		?
author:		Kent Wittenburg 
location:	flash.bellcore.com/rl/*
description:	The RL files contain code for defining Relational Grammars and
		using them in a bottom-up parser to recognize and/or parse
		expressions in Relational Languages.  The approach is a
		simplification of that described in Wittenburg, Weitzman, and
		Talley (1991), Unification-Based Grammars and Tabular Parsing
		for Graphical Languages, Journal of Visual Languages and
		Computing 2:347-370.
		This code is designed to support the definition and parsing of
		Relational Languages, which are characterized as sets of
		objects standing in user-defined relations.  Correctness and
		completeness is independent of the order in which the input is
		given to the parser.  Data to be parsed can be in many forms as
		long as an interface is supported for queries and predicates
		for the relations used in grammar productions.	To date, this
		software has been used to parse recursive pen-based input such
		as math expressions and flowcharts; to check for data
		integrity and design conformance in databases; to
		automatically generate constraints in drag-and-drop style
		graphical interfaces; and to generate graphical displays by
		parsing relational data and generating output code.
requires:	Common Lisp
ports:		Allegro Common Lisp 4.1, Macintosh Common Lisp 2.0
updated:	1992/10/31

language:	S/SL (Syntax Semantic Language)
package:	ssl
version:	?
parts:		parser bytecode compiler, runtime
author:		Rick Holt, Jim Cordy  (language),
		Rayan Zachariassen  (C implementation)
location:	ftp://neat.cs.toronto.edu/pub/ssl.tar.Z
description:	A better characterization is that S/SL is a language
		explicitly designed for making efficient recusive-descent
		parsers.  Unlike most other languages, practicially the
		LEAST expensive thing you can do in S/SL is recur.  A
		small language that defines input/output/error token
		names (& values), semantic operations (which are really
		escapes to a programming language but allow good
		abstration in the pseudo-code), and a pseudo-code
		program that defines a grammar by the token stream the
		program accepts.  Alternation, control flow, and
		1-symbol lookahead constructs are part of the
		language.  What I call an S/SL "implementation", is a
		program that compiles this S/SL pseudo-code into a
		table (think byte-codes) that is interpreted by the
		S/SL table-walker (interpreter).  I think the pseudo-code
		language is LR(1), and that the semantic mechanisms turn it
		into LR(N) relatively easily.
		+ more powerful and cleaner than yac
		- slower than yacc
reference:	Cordy, J.R. and Holt, R.C. [1980] Specification of S/SL:
		 Syntax/Semantic Language, Computer Systems Research
		 Institute, University of Toronto.
		"An Introduction to S/SL: Syntax/Semantic Language" by
		 R.C. Holt, J.R. Cordy, and D.B. Wortman, in ACM Transactions
		 on Programming Languages and Systems (TOPLAS), Vol 4, No.
		2, April 1982, Pages 149-178.
updated:	1989/09/25

language:	TXL
package:	TXL: Tree Transformation Language
version:	7.4
parts:		translator, documentation, tutorial, examples
author:		Jim Cordy 
location:	ftp://ftp.qucis.queensu.ca/pub/txl/*
description:	TXL is a language for performing source to source
		transformations and is well suited for rapidly prototyping
		new languages and language processors.	It has also been used to
		prototype specification languages, command languages, and more
		traditional program transformation tasks such as constant
		folding, type inference, source optimization and reverse
		engineering.  TXL takes as input an arbitrary context-free
		grammar in extended BNF-like notation, and a set of
		show-by-example transformation rules to be applied to inputs
		parsed using the grammar.  TXL is a functional/rule-based
		hybrid programming language, using the paradigm of structural
		transformation.
reference:	Several listed in software documentation
updated:	1993/08/04

language:	BNF (extended)
package:	SORCERER: A Simple Tree Parser and Rewrite Generator
version:	1.00B15
parts:		translator, documentation, tutorial, examples
author:		Terence Parr ,
		Aaron Sawdey ,
		Gary Funck 
location:	ftp://ftp.parr-research.com/pub/pccts/sorcerer/
		ftp://ftp.uu.net/languages/tools/pccts/
	UK:	ftp://src.doc.ic.ac.uk/computing/programming/languages/tools/pccts/
	Europe: ftp://ftp.th-darmstadt.de/pub/programming/languages/compiler-compiler/pccts/
description:	SORCERER is more suitable for the class of translation problems
		lying between those solved by code-generator generators and by
		full source-to-source translator generators.  SORCERER
		generates simple, flexible, top-down, tree parsers that, in
		contrast to code-generators, may execute actions at any point
		during a tree walk.  SORCERER accepts extended BNF notation,
		allows predicates to direct the tree walk with semantic and
		syntactic context information, and does not rely on any
		particular intermediate form, parser generator, or other
		pre-existing application. Both C and C++ based tree
		walkers can be generated. SORCERER is well integrated
		with PCCTS (soon SORCERER will be distributed with PCCTS).
reference:	Several listed in software documentation.
		A book will available first quarter 1996; a pre-release
		version is available at the ftp site.
discussion:	Usenet newsgroup comp.compilers.tools.pccts
help:		newsgroup
support:	actively supported, from newsgroup and Parr Research
		Corporation .
updated:	1995/09/01

language:	Attribute Grammars
package:	The FNC-2 Attribute Grammar System
version:	1.14
parts:		FNC-2: the Olga compiler and attribute evaluator generator;
		ATC: a generator of abstract tree constructors driven by
		  bottom-up parsers, with two flavours, one on top of
		  SYNTAX, and one on top of Lex and Yacc;
		PPAT: a generator of unparsers of attributed abstract
		  trees, based on the TeX-like notion of nested boxes
		  of text.
author:		Martin Jourdan, Didier Parigot and students
location:	http://www-rocq.inria.fr/charme/FNC-2/index.html
		ftp://ftp.inria.fr/INRIA/Projects/ChLoE/FNC-2/
description:	The FNC-2 system is a modern AG-processing system that
		aims at production-quality by providing the following
		qualities:
		+ Efficiency:
		  The generated evaluators, based on the visit-sequence
		  paradigm, are completely deterministic; furthermore,
		  this paradigm allows to apply very effective space
		  optimization techniques. The evaluators are hence
		  basically as efficient in time and space as hand-written
		  programs using a tree as internal data structure.
		+ Expressive power:
		  This efficiency is not achieved at the expense of
		  expressive power since FNC-2 accepts AGs in the very
		  broad class of strongly non-circular AGs.
		+ Easiness of use:
		  Olga, the input language of FNC-2, enforces a high degree
		  of programming safety, reliability and productivity.
		  It provides powerful constructions for modularity and
		  reusability.
		+ It contains the following sub-languages:
		  attributed abstract syntaxes ASX;
		  attribute grammars;
		  declaration and definition modules.
		+ Versatility:
		  The generated evaluators can be interfaced with many
		  other tools and produced in many variations:
		  Several modes of attribute evaluation:
		  exhaustive; incremental; concurrent (on shared-memory
		  multiprocessor machines).
		+ Several implementation languages:
		  C (standalone);
		  Lisp	(on top of the http://www-rocq.inria.fr/charme/FNC-2/centaurfnc2.html
		  C/fSDL (for the  CoSy 
compilation platform);
		  ML (Caml).
		In addition, FNC-2 is the testbed for an active research team.
ports:		Unix
status:		active
contact:	 or 
updated:	1995

language:	Ml4 (extended EBNF)
package:	Depot4
version:	1.6
parts:		translator generator (->Java), documentation, examples
author:		Juergen Lampe 
location:	ftp ftp.math.tu-dresden.de/Depot4/
description:	Depot4 generates recursive descent parsers and
		translators.
		Ml4 is a true extension of N.Wirth's EBNF. It features a
		unique translation=20
		centred description, which makes it especially useful
		for people not educated in compiler construction.

Section 2 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