3

私はParsecを使ってHaskellで構文解析をしようとしています。コードに多数のパーサーがありますが、そのうちの1つでエラーが発生しています。

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 に答える