ANTLR-如何丢弃(免费)令牌,以便能够解析大型文件



我试图用ANTLR解析大文件(200MB(,但我遇到了serios内存问题。是否可以释放一些收集的令牌,使我能够解析大型文件?我只对解析感兴趣(用于语法检查器(,我并不真正需要令牌,但我怀疑它们是内存消耗者。

有一个名为setBuildParseTree的Parser方法,它跳过构建上下文等。

Parser tp = new <ConcreteLanguageParser>(tokenstream);
tp.setBuildParseTree(false);

它将减少消耗。

此外,还有一个内存使用率较低的鹿角叉:https://github.com/tunnelvisionlabs/antlr4/

最新更新