Add end-to-end integration tests
36 tests covering the full lexer → parser → evaluator pipeline:
- Basic arithmetic (single numbers, +, -, *, /)
- Operator precedence (* / before + -)
- Left associativity for subtraction and division
- Parentheses (simple, nested, deeply nested, both sides, complex)
- Complex multi-operator expressions
- Long chained expressions
- Floating point (arithmetic, division, precision)
- Whitespace variations (none, extra, tabs)
- Error cases (div by zero, invalid chars, mismatched parens,
empty parens, trailing/leading/consecutive operators, empty input,
consecutive numbers)
1 file changed