Evolving TXL

  • Authors:
  • Adrian D. Thurston;James R. Cordy

  • Affiliations:
  • Queen's University, Canada;Queen's University, Canada

  • Venue:
  • SCAM '06 Proceedings of the Sixth IEEE International Workshop on Source Code Analysis and Manipulation
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

TXL is a functional programming language specifically designed for expressing source transformation tasks. Originally designed for the rapid prototyping of modest syntactic enhancements, in recent years it has been extensively used in large scale source code analysis and reengineering applications that are much more challenging. As a result, many common programming techniques needed in these larger scale applications are difficult or impossible to express in TXL. Examples include multi-way decisions, generic rules and functions, polymorphism and information hiding. In this paper we introduce ETXL, an experimental extension of TXL which includes convenient features designed to address these issues. Designed to be a compatible variant that remains faithful to the original TXL syntax and semantics, ETXL has itself been prototyped as a source transformation to original TXL.