Program transformation

Program transformation

A program transformation is any operation that takes a program and generates another program. It is often important that the derived program be semantically equivalent to the original, relative to a particular formal semantics. Other program transformations may generate programs that semantically differ from the original in predictable ways.

A generalisation of semantic equivalence is the notion of program refinement:one program is a refinement of another if it terminates on all the initial statesfor which the original program terminates, and for eachsuch state it is guaranteed to terminate in a possible final state for the original program.In other words, a refinement of a program is "more defined" and "more deterministic"than the original program. If two programs are refinements of each other,then the programs are equivalent.

While program transformations can be defined as manual procedures, it is more useful in practice to use program transformation system, a tool that can accept and apply specifications of program transformations. Program transformations may be specified as automated procedures that modify compiler data structures (e.g. abstract syntax trees) representing the program text, or may be specified more conveniently using patterns representing parameterized source code text fragments.

A practical requirement for program transformation systems is that they be ableto process the source code for the programming language of the application systemto be transformed. For many languages, the problem of building an adequatefront end for the transformation tool may overshadow the value of the tool itself.For instance, transforming C++ is a notoriously hard problem.For a program transformation system to be used in a wide variety of circumstances,it must be able to handle a wide variety of languages.

ee also

* Transformation language
* Source-to-source compiler
* Source code generation
* Code generation (compiler)
* Data transformation

External links

* [http://www.program-transformation.org The Program transformation Wiki]


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Transformation — (root transform ) may refer to:Transformation is also referred to as a turn.In science: * Transformation (geometry), in mathematics, as a general term applies to mathematical functions. ** Data transformation (statistics) in statistics. *… …   Wikipedia

  • Program refinement — Data transformation/Source transformation Concepts metadata · data mapping data transformation · model transf …   Wikipedia

  • Transformation language — 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.Program transformation systems such as Stratego/XT, TXL, DMS, and… …   Wikipedia

  • Program optimization — For algorithms to solve other optimization problems, see Optimization (mathematics). In computer science, program optimization or software optimization is the process of modifying a software system to make some aspect of it work more efficiently… …   Wikipedia

  • Program Management Office — The Philippine National Police Program Management Office (PNP PMO) is the central management facility for all PNP reform programs and projects.As the PNP’s “idea center”, its mission is to generate and convert strategies and concepts into… …   Wikipedia

  • Transformation of the United States Army — Army Transformation describes the future concept of the United States Army s plan of modernization. Transformation is a generalized term for the integration of new concepts, organizations, and technology within the armed forces of the United… …   Wikipedia

  • Program for the Endorsement of Forest Certification — Programme de Reconnaissance des Certifications Forestières Logo du PEFC. Le Programme de Reconnaissance des Certifications Forestières ou PEFC (« Pan European Forest Certification » devenu « Programme for the Endorsement of Forest… …   Wikipédia en Français

  • Data transformation — Data transformation/Source transformation Concepts metadata · data mapping data transformation · model transf …   Wikipedia

  • FermaT Transformation System — The FermaT Transformation System is a powerful industrial strength program transformation system based on the WSL language.FermaT has been used successfully in several major assembler to C migration projects: each project involved converting over …   Wikipedia

  • Model transformation — A model transformation, in model driven engineering, is an automatable way of ensuring that a family of models is consistent, in a precise sense which the software engineer can define. The aim of using a model transformation is to save effort and …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”