HTTPS clone URL
Subversion checkout URL
The Managed Compiler Infrastructure is a modern and intuitive compiler back end for managed languages.
D Python Other
== MCI: Managed Compiler Infrastructure == -- Introduction -- Welcome to the MCI! The MCI (Managed Compiler Infrastructure) is a project that seeks to write a complete compiler infrastructure and JIT (just-in-time) compiler in the D language (version 2.0). The goal is a modern, intuitive, and future-proof API usable by as many front ends as possible. The rationale for such a project is that developing and maintaining such systems in C/C++ (or similar languages) is tedious and error-prone. Other languages also don't offer the possibility to expose a clean and simple API, particularly due to the lack of a garbage collector and an exhaustive standard library. The MCI presents an intuitive, four-address intermediate representation that will easily represent common constructs in programming languages today. At the same time, it is powerful enough to represent languages as low-level as C. The MCI is also a virtual machine: It provides threading infrastructure, automatic memory management through garbage collection, foreign function (FFI) invocation, and many other features commonly needed by managed virtual machines and languages. We don't mean for the MCI to be usable as a virtual machine by itself, however. It is generally meant to be a fundamental building block for higher-level virtual machines. For further information, see: * LICENSE - Licensing and copyright information. * COMPATIBILITY - Supported compilers, architectures, operating systems, etc. * INSTALL - Instructions on building and installing the MCI. * AUTHORS - Names and contact information for MCI developers. * THANKS - Credits and appreciation where due. * STYLE - Coding style rules (only relevant if you're a contributor). See also the documentation in the 'docs' directory. You can reach the MCI community in several ways: * IRC channels - #lycus @ irc.oftc.net - #mci @ irc.oftc.net * Mailing lists - lycus-announce: http://groups.google.com/group/lycus-announce - lycus-discuss: http://groups.google.com/group/lycus-discuss - lycus-develop: http://groups.google.com/group/lycus-develop