- Add `.` to match pattern for numbers starting with decimal point - Fix bare sign handling to prevent infinite loops (+/- without digits) - Fix multiple dots detection using loop instead of single if - Add `)` delimiter handling to prevent infinite loops in proptests - Add comprehensive acceptance criteria tests for all numeric formats - Add proptest for numeric literal edge cases Acceptance criteria PASS: - 123 -> Integer(123) - -7 -> Integer(-7) - 3.14 -> Real(3.14) - -.5 -> Real(-0.5) - 42. -> Real(42.0) - .001 -> Real(0.001) - +0 -> Integer(0) - 1e5 -> Integer(1) + Keyword(b"e5") (no scientific notation) - Overflow -> Integer(i64::MAX) with STRUCT_INTEGER_OVERFLOW - --5 -> STRUCT_INVALID_NUMBER diagnostic - 1.2.3 -> STRUCT_INVALID_NUMBER diagnostic All 105 lexer tests pass including new proptest. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| pdftract-cer-diff | ||
| pdftract-cli | ||
| pdftract-core | ||
| pdftract-libpdftract | ||
| pdftract-py | ||