3

大学のプロジェクトでプログラミング言語を解析するために megaparsec を使用します。しかし、複数のエラーを報告する方法を探しました。

私は withRecovery について知っていて、この問題を見ましたが、異なる位置でエラーが発生するケースについては知りませんでした。

たとえば、このJavaコードでは:

class A
{ 
    public get() // line 3 column 10
    {
        return x // line 5 column 22
    }
}

error1 「行 3 列 10 に期待される型」と error2 「行 5 列 22 にセミコロンがありません」があります。

エラーメッセージを組み合わせることができることは知っていますfailureが、複数の位置についてはどうですか? それ、どうやったら出来るの ?

4

1 に答える 1

0

Alec の提案に確信はあるがEither (ParseError ...) (Either (ParseError ...) a)Either (ParseError ...) a. これがあまり役に立たなかった場合は申し訳ありません

于 2016-09-26T03:21:39.177 に答える