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?