我想知道是否有办法在Parsec停止解析后从Parsec获得剩余输入,无论是成功还是失败的解析,也许这个签名:
parseRemaining :: Stream s Identity t => Parsec s () a -> SourceName -> s -> (s, Either ParseError a)
Run Code Online (Sandbox Code Playgroud)
我们得到的不是一个Either ParseError a,我们另外得到剩下的Stream s
看看Megaparsec \n\xe2\x80\x94 是 Parsec 的现代分支,从版本 4.2.0 开始,它允许在解析开始时提供\n自定义状态并在结束时提取解析器状态(它\ndoesn\'解析器成功或失败并不重要)。这允许部分解析\n输入、恢复解析、指定非标准初始文本位置\n。请参阅\n runParser\'\n 和\n runParserT\'。
披露:我是 Megaparsec 的作者之一。
\n| 归档时间: |
|
| 查看次数: |
300 次 |
| 最近记录: |