aboutsummaryrefslogtreecommitdiff
path: root/src/Parser.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Parser.hs')
-rw-r--r--src/Parser.hs7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/Parser.hs b/src/Parser.hs
index 1242645..dc754d3 100644
--- a/src/Parser.hs
+++ b/src/Parser.hs
@@ -69,7 +69,10 @@ parseId = do
69 _ -> Id atom 69 _ -> Id atom
70 70
71whiteSpace :: Parser () 71whiteSpace :: Parser ()
72whiteSpace = skipMany1 space 72whiteSpace = skipMany1 $ oneOf [' ', '\n']
73
74optionalWhiteSpace :: Parser ()
75optionalWhiteSpace = skipMany $ oneOf [' ', '\n']
73 76
74type Alias = String 77type Alias = String
75parseModifier :: Char -> Alias -> Parser Expr 78parseModifier :: Char -> Alias -> Parser Expr
@@ -98,7 +101,7 @@ parseLispValue =
98 x <- sepEndBy parseLispValue whiteSpace 101 x <- sepEndBy parseLispValue whiteSpace
99 spaces 102 spaces
100 t <- optionMaybe $ char '.' >> space >> parseLispValue 103 t <- optionMaybe $ char '.' >> space >> parseLispValue
101 spaces >> char ')' 104 optionalWhiteSpace >> char ')'
102 return $ maybe (List x) (DottedList x) t 105 return $ maybe (List x) (DottedList x) t
103 <?> "lisp value" 106 <?> "lisp value"
104 107