24
使用Java 7语法https://github.com/antlr/grammars-v4/blob/master/java7/Java7.g4我想查找具有特定名称的方法,然后仅打印出该方法。我发现我可以在匹配时使用methodDeclaration
规则。于是我继承Java7BaseListener
和覆盖这个监听方法:如何获取antlr4规则匹配的原始文本?
@Override public void enterMethodDeclaration(Java7Parser.MethodDeclarationContext ctx) { }
如何获取原文了? ctx.getText()
给我一个所有空白字符串的字符串。我想要评论和原始格式。
如果您没有访问或不希望保留'CharStream'的轨道,使用'ctx.start.getInputStream()'来检索它。 – Peter 2014-07-03 16:23:12
CharStream input = ctx.start.getInputStream(); input.getText(interval); 给我运行时错误.checkBoundsOffCount(String.java:3101) – 2018-02-02 02:30:50
而且它没有失败它仍然删除空白 – 2018-02-02 02:32:52