readme
This commit is contained in:
parent
fafd290ed9
commit
d425cc445b
1 changed files with 75 additions and 0 deletions
75
readme.md
Normal file
75
readme.md
Normal file
|
@ -0,0 +1,75 @@
|
|||
|
||||
# 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
|
||||
```
|
||||
|
Loading…
Reference in a new issue