rgbds
rgbds copied to clipboard
Make expression evaluation lazy
Closes #663.
TODO:
- [x] Make constant expression evaluation not produce error messages, but only RPN error bytes
- [ ] Adapt the rest of the code
- [x] Write
rpn_Reduce, which attempts to compute an expression's value, and actually produces the error messages if not - [ ] Bonus: reuse
rpn_Reducein RGBLINK?
This is actually hell to implement. What I've done so far lays some groundwork, but it's lacking.
The most difficult part is actually being able to defer error reporting! This is much, much more involved than it seems.