使用FParsec解析多个语句时不显示错误

时间:2018-10-24 16:06:30

标签: f# parsec fparsec

我有一个语句解析器,当我使用该语句作为解析器参数运行程序时,将显示所有错误。为了能够解析几条语句,我定义了一个新的解析器。但是,当有错误时,它不会显示它们。

这是解析器:

(* -------- Program -------- *)

let pprog, pprogimpl = createParserForwardedToRef ()
pprogimpl := attempt (many pstatement |>> Program)

pstatement通过另一个解析器定义所有可能的语句。

我想知道为什么pprog解析器不显示错误。我做错了吗?忘了吗?

修改

我终于能够通过更改many' instruction, and replacing it with manyTill`来解决错误。显然,问题出在他无法处理“列出的”错误这一事实上,如果您仍然知道更多,我很想知道。

let pprog, pprogimpl = createParserForwardedToRef ()
pprogimpl := (attempt (manyTill (pstatement) eof) |>> Program)

0 个答案:

没有答案