{{Data transformation}} A '''transformation language''' is a computer language designed to transform some input text in a certain formal language into a modified output text that meets some specific goal{{clarify|date=July 2016}}.

Program transformation systems such as Stratego/XT, TXL, Tom, DMS, and ASF+SDF all have transformation languages as a major component. The transformation languages for these systems are driven by declarative descriptions of the structure of the input text (typically a grammar), allowing them to be applied to wide variety of formal languages and documents.

Macro languages are a kind of transformation languages to transform a meta language into specific higher programming language like Java, C++, Fortran or into lower-level Assembly language.

In the model-driven engineering technical space, there are model transformation languages (MTLs), that take as input models conforming to a given metamodel and produce as output models conforming to a different metamodel. An example of such a language is the QVT OMG standard.

There are also low-level languages such as the Lx family<ref>[http://lx.mii.lu.lv/ The Lx transformation language set home page] {{Webarchive|url=https://archive.today/20120710031939/http://lx.mii.lu.lv/ |date=2012-07-10 }}. Lx.mii.lu.lv (2007-10-08). Retrieved on 2013-08-10.</ref> implemented by the bootstrapping method. The L0 language may be considered as assembler for transformation languages. There is also a high-level graphical language built on upon Lx called MOLA.<ref>[http://mola.mii.lu.lv/ MOLA pages]. Mola.mii.lu.lv. Retrieved on 2013-08-10.</ref>

There are a number of XML transformation languages. These include Tritium, XSLT, XQuery, STX, FXT, XDuce, CDuce, HaXml, XMLambda, and FleXML.

==See also== {{col-begin}} {{col-break}} Concepts: * bidirectional transformation * data conversion * data element * data mapping * data migration * data transformation * metadata * model transformation * graph transformation * refinement (contrast) {{col-break}} Languages and typical transforms: * ATL * AWK (tabular data transforms) * Identity transform * QVT * TXL (general) * XQuery (XML) * XSLT (XML) {{col-end}}

==References== <references/>

{{Computer language}} {{Programming paradigms navbox}}

Category:Transformation languages Category:Programming language classification Category:Metaprogramming

{{compu-lang-stub}}