docs: bring EBNF grammar and project docs up to date

- grammar.ebnf: rewrite the number rule to cover the literal syntaxes the reader
  now accepts — 0x/0X hex, N (bigint) / M (bigdec) suffixes, ratios a/b, radixed
  integers (NrXXX, base 2..36), exponents, and the ##Inf/##-Inf/##NaN symbolic
  floats — noting Jolt reads them as plain Janet numbers.
- README: Numbers bullet notes the literal syntaxes read; conformance count.
- reader-syntax-spec: drop the stale 'ratio not supported' case; add coverage
  for hex-uppercase/N/M/ratio/radix/exponent/##Inf/##NaN.
- PLAN.md: refresh the stale Current State snapshot for the 3-layer test
  structure (spec/integration/unit), ~3,920 suite assertions, 218/218
  conformance, current source size.

jpm test green.
This commit is contained in:
Yogthos 2026-06-05 14:40:47 -04:00
parent ac33124ed4
commit 858c7fed14
4 changed files with 37 additions and 15 deletions

View file

@ -12,8 +12,15 @@
["namespaced keyword" "true" "(= :a/b :a/b)"]
["char" "\\a" "\\a"]
["char newline" "true" "(= \\newline (first \"\\n\"))"]
["ratio not supported but reads ints" "3" "3"]
["hex literal" "255" "0xff"]
["hex uppercase" "31" "0X1F"]
["bigint suffix N" "42" "42N"]
["bigdec suffix M" "1.5" "1.5M"]
["ratio -> double" "0.75" "3/4"]
["radix integer" "255" "16rFF"]
["exponent" "1500.0" "1.5e3"]
["symbolic Infinity" "true" "(infinite? ##Inf)"]
["symbolic NaN" "true" "(NaN? ##NaN)"]
["symbol via quote" "'foo" "'foo"])
(defspec "reader / collection literals"