在Haskell中自定义uu-parsinglib中的错误处理

时间:2013-08-14 12:58:00

标签: parsing haskell error-handling uu-parsinglib

是否可以:

  1. 在Haskell中使用uu-parsinglib抛出自定义解析器错误? (我特别想要打印带位置信息的自定义错误消息)
  2. 自定义错误显示给用户的方式?
  3. 以某种方式控制自动纠正发生的位置,不在哪里?我想例如拒绝一些自动更正步骤,比如删除标识符的第一个字母(如果它是大写的)(标识符应以小写开头)

1 个答案:

答案 0 :(得分:1)

1)如果插入了某些内容,则错误消息为“Inserted String position [String]”;如果删除了某些内容,则为“Deleted String position”。您可以在“run”版本中轻松定义自己的标准show函数版本。我们称之为show,但包装消息将使您能够重新定义节目。

2)见1

3)您可以使用插入和删除费用。一般来说,只尝试增加它们。超过1000的成本完全可以替代。标准删除成本是4.我不明白你想在小写标识符的开头用大写字母做什么。无论如何接受它?如果你想增加删除成本,你可能想要编写自己的pSym等版本。

Doaitse Swierstra