Parsing 有没有一种方法可以强迫一个阿托帕塞克不要后退?

Parsing 有没有一种方法可以强迫一个阿托帕塞克不要后退?,parsing,haskell,functional-programming,backtracking,attoparsec,Parsing,Haskell,Functional Programming,Backtracking,Attoparsec,我已经使用编写了一些解析器,但直到现在才意识到我并不总是希望它们在失败时回溯,但ATOPASSERC解析器总是在失败时回溯 有没有办法强制解析器不要回溯 例如,当输入“For”时,此attoparsec解析器将成功: string“foo”string“for” parsec解析器无法在该输入上成功,我想使用attoparsec解析器模拟此行为。使用提供的模块,使代码在attoparsec和parsec之间兼容。我想知道您为什么要这样做?通常认为,在Parsec中,最烦人的壮举是,你必须明确地

我已经使用编写了一些解析器,但直到现在才意识到我并不总是希望它们在失败时回溯,但ATOPASSERC解析器总是在失败时回溯

有没有办法强制解析器不要回溯

例如,当输入“For”时,此attoparsec解析器将成功:

string“foo”string“for”

parsec解析器无法在该输入上成功,我想使用attoparsec解析器模拟此行为。

使用提供的模块,使代码在attoparsec和parsec之间兼容。我想知道您为什么要这样做?通常认为,在
Parsec
中,最烦人的壮举是,你必须明确地
尝试
一切,以便在失败时回溯。不回溯的最大原因似乎是更清楚的错误消息,但Attoparsec没有给出这些消息。我最终使用了。谢谢你的帮助。
string "foo" <|> string "for"