![]()
A common semantic
representation is needed to in order to apply patterns and other
transformations at a target language independent level. A semantic
representation common to all programming languages is probably too much to
ask for. The success of
Java’s JVM and Microsoft’s Common Type System and Intermediate Language
(CTS + MS-IL), however, suggest that a core semantics common to a family of
languages is a reasonable
goal. In the
interest of reaching it, our XCIL Introduction provides a
side by side comparison of three VM standards and their underlying
semantics: those of the JVM, Microsoft’s Intermediate Language, and the UML
Action Semantics. The full
definition of XCIL (with references to the UML, MS-IL and JVM standards) is
given by the XCIL Reference. An
interactive, online version of the XCIL translator for C/C++ and sample
code/translation results are provided by the web page XCIL
Online. The Tower of Babel
The result is the definition of a family of XML representations for these
languages and XSLT mappings between them.
