summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
0a68336)
`innerChar` matches a char that is not a backslash or a quote. If it is
either, it will match a backslash, capture a following quote and lift a
quote char into the `innerChar` monad.
This will not support anything other than quote after the backslash char.
x <- many innerChar
char '"'
return $ String x
x <- many innerChar
char '"'
return $ String x
- where innerChar = noneOf "\""
+ where innerChar = noneOf ['\\', '\"'] <|> escapeChar
+ escapeChar = do char '\\'
+ c <- oneOf "\""
+ return $ '\"'
parseAtom :: Parser LispVal
parseAtom = do
parseAtom :: Parser LispVal
parseAtom = do