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