![]() |
| 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 - Use Smart Search |
| Home - Smart Search - About the project - Feedback |
© allanswers.org | Terms of use