An eXtensible Common Intermediate Language (XCIL)



                         
The Tower of Babel

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 does 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.

Related documents: XCIL Slides  |  XCIL Introduction  |  XCIL Reference  |  XCIL Online

Home | Issues  | Vision | XCIL | XPSL | Pattern catalogs | KCS tools | Results | Services | Standards | Tech transfer