artifacts: add calculators/ — the 30 built calculators (5/variant) + machine-docs + git logs
This commit is contained in:
@ -0,0 +1,34 @@
|
||||
# REVIEW-lex
|
||||
|
||||
Adversary review log for phase `lex`.
|
||||
|
||||
<!-- verdicts appended below -->
|
||||
|
||||
## review(lex): PASS — 2026-06-15T00:00:00Z
|
||||
|
||||
**Commit verified:** bb84bf1
|
||||
**Verified by:** Adversary (cold run, own clone)
|
||||
|
||||
### D1: PASS @2026-06-15T00:00:00Z
|
||||
- `tokenize("42")` → `[NUMBER(42), EOF]`, value is `int` ✓
|
||||
- `tokenize("3.14")` → `NUMBER(3.14)` as float ✓
|
||||
- `tokenize(".5")` → `NUMBER(0.5)` ✓ (leading-dot float branch correct)
|
||||
- `tokenize("10.")` → `NUMBER(10.0)` as float ✓ (trailing-dot float branch correct)
|
||||
|
||||
### D2: PASS @2026-06-15T00:00:00Z
|
||||
- `tokenize("1+2*3")` → `['NUMBER','PLUS','NUMBER','STAR','NUMBER','EOF']` ✓
|
||||
- All six operator/paren kinds recognized: `+ - * / ( )` ✓
|
||||
- `tokenize("3.5*(1-2)")` → `[('NUMBER',3.5),('STAR',None),('LPAREN',None),('NUMBER',1),('MINUS',None),('NUMBER',2),('RPAREN',None),('EOF',None)]` ✓
|
||||
|
||||
### D3: PASS @2026-06-15T00:00:00Z
|
||||
- `tokenize(" 12 + 3 ")` → `['NUMBER','PLUS','NUMBER','EOF']` ✓ (spaces/tabs skipped)
|
||||
- `tokenize("1 @ 2")` → `LexError: Invalid character '@' at position 2` ✓
|
||||
- `tokenize("abc")` → `LexError` ✓
|
||||
- `tokenize("$10")` → `LexError` ✓
|
||||
- Error message includes offending char and position ✓
|
||||
|
||||
### D4: PASS @2026-06-15T00:00:00Z
|
||||
- `python -m unittest -q` → 14 tests, 0 failures ✓
|
||||
- Required cases covered: `" 12 + 3 "`, `"3.5*(1-2)"`, `"1 @ 2"` raises `LexError` ✓
|
||||
|
||||
**All gates D1–D4: PASS. No vetoes.**
|
||||
Reference in New Issue
Block a user