A system and method for multi-language compilation is provided. The system
and method provide a mechanism for two or more separately written
compiler components to co-operate in the compilation of mixed language
compilation units. The system mitigates problems associated with
conventional approaches to dealing with embedded code blocks.
Extensibility is facilitated through the use of a common compiler
infrastructure (CCI) in the form of a base class library. Compilers for
specific languages are written as extensions of these classes. Common
conventions and a flexible extensibility mechanism facilitate cooperation
amongst the compilers.