如何获取特定数组元素上的错误标记

How to get the error marker on a specific array element

我已经编写了一个工作正常的验证,但我想知道如何将错误标记(在输入下方绘制的红线)设置在正确的位置。
问题是我的语法部分看起来像这样:

Declaration:
name = ID "=" singleContent=VarContent (OPERATOR nextCon+=VarContent)*
;

验证器现在在 nextCon 的特定元素处检测到错误,所以我的问题是如何引用该特定元素,以便错误函数知道在哪里画线。

我验证的输入如下所示:

var = 3 * 4 + -var2

var2 中的“-”是错误的,因此我想突出显示那里的错误或突出显示完整的“-var2”语句。

你好 Krzmbrzl

在您的验证规则中,您可以使用接受索引的 error(..)warning(..) 的重载变体之一,以防您拥有 nextCon 等多值特征。

您发布的语法片段表明您不使用树来解析表达式而是使用值列表。您可能想看看 the documentation 以了解如何解决此问题。