Language: E (a persistent C++ variant) Package: GNU E Version: 2.3.3 Parts: compiler Author: ? Location: ftp://ftp.cs.wisc.edu/exodus/E/gnu_E* Description: GNU E is a persistent, object oriented programming language developed as part of the Exodus project. GNU E extends C++ with the notion of persistent data, program level data objects that can be transparently used across multiple executions of a program, or multiple programs, without explicit input and output operations. GNU E's form of persistence is based on extensions to the C++ type system to distinguish potentially persistent data objects from objects that are always memory resident. An object is made persistent either by its declaration (via a new "persistent" storage class qualifier) or by its method of allocation (via persistent dynamic allocation using a special overloading of the new operator). The underlying object storage system is the Exodus storage manager, which provides concurrency control and recovery in addition to storage for persistent data. Restriction: GNU General Public License; not all runtime sources are available (yet) Requires: release 2.1.1 of the Exodus storage manager Contact: exodus@cs.wisc.edu Updated: January 20th, 1993 --------------------------------------------------------------------------- Language: C++ Package: cppp Version: 1.14 Parts: parser (yacc) Author: Tony Davis Location: wilma.cs.brown.edu:/pub/cppp.tar.Z Description: A compiler front-end for C++, with complete semantic processing. Outputs abstract syntax graph. Restriction: Permission needed for incorporation into commercial software. Requires: Native C++ compiler, lex, yacc, make, sed (or hand editing) Status: Upgrading the back end. Updated: May 26th, 1993 --------------------------------------------------------------------------- Language: BNF Package: Eli Compiler Construction System Version: 3.8 Parts: scanner generator(regular expressions->C, C++), documentation parser generator(LALR->C, C++), documentation attribute grammar generator(LIDO->C, C++), documentation definition table generator(PDL->C, C++), documentation tree pattern-matcher generator(OIL->C, C++), documentation unparser generator(PTG->C, C++), documentation Author: ? Location: ftp://ftp.cs.colorado.edu/pub/cs/distribs/eli/* europe: ftp://ftp.uni-paderborn.de/unix/eli or http://www.cs.colorado.edu/~eliuser 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: Bugs: Contact: , Updated: November 1st, 1993 --------------------------------------------------------------------------- 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: September 25th, 1989 --------------------------------------------------------------------------- Language: Forth Package: TILE Forth Version: 2.1 Parts: interpreter Author: Mikael Patel Location: ftp://gatekeeper.dec.com/tile-forth-2.1.tar.Z or any other GNU archive site Description: Forth interpreter in C; many Forth libraries Conformance: Forth83 Restriction: shareware/GPL Ports: unix Updated: November 13th, 1991 ---------------------------------------------------------------------------