Main


 

PATCHES

 

PROGRAMS

 

UNREAL TOURNAMENT MODS

 

UNFINISHED PROJECTS

 

LIBRARIES

 

 

 

 

Title: BF.Net
OS: .Net 2.0
Language: C#
File: bfnet.zip

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.
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.

Notice: Please do not direct link to any files on this site, link to the page containing the file! Thanks!