1
所以我想打印的過程中詞法分析階段要訪問的語意,這裏的方法是這樣的代碼:ANTLR遊客正在返回一個空的解析樹
public void parse(String inputFile) {
InputStream is = System.in;
if (inputFile != null)
try {
is = new FileInputStream(inputFile);
ANTLRInputStream input = new ANTLRInputStream(is);
PARVALexer lexer = new PARVALexer(input);
CommonTokenStream tokens = new CommonTokenStream(lexer);
PARVAParser parser = new PARVAParser(tokens);
ParseTree tree = parser.prog(); // parse
PARVAnalyzer visitor = new PARVAnalyzer();
visitor.visit(tree);
} catch (Exception e) {
e.printStackTrace();
}
}
如果我打印令牌,我得到的輸入文件中的所有公認的語意的正確的輸出,但如果我打印樹,輸出僅僅是[],所以該方法訪問(樹)沒有做任何東西... 我可能做錯了什麼?