cordy@qucis.queensu.ca (Jim Cordy) (05/17/91)
TXL for the Rest of Us ---------------------- In response to overwhelming popular demand, I have created a portable ANSI C source for TXL 5.2 using an automatic translation of the original Turing Plus source. The result is available via anonymous FTP from qusuna.qucis.queensu.ca (130.15.1.100) in the directory '~ftp/txl', filename 'porttxl52.tar.Z'. The result has been validated as legitimate ANSI C using the Gnu C compiler with the -ansi -pedantic flags, and tested on all of the Sun/3 (MC68020), Sun/4 (Sparc), Dec 3100 (Mips), Dec VAX, and NeXt (Mach) architectures using the native Unix C compilers. For those of you who have forgotten what TXL is, I have reposted the original description below. Thanks to all of those who have responded and/or tried it out so far. Let me know how it goes if you decide to use it for anything interesting. Jim Cordy --- 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 ----- COPY OF ORIGINAL POSTING ABOUT TXL: Subject: TXL 5.2, a Rapid Prototyping Tool for Computer Languages 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 -- 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 -- Send compilers articles to compilers@iecc.cambridge.ma.us or {ima | spdcc | world}!iecc!compilers. Meta-mail to compilers-request.