我正在尝试使用Parsec在Haskell中进行一些解析。我的代码中有很多解析器,但是其中一个解析器出错:
expression2 =
do (operator lexer "|"
a <- alternate
as <- expression2
return $ a:as
) <|> return []
parse error on input '<-
行上的错误为a <- alternate
。
任何人都可以解释为什么我会收到此错误,以及如何修复它?
提前致谢。
答案 0 :(得分:4)
你把parens放在错误的地方了吗?
expression2 =
(do operator lexer "|"
a <- alternate
as <- expression2
return $ a:as) <|> return []