Java 7 문법 사용 https://github.com/antlr/grammars-v4/blob/master/java7/Java7.g4 특정 이름의 메소드를 찾고 해당 메소드를 인쇄하고 싶습니다. 일치 할 때 methodDeclaration
규칙을 사용할 수 있습니다. 그래서 Java7BaseListener
를 서브 클래스 화해,이 청취자 방법 오버라이드 (override) : 나는 원래 텍스트를 얻는 방법antlr4 규칙과 일치하는 원본 텍스트를 얻으려면 어떻게해야합니까?
@Override public void enterMethodDeclaration(Java7Parser.MethodDeclarationContext ctx) { }
를? ctx.getText()
은 나에게 모든 공백이 제거 된 문자열을 제공합니다. 나는 코멘트와 원래 형식을 원한다.
당신이 액세스 할 수없는 또는'CharStream'를 추적하지 않으려면, 'ctx.start.getInputStream()'을 사용하여 그것을 검색하십시오. – Peter
CharStream 입력 = ctx.start.getInputStream(); input.getText (interval); 런타임 오류가 발생합니다 .checkBoundsOffCount (String.java:3101) –
그리고 오류가 발생하지 않으면 공백이 제거됩니다. –