因此,antlr4 C++之神(Mike Lischke的(网站声明解析器中的所有内容都被翻译成了C++。因此,jar在c++实现中究竟做了什么?更重要的是,我得到的程序在编译后是否需要JVM?
ANTLR通常由三部分组成:
- 代码生成器工具,又名前端,用Java编码
- 一组特定于语言的代码模板(python、java…(
- 一组特定于语言的运行时,也称为后台
根据选项块的语言属性(默认值:java(,该工具选择相应的模板来生成解析器、lexer和访问者/侦听器文件。
生成的文件只需要运行其特定语言的后端即可。当然,还有后端明确要求的任何依赖项。
因此,执行C++lexer/parser不需要JVM——JVM只需要用于代码生成。