Uso della grammatica Java 7 https://github.com/antlr/grammars-v4/blob/master/java7/Java7.g4 Desidero trovare metodi con un nome specifico e quindi stampare semplicemente tale metodo. Vedo che posso utilizzare la regola methodDeclaration
quando corrisponde. Così ho sottoclasse Java7BaseListener
e ignorare questo metodo ascoltatore:Come ottengo il testo originale a cui corrisponde una regola antlr4?
@Override public void enterMethodDeclaration(Java7Parser.MethodDeclarationContext ctx) { }
Come faccio ad avere il testo originale fuori? ctx.getText()
mi dà una stringa con tutti gli spazi bianchi spogliati. Voglio i commenti e la formattazione originale.
Se non si dispone di accesso o non si desidera tenere traccia del 'CharStream', usa 'ctx.start.getInputStream()' per recuperarlo. – Peter
CharStream input = ctx.start.getInputStream(); input.getText (intervallo); Errori di runtime .checkBoundsOffCount (String.java:3101) –
E dove non fallisce rimuove ancora gli spazi bianchi –