Wrap all parsers and enable parsing problem
This commit is contained in:
@@ -131,6 +131,7 @@ tokenize input = tokens >>= (\t -> Right $ filter tokenFilter t)
|
|||||||
tokenFilter :: Token -> Bool
|
tokenFilter :: Token -> Bool
|
||||||
tokenFilter (WhiteSpace) = False
|
tokenFilter (WhiteSpace) = False
|
||||||
tokenFilter (Comment _) = False
|
tokenFilter (Comment _) = False
|
||||||
|
tokenFilter (NewLine) = False
|
||||||
tokenFilter _ = True
|
tokenFilter _ = True
|
||||||
|
|
||||||
tokenizers :: Tokenizer
|
tokenizers :: Tokenizer
|
||||||
@@ -258,11 +259,6 @@ parseAll (p:ps) tokens = do
|
|||||||
|
|
||||||
parse :: [Token] -> Either String [AST]
|
parse :: [Token] -> Either String [AST]
|
||||||
parse [] = Right []
|
parse [] = Right []
|
||||||
parse tokens = case parsers tokens of
|
parse tokens = case parseLine tokens of
|
||||||
(Just (ParseResult ast consumed)) -> parse (drop consumed tokens) >>= (\rest -> return $ ast : rest)
|
(Just (ParseResult ast consumed)) -> parse (drop consumed tokens) >>= (\rest -> return $ ast : rest)
|
||||||
Nothing -> Left $ "Unexpected token: " ++ (show . head) tokens
|
Nothing -> Left $ "Unexpected token: " ++ (show . head) tokens
|
||||||
|
|
||||||
parsers :: Parser
|
|
||||||
parsers = parseAny
|
|
||||||
[ parseLine
|
|
||||||
]
|
|
||||||
Reference in New Issue
Block a user