# Brainfucked Its brainfuck but with manual memory allocation :3 All normal brainfuck is valid brainfucked. Though your tape only starts with as much memory that can hold a pointer. In other words, if you're on a 64 bit computer you get 8 cells, and if you're on a 32bit computer you get 4 cells. Pointers in brainfucked span as many cells as they are bytes. Just like brainfuck, cells wrap from 0 to 255, and vice versa, and also the tape wraps from front to end and end to front. The tape will not wrap though if you are inputting a string. ## Commands `<` Move pointer left `>` Move pointer right `+` Increment cell by one `-` Decrement cell by one `[` Jump past the matching ] if the cell at the pointer is 0 `]` Jump back to the matching [ if the cell at the pointer is nonzero `.` Output ascii at current cell `,` Input ascii into current cell `*` Allocate new tape size of current cell and replace with pointer `!` Free allocated pointer in current cell `(` Go to tape at pointer in current cell `)` Leave tape last entered `` ` `` Output null terminated string at current cell `~` Input string into current cells with max length in current cell `%` Clear screen `\` Comment out the rest of the line ## Usage The `brainfucked` command expects only one argument which is the path to a file containing brainfucked. For example: ``` $ brainfucked helloworld.bfd ``` ## License This project is Licensed under the [WTFPL](http://www.wtfpl.net/) ## Compilation Brainfucked only runs on Linux systems because im too lazy to make other makefiles. Though it can compile if they are made. Make sure to have `gcc` and `make` installed, and then run ```shell $ make # compiles the program $ sudo make install # installs the binary ``` If you wish to remove the program, you can run ```shell $ sudo make uninstall # removes the binary ```