Is this actually useful?
Probably not. There are a ton of better ways to build a compiler. If you want to build one on .NET, and you aren't in a sandboxed jail, you should probably just use System.Reflection.Emit and save yourself most of the headache of hoping that the JIT will make sense of your insane garbage.
So why have you done this?
Because it's funny, and it's an opportunity to show off. I'd like to credit rileyzzz and their very cool project
DExTr for some of the inspiration.
What next?
Brainfuck was really good for a prototype, given it's limited instruction set and very simple control-flow. But I really want to run webassembly. This is a much harder challenge. It will probably involve some real control-flow and data-flow analysis. It might not go anywhere. Stay tuned I guess. Maybe if I'm successful we can see how much slower it is than DExTr.