使ANTLR4解析树可序列化

  • 本文关键字:序列化 ANTLR4 antlr4
  • 更新时间 :
  • 英文 :


是否可以保存ANTLR4生成的解析树?例如,通过使ParseTree或它的子类Serializable

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

如果遇到性能问题,应该确保使用的是两阶段解析策略。例如,查看以下测试中TWO_STAGE_PARSING字段的使用情况:

TestPerformance.java

您可以在ANTLR 4问题跟踪器上提出关于使ParserRuleContext可序列化的请求。

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

相关内容

  • 没有找到相关文章

最新更新