JVM是否在运行时用于ANTLR4 c ++程序?

时间:2018-07-30 19:09:35

标签: antlr4 c++17

因此,antlr4 C ++的上帝(Mike Lischke's)网站指出,解析器中的所有内容都转换为C ++。这样,jar在c ++实现中的作用是什么?更重要的是,生成的程序在编译后是否需要JVM?

1 个答案:

答案 0 :(得分:3)

ANTLR通常由三个部分组成:

  • 使用Java编码的代码生成器工具(又名前端)
  • 一组特定于语言的代码模板(python,java等)
  • 一组特定于语言的运行时,也称为后端

根据options块的language属性(默认值:java),该工具选择相应的模板来生成解析器,词法分析器和visitor / listener文件。

生成的文件仅需要其特定语言的后端即可运行。当然,该后端明确要求的所有依赖项。

因此,不需要JVM来执行C ++词法分析器/解析器-JVM仅用于代码生成。