Text Box: An eXtensible Common Intermediate Language (XCIL)

 

 

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 result is the definition of a family of XML representations for these languages and XSLT mappings between them.

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