【发布时间】:2013-08-14 12:58:00
【问题描述】:
是否可以:
- 在 Haskell 中使用
uu-parsinglib引发自定义解析器错误? (我特别想打印带有位置信息的自定义错误消息) - 自定义向用户显示错误的方式?
- 以某种方式控制自动更正发生的位置,而不是哪里?例如,我想拒绝一些自动更正步骤,例如删除标识符的第一个字母,如果它是大写的(标识符应该以小写开头)
【问题讨论】:
标签: parsing haskell error-handling uu-parsinglib
是否可以:
uu-parsinglib 引发自定义解析器错误? (我特别想打印带有位置信息的自定义错误消息)【问题讨论】:
标签: parsing haskell error-handling uu-parsinglib
1) 错误消息是“插入的字符串位置 [String]”(如果插入了某些内容)和“删除的字符串位置”(如果删除了某些内容)。您可以在您的“运行”版本中轻松定义自己的标准显示功能版本。我们只称其为 show,但包装消息将使您能够重新定义 show。
2) 见 1
3) 您可以使用插入和删除成本。通常只尝试增加它们。超过 1000 的成本完全跳过了该替代方案。标准删除成本是 4。我不明白你想用小写标识符开头的大写字母做什么。还是接受?如果您想增加删除成本,您可能需要编写自己的 pSym 等版本。
Doaitse Swierstra
【讨论】: