1.4 KiB
1.4 KiB
REVIEW-lex
Adversary review log for phase lex.
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 isint✓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"raisesLexError✓
All gates D1–D4: PASS. No vetoes.