antlr4 - JVM 是否在运行时用于 ANTLR4 c++ 程序?
问题描述
因此,antlr4 C++ 之神(Mike Lischke 的)网站声明解析器中的所有内容都被翻译成 C++。因此,jar 在 c++ 实现中究竟做了什么?更重要的是,我生成的程序在编译后是否需要 JVM?
解决方案
ANTLR一般由三部分组成:
- 代码生成器工具,又名前端,用 Java 编码
- 一组特定于语言的代码模板(python、java、...)
- 一组特定于语言的运行时,也称为后端
根据选项块的语言属性(默认值:java),该工具会选择相应的模板来生成解析器、词法分析器和访问者/侦听器文件。
生成的文件只需要其语言特定的后端即可运行。当然,该后端明确要求的任何依赖项。
因此,执行 C++ 词法分析器/解析器不需要 JVM——JVM 仅用于代码生成。
推荐阅读
- python - 当我使用已弃用的 Python 运行脚本时,控制台始终显示为橙色
- python - 尝试使用 django 获取 POST charfield 值时出现 MultiValueDictKeyError
- r - 如何按组过滤行
- android - View.measuredHeight 返回错误值
- xslt - 如何使用 XSLT 转换来转换 Soap 对象数据
- python - Django 包含从 AbstractUser 到注册表单的字段
- bitbucket - 在 Bitbucket 管道中定义多个环境构建
- python - 如何修复我的代码:ValueError:int() 的无效文字,基数为 10:''
- edge-detection - 计算边缘占据的图像面积 - 精明的边缘检测
- botframework - 如何在 Microsoft Bot Composer 中访问对话框堆栈