TXL (programming language): Difference between revisions

Content deleted Content added
mNo edit summary
Kevinkor2 (talk | contribs)
m disamb. link
Line 3:
Modern TXL is specifically designed for creating, manipulating and rapidly prototyping language-based descriptions, tools and applications using source transformation. It is a hybrid [[Functional programming|functional]] / [[rule-based programming|rule-based]] language using first order functional programming at the higher level and term rewriting at the lower level. The [[formal semantics]] and implementation of TXL are based on formal [[term rewriting]], but the term structures are largely hidden from the user due to the example-like style of pattern specification.
 
Each TXL program has two components, a description of the source structures to be transformed, specified as a [[Backus–Naur form|BNF]]-like [[grammar]] in context-free ambiguous form, and a set of structural source transformation rules, specified using pattern / replacement pairs combined using first order functional programming. TXL is designed to allow explicit programmer control over the interpretation, application, order and backtracking of both parsing and rewriting rules, allowing for expression of a wide range of grammar-based techniques such as agile parsing.
 
TXL is most commonly used in software analysis and reengineering tasks such as [[reengineering (software)|design recovery]], and in rapid prototyping of new [[programming languages]] and dialects.