-
Notifications
You must be signed in to change notification settings - Fork 0
Roadmap
BrandonRobare edited this page Jun 2, 2026
·
1 revision
This is finished coursework, so the list below is about rounding out the projects rather than shipping features. These are the gaps I would close if I came back to it.
- Add subtraction and division. Right now it does addition and multiplication only.
- Handle negative numbers. The class is unsigned, so a sign bit and the borrow logic for subtraction would go together.
- Swap the fixed
int[500]for a growable buffer so the digit cap is not a hard limit.
- Keep spare capacity and grow it by doubling. The current
operator+=reallocates on every call, which is quadratic for repeated concatenation. - Fill in the
test_generic_*templates with real cases so the suite covers more of the interface.
- Replace the full-parenthesization assumption with a real shunting-yard pass that respects operator precedence, so it can read plain expressions.
- Add a small test program for the postfix and assembly stages, not just the stack.
- Relax the assumptions the transforms make: a single
returnin main, no nested functions, explicit braces on every block. - Add a test that round-trips a known input file and diffs the instrumented output.
- Add a Makefile so it builds the same way as the other four projects.
- Run the test binaries under valgrind in CI. The String, stack, and AST classes all manage heap memory, and the course Makefiles already have
oracle-memtargets, so wiring that into the pipeline would catch leaks.
Projects
Reference