bfc

An industrial-grade brainfuck compiler

GPL-2.0 License

Downloads
4.6K
Stars
495
Committers
7

Bot releases are hidden (Show)

bfc - 1.7.0

Published by Wilfred over 8 years ago

Bug fixes:

  • Fixed a rare crash on programs with a large number of instructions
    had no effect.
  • Fixed a memory issue where programs with a large number of cells
    (which were stored on the stack) were misoptimised and
    segfaulted. Cell storage is now on the heap.

Optimisations:

  • Stripping symbols from the output binary can now be controlled with
    --strip.
  • Re-added a multiply loop optimisation. This was removed in 1.5.0 due to
    soundness bugs.

Usability:

  • Added a --version CLI argument.
bfc - 1.6.0

Published by Wilfred over 8 years ago

Removed multiply loop extraction due to various known soundness failures.

bfc - 1.5.0

Published by Wilfred over 8 years ago

Bug fixes:

  • Fixed an optimisation that incorrectly removed instructions when
    both . and , instructions were present.
  • Moved to LLVM 3.8, as LLVM 3.7 misoptimised some programs (see #8).

Usability:

  • bfc now reports a helpful error on nonexistent targets.
  • Improved wording of the warning message on multiply loops that
    access out-of-bounds cells.
  • Added a --passes CLI argument to customise which bfc optimisation
    passes are run.

Now with precompiled binaries for users to play with!