渲染解析树时出现歧义错误

时间:2016-06-29 06:47:13

标签: parsing ambiguity rascal

在Rascal中,当渲染一个解析树时,在一个含糊不清的语法上,为什么我有时会得到一条错误信息,说明"歧义"在某个位置而不是Rascal只是渲染一个解析林并显示歧义?

我总是只调用render(renderParsetree(parse(SomeSymbol, SomeLocation)));,但我不知道何时这只会呈现一个解析林,何时会出现关于歧义的错误消息。在我看来,解析森林显示模糊性更清晰,我想知道当Rascal出现错误信息时是否存在显示它的方式。

编辑:不只是渲染一个解析树,甚至是#' Dr。模糊' (diagnose)在这些情况下失败并出现歧义错误,因此无法找到歧义原因。

1 个答案:

答案 0 :(得分:1)

我通过电子邮件从jurgenv收到以下答案:通过最近的更改,您需要在调用allowAmbiguity=true时设置parse以允许歧义。此方法的行为已更改,以避免解析器花费很长时间来处理意外非常模糊的文件,并允许更快地发现歧义。