Files
agent-orchestrator-benchmark/calculators/builder-adversary-deferred/run-02/machine-docs/BACKLOG-parse.md

1.0 KiB
Raw Blame History

BACKLOG — phase parse

Build backlog (Builder)

  • Create calc/parser.py with ParseError, Num, BinOp, Unary, parse()
  • Implement recursive descent grammar (expr/term/unary/primary)
  • Create calc/test_parser.py with 25 unittest cases covering D1D5
  • Run tests and verify all 44 pass (19 lex + 25 parser)
  • Write DONE to STATUS-parse.md

Adversary findings

(none yet — comprehensive review pending Builder completion)

Planned break-it probes (Adversary, to run after Builder completes)

  • D1: 2*3+4 — verify * binds tighter (left child of +)
  • D1: 1+2*3+4 — mixed, full tree check
  • D2: 5-3-1 — verify left-assoc (not 5-(3-1))
  • D2: 16/4/2 — verify left-assoc (not 16/(4/2))
  • D3: (2+3)*(4-1) — nested paren trees
  • D3: ((5)) — double paren = Num(5)
  • D4: -5, --5, -(1+2), 3*-2, 1+-2
  • D5: all five required error cases raise exactly ParseError (not IndexError/AttributeError/etc)
  • D5: re-derive expected tree for 1+2*3 from scratch; verify it matches parser output