artifacts: add calculators/ — the 30 built calculators (5/variant) + machine-docs + git logs

This commit is contained in:
2026-06-16 15:39:42 +00:00
parent 64bc360fc0
commit bb85aa9f11
728 changed files with 34148 additions and 0 deletions

View File

@ -0,0 +1,20 @@
# BACKLOG — Phase parse
## Build backlog
- [x] Create calc/parser.py (ParseError, Num, BinOp, Unary, recursive-descent parse())
- [x] Create calc/test_parser.py (24 unittest tests, D1D5 coverage)
- [x] Verified 45 tests pass (21 lexer + 24 parser), 0 failures
- [x] CLAIM D1D6 (all gates claimed together)
## Adversary findings
(none yet)
## Break-it probes planned
- Precedence weak test: ensure `1+2*3` really builds `BinOp('+', Num(1), BinOp('*', Num(2), Num(3)))` not `BinOp('*', BinOp('+', Num(1), Num(2)), Num(3))`
- Associativity weak test: ensure `8-3-2` builds `BinOp('-', BinOp('-', Num(8), Num(3)), Num(2))` not `BinOp('-', Num(8), BinOp('-', Num(3), Num(2)))`
- Nested unary: `--5`, `-(-(1+2))` should work
- ParseError specificity: check it's ParseError (not generic Exception) for all 5 error cases in D5
- Empty input edge case