New page: https://new.smilebasicsource.com/pages/299BF2SB v3.0 - The Performance Update is finally here!
BF2SB is a tool that compiles brainfuck code to SmileBASIC 4 code. It features a code scanner (which allows for indentation and comments for source code) and an optimizer, as well as optimization and indentation for the converted code. BF2SB also features options that allow you to adjust how brainf**k code is compiled and run.
Several example programs (not by me) are included to demonstrate the functionality of BF2SB. Sample programs with a "_" prefix need option changes in order to work properly, so experiment with the options to see which ones make the programs work!
If you want to learn more about brainfuck, go here: https://esolangs.org/wiki/Brainfuck
Features added in v3.0
New SmileBASIC 4 icon.
Several aspects of the compiler and the compiled programs it generates have been given much-needed optimizations.
The failsafe script for the options is now much cleaner.
Added syntax error detection for brainfuck code, which eliminates most (if not all) chances of getting a syntax error from the compiled program.
Added failsafes during the scanning and optimization processes, which prevent errors and unexpected behavior from occurring.
Added more optimizations for brainf**k code.
Fixed XSCREEN option parameters.
Added SBPERF option, which measures how many microseconds elapse during the runtime of a compiled program. Cannot be enabled while SBMEMDUMP and SBWAIT are enabled, or a failsafe
prompt will prevent the compiler from running.
SBCOMMENT, SBINDENT, and SBNEWLINES have been merged into one command--SBBEAUTIFY.
Added SBTAB option, which prints four spaces instead of HT characters.
SBCHR13 has been renamed to SBNEWLINE and has been given an additional, optional function, printing LF characters instead of CR characters for Macintosh newlines.
Added SBMEMDUMP option. When a "#" is encountered in the brainfuck code or the end of the compiled program is reached, the current memory will be saved to a DAT file.
Added SBOUTPUT option. When the end of the compiled program is reached, the output will be saved to a TXT file.