X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=web%2Fc-sharp;h=ddf6844701f73790dda4c60efec685c56f340860;hb=96f27584e01d9f73f9e810872f6c96608371261a;hp=8faf5f83b1335925c0e1518baeabcaeae73a19f8;hpb=ab7465ea46961ce33b982d9bea33a7a462a78072;p=mono.git diff --git a/web/c-sharp b/web/c-sharp index 8faf5f83b13..ddf6844701f 100644 --- a/web/c-sharp +++ b/web/c-sharp @@ -1,20 +1,28 @@ * MCS: The Ximian C# compiler - MCS is currently able to compile itself and many more C# - programs (there is a test suite included that you can use). + The Mono C# compiler is considered feature complete at this + point and relatively mature. MCS is able to compile itself + and many more C# programs (there is a test suite included that + you can use). It is routinely used to compile Mono, roughly + half a million lines of C# code. - We are in feature completion mode right now. There are still - a couple of areas that are not covered by the Mono compiler, but - they are very very few at this point. +* Pending tasks - MCS was able to parse itself on April 2001, MCS compiled itself - for the first time on December 28 2001. MCS became self hosting - on January 3rd, 2001. + There are a few known bugs in the Mono C# compiler, but + they are very very few at this point, + you can also browse the MCS bugs from Bugzilla. A test suite is maintained to track the progress of the compiler and various programs are routinely compiled and ran. +** Slides + + Slides for the Mono C# Compiler presentation at .NET ONE are + available here + in StarOffice format. + ** Obtaining MCS The Mono C# compiler is part of the `mcs' module in the Mono CVS @@ -23,10 +31,9 @@ ** Running MCS - MCS is written in C# and uses heavily the .NET APIs. At this point - MCS only runs on Windows with the .NET Framework SDK installed. Work - is progressing rapidly in our JIT engine and our class libraries to - allow MCS to be ran in non-Windows systems. + MCS is written in C# and uses heavily the .NET APIs. MCS runs + on Linux with the Mono runtime and on Windows with both the + .NET runtime and the Mono runtime. ** Reporting Bugs in MCS @@ -73,36 +80,42 @@ * Code generation: The code generation is done through the System.Reflection.Emit API. - - -** Current pending tasks +** CIL Optimizations. - Simple tasks: + The compiler performs a number of simple optimizations on its input: + constant folding (this is required by the C# language spec) and + can perform dead code elimination. - + Other more interesting optimizations like hoisting are not possible + at this point since the compiler output at this point does not + generate an intermediate representation that is suitable to + perform basic block computation. - Larger tasks: - + MCS was able to parse itself on April 2001, MCS compiled itself + for the first time on December 28 2001. MCS became self hosting + on January 3rd, 2002. + + The Mono Runtime and the Mono execution engine were able to make + our compiler self hosting on March 12, 2002. ** Questions and Answers