<
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".
Latest version: FreeTXL 10.3, as of 2003-10-26.
TXL Home (http://txl.ca/).
[
"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)