OS: .Net 2.0
Expressing my continuing fascination with the BF language, I created BF.Net as an experiment in generating .Net executable files. BF.Net takes an input Brainfu*k source file and generates a .Net 2.0 compliant executable. Primitive optimizations are implemented, such as increment/decrement folding, and the compiler generates fairly performant executables.
Notice: Please do not direct link to any files on this site, link
to the page containing the file! Thanks!
It was actually considerably easier than I had expected, since the System.Reflection.Emit namespace is actually quite comprehensive and easy to use. Translating BF symbols to MSIL opcodes is fairly straightforward. An intersting thing that you can do with the resulting executables is use reflector on them. Despite the fact that the executables are generated strictly from IL opcodes, reflector manages to discern a suprising amount of structure out of the files, such as 'while' loops. For some example source files and more info about the Brainfu*k programming language, please visit this page.