A transformation language is a
computer language
A computer language is a formal language used to communicate with a computer. Types of computer languages include:
* Construction language – all forms of communication by which a human can specify an executable problem solution to a compu ...
designed to transform some input text in a certain
formal language
In logic, mathematics, computer science, and linguistics, a formal language consists of words whose letters are taken from an alphabet and are well-formed according to a specific set of rules.
The alphabet of a formal language consists of s ...
into a modified output text that meets some specific goal.
Program transformation systems such as
Stratego/XT,
TXL,
Tom,
DMS, and
ASF+SDF
ASF may refer to:
Arts and entertainment
* Alabama Shakespeare Festival, a drama festival
* '' Asimov's Science Fiction'', a U.S.-based English-language science fiction magazine containing SF stories
Science and technology
Biological
* ...
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
Macro (or MACRO) may refer to:
Science and technology
* Macroscopic, subjects visible to the eye
* Macro photography, a type of close-up photography
* Image macro, a picture with text superimposed
* Monopole, Astrophysics and Cosmic Ray Observat ...
languages are a kind of transformation languages to transform a meta language into specific higher programming language like
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's mo ...
,
C++,
Fortran or into lower-level
Assembly language.
In the
model-driven engineering
Model-driven engineering (MDE) is a software development methodology that focuses on creating and exploiting domain models, which are conceptual models of all the topics related to a specific problem. Hence, it highlights and aims at abstract ...
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
OMG may refer to:
* Oh my God (sometimes also Oh my Goodness or Oh my Gosh), a common abbreviation, often used in SMS messages and Internet communication
Acronyms
* OMG is the IATA code for Omega Airport, Omega, Namibia
* Operational manoeuvre ...
standard.
There are also low-level languages such as the Lx family 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.
MOLA pages
Mola.mii.lu.lv. Retrieved on 2013-08-10.
There are a number of XML transformation language
An XML transformation language is a programming language designed specifically to transform an ''input'' XML document into an ''output'' document which satisfies some specific goal.
There are two special cases of transformation:
* XML to XML: ...
s. These include Tritium
Tritium ( or , ) or hydrogen-3 (symbol T or H) is a rare and radioactive isotope of hydrogen with half-life about 12 years. The nucleus of tritium (t, sometimes called a ''triton'') contains one proton and two neutrons, whereas the nucleus ...
, XSLT
XSLT (Extensible Stylesheet Language Transformations) is a language originally designed for transforming XML documents into other XML documents, or other formats such as HTML for web pages, plain text or XSL Formatting Objects, which may subse ...
, XQuery
XQuery (XML Query) is a query and functional programming language that queries and transforms collections of structured and unstructured data, usually in the form of XML, text and with vendor-specific extensions for other data formats (JSON, bi ...
, STX, FXT, XDuce, CDuce
{{notability, date=August 2018
CDuce is an XML-oriented functional language, which extends XDuce in a few directions.
It features XML regular expression types, XML regular expression patterns,
XML iterators. CDuce is not strictly speaking an XML ...
, HaXml, XMLambda
An XML transformation language is a programming language designed specifically to transform an ''input'' XML document into an ''output'' document which satisfies some specific goal.
There are two special cases of transformation:
* XML to XML: ...
, and FleXML.
See also
Concepts:
* bidirectional transformation
In computer programming, bidirectional transformations (bx) are programs in which a single piece of code can be run in several ways, such that the same data are sometimes considered as input, and sometimes as output. For example, a bx run in the f ...
* data conversion
Data conversion is the conversion of computer data from one format to another. Throughout a computer environment, data is encoded in a variety of ways. For example, computer hardware is built on the basis of certain standards, which requires t ...
* data element
In metadata, the term data element is an atomic unit of data that has precise meaning or precise semantics. A data element has:
# An identification such as a data element name
# A clear data element definition
# One or more representation terms
...
* data mapping
In computing and data management, data mapping is the process of creating data element mappings between two distinct data models. Data mapping is used as a first step for a wide variety of data integration tasks, including:
* Data transformat ...
* data migration
Data migration is the process of selecting, preparing, extracting, and transforming data and permanently transferring it from one computer storage system to another. Additionally, the validation of migrated data for completeness and the decommis ...
* data transformation
In computing, data transformation is the process of converting data from one format or structure into another format or structure. It is a fundamental aspect of most data integrationCIO.com. Agile Comes to Data Integration. Retrieved from: http ...
* metadata
* model transformation
A model transformation, in model-driven engineering, is an automated way of modifying and creating models. An example use of model transformation is ensuring that a family of models is consistent, in a precise sense which the software engineer can ...
* graph transformation
* refinement (contrast)
Languages and typical transforms:
* ATL
ATL may refer to:
Places
* Atlanta, a city in the U.S. state of Georgia
** Hartsfield–Jackson Atlanta International Airport (IATA airport code)
** Peachtree station (Amtrak station code)
* Attleborough railway station, located in Norfolk, Engl ...
* AWK (tabular data transforms)
* Identity transform
The identity transform is a data transformation that copies the source data into the destination data without change.
The identity transformation is considered an essential process in creating a reusable transformation library. By creating a li ...
* QVT
* TXL (general)
* XQuery
XQuery (XML Query) is a query and functional programming language that queries and transforms collections of structured and unstructured data, usually in the form of XML, text and with vendor-specific extensions for other data formats (JSON, bi ...
(XML)
* XSLT
XSLT (Extensible Stylesheet Language Transformations) is a language originally designed for transforming XML documents into other XML documents, or other formats such as HTML for web pages, plain text or XSL Formatting Objects, which may subse ...
(XML)
References
*
Programming language classification
Metaprogramming
{{compu-lang-stub