使ANTLR4解析树可序列化

使ANTLR4解析树可序列化,antlr4,Antlr4,是否可以保存由ANTLR4生成的解析树?例如,使ParseTree或其子类可序列化 我想使用ANTLR4解析项目中的源文件。我的项目相当大,包含数百个源文件。通常,我需要遍历几个源文件的解析树来获得我想要的信息。完整的语法非常庞大,即使只解析一个源文件也需要一段时间。因此,每次启动工具以获取一条信息(例如函数的调用者)时,再次解析所有源文件是不切实际的。如果我可以只解析一次并将解析器输出保存到硬盘中,那就太好了。如果您在性能方面有问题,您应该确保使用两阶段解析策略。例如,查看以下测试中TWO\u

是否可以保存由ANTLR4生成的解析树?例如,使ParseTree或其子类可序列化


我想使用ANTLR4解析项目中的源文件。我的项目相当大,包含数百个源文件。通常,我需要遍历几个源文件的解析树来获得我想要的信息。完整的语法非常庞大,即使只解析一个源文件也需要一段时间。因此,每次启动工具以获取一条信息(例如函数的调用者)时,再次解析所有源文件是不切实际的。如果我可以只解析一次并将解析器输出保存到硬盘中,那就太好了。

如果您在性能方面有问题,您应该确保使用两阶段解析策略。例如,查看以下测试中
TWO\u STAGE\u PARSING
字段的用法:

您可以在上请求使
ParserRuleContext
可序列化

PS:ANTLR的下一个版本(4.0.1)也将包含额外的性能改进。

链接错误,现在是