我正在使用Antlr4和java7語法(source)修改輸入Java源文件。更具體地說,我使用TokenStreamRewriter類來修改一些令牌。下面的代碼是一個示例,演示如何令牌修改:ANTLR4:TokenStreamRewriter輸出沒有正確的格式(刪除空格)
public class TestListener extends JavaBaseListener {
private TokenStreamRewriter rewriter;
rewriter = new TokenStreamRewriter(tokenStream);
rewriter.replace(ctx.getStart(), ctx.getStop(), "someText");
}
當我打印的改變源代碼,空格和tab被刪除,新源文件的格式是這樣的:
importjava.util.ArrayList; publicclassMain {publicstaticvoidmain(字串[] args {MyTimertimer = newMyTimer();}}。
我使用extractor.getText()用於打印回
這是的一個問題語法使用或應該使用其他一些m來自TokenStreamRewriter類的方法?
非常感謝您的快速回復。建議的文件更改(Java.g4)運行良好。 –