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.这使得我无法衡量我已经取得了多大进展。
有没有很好的方法来估计我有多远?