问题标签 [antlr2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
208 浏览

antlr - antlr2 返回多个值

antlr2中如何让一个规则返回多个值。例如:

除了“mods”之外,我还有一些其他信息要返回。我该怎么办?

0 投票
1 回答
539 浏览

parsing - 来自 antlr 2.7.6 的虚假非确定性警告

我正在尝试使用 antlr 2.7.6 创建一个简单的表达式解析器,并且在编译期间收到了一些不确定性警告。生成的 java 源代码似乎完全按照我的意愿工作,但我想知道是否可以抑制此警告,或者我是否在语法上做错了什么。

解析器将在已经依赖于这个旧 antlr 版本的项目中使用,因此升级到 3.4 可能不是一个选项。语法本身与此答案中的语法相似。

这是编译期间的输出:

这是显示问题的简化语法:

0 投票
1 回答
70 浏览

antlr2 - antlr 2 规则歧义

DECIMAL_LITERAL 匹配 c 语言中的 int 字面量,FLOATING_POINT_LITERAL 匹配 c 语言中的 float 字面量。但是当词法分析器遇到 float 时,例如 3.44,3 将匹配规则 DECIMAL_LITERAL。

我该怎么做才能让它识别浮点文字?

0 投票
1 回答
707 浏览

antlr - 如何使用 ANTLR 语法从字符串中解析和拆分字母字符和数字

我有一个语法,它分别解析字母字符和数字:

假设输入是 'a10' 或 'b10',printf 语句会显示 a10 或 b10,但我想拆分字母字符和数字,即 a 和 10 必须分开拆分,因为我需要 'a ' 与其他字符串进行比较,并将数字,即 'a' 或 'b' 等旁边的数字保存到表中。

准确地说,a10 必须拆分 -> a 用于比较,10 用于存储,我应该能够分别获取字母和数字。

如何为这样的东西定义语法?

0 投票
1 回答
86 浏览

antlr - ANTLR version2 语法语法?

我的教授给了我们一个关于 ANTLR 的作业,

但我发现给定的语法文件不适用于当前的 ANTLR 版本。

实际上,它是包含在 ANTLR v2 中的示例代码,我能找到的文档很少,并且已停止被任何 IDE 工具(如 Eclipse 或 ANTLRWorks)支持。

正因为如此,我花了很长时间才发现语法文件来自古代。

我需要修改给定的语法文件以找到立即被 else 分支包围但无法理解语法的某些部分的 whlie 循环。

有人请教我这个例子中的“=>”是什么意思?

0 投票
1 回答
1602 浏览

antlr - while 循环的 ANTLR 语法

你好呀,

我需要一个 C 语法来解析 while 循环。比如说,我需要解析以下代码:

我需要解析和评估表达式。我已经按照一些步骤编写了一个语法,但这并没有产生我想要的输出。根据上面的代码,循环内的函数必须在条件检查后调用 10 次。

首先,我将 A 和 B 的值存储在哈希表中(参考:ANTLR_HASH_TABLE 结构),while 规则如下所示:

我能够存储和从哈希表中获取值,但我坚持要多次调用/打印的函数调用。我想知道应该遵循哪些步骤来调用/打印该函数的次数。

关于如何实现这一点的任何想法都会有很大帮助。

0 投票
0 回答
92 浏览

antlr - 如何在 ANTLRworks 中获取 AST

我是 ANTLRworks 的新用户,所以请多多包涵。我有一个小代码,如下所示:



我相信这段代码应该显示一个 AST,但是我看到的只是一个解析树。谁能告诉我我在这里做错了什么?

0 投票
1 回答
250 浏览

antlr - ANTLRWorks 调试器

我有一个小代码,我想在 ANTLRWorks 中查看 AST。在首选项中,我选择编译器为“com.sun.tools.javac”,调试器设置为端口“49100”,超时时间为“20 秒”。

代码是:



当我调试时,我将输入文本设为“9a + 2b”,然后它尝试连接,最后给出错误“无法启动调试器选项卡”。

我也禁用了我的防病毒软件和防火墙。这里可能是什么问题?

0 投票
1 回答
80 浏览

antlr - 如何提交 antlr v2?

对于个人项目,我不得不使用 ANTLR v2 ... 看到它的输出,我决定在源代码中去除一些代码异味。

但现在我只是找不到任何关于如何提交这些更改的描述。有谁知道 ANTLR v2 源代码是在哪里开发的以及我如何提交该回购协议?

可以从http://www.antlr2.org/download.html下载源代码……但没有提及贡献。

先感谢您。

0 投票
0 回答
62 浏览

antlr2 - 为什么类似antrl2语法不会产生非确定性警告?

我正在尝试创建 antlr 语法来解析 javadoc 注释。我使用 ANTLR v2。

为什么第一个语法会产生非确定性警告而第二个不会?我以为它们很相似。

第一个语法:

警告:

第二种语法: