我有一个名为turtle.g4的语法文件,该文件定义了Turtle文件的行为。它包含有关IRI的规则。
iri: IRIREF | PrefixedName;
我有一个单独的java静态方法(例如ClassStatic.methodx),每次调用此规则时都需要调用。可以使用->
运算符将其与规则一起写入语法文件吗?
答案 0 :(得分:2)
您要寻找的东西称为动作。您可以在语法规则中的任意位置添加操作,例如
iri: IRIREF { myPlatformCodeCall(); } | PrefixedName;
ANTLR将代码直接放在花括号中,直接在生成的解析器中。在ANTLR4 action doc中阅读更多内容;