<
functional language,
rule-based language> (TXL) A hybrid
functional language and
rule-based language developed by J.R. Cordy
cordy@cs.queensu.ca et al of
Queen's University, Canada in 1988. TXL is suitable for performing source to source analysis and transformation and for rapidly prototyping new languages and language processors. It uses
structural transformation based on
term rewriting.
TXL has been particularly successful in
software engineering tasks such as
design recovery,
refactoring, and
reengineering. Most recently it has been applied to
artificial intelligence tasks such as recognition of hand-written mathematics, and to transformation of
structured documents in
XML.
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 supports the notion of
agile parsing, the ability to tailor the grammar to each particular task using "grammar overrides".
Current version: FreeTXL 10.3, as of 2003-10-26.
TXL Home.
["TXL: A Rapid Prototyping System for Programming Language Dialects", J.R. Cordy, C.D.; Halpern and D. Promislow, Computer Languages, Vol. 16, No. 1, January 1991, pp 97-107]
["Source Transformation in Software Engineering using the TXL Transformation System", J.R. Cordy, T.R. Dean, A.J. Malton and K.A. Schneider, Journal of Information and Software Technology, Vol. 44, No. 13, October 2002, pp 827-837]
["Recognizing Mathematical Expressions Using Tree Transformation", R. Zanibbi, D. Blostein and J.R. Cordy, IEEE Transactions on Pattern Analysis & Machine Intelligence, Vol. 24, No. 11, November 2002, pp 1455-1467]
["Agile Parsing in TXL", T.R. Dean, J.R. Cordy, A.J. Malton and K.A. Schneider, Journal of Automated Software Engineering, Vol. 10, No. 4, October 2003, pp 311-336]
(2003-11-04)