1
我有一個很大的文件,我試圖用Java中的Antlr解析,我想顯示進度。解析器的報告進度
它看起來像可以做到以下幾點:
CommonTokenStream tokens = new CommonTokenStream(lexer);
int maxTokenIndex = tokens.size();
,然後用maxTokenIndex
在ParseTreeListener
這樣:
public void exitMyRule(MyRuleContext context) {
int tokenIndex = context.start.getTokenIndex();
myReportProgress(tokenIndex, maxTokenIndex);
}
的是,下半年似乎工作。我獲得了tokenIndex
的增加值。但是,tokens.size()
正在返回0.這使得我無法衡量我已經取得了多大進展。
有沒有很好的方法來估計我有多遠?