我已经编写了一个可以正常工作的验证,但我想知道如何在正确的位置设置错误标记(输入下方绘制的红线)。
问题是我的语法部分看起来像那样:
Declaration:
name = ID "=" singleContent=VarContent (OPERATOR nextCon+=VarContent)*
;
验证器现在在nextCon的特定元素处检测到错误,所以我的问题是如何引用该特定元素,以便错误函数知道在哪里绘制线。
我验证的输入看起来像这样:
var = 3 * 4 + -var2
var2中的“ - ”是错误的,因此我想在那里突出显示错误或突出显示完整的“-var2”语句。
问候Krzmbrzl
答案 0 :(得分:1)
在验证规则中,您可以使用error(..)
或warning(..)
的重载变体之一接受索引,以防您拥有nextCon
等多值功能。
您发布的语法片段表示您不使用树来解析表达式而是使用值列表。您可能需要查看the documentation以了解如何解决此问题。