Sto pensando di scrivere un piccolo compilatore C#.Avrebbe anche senso scrivere un compilatore C# che abbia come target LLVM?
Un'idea con cui ho giocato è scrivere un sottoinsieme della grammatica C#, diciamo fino a 2.0 per ANTLR. Quindi, usando questo per indirizzare il LLVM e scrivere un compilatore di codice nativo per C#?
Questa idea ha senso o non funzionerebbe? Ci sarebbe un modo per fare ancora chiamate al BCL?
So che c'è lo CCI (Common Compiler Infrastructure) che mi aiuterebbe a generare semplicemente eseguibili .NET. Ma sono curioso di sapere se ciò che ho detto sopra sarebbe possibile?
Non conosco gli interni di .NET abbastanza bene da poterti davvero aiutare, ma per quanto ne so non dovrebbe essere un problema qualsiasi tranne che per chiamare gli assembly .NET esterni – Earlz
Definire "small". La specifica è lunga * cinquecento pagine *. –
@Eric Lippert, Mike Stall, che credo appartenga al tuo team di compilatori, ha scritto un compilatore C# relativamente "piccolo" chiamato "Blue" che è in grado di eseguire il bootstrap come il suo primo programma C#. – KingNestor