tags:

views:

253

answers:

2

I'm thinking about writing a small C# compiler.

One idea I've been toying with is writing a subset of the C# grammar, say up to 2.0 for ANTLR. Then, using this to target the LLVM and write a native code compiler for C#?

Does this idea even make sense or would this not work? Would there be any way to still make calls to the BCL?

I know there is the CCI (Common Compiler Infrastructure) which would aid me in simply generating .NET executables. But I'm curious if what I said above would be possible?

+8  A: 

Mono already can be used with a LLVM backend

Check out the Limitations section, though.

Mauricio Scheffer
+1  A: 

Unless you want to rewrite the entire standard library, too, it would be better to find a different project, if you're just looking for something to do. A possibility would be to write a .NET bytecode compiler or an IL assembler.

Joel