Flush
[mono.git] / doc / languages
1 * Compilers for other languages
2
3         Here are some other free compilers for other languages that
4         target .NET and should work with Mono with no problem:
5
6         <ul>
7                 * <a href="#ComponentPascal">Component Pascal</a>
8                 * <a href="#MonoLogo">MonoLogo</a>
9                 * <a href="#Oberon">Oberon</a>
10                 * <a href="#Forth">Forth</a>
11         </ul>
12
13         Languages we would like to have supported, with links to resources:
14
15         <ul>
16                 * <a href="#JavaScript">Java Script</a>
17                 * <a href="#java.html">Java</a>
18                 * <a href="#c">C</a>
19         </ul>
20
21         Some experimental languages:
22
23         <ul>
24                 * <a href="#Tachy">Tachy</a> (scheme-like)
25         </ul>
26
27 <a name="Java">
28 ** Java
29
30         There is a very interesting project to make a JavaVM for .NET
31         <a href="http://radio.weblogs.com/0109845/">here</a>
32
33
34 <a name="MonoLogo">
35 ** MonoLogo
36
37         An implementation of Logo for Mono (and .NET)
38
39         The <A href="http://monologo.sf.net">Mono Logo</a> compiler is
40         hosted in the <a href="ccvs.html">Mono CVS</a> repository
41         and also available on the <a href="anoncvs.html">AnonCVS</a> mirrors.
42
43 <a name="Oberon">
44 ** Oberon
45
46         This Oberon compiler is written in Oberon.NET (another self
47         hosting compiler).
48
49         The main site <a href="http://www.oberon.ethz.ch/oberon.net/">http://www.oberon.ethz.ch/oberon.net/</a>
50
51         Download:
52         <a href="http://www.oberon.ethz.ch/oberon.net/download/">http://www.oberon.ethz.ch/oberon.net/download/</a>
53
54         Examples:
55         <a href="http://www.oberon.ethz.ch/oberon.net/examples/">http://www.oberon.ethz.ch/oberon.net/examples/</a>
56
57
58         <a href="http://www.superin.formativ.net/mono/oberon/oberon.zip">http://www.superin.formativ.net/mono/oberon/oberon.zip</a>
59
60 <a name="ComponentPascal">
61 ** Component Pascal
62
63         The Component Pascal compiler: <a
64         href="http://www2.fit.qut.edu.au/CompSci/PLAS/ComponentPascal">Home
65         Page</a>, you can <a
66         href="http://www2.fit.qut.edu.au/CompSci/PLAS/ComponentPascal/gpcp1.1.4-netRTM.zip">
67         download it</a>
68         
69 <a name="Forth">
70 ** Delta Forth
71
72          The Delta Forth.NET project: <a 
73          href="www.dataman.ro/dforth">Home
74          Page</a> and <a href="http://www.dataman.ro/dforth/index.html">more
75          details here</a>.
76          
77
78 <a name="Tachy">
79 ** Tachy
80
81         A subset of Scheme language called <a
82         href="http://radio.weblogs.com/0101156/stories/2002/03/19/tachy.html">Tachy</a>
83
84 * Missing languages
85
86         Here is a list of a few languages that we would like to see
87         supported.  We will try to maintain a set of links here with 
88         technical information for those interested in porting,
89         implementing or adapting a compiler for any of these
90         languages:
91
92 <a name="JavaScript">
93 * Java Script
94
95         The Mozilla project has an implementation of JavaScript
96         written in Java called <a
97         href="http://www.mozilla.org/rhino/">Rhino</a>.
98
99         You could port this code from Java to C#.
100
101         Note that since JavaScript allows for evaluation at runtime,
102         the compiler has to be built as a class that can be invoked at
103         runtime.
104
105 <a name="c">
106 * C
107
108         Ideally GCC could be modified to generate CIL, but it is a 
109         big task.  That would give us various compilers in one pass.
110
111         <a href="http://www.cs.princeton.edu/software/lcc">LCC</a> 4.2
112         has been recently released.  This release adds support for compiling
113         ANSI C programs to CIL.  Note that the CIL support only works on Win32
114         right now, but should be easy to convert to Mono/other architectures.
115
116         LCC is not an open source compiler, but it is free as long as you
117         do not profit from selling it. 
118
119 <a name="Java">
120 * Java
121
122         We have a <a href="java.html">separate page</a> for Java.
123
124