Brainduck
Brainduck copied to clipboard
Program Validation according to standards
See http://www.muppetlabs.com/~breadbox/bf/standards.html
Determine if a program lives up to "standards", and if so, which.
Things to detect include:
- [x] Does tape pointer ever go below zero?
- [x] Rightmost memory position used (9999, 30k, or higher)
- [x] Does tape pointer ever go to the right of memory size? (relying on wrap-around)
- [x] What range of values is used for a single cell? 0-127, 0-255, negative values? Wrap-around?
- [ ] Input value when there's no more data, store a 0, store a -1, or value unchanged? (mostly applicable if
,
is used as the condition for a loop) - [ ] What value is expected when pressing ENTER, is it ASCII 10, ASCII 13, ASCII 0, or something else?
- [x] Balanced brackets
- [x] Check if any Brainfuck characters are used within Groovy code, which would make the BF code not behave the same in other interpreters (related to #10)