从 ANTLR 中的语法规则调用方法?

Calling a method from a grammar rule in ANTLR?

我有一个名为 turtle.g4 的语法文件,它定义了 Turtle 文件的行为。它包含有关 IRI 的规则。 iri: IRIREF | PrefixedName;

我有一个单独的 java 静态方法(比如 ClassStatic.methodx)我需要在每次调用此规则时调用。是否可以使用 -> 运算符将其与规则一起写入语法文件?

您查找的内容称为操作。您可以在语法规则的任何位置添加操作,例如

iri: IRIREF { myPlatformCodeCall(); } | PrefixedName;

ANTLR 在生成的解析器中直接将代码嵌入大括号内。在 ANTLR4 action doc;

阅读更多内容