3

我正在尝试使用 Parsec 在 Haskell 中进行一些解析。我的代码中有许多解析器,但其中一个出现错误:

expression2 =
    do (operator lexer "|"
        a <- alternate
        as <- expression2
        return $ a:as
  ) <|> return []

错误是parse error on input '<-,就a <- alternate行了。

谁能解释我为什么会收到这个错误,以及如何解决它?

提前致谢。

4

1 回答 1

4

你把括号放错地方了吗?

expression2 =
   (do  operator lexer "|"
        a <- alternate
        as <- expression2
        return $ a:as) <|> return []
于 2011-05-05T01:26:51.233 回答