qdtext = do c <- satisfy (/= '"')
return [c]
- quotedPair = do q <- char '\\'
+ quotedPair = do char '\\'
c <- satisfy isChar
return [c]
qvalue :: Parser Double
qvalue = do x <- char '0'
xs <- option ""
- $ do x <- char '.'
- xs <- many digit -- 本當は三文字までに制限
- return (x:xs)
+ $ do y <- char '.'
+ ys <- many digit -- 本當は三文字までに制限
+ return (y:ys)
return $ read (x:xs)
<|>
do x <- char '1'
xs <- option ""
- $ do x <- char '.'
- xs <- many (char '0') -- 本當は三文字までに制限
- return (x:xs)
+ $ do y <- char '.'
+ ys <- many (char '0') -- 本當は三文字までに制限
+ return (y:ys)
return $ read (x:xs)