[comp.lang.misc] TXL 5.2, a Rapid Prototyping Tool for Computer Languages

cordy@qucis.queensu.CA (Jim Cordy) (05/07/91)

TXL: Tree Transformation Language is now available via anonymous FTP 
from qusuna.qucis.queensu.ca (130.15.1.100).

TXL 5.2, (c) 1988-1991 Queen's University at Kingston
-----------------------------------------------------
Here's the language prototyping tool you've been waiting for!
TXL is a generalized source-to-source translation system suitable for
rapidly prototyping computer languages and langauge processors
of any kind.  It has been used to prototype several new programming 
languages as well as specification languages, command languages, 
and more traditional program transformation tasks such as constant 
folding, type inference and source optimization.  

TXL is NOT a compiler technology tool, rather it is a tool for use
by average programmers in quickly prototyping languages and linguistic 
tasks.  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 will automatically parse inputs in the language described by the 
grammar, no matter if ambiguous or recursive, and then successively 
apply the transformation rules to the parsed input until they fail, 
producing as output a formatted transformed source.  

TXL is particularly well suited to the rapid prototyping of parsers 
(e.g., producing a Modula 2 parser took only the half hour to type in 
the Modula 2 reference grammar directly from the back of Wirth's book), 
pretty printers (e.g., a Modula 2 paragrapher took another ten minutes 
to insert output formatting clues in the grammar), and custom or 
experimental dialects of existing programming languages (e.g., 
Objective Turing was prototyped by transforming to pure Turing and 
using the standard Turing compiler to compile the result).

TXL comes with source (sorry, it's written in Turing Plus, so not
many of you will be able to modify it), binaries to run on both
Sun/3 and Sun/4 architectures under Sun OS 4.x, self-instruction
scripts and a pile of examples of its use in various applications.  
Sources in C, and binary versions for other machines may become 
available if there is enough interest.

Jim Cordy
Queen's University, Kingston, Canada
cordy@qucis.queensu.ca

-- 
Prof. Dr. James R. Cordy			cordy@qucis.queensu.ca
Dept. of Computing and Information Science	James.R.Cordy@QueensU.CA
Queen's University at Kingston			cordy@qucis.bitnet
Kingston, Canada K7L 3N6			utcsri!qucis!cordy