如何在fastparse中映射捕获的值期间处理错误

时间:2019-07-25 09:53:08

标签: parsing fastparse

我正在使用fastparse创建用于简单语言的解析器。我的问题是捕获的值无法正确映射时该怎么办,例如:

def number[_: P]: P[Int] = P( CharIn("0-9").rep(1).!.map(_.toInt) )

这是来自文档中示例数学解析器的示例,但是假设map不能无错误地执行(例如,对于Int而言,这个数字会很大),那么最佳做法?在这些情况下,我希望以某种方式实现返回Parsed.Failure的解析。

0 个答案:

没有答案