第 85 行是statement规则。 我真的不知道为什么会失败。 请帮忙? 这与 Antlr2 顺便说一句。 是的,是的,超级老,是的,是的…… 谢谢! ...
第 85 行是statement规则。 我真的不知道为什么会失败。 请帮忙? 这与 Antlr2 顺便说一句。 是的,是的,超级老,是的,是的…… 谢谢! ...
我有一个忘恩负义的任务,要修复旧的antlr2解析器中的错误,该解析器用于解析edifact文件。 不幸的是,我一点都不熟悉antlr2或解析器,因此无法正常工作。 edifact文件如下所示: 有几个不同的细分,以关键字开头。 例如XYZ或ABC。 关键字后跟不同的属性值, ...
我们有一个为 antlr V2 编写的语法,我想迁移到 antlr v4。 有迁移指南吗? 我还想知道对现有 V2 语法的修改,以便我们更好地利用 v4 功能。 ...
作为我们编译器相关类的编程作业的一部分。 我已经向我的老师提议使用ANTLR而不是 flex bison,在这里他要求我确保它完成我们想要的所有操作,即词法、句法和语义分析(下图中的前三个步骤),我正在非常确定使用ANTLR构建这样的分析器非常容易。 还有编译器的中间和目标代码生成阶段(下图中的其余 ...
这是我的 .g4 文件: 我的主要课程: 我的CutomErrorHandler类: 当我输入altasdere table ; alter table ; altasdere table ; alter table ; 它不会解析第二个命令,因为它在第一个命令中发现了错误。 我的主类的 ...
这是我的语法,我试图提供输入 一切正常,但是当我给 它按预期在第一个字符串上给了我一个错误,但我想要的是解析第二个命令而忽略第一个 ' altasder table; ' 我怎样才能实现它??? 我已经使用了 DefualtError 状态,但它仍然不是 wotking 主类:公 ...
我有一个用antlr2语法编写的语法文件,需要帮助来了解如何用antlr4语法重写一些解析器规则。 我知道antlr4消除了构建AST的需要,因此我不确定该如何处理AST操作转换的规则。 ANTLR树构造解释了一些语法以及如何使用#构造,但是我仍然不确定如何阅读此规则并重新编写它们。 ...
我需要将语法文件从antlr2语法重写为antlr4语法,并有以下问题。 1)Bart Kiers指出此SO帖子中有严格的顺序:语法,选项,标记,@ header,@ members。 这篇antlr2.org帖子不同意指出标头在选项之前。 是否有资源说明antlr4的正确顺序(如果存 ...
我有一个规则,要求用户提供STRING。 当前,当用户输入我在语法中定义的关键字时,解析器会给出细分错误。 对于前: 如果用户输入calc / CALC作为strName,则解析器将引发Seg Fault。 我不确定如何避免这种情况。 编辑:我也想知道如何避免解析器给出分 ...
我在ANTLR的v2中具有以下语法,我需要帮助才能将其转换为v3 实际上,我在下面尝试过,但不确定是否会相同,并且在尝试构建解析器时也收到以下错误 并低于错误 如何转换"!" in v3 from v2? "!" in v3 from v2? 请用您的专业知识帮助我 ...
对于一个个人项目,我不得不使用ANTLR v2 ...并查看其输出,因此我决定在源代码中消除一些代码异味。 但是现在我只是找不到关于如何重新提交这些更改的描述。 有谁知道ANTLR v2的源代码是在哪里开发的,我该如何承诺该仓库? 可以从http://www.antlr2.org/ ...
我有一个小的代码,我想在ANTLRWorks中查看AST。 在首选项中,我将编译器选择为“ com.sun.tools.javac”,调试器设置为端口“ 49100”,超时时间为“ 20秒”。 代码是: 当我调试时,我将输入文本设置为“ 9a + 2b”,然后尝试连接,最后给 ...
嗨,您好, 我需要一个C语言语法来解析while循环。 举例来说,我需要解析以下代码: 我需要解析和评估表达式。 我遵循了一些步骤并编写了语法,但这并没有为我提供所需的输出。 按照上面的代码,条件检查后必须调用循环内部函数10次。 首先,我将A和B的值存储在哈希表中(参 ...
我的教授给了我们关于ANTLR的作业, 但我发现给定的语法文件不适用于当前的ANTLR版本。 实际上,这是ANTLR v2中包含的示例代码,几乎找不到我可以找到的文档,并且已停止受任何IDE工具(如Eclipse或ANTLRWorks)的支持。 因此,我花了很长时间才发现语法文 ...
我有一个语法,可以分别解析字母和数字: 假设输入是'a10'或'b10',则printf语句将显示a10或b10,但是我想将字母字符和数字分开,即a和10必须分开分开,因为我需要'a ”与其他字符串进行比较,然后将数字(“ a”或“ b”等旁边的数字保存到表中)。 确切地说,必须将 ...
DECIMAL_LITERAL匹配c语言中的int文字,而FLOATING_POINT_LITERAL匹配c语言中的float文字。但是,当词法分析器遇到float时,例如3.44,则3将匹配规则DECIMAL_LITERAL。 我该怎么做才能使其识别浮点文字? ...
我正在尝试使用antlr 2.7.6创建一个简单的表达式解析器,并在编译期间获得一些非确定性警告。 生成的java源似乎完全按照我想要的方式工作,但我想知道是否有可能抑制此警告或者我在语法中做错了什么。 解析器将用于已经依赖于这个旧的antlr版本的项目中,因此升级到3.4可能不是一个选 ...
如何使规则在antlr2中返回多个值。例如: 除了'mods'之外我还有其他一些信息要回来。我该怎么办? ...