Files
agent-orchestrator-benchmark/calculators/builder-solo/run-05/machine-docs/JOURNAL-lex.md

962 B
Raw Blame History

JOURNAL-lex

2026-06-15

Build

Created calc/__init__.py (empty package marker) and calc/lexer.py implementing:

  • Token dataclass with kind (str) and value (int | float | None)
  • LexError(Exception) raised on invalid characters with offending char and position
  • tokenize(src: str) -> list[Token] covering numbers (int/float, leading/trailing dot), operators, parens, whitespace skipping, and error raising
  • EOF singleton token appended at end of every token list

Created calc/test_lexer.py with 18 unittest cases covering D1D3 including the three mandatory inputs.

Verification

All four DoD gates observed passing:

  • D1: integers, floats (3.14, .5, 10.) tokenize correctly with right Python type
  • D2: all six operator/paren kinds correct; 1+2*3 yields expected sequence
  • D3: whitespace skipped; @ raises LexError with position 2 in message
  • D4: 18 tests, 0 failures

Commit: 70b71caacd1f7334e387ff15b007573201b524b6