0

假设我想在使用 Java7 语法时找到表达式的实例:

FoobarClass.getInstanceOfType("Bazz");

使用 ParseTreeWalker 和听exitExpression()电话听起来像是一个很好的开始。令我惊讶的是查找这种类型的表达式所需的 Java7Parser.ExpressionContext 的手动遍历级别。

找到与上述表达式匹配的适当方法是什么?此时使用 Regex 代替 ANTLR4 会产生更简单的代码,但这不会扩展。

4

1 回答 1

1

ANTLR 4 当前不包含允许您编写具体或抽象语法查询的功能。我们希望将来添加一些东西来帮助这种类型的应用程序。

我需要为 ANTLR 4 解析树编写一些模式识别功能。我通过扩展实现了谓词本身并取得了相对成功BaseMyParserVisitor<Boolean>(本例中的解析器称为MyParser)。

于 2013-05-28T21:59:07.937 回答