594 B
594 B
DECISIONS — shared (append-only)
2026-06-15 — Token.value for non-numeric tokens
Decision: Token.value is None for operator/paren/EOF tokens, and int or float for NUMBER tokens.
Rationale: Parser phases only need the numeric value; operator/paren tokens carry no useful payload beyond their kind.
2026-06-15 — Float parsing strategy
Decision: Use Python's built-in float() for converting float literals. Detect float vs int by presence of . in the matched string.
Rationale: Handles edge cases like .5 and 10. correctly via stdlib, avoids manual parsing bugs.