- Notifications
You must be signed in to change notification settings - Fork0
A Brainfuck interpreter and optimizing compiler written in Go
License
linux4life798/gobf
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This is aBF interpreter and optimizing compiler written in Go.
GoBF can simply run your BF program or compile it to a binary to run later.
go get github.com/linux4life798/gobf
The commandline program currently supportscompile
,gengo
,run
, anddumpil
actions.
Give it a try!
go get github.com/linux4life798/gobfwget https://github.com/erikdubbelboer/brainfuck-jit/raw/master/mandelbrot.bfgobf compile mandelbrot.bf./mandelbrot
Note that therun
command will simply interpret the BF program in-place,thus the performance will be as-is. Please use thecompile
to generatean optimized program.
Please seegobf --help
for more fun options!
The generated code optimizer reduces redundant and repetitive commands,like data pointer moves or incrementing a data cell.It coalesces multiple moves or data cell changes into one operation.Due to BF's repetitive nature, this typically increases the BF program'sperformance dramatically. All of the interesting optimization stuffis ingobflib/il package.
Recent work has added some pattern and vectorization based optimizations,but these have not been fully calibrated yet.
To try the zero pattern optimization, invoke gobf in the following manor:
gobf -O zero compile mandelbrot.bf
About
A Brainfuck interpreter and optimizing compiler written in Go
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.