BF is an underspecified language. Most BF programs just work, but this page documents implementation decisions.
bfc considers cells to be single bytes, and arithmetic wraps
around. As a result,
- sets cell #0 to 255.
bfc provides 100,000 cells. Accessing cells outside of the range #0 to #99,999 is explicitly undefined. It will probably segfault.
bfc will generate a warning if it can statically prove out-of-range cell access.
bfc requires brackets to be balanced.
+] is rejected with a syntax
error, unlike some BF interpreters.
bfc assumes input files are valid UTF-8.
Daniel B Cristofani has an excellent selection of BF programs, including several programs explicitly testing implementation robustness.
The Brainfuck Archive also includes a large range of interesting BF programs.