Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Transformation language
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{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 (programming language)|TXL]], [[Tom (pattern matching language)|Tom]], [[DMS Software Reengineering Toolkit|DMS]], and [[ASF+SDF Meta Environment|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 (computer science)|Macro]] languages are a kind of transformation languages to transform a meta language into specific higher programming language like [[Java (programming language)|Java]], [[C++]], [[Fortran]] or into lower-level [[Assembly language]]. In the [[model-driven engineering]] technical space, there are [[model transformation language]]s (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]] [[Object Management Group|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 (compilers)|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 language]]s. These include [[Tritium (programming language)|Tritium]], [[XSLT]], [[XQuery]], [[Streaming Transformations for XML|STX]], [[XML transformation language|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]] * [[Program refinement|refinement]] (contrast) {{col-break}} Languages and typical transforms: * [[ATLAS Transformation Language|ATL]] * [[AWK]] (tabular data transforms) * [[Identity transform]] * [[QVT]] * [[TXL (programming language)|TXL]] (general) * [[XQuery]] (XML) * [[XSLT]] (XML) {{col-end}} ==References== <references/> {{Computer language}} [[Category:Transformation languages| ]] [[Category:Programming language classification]] [[Category:Metaprogramming]] {{compu-lang-stub}}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Clarify
(
edit
)
Template:Col-begin
(
edit
)
Template:Col-break
(
edit
)
Template:Col-end
(
edit
)
Template:Compu-lang-stub
(
edit
)
Template:Computer language
(
edit
)
Template:Data transformation
(
edit
)
Template:Prog-lang-stub
(
edit
)
Template:R shell
(
edit
)
Template:Webarchive
(
edit
)