2016-05-07 55 views
1

我想顯示解析器在Antlr 4期間到達的所有令牌和角色,排除語法上的所有額外規則。解析器之後的跟蹤和規則ANTLR 4

ANTLRInputStream input = new ANTLRInputStream(is); 
    CerlLexer lexer = new CerlLexer(input); 
    CommonTokenStream tokens = new CommonTokenStream(lexer); 
    CerlParser parser = new CerlParser(tokens); 
    ParseTree tree = parser.program(); 
    System.out.println(tree.toStringTree(parser)); 

我可以使用Antlr 4嗎?

+0

你認爲'語法上的額外規則是什麼? – cantSleepNow

+0

在執行某種小輸入期間未到達的樹上的點。 – fvarj

回答

0

只需通過像這樣調用解析器方法setTrace()將trace設置爲true即可。

parser.setTrace(true);

它不會顯示從未達到的規則。

+0

謝謝@yoshi – fvarj