This repository has been archived by the owner on Jun 6, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
/
README
56 lines (44 loc) · 2.16 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
== 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