Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/davidbuchanan314/branflakes-ng
An improved version of my older project "branflakes", an optimising brainfuck compiler.
https://github.com/davidbuchanan314/branflakes-ng
brainfuck brainfuck-compiler brainfuck-transpiler compiler
Last synced: 8 days ago
JSON representation
An improved version of my older project "branflakes", an optimising brainfuck compiler.
- Host: GitHub
- URL: https://github.com/davidbuchanan314/branflakes-ng
- Owner: DavidBuchanan314
- License: mit
- Created: 2017-11-18T15:38:46.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2017-11-18T16:08:23.000Z (about 7 years ago)
- Last Synced: 2024-11-07T13:11:57.589Z (about 2 months ago)
- Topics: brainfuck, brainfuck-compiler, brainfuck-transpiler, compiler
- Language: Brainfuck
- Size: 14.6 KB
- Stars: 1
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# branflakes-ng
An improved version of my older project "branflakes", an optimising brainfuck compiler.My original [branflakes](https://github.com/DavidBuchanan314/branflakes) project was written in C,
and it compiled brainfuck to in-memory machine code before executing it. The code was a complete mess,
the optimising passes were incredibly complex to understand, and as a result there were several
obscure bugs which I never tracked down.`branflakes-ng` attempts to fix these issues. The brainfuck code is converted into a relatively
flexible Intermediate Representation, which optimisations are then performed on.Finally, one of several backends is chosen to generate output code, whether it be x86_64 assembly
or C source code.## Performance
| | [Beef](http://kiyuko.org/software/beef) | [copy.sh](https://copy.sh/brainfuck/) | Branflakes | branflakes-ng x86\_64 asm | branflakes-ng compiled c | [Tritium](https://github.com/rdebath/Brainfuck) |
|----------|-----------------------------------------|---------------------------------------|------------|---------------------------|--------------------------|-------------------------------------------------|
| mandel.b | 4m36.388s | 0m3.99s | 0m2.279s | 0m1.690s | 0m1.538s | 0m1.084s |## TODO
- Optimise multiplications