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