我想实现一个json解析器,但是解析对象有问题,例如" {\" a \":1,\" b \":2 }",目前解析器输出像这样
cd /d "c:\users\you\"
for %%i in (*.txt) do (
echo processing %%i
TYPE "%%i" | MORE /P > "c:\temp\%%i"
del "%%i"
)
但我真正想要的是
'(json
(object
"{"
(kvpair
"\"a\":1,\"b\""
":"
(json (number "2")))
"}"))
我正在使用#lang ragg和parser-tools / lex,那么如何编写lex规则以便我能得到正确的输出。 source_code
答案 0 :(得分:1)
将string-literal
中lex.rkt
的规则更改为:
[string-literal
(:: #\" (:* char-literal1) #\")]
注意添加的1。