268得票5回答
ANTLR:有简单的例子吗?

我想开始学习ANTLR,但是在花费几个小时查看antlr.org网站上的示例后,我仍然无法清晰地理解ANTLR语法到Java代码的过程。 是否有一些简单的示例,例如使用ANTLR实现四则运算计算器,并通过解析器定义一直到生成Java源代码的过程?

107得票2回答
96得票5回答
ANTLR4中的错误处理

当解析器不知道如何处理时的默认行为是在终端打印消息,例如: 第1行第23个字符缺少'}'的十进制符号 这是一条好信息,但位置不对。我更希望将其作为异常收到。 我尝试使用BailErrorStrategy,但这会抛出一个没有消息的ParseCancellationException...

91得票4回答
如何使用ANTLR4创建AST?

我已经搜索了很多关于如何构建AST的内容,但是没找到真正有用的东西。我已经知道ANTLR4不像ANTLR3那样构建AST。每个人都说:“嘿,使用访问者(visitor)!” 但我找不到任何关于如何做到这一点的例子或更详细的解释... 我的语法类似于C,但所有命令都是用葡萄牙语(portuga...

72得票14回答
ANTLR工具版本4.5.3用于代码生成,与当前运行时版本4.7.1不匹配。

在构建项目时,我遇到了一个特定数据绑定的 DataBindingMapperImpl.java 错误,导致出现以下错误: ANTLR 工具 4.5.3 版本用于代码生成与当前运行时版本 4.7.1 不匹配。 ANTLR 运行时版本 4.5.3 用于解析器编译与当前运行时版本 4.7.1 不匹...

66得票1回答
使用监听器在ANTLR中实现if/else语句

我正在为学校项目创建一个简单的编程语言。我使用ANTLR 4从我的语法中生成词法分析器和解析器。 我一直在使用ANTLR的监听器模式来应用程序语言的实际功能。 现在我想要实现if/else语句,但我不确定在使用监听器模式时是否可以实现这些语句,因为ANTLR在使用监听器时决定遍历解析树的顺序...

65得票7回答
antlr4-无法将Hello作为词法分析器或语法分析器加载。

最近我需要使用解析器来完成一个项目。我下载了 ANTLR4 并按照书籍 The Definitive ANTLR4 Reference 中所描述的步骤进行操作。以下是我在命令行中输入的步骤: 1. export CLASSPATH=".:/<Mydirectory>/antlr-4...

64得票5回答
Antlr4的监听器和访问者 - 应该实现哪一个?

我正在阅读《The Definitive Antlr 4 Reference》,并理解了关于Listeners和Visitors的工作原理。这本书特别好地解释了Listeners与SAX解析器的关系,并在每个实现过程中明确指出哪些方法将被调用。我也可以看到,Listeners非常适合将输入转换...

58得票6回答
Webpack错误 - 配置项'node'有一个未知属性'fs'。

我在使用最新版本的Webpack(5.1.0)时遇到了错误。看起来配置文件因验证模式过于严格而引发了错误。这是我的Webpack配置文件和我看到的错误消息。 Webpack.config.js https://gist.github.com/adarshbhat/3ec5950b66b78...

52得票3回答
ANTLR 4.5 - 输入不匹配,期望 'x' 却得到了 'x'。

我一直在开始使用ANTLR,并注意到它对其词法分析规则非常挑剔。一个极其令人沮丧的例子如下:grammar output; test: FILEPATH NEWLINE TITLE ; FILEPATH: ('A'..'Z'|'a'..'z'|'0'..'9'|':'|'\\'|'/'|'...