medea unicodification added by crzcrz on Fri Oct 16 16:54:39 2026
diff --git a/grammar.scm b/grammar.scm index 4778283..6bbc371 100644 --- a/grammar.scm +++ b/grammar.scm @@ -140,16 +140,14 @@ ;; char <- #\\ ( escape / unicode ) / (![[:cntrl:]"\\] .) -(define char-set:json-special-char - (char-set-union - (ucs-range->char-set #x0 #x20) +(define char-set:json-valid-char + (char-set-difference + char-set:full + char-set:iso-control (char-set #\" #\\))) (define char - (any-of (char-seq-match '(: bos (+ (/ #\x20 #\x21 - #\x23 #\x5b - #\x5d #\x7f)))) - (none-of* (in char-set:json-special-char) utf8-char) + (any-of (in char-set:json-valid-char) (preceded-by (is #\\) (any-of escape unicode fail)))) ;; raw-string <- #\" char* #\"