From: SMTP%"everhart@DMC.COM" 6-JAN-1994 21:11:18.78 To: EVERHART CC: Subj: compilrs3 Date: Thu, 06 Jan 1994 21:08:13 EST From: everhart@DMC.COM To: everhart@gce.com Message-ID: <00978260.9C644F80.27937@DMC.COM> Subject: compilrs3 From: DMC::EVERHART 6-JAN-1994 19:28:54.56 To: everhart CC: Subj: Catalog of compilers, interpreters, and other language tools [p3of4] X-News: thehulk comp.compilers:720 From: free-compilers@idiom.berkeley.ca.us (Steve Robenalt) Subject:Catalog of compilers, interpreters, and other language tools [p3of4] Date: Sat, 1 Jan 1994 12:00:32 GMT Message-ID: Archive-name: free-compilers/part3 Last-modified: 1993/12/30 Version: 6.2 Wirth family languages ------------------------------------------------------------------------------ category: Wirth family languages description: These are the langauges that were either designed by Nikolas Wirth are are descended from them. [if you think these should be folded in to the compiled, imperative langauges section, let me know --ed.] lref: IFP language: CLU iref: (Pascal) Tim Budd's C++ implementation of Kamin's interpreters language: Modula-2, Pascal package: m2 version: ? 7/2/92 ? parts: ? compiler ? author: Michael L. Powell. See description below. how to get: ftp pub/DEC/Modula-2/m2.tar.Z from gatekeeper.dec.com description: A modula-2 compiler for VAX and MIPS. A Pascal compiler for VAX is also included. The Pascal compiler accepts a language that is almost identical to Berkeley Pascal. It was originally designed and built by Michael L. Powell, in 1984. Joel McCormack made it faster, fixed lots of bugs, and swiped/wrote a User's Manual. Len Lattanzi ported it to the MIPS. conformance: extensions: + foreign function and data interface + dynamic array variables + subarray parameters + multi-dimensional open array parameters + inline proceedures + longfloat type + type-checked interface to C library I/O routines restriction: must pass changes back to Digital ports: vax (ultrix, bsd), mips (ultrix) contact: modula-2@decwrl.pa.dec.com updated: 1992/07/06 language: Modula-2 package: Ulm's Modula-2 System version: 2.2.1 parts: compiler, library, tools author: Andreas Borchert compiler derived from the ETHZ compiler for the Lilith system how to get: ftp pub/soft/modula/ulm/sun3/modula-2.2.1.tar.Z from titania.mathematik.uni-ulm.de. Please get the READ_ME too. description: ? conformance: PIM3 restriction: commercial use requires licence; compiler sources available by separate licence agreement (licence fee is not required if it is possible to transfer the sources across the network) requires: gas-1.36 (to be found in the same directory) ports: Sun3, Nixdorf Targon/31, Concurrent 3200 Series contact: Andreas Borchert updated: 1992/03/02 language: Modula-2 package: mtc version: ? parts: translator(C) author: ? how to get: ftp soft/unixtools/compilerbau/mtc.tar.Z from rusmv1.rus.uni-stuttgart.de description: ? ports: ? updated: 1991/10/25 language: Modula-2, Modula-3 package: M2toM3 version: 1.01 parts: translator(Modula-2 -> Modula-3), libraries author: Peter Klein how to get: ftp pub/Modula3 from martha.informatik.rwth-aachen.de description: M2toM3 is a simple Modula-2 to Modula-3 translator which covers most of the syntactic differences between those languages. No context sensitive analysis is done, so WITH statements, local modules, enumeration type literals and variant RECORDS have to be dealt with by hand. Part of the SUN Modula 2 library is emulated by the Modula 3 library requires: a Modula-3 system updated: 1992/12 language: pm2 package: PRAM emulator and parallel modula-2 compiler ?? version: ? parts: compiler, emulator author: ? how to get: ftp pub/pram/* from cs.joensuu.fi description: A software emulator for parallel random access machine (PRAM) and a parallel modula-2 compiler for the emulator. A PRAM consists of P processors, an unbounded shared memory, and a common clock. Each processor is a random access machine (RAM) consisting of R registers, a program counter, and a read-only signature register. Each RAM has an identical program, but the RAMs can branch to different parts of the program. The RAMs execute the program synchronously one instruction in one clock cycle. pm2 programming language is Modula-2/Pascal mixture having extensions for parallel execution in a PRAM. Parallelism is expressed by pardo-loop- structure. Additional features include privat/shared variables, two synchronization strategies, load balancing and parallel dynamic memory allocation. contact: Simo Juvaste updated: 1993/02/17 language: Modula-3 package: SRC Modula-3 version: 2.11 parts: compiler(->C), runtime, library, documentation author: ? how to get: ftp pub/DEC/Modula-3/m3-*.tar.Z from gatekeeper.dec.com MS-DOS: ftp pub/DEC/Modula-3/contrib/m3pc* from gatekeeper.dec.com description: The goal of Modula-3 is to be as simple and safe as it can be while meeting the needs of modern systems programmers. Instead of exploring new features, we studied the features of the Modula family of languages that have proven themselves in practice and tried to simplify them into a harmonious language. We found that most of the successful features were aimed at one of two main goals: greater robustness, and a simpler, more systematic type system. Modula-3 retains one of Modula-2's most successful features, the provision for explicit interfaces between modules. It adds objects and classes, exception handling, garbage collection, lightweight processes (or threads), and the isolation of unsafe features. conformance: implements the language defined in SPwM3. ports: i386/AIX 68020/DomainOS Acorn/RISCiX MIPS/Ultrix 68020/HP-UX RS6000/AIX IBMRT/4.3 68000/NextStep i860/SVR4 SPARC/SunOS 68020/SunOS sun386/SunOS Multimax/4.3 VAX/Ultrix discussion: comp.lang.modula3 contact: Bill Kalsow updated: 1992/02/09 language: Oberon2 package: Oberon-2 LEX/YACC definition version: 1.4 parts: parser(yacc), scanner(lex) author: Stephen J Bevan how to get: ftp pub/oberon/tools/o2lexyac.tar.Z from ftp.psg.com or mail bevan@cs.man.ac.uk with Subject "b-server-request~ and body "send oberon/oberon_2_p_v1.4.shar" description: A LEX and YACC grammar for Oberon 2 based on the one given in the listed reference. reference: The Programming Language Oberon-2 H. M\"{o}ssenb\"{o}ck, N. Wirth Institut f\"{u}r Computersysteme, ETH Z\"{u}rich January 1992 ftp Oberon/Docu/Oberon2.Report.ps.Z from neptune.inf.ethz.ch restriction: Portions of the source under copyright by U. Manchester. status: un-officially supported updated: 1992/07/06 language: Oberon package: Ceres workstation Oberon System version: ? parts: compiler author: ? how to get: ftp Oberon/? from neptune.ethz.ch description: file format is Oberon, binary header status: The sources to the various _full_ implementations are indeed not available but the source to most of the complete Ceres workstation Oberon System, including NS32032 code generator but less low level system specific is available. This includes the complete Oberon compiler written in Oberon. updated: ? language: Parallaxis package: parallaxis version: 2.0 parts: ?, simulator, x-based profiler author: ? how to get: ftp pub/parallaxis from ftp.informatik.uni-stuttgart.de description: Parallaxis is a procedural programming language based on Modula-2, but extended for data parallel (SIMD) programming. The main approach for machine independent parallel programming is to include a description of the virtual parallel machine with each parallel algorithm. ports: MP-1, CM-2, Sun-3, Sun-4, DECstation, HP 700, RS/6000 contact: ? Thomas Braunl ? updated: 1992/10/23 language: Pascal package: p2c version: 1.20 parts: translator(Pascal->C) author: Dave Gillespie how to get: ftp ? from csvax.cs.caltech.edu description: ? conformance: supports ANSI/ISO standard Pascal as well as substantial subsets of HP, Turbo, VAX, and many other Pascal dialects. ports: ? updated: 1990/04/13 language: Pascal package: Pascal P4 compiler and interpreter version: ? 1 parts: compiler, assembler/interpreter, documentation author: Urs Ammann, Kesav Nori, Christian Jacobi how to get: ftp pascal/* from ftp.cwi.nl description: A compiler for Pascal written in Pascal, producing an intermediate code, with an assembler and interpreter for the code. reference: Pascal Implementation, by Steven Pemberton and Martin Daniels, published by Ellis Horwood, Chichester, UK (an imprint of Prentice Hall), ISBN: 0-13-653-0311. Also available in Japanese. contact: Steven.Pemberton@cwi.nl updated: 1993/07/05 language: Pascal package: ? iso_pascal ? version: ? parts: scanner(lex), parser(yacc) author: ? how to get: comp.sources.unix archive volume 13 description: ? updated: ? language: Pascal package: ? frontend ? version: Alpha parts: frontend (lexer, parser, semantic analysis) author: Willem Jan Withagen how to get: ftp pub/src/pascal/front* from ftp.eb.ele.tue.nl description: a new version of the PASCAL frontend using the Cocktail compiler tools. updated: 1993/02/24 language: Pascal package: ptc version: ? parts: translator(Pascal->C) author: ? how to get: ftp languages/ptc from uxc.sco.uiuc.edu ? (use archie?) description: ? contact: ? updated: ? language: Turbo Pascal, Turbo C package: tptc version: ? parts: translator(Turbo Pascal->Turbo C) author: ? how to get: ftp mirrors/msdos/turbopas/tptc17*.zip from wuarchive.wustl.edu description: (It does come with full source and a student recently used it as a start for a language that included stacks and queues as a built-in data type. contact: ? updated: ? language: Pascal iref: (Pascal) Tim Budd's C++ implementation of Kamin's interpreters logic programming languages ------------------------------------------------------------------------------- category: logic programming languages description: langauges designed to manipulate logic predicates. Often used to build expert systems language: BABYLON (Prolog variant???) package: BABYLON version: ? parts: development environment author: ? how to get: ftp gmd/ai-research/Software/* from gmdzi.gmd.de description: BABYLON is a development environment for expert systems. It includes frames, constraints, a prolog-like logic formalism, and a description language for diagnostic applications. requires: Common Lisp ports: many ? contact: ? updated: ? language: Goedel package: Goedel version: 1.3 parts: book, compiler, user manual, system modules, example programs author: Jiwei Wang how to get: ftp pub/logic-prgm/goedel/? from ftp.cs.kuleuven.ac.be or ftp goedel/? from ftp.cs.bris.ac.uk description: An implementation of a significant subset of Goedel. Goedel is a declarative, general-purpose strongly-typed logic programming language. The type system is based on many-sorted logic with parametric polymorphism. Modularity is supported, as well as infinite precision arithmetic, limited constraint satisfaction, and finite sets. requires: SICStus Prolog version 2.1 #6 (or later). Run time system for SPARCstation provided, though. contact: goedel@compsci.bristol.ac.uk status: completing development over the next year. updated: 1993/06/30 language: Janus package: qdjanus version: 1.3 parts: translator(prolog) author: Saumya Debray how to get: ftp janus/qdjanus/* from cs.arizona.edu description: janus is a janus-to-prolog compiler meant to be used with Sicstus Prolog conformance: mostly compliant with "Programming in Janus" by Saraswat, Kahn, and Levy. updated: 1992/05/18 language: Janus package: jc version: 1.50 alpha parts: compiler(->C) author: David Gudeman how to get: ftp janus/jc/* from cs.arizona.edu description: jc is a janus-to-C compiler (considerably faster than qdjanus). jc is a _sequential_ implementation of a _concurrent_ language. bugs: jc-bugs@cs.arizona.edu ports: sun-4, sun-3, Sequent Symmetry status: jc is an experimental system, undergoing rapid development. It is in alpha release currently. discussion: janusinterest-request@parc.xerox.com updated: 1992/06/09 language: LIFE (Logic, Inheritance, Functions, and Equations) package: Wild_LIFE version: first-release parts: interpreter, manual, tests, libraries, examples author: Paradise Project, DEC Paris Research Laboratory. how to get: ftp pub/plan/Life.tar.Z from gatekeeper.dec.com. description: LIFE is an experimental programming language with a powerful facility for structured type inheritance. It reconciles styles from functional programming, logic programming, and object-oriented programming. LIFE implements a constraint logic programming language with equality (unification) and entailment (matching) constraints over order-sorted feature terms. The Wild_LIFE interpreter has a comfortable user interface with incremental query extension ability. It contains an extensive set of built-in operations as well as an X Windows interface. conformance: semantic superset of LOGIN and LeFun. Syntax is similar to prolog. bugs: life-bugs@prl.dec.com ports: MIPS-Ultrix portability: good in theory discussion: life-request@prl.dec.com contact: Peter Van Roy updated: 1992/12/14 language: Lolli (logic programming) package: Lolli version: ? parts: ? author: ? Josh Hodas ? how to get: ftp pub/Lolli/Lolli-07.tar.Z. from ftp.cis.upenn.edu description: Lolli is an interpreter for logic programming based on linear logic principles. Lolli can be viewed as a refinement of the the Hereditary Harrop formulas of Lambda-Prolog. All the operators (though not the higher order unification) of Lambda-Prolog are supported, but with the addition of linear variations. Thus a Lolli program distinguishes between clauses which can be used as many, or as few, times as desired, and those that must be used exactly once. requires: ML updated: 1992/11/08 language: Parlog package: SPM System (Sequential Parlog Machine) version: ? parts: ?, documenation author: ? how to get: ? ftp lang/Parlog.tar.Z from nuri.inria.fr description: a logic programming language ? reference: Steve Gregory, "Parallel Logic Programming in PARLOG", Addison-Wesely, UK, 1987 restriction: ? no source code ? ports: Sun-3 ? updated: ?? language: Prolog package: SB-Prolog version: 3.1 ? parts: ? author: interpreter how to get: ftp pub/sbprolog from sbcs.sunysb.edu description: ? restriction: GNU General Public License contact: ? warren@sbcs.sunysb.edu ? updated: ? language: Prolog package: XSB version: 1.2 parts: interpreter, preprocessor(HiLog), documentation author: XSB research group / SUNY at Stony Brook how to get: ftp pub/XSB/XSB.tar.Z from sbcs.sunysb.edu (130.245.1.15) description: XSB extends the standard functionality of Prolog (being a descendant of PSB- and SB-Prolog) to include implementations of OLDT (tabling) and HiLog terms. OLDT resolution is extremely useful for recursive query computation, allowing programs to terminate correctly in many cases where Prolog does not. HiLog supports a type of higher-order programming in which predicate symbols can be variable or structured. This allows unification to be performed on the predicate symbols themselves in addition to the arguments of the predicates. Of course, Tabling and HiLog can be used together. ports: Sun, Solaris, NeXT, Linux, 386 BSD, IRIX, HP-UX portability: Generally to 32-bit machines. contact: xsb-contact@cs.sunysb.edu updated: 1993/07/28 language: Prolog package: Modular SB-Prolog version: ? parts: interpreter author: ? how to get: ftp pub/dts/mod-prolog.tar.Z from ftp.dcs.ed.ac.uk description: SB-Prolog version 3.1 plus modules restriction: GNU General Public License ports: Sparc contact: Brian Paxton updated: ? language: ALF [prolog variant] package: alf (Algebraic Logic Functional programming language) version: ? parts: runtime, compiler(Warren Abstract Machine) author: Rudolf Opalla how to get: ftp pub/programming/languages/LogicFunctional from ftp.germany.eu.net description: ALF is a language which combines functional and logic programming techniques. The foundation of ALF is Horn clause logic with equality which consists of predicates and Horn clauses for logic programming, and functions and equations for functional programming. Since ALF is an integration of both programming paradigms, any functional expression can be used in a goal literal and arbitrary predicates can occur in conditions of equations. updated: 1992/10/08 language: CLP (Constraint Logic Programming language) [Prolog variant] package: CLP(R) version: 1.2 parts: runtime, compiler(byte-code), contstraint solver author: IBM how to get: mail to Joxan Jaffar description: CLP(R) is a constraint logic programming language with real-arithmetic constraints. The implementation contains a built-in constraint solver which deals with linear arithmetic and contains a mechanism for delaying nonlinear constraints until they become linear. Since CLP(R) subsumes PROLOG, the system is also usable as a general-purpose logic programming language. There are also powerful facilities for meta programming with constraints. Significant CLP(R) applications have been published in diverse areas such as molecular biology, finance, physical modelling, etc. We are distributing CLP(R) in order to help widen the use of constraint programming, and to solicit feedback on the system restriction: free for academic and research purposes only ports: unix, msdos, OS/2 contact: Roland Yap , Joxan Jaffar updated: 1992/10/14 language: Prolog (variant) package: Aditi version: Beta Release parts: interpreter, database author: Machine Intelligence Project, Univ. of Melbourne, Australia how to get: send email to aditi@cs.mu.oz.au description: The Aditi Deductive Database System is a multi-user deductive database system. It supports base relations defined by facts (relations in the sense of relational databases) and derived relations defined by rules that specify how to compute new information from old information. Both base relations and the rules defining derived relations are stored on disk and are accessed as required during query evaluation. The rules defining derived relations are expressed in a Prolog-like language, which is also used for expressing queries. Aditi supports the full structured data capability of Prolog. Base relations can store arbitrarily nested terms, for example arbitrary length lists, and rules can directly manipulate such terms. Base relations can be indexed with B-trees or multi-level signature files. Users can access the system through a Motif-based query and database administration tool, or through a command line interface. There is also in interface that allows NU-Prolog programs to access Aditi in a transparent manner. Proper transaction processing is not supported in this release. ports: Sparc/SunOS4.1.2 Mips/Irix4.0 contact: updated: 1992/12/17 language: Lambda-Prolog package: Prolog/Mali (PM) version: ? 6/23/92 ? parts: compiler(->C), linker, libraries, runtime, documentation author: Pascal Brisset how to get: ftp pm/* from ftp.irisa.fr description: Lambda-Prolog, a logic programming language defined by Miller, is an extension of Prolog where terms are simply typed $\lambda$terms and clauses are higher order hereditary Harrop formulas. The main novelties are universal quantification on goals and implication. reference: + Miller D.A. and Nadathur G. "Higher-order logic programming", 3rd International Conference on Logic Programming, pp 448-462, London 1986. + Nadathur G. "A Higher-Order Logic as a Basis for Logic Programming", Thesis, University of Pennsylvania, 1987. requires: MALI-V06 abstract memory. MALI is available by anonymous ftp from ftp.irisa.fr ports: unix discussion: prolog-mali-request@irisa.fr contact: pm@irisa.fr updated: 1992/07/06 language: Prolog (variant) package: CORAL version: ? parts: interpreter, interface(C++), documentation author: ? how to get: ftp ? from ftp.cs.wisc.edu description: The CORAL deductive database/logic programming system was developed at the University of Wisconsin-Madison. The CORAL declarative language is based on Horn-clause rules with extensions like SQL's group-by and aggregation operators, and uses a Prolog-like syntax. * Many evaluation techniques are supported, including bottom-up fixpoint evaluation and top-down backtracking. * A module mechanism is available. Modules are separately compiled; different evaluation methods can be used in different modules within a single program. * Disk-resident data is supported via an interface to the Exodus storage manager. * There is an on-line help facility requires: AT&T C++ 2.0 (G++ soon) ports: Decstation, Sun4 updated: 1993/01/29 language: Prolog package: BinProlog version: 1.71 parts: interpreter?, documentation author: ? how to get: ftp BinProlog/* from clement.info.umoncton.ca description: BinProlog 1.71 is at this time probably the fastest freely available C-emulated Prolog. ports: IBM-PC/386, Sun-4, Sun-3, NeXT contact: Paul Tarau updated: 1993/04/03 language: Prolog package: SWI-Prolog version: 1.7.2 parts: ? author: Jan Wielemaker how to get: ftp pub/SWI-Prolog from swi.psy.uva.nl OS/2: ftp pub/toolw/SWI/* from mpii02999.ag2.mpi-sb.mpg.de description: ? conformance: superset features: "very nice Ed. style prolog, best free one I've seen" restriction: GNU General Public License ports: Sun-4, Sun-3 (complete); Linux, DEC MIPS (done but incomplete, support needed); RS6000, PS2/AIX, Atari ST, Gould PN, NeXT, VAX, HP-UX (known problems, support needed); MSDOS (status unknown), OS/2 status: activly developed discussion: prolog-request@swi.psy.uva.nl contact: (OS/2) Andreas Toenne updated: 1993/07/23 language: Prolog package: Frolic version: ? parts: ? author: ? how to get: ftp pub/frolic.tar.Z from cs.utah.edu description: ? requires: Common Lisp contact: ? updated: 1991/11/23 language: Prolog package: ? Prolog package from the University of Calgary ? version: ? parts: ? author: ? how to get: ftp pub/prolog1.1/prolog11.tar.Z from cpsc.ucalgary.ca description: + delayed goals + interval arithmetic requires: Scheme portability: relies on continuations contact: ? updated: ? language: Prolog package: ? slog ? version: ? parts: translator(Prolog->Scheme) author: dorai@cs.rice.edu how to get: ftp public/slog.sh from titan.rice.edu description: macros expand syntax for clauses, elations etc, into Scheme ports: Chez Scheme portability: reliese on continuations updated: ? language: Prolog package: LM-PROLOG version: ? parts: ? author: Ken Kahn and Mats Carlsson how to get: ftp archives/lm-prolog.tar.Z from sics.se description: ? requires: ZetaLisp contact: ? updated: ? language: Prolog package: Open Prolog version: ? parts: ? author: ? how to get: ftp languages/open-prolog/* from grattan.cs.tcd.ie description: ? ports: Macintosh contact: Michael Brady updated: ? language: Prolog package: UPMAIL Tricia Prolog version: ? parts: ? author: ? how to get: ftp pub/Tricia/README from ftp.csd.uu.se description: ? contact: updated: ? language: Prolog package: ?; ? (two systems) version: ?; ? parts: ?; ? author: ? how to get: ftp ai.prolog/Contents from aisun1.ai.uga.edu description: ?; ? ports: MSDOS, Macintosh; MSDOS contact: Michael Covington updated: ?; ? language: Prolog package: XWIP (X Window Interface for Prolog) version: 0.6 parts: library author: ? how to get: ftp contrib/xwip-0.6.tar.Z from export.lcs.mit.edu description: It is a package for Prologs following the Quintus foreign function interface (such as SICStus). It provides a (low-level) Xlib style interface to X. The current version was developed and tested on SICStus 0.7 and MIT X11 R5 under SunOS 4.1.1. portability: It is adaptable to many other Unix configurations. contact: xwip@cs.ucla.edu updated: 1993/02/25 language: Prolog package: PI version: ? parts: library author: ? how to get: ftp pub/prolog/ytoolkit.tar.Z from ftp.ncc.up.pt description: PI is a interface between Prolog applications and XWindows that aims to be independent from the Prolog engine, provided that it has a Quintus foreign function interface (such as SICStus, YAP). It is mostly written in Prolog and is divided in two libraries: Edipo - the lower level interface to the Xlib functions; and Ytoolkit - the higher level user interface toolkit contact: Ze' Paulo Leal updated: 1993/03/02 language: Prolog package: ISO draft standard version: ? (What year??) parts: language definition author: ? how to get: ftp ? from ftp.th-darmstadt.de description: ? updated: 1992/07/06 language: Prolog iref: (Pascal) Tim Budd's C++ implementation of Kamin's interpreters concurrent, parellel, 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: micro-C++ lref: MeldC lref: pm2 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 how to get: ftp pub/abcl1/* from camille.is.s.u-tokyo.ac.jp 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 how to get: ftp pub/abclr2/* from camille.is.s.u-tokyo.ac.jp 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 how to get: ftp pub/local/alloy/* from cs.nyu.edu 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 how to get: 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 how to get: ftp pub/hermes/README from software.watson.ibm.com 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: PCN package: PCN version: 2.0 parts: compiler?, runtime, linker, libraries, tools, debugger, profiler, tracer author: Ian Foster , Steve Tuecke , and others how to get: ftp pub/pcn/pcn_v2.0.tar.Z from info.mcs.anl.gov 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: ? how to get: ftp departments/computer_sci*/loopn.tar.Z from ftp.utas.edu.au 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: ? how to get: ftp misc/mac/programming/+_Simula/* from rascal.ics.utexas.edu 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: ? how to get: ftp sr/sr.tar.Z from cs.arizona.edu 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 how to get: ftp pub/maspar/maspar_unity* from SanFrancisco.ira.uka.de description: ? contact: Lutz Prechelt updated: ? language: UNITY package: HOL-UNITY version: 2.1 parts: verification tool author: ? how to get: ? description: ? contact: Flemming Andersen ? updated: ? Forth family languages ------------------------------------------------------------------------------- category: Forth family languages description: These are the stack-based postfix languages. lref: Postscript iref: (mc6809) 6809, E-Forth language: Forth package: TILE Forth version: 2.1 parts: interpreter author: Mikael Patel how to get: 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: ? how to get: comp.sources.unix archive volume 1 description: ? updated: ? language: Forth package: pfe (Portable Forth Environment) version: 0.8.0 parts: ? author: Dirk Zoller how to get: ftp pub/unix/languages/pfe* from duz@roxi.rz.fht-mannheim.de 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: Linux, RS/6000, HP-UX portability: high updated: 1993/08/11 language: Forth package: F68K version: ? parts: ? author: ? how to get: ftp atari/Languages/f68k.* from archive.umich.edu 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 how to get: 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: Mops version: 2.3 parts: ? author: ? how to get: ftp pub/Yerk/? from oddjob.uchicago.edu description: ??? updated: 1993/03/22 language: Kevo (Forth-like) package: kevo version: 0.9b6 parts: interpreter, demo programs, user's guide, papers author: Antero Taivalsaari how to get: ftp /pub/kevo/* from cs.uta.fi 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.62 parts: ? author: ? how to get: ftp pub/Yerk/? from oddjob.uchicago.edu description: Yerk is an object oriented language based on a Forth Kernel with some major modifications. It was originally known as Neon, developed and sold as a product by Kriya Systems from 1985 to 1989. Several of us at The University of Chicago have maintained Yerk since its demise as a product. Because of the possible trademark conflict that Kriya mentions, we picked the name Yerk, which is at least not an acronym for anything, but rather stands for Yerkes Observatory, part of the Department of Astronomy and Astrophysics at U of C. updated: ? 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 how to get: ftp programming/languages/abc/examples/grammar/* from ftp.eu.net or ftp.nluug.net 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 how to get: 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 how to get: ftp pub/ox/* from ftp.cs.iastate.edu 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. requires: yacc, lex ports: every kind of Unix contact: ox-request@cs.iastate.edu updated: 1993/11/14 language: BNF (Extended) package: Gray version: 3 parts: parser generator(Forth) author: Martin Anton Ertl how to get: author; version 2 is on various ftp sites 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. There is no special support for error handling. requires: Forth ports: TILE Release 2 by Mikael Patel updated: 1992/05/22 language: BNF ?? package: ZUSE version: ? parts: parser generator(?) author: Arthur Pyster how to get: ? 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 how to get: ftp from csczar.ncsu.edu description: ? status: ? contact: ? updated: 1990/03/31 language: BNF ?? package: ATS (Attribute Translation System) version: ? parts: ? author: ? University of Saskatchewan ? how to get: ? 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.10 parts: scanner generator, parser generator (LL(k)), documentation, tutorial author: Terence J. Parr , Will E. Cohen , Henry G. Dietz how to get: ftp pub/pccts/1.10 from marvin.ecn.purdue.edu UK: ftp computing/programming/languages/tools/pccts/* from src.doc.ic.ac.uk Macintosh: ftp pub/mac/* from maya.dei.unipd.it 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. However, PCCTS has many additional features which make it easier to use for a wide range of translation problems. PCCTS grammars contain specifications for lexical and syntactic analysis with selective backtracking ("infinite lookahead"), semantic predicates, intermediate-form construction and error reporting. Rules may employ Extended BNF (EBNF) grammar constructs and may define parameters, return values and local variables. Languages described in PCCTS are recognized via LL(k) parsers constructed in pure, human-readable, C code. Selective backtracking is available to handle non-LL(k) constructs. PCCTS parsers may be compiled with C++. ports: Unix, DOS, OS/2, Macintosh portability: very high discussion: send mail with a body of "subscribe pccts-users your_name" to pccts-users-request@ahpcrc.umn.edu contact: Terence J. Parr Roberto Avanzi (mocenigo@maya.dei.unipd.it) (for the Mac port) updated: 1993/09/14 language: BNF (very extended), yacc package: PRE-CC Xtended version: 2.30 parts: library, parser generator (LL(oo)), translator(yacc->) author: Peter Breuer how to get: ftp pub/Programs/preccx230* from ftp.comlab.ox.ac.uk (later versions available by subscription) 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. ports: unix, MS-DOS contact: Peter Breuer , Jonathan Bowen updated: 1992/08/25 language: BNF ?? package: LLGen version: ? parts: parser generator author: ? Fischer and LeBlanc ? how to get: ? ftp from 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: ? parts: parser generator author: ? how to get: comp.sources.misc volume ? description: LL(?) parser generator contact: ? updated: ? language: BNF (Extended), BNF (yacc), Modula-2 package: GMD Toolbox for Compiler Construction (aka Cocktail) version: 9209 parts: parser generator (LALR -> C, Modula-2), documentation, parser generator (LL(1) -> C, Modula-2), tests, scanner generator (-> C, Modula-2), tests translator (Extended BNF -> BNF), translator (Modula-2 -> C), translator (BNF (yacc) -> Extended BNF), examples abstract syntax tree generator, attribute-evaluator generator, code generator author: ? how to get: ftp pub/cocktail/dos from ftp.karlsruhe.gmd.de OS/2: ftp.eb.ele.tue.nl/pub/src/cocktail/dos-os2.zoo description: A huge set of compiler building tools. requires: (ms-dos only) DJ Delorie's DOS extender (go32) (OS/2 only) emx programming environment for OS/2 ports: msdos, unix, os/2 discussion: subscribe to Cocktail using listserv@eb.ele.tue.nl 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 how to get: ftp pub/st80_r41/T-gen2.1/* from st.cs.uiuc.edu 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 Compiler Construction System version: 3.5 parts: ?, documentation author: ? how to get: ftp pub/cs/distribs/eli/* from ftp.cs.colorado.edu Europe: ftp unix/eli from ftp.uni-paderborn.de description: Eli integrates off-the-shelf tools and libraries with specialized language processors to generate complete compilers 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. ports: Sun-4 (SunOS 4 & 5), Ultrix/MIPS, RS/6000, HP-UX, SGI, Linux discussion: contact: , updated: 1993/11/01 language: BNF (yacc) package: NewYacc version: 1.0 parts: parser generator, documenation author: Jack Callahan how to get: ftp src/newyacc.1.0.*.Z from flubber.cs.umd.edu 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 ? how to get: 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++, Flex++ version: ? parts: parser generator, scanner generator, documentation, samples author: ? Alain Coetmeur how to get: ftp pub/file/{bison,flex,misc}++.tar.gz from iecc.com description: GNU's Yacc and Lex, retargeted to C++ updated: 1993/07/08 language: BNF (yacc) package: ? jaccl ? version: ? parts: parser generator author: Dave Jones how to get: ? 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 how to get: ftp pub/byacc.tar.1.9.Z from vangogh.CS.Berkeley.EDU description: probably the best yacc variant around. Previously known as Zoo, and before that, as Zeus. updated: 1993/02/22 language: BNF (yacc), Lex package: Lex/Yacc for Turbo Pascal uploaded version: ? parts: parser generator, scanner generator, documentation? author: ? how to get: iecc.com (140.186.81.1) at 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) how to get: ftp pub/irus/aflex-ayacc_1.2a.tar.Z from liege.ics.uci.edu 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 (variant), Icon package: Ibpag2 (Icon-Based Parser Generation System 2) version: 1.0 (beta) parts: parser generator (Icon, SLR(1)) author: Richard L. Goerwitz how to get: comp.sources.misc archive 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: 1993/07/13 language: BNF ?, Gofer package: Ratatosk ? version: ? parts: parser generatr (Gofer) author: Torben AEgidius Mogensen how to get: ftp pub/diku/dists/Ratatosk.tar.Z from ftp.diku.dk 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 how to get: 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 how to get: ftp pub/iburg.tar.Z from ftp.cs.princeton.edu 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: 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 how to get: ftp scorpion/* from cs.arizona.edu 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.28 parts: parser generator(LL(1)) author: Hanspeter Moessenboeck Port to Modula-2 done by Marc Brandis, Christof Brass and Pat Terry how to get: ftp Oberon/Examples/Coco from neptune.inf.ethz.ch Get the Modula-2 version from: alpha.ru.ac.za:/pub/coco neptune.inf.ethz.ch:/Coco ftp.psg.com:/pub/modula-2/coco or by mail server: To: server@ftp.psg.com From:
Subject: send pub/modula-2/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. references: _A compiler generator for microcomputers_, by Rechenberg and Mossenbock (Prentice Hall, 1989, 0-13-155136-1) bugs: MS-DOS related versions: Pat Terry Other: Hanspeter Moessenboeck requires: Oberon or Modula-2 ports: MS-DOS: TopSpeed Modula-2; FST 2.0; FST 3.1; StonyBrook QuickMod 2.2; Logitech 3.03. Macintosh: Apple MacMeth status: Oberon version is freely available?, Modula-2 version is free to academic sites; commercial use requires a license updated: 1993/04/30 language: EAG (Extended Affix Grammar) package: EAG version: first public release parts: recognizer generator, transduccer generator, translator generator, editor generator, documentation author: Marc Seutter how to get: ftp pub/eag/* from hades.cs.kun.nl description: The Extended Affix Grammar formalism, or shortly EAG, 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. [What's a tranducer? --ed] updated: 1993/09/14 language: lex package: flex version: 2.3.8 parts: scanner generator author: Vern Paxson how to get: ftp flex-2.3.8.tar.Z from a GNU archive site or ftp.ee.lbl.gov description: ? updated: ? language: Milarepa package: Milarepa Perl/BNF Parser version: Prototype 1.0 parts: parser-generator, examples, tutorial author: Jeffrey Kegler how to get: comp.lang.perl, direct by E-mail. The author is seeking an FTP site to hold the software. description: Milarepa takes a source grammar in the Milarepa language (a straightforward mix of BNF and Perl) and generates a Perl file, which, when enclosed in a simple wrapper, parses some third language described by the source grammar. This is intended to be a real hacker's parser. It is not restricted to LR(k), and the parse logic follows directly from the BNF. It handles ambiguous grammars, ambiguous tokens (tokens which were not positively identified by the lexer) and allows the programmer to change the start symbol. The grammar may not be left recursive. The input must be divided into sentences of a finite maximum length. There is no fixed distinction between terminals and non-terminals, that is, a symbol can both match the input AND be on the left hand side of a production. Multiple Marpa grammars are allowed in a single perl program. It's only a prototype primarily due to poor speed. This is intended to be remedied after Perl 5.0 is out. requires: perl updated: 1993/03/17 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 how to get: ? ftp pub/budd/kamin/*.shar from cs.orst.edu ? 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: perl, yacc iref: (Perl) perl-byacc -- Send compilers articles to compilers@iecc.com or {ima | spdcc | world}!iecc!compilers. Meta-mail to compilers-request@iecc.com. -- Send compilers articles to compilers@iecc.com or {ima | spdcc | world}!iecc!compilers. Meta-mail to compilers-request@iecc.com.