Brainf*ck Interpreter
The brainf*ck IDE is an application that can be used to write your own brainf*ck code. The application consists of a few custom windows that work together to create a workflow that is a little easier to write brainf*ck code. You can learn more about the application and brainfuck on this page but in case you want to explore the source code for yourself here is a button that will take you to the GitHub project:

About Brainf*ck
Brainf*ck is a very minimalistic programming language that consists of only 8 different characters:
| Character | Meaning |
|---|---|
| > | increment the data pointer (to point to the next cell to the right). |
| < | decrement the data pointer (to point to the next cell to the left). |
| + | increment (increase by one) the byte at the data pointer. |
| – | decrement (decrease by one) the byte at the data pointer. |
| . | output the byte at the data pointer. |
| , | accept one byte of input, storing its value in the byte at the data pointer. |
| [ | if the byte at the data pointer is zero, then instead of moving the instruction pointer forward to the next command, jump it forward to the command after the matching ] command. |
| ] | if the byte at the data pointer is nonzero, then instead of moving the instruction pointer forward to the next command, jump it back to the command after the matching [ command. |
In many languages, you have something that’s called a data pointer. For simplicity try to visualize your computer’s memory as a long line. The line is divided into cells. Think of the pointer as an arrow that ‘points’ to a cell in memory.
The language can be used to write any sort of program however, it’s not very practical. The language mainly serves as a fun challenge for programmers.

Custom Winforms
The program consists of a few custom flat UI windows.
In order for a windows application to move you need a toolbar on top of your window. Because I don’t think the default toolbar works with this design, I researched how to move the window without needing a default toolbar and stumbled upon this site. After that, I decided to use that code to make the windows draggable.
I plan to implement more features to these windows like animations and movable sub-menus.
Useful Tools
This brainf*ck IDE comes with a few useful tools like the: Memory View. This window shows you the output of your application after execution. Making it easier to debug your application if weird results occur.
The IDE also comes with a very useful tool to convert your text in Ascii to Bytes. This can make it easier for you to write texts with brainf*ck.


Virtual Machine
Because we don’t want to disturb any of the operating system’s memory we created a very simple virtual machine that is used as a virtual computer. The computer itself has commands and its own memory.
View the code.
Click the button below to explore the source code.