Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/web/java
diff options
context:
space:
mode:
authorMiguel de Icaza <miguel@gnome.org>2002-04-15 16:21:21 +0400
committerMiguel de Icaza <miguel@gnome.org>2002-04-15 16:21:21 +0400
commit4bc54249e38065435721a6a6544075de0e18cd04 (patch)
treeecf37c4fc62eed60dee3f405df29e15287d13f52 /web/java
parentf3cd574ac3e12fca06d1142b1296bf41dac7780d (diff)
Add new files
svn path=/trunk/mono/; revision=3828
Diffstat (limited to 'web/java')
-rwxr-xr-xweb/java39
1 files changed, 39 insertions, 0 deletions
diff --git a/web/java b/web/java
new file mode 100755
index 00000000000..a214898f503
--- /dev/null
+++ b/web/java
@@ -0,0 +1,39 @@
+* Java
+
+ It would be interesting to support the Java language as part
+ of the Mono project.
+
+ You have to think of Java as various pieces: Java the
+ language and Java the virtual machine.
+
+ It is possible to compile Java to .NET, as shown by the
+ Microsoft J# compiler. We could then allow the migration of
+ Java applications to the Mono runtime.
+
+** The translator.
+
+ It would be interesting to write a semantic translator that
+ converts java byte codes into CIL opcodes. This is possible
+ because the Java byte codes are a subset of the CIL ones.
+
+ A semantic tree needs to be constructed (very much in the
+ spirit of what is done in mono_analize_stack in
+ <tt>mono/mono/jit/jit.c</tt>. Once such a semantic tree is
+ constructed, we could generate the equivalent Java code.
+
+ This has a number of interesting side effects: people can
+ continue to use their existing Java compilers to compile their
+ code, and a simple tool that converts their .class files into
+ a .NET assembly can be used.
+
+** Libraries
+
+ We could translate the GNU Classpath libraries with the above
+ tools to provide the Java runtime required to host into the
+ Mono runtime. Some special treatment would be required for
+ core data types like integers, arrays and strings, and of
+ course reuse where possible existing classes from .NET to make
+ them compatible.
+
+
+