artifacts: add calculators/ — the 30 built calculators (5/variant) + machine-docs + git logs
This commit is contained in:
@ -0,0 +1,11 @@
|
||||
# DECISIONS (append-only, shared)
|
||||
|
||||
## D-001: Token representation
|
||||
Token is a dataclass with `kind: str` and `value` (int | float | None).
|
||||
NUMBER tokens carry their parsed numeric value; operator/paren tokens carry None.
|
||||
EOF carries None value.
|
||||
Rationale: parser phases can pattern-match on kind and directly use value without re-parsing.
|
||||
|
||||
## D-002: Integer vs float distinction
|
||||
If a number string contains '.' it is parsed as float, otherwise int.
|
||||
Edge cases: '.5' → float(0.5), '10.' → float(10.0), '42' → int(42).
|
||||
Reference in New Issue
Block a user