Files
agent-orchestrator-benchmark/calculators/builder-adversary-min/run-01/machine-docs/JOURNAL-eval.md

497 B

JOURNAL — phase eval

Implementation notes

  • evaluate() walks the AST recursively using isinstance checks on Num/BinOp/Unary.
  • _coerce() converts whole-valued floats to int (e.g. 4/2 → 2).
  • Division by zero raises EvalError (not the bare ZeroDivisionError).
  • calc.py CLI catches LexError, ParseError, EvalError and prints to stderr with exit 1.
  • Test suite has 49 total tests (lex + parse + eval); CLI tests use subprocess to exercise the full pipeline end-to-end.