使用这些步骤,我尝试为 Antlr4 Python3.g4 语法文件生成解析树,以解析 python3 代码,我使用 ANTLR 生成了我的 python 解析器。 但是我不确定如何传入 python 文件,因为 InputStream 不接受这个。 我目前设法将其作为文本文件传递: 但是我遇到了与 ...
使用这些步骤,我尝试为 Antlr4 Python3.g4 语法文件生成解析树,以解析 python3 代码,我使用 ANTLR 生成了我的 python 解析器。 但是我不确定如何传入 python 文件,因为 InputStream 不接受这个。 我目前设法将其作为文本文件传递: 但是我遇到了与 ...
我正在使用 ANTLR4 并尝试为我拥有的 python 文件生成解析树。 我使用了 ANTLR4 文档中的语法文件 python3.g4。 我安装了 antlr4-python3-runtime,并且运行了这个命令: 这生成了我的解析器和词法分析器文件。 在 Python3Lexer.py 中,我 ...
假设我们有一些文件“index.js”、“main.java”、“test.rs”,我想要 output 这些文件中的函数/类列表(以及文档注释)。 例如: 是否可以使用 ANTLR4 和 Python 执行此操作? 假设我拥有流行语言的所有解析器和词法分析器。 ...
如果双引号字符串以转义的反斜杠结尾,则词法分析器规则会变得贪婪并保持匹配字符,就好像它们是引号字符串的一部分一样。 然后词法分析器认为实际开始下一个引用字符串的双引号正在结束第一个字符串并在后面的字符上给出语法错误。 我们需要调整词法分析器规则来解决这个问题。 词法分析器规则在 a.g4 文件类型中 ...
我正在研究一个在 C++ 中获取复杂/大文件的解析器。由于每个规则都有自己的 class 创建,对于彼此不依赖的规则,我想知道是否有办法指示 antlr 工具生成C++ 代码在单独的.cpp 文件中。 问候, JZ ...
解析器看不到相等表达式: extraneous input '=' expecting {<EOF>, '~', '(', OPERATOR, IDENTIFIER, NUMBER, STRING} 甚至错误都不清楚,它告诉它需要运算符,但是=是一个定义的运算符。 此外,我实现了 2 个 ...
ANTLR 生成的解析器可能会无提示地失败吗? 也就是不认识能不诊断吗? 使用非常小的语法进行演示并仅对 ANTLR 使用默认值,这些是对比观察结果: 将输入发送到以下语法的常用测试装置时,我注意到两件事: 解析器识别有效输入(动作表明),好的; 然而,识别器似乎“接受”某些无效(?)输入,这意 ...
我多次看到这个问题被问到,也看到人们“解决”了它……但它要么让我感到困惑,要么没有解决我的具体情况: 大致情况如下: expression_statement中以表达式开头的所有内容都使用我不知道如何修复的间接左递归,同时仍然能够将这些语法用作语句,因此它们可以在块中使用(可以做类似Print(" ...
我想匹配这些可能的标志: [-ASC|-BIN] [-REC] [-DEL]它们都是可选的,但是对于-ASC和-BIN标志,它们是异或的,只能使用其中一个,不是都。 这是我用于处理标志的语法: (GET_OPTION_ASC | GET_OPTION_BIN) | GET_OPTION_REC | ...
我想将spark SQL解析为Java object,包括SQL中的每一部分,如表名、select字段、where字段等,因为SQL是标准的spark SQL。我重用了SqlBase源代码。 但是不知道如何开始,我是antlr的新手,目前,我只是通过阅读《The definitive antlr ...
刚开始玩 ANTLR 并试图理解我在尝试解析错误输入时收到的错误消息。 这是我的(简单的)语法: 这是我试图解析的文本: 同样,我知道此文本与定义的语法不匹配。 我得到的错误如下: 第 1:4 行不匹配的输入 '=' 期望 {'*', '/', '+', '-', EOS} 我的问题是 - 为什么 ...
我在 gradle 下的 Windows 上编译我的项目时出现此错误。这是错误的前三行: 我做了通常的事情并搜索了字符串“Java source root points to a non-existent location”并且 google绝对没有返回任何内容。 文件存在。 在 IntelliJ ...
我正在使用 ANTLR 4.10.1 和 C++。 我使用 ANTLRInputStream 作为我的词法分析器的输入antlr4::ANTLRInputStream inputStream(....); 在我在输入中使用 UTF-16 字符之前,它工作正常,因为它们稍后会导致问题。 由于 ANTL ...
请帮助我处理以下案例。 我有一行包含多个文本。 根据一些规则,我需要解析行中的每个单词。 下面是我的示例输入行 @@ KEYWORD = 我的名字我的别名下面是我的解析规则集。 “rule1”规则定义,MyName 文本是必需的,MyAliasName 是可选的。 “标识符”规则规定,名称只能以 ...
我有错误 my.babelrc.json 是 我正在将https://github.com/tunnelvisionlabs/antlr4ts中的代码复制到我的存储库中以进行尝试。 但是当我运行jz test时,出现了上述错误。 看来我需要使用 babel 插件来编译 antlr4ts 源代码。 ...
我正在尝试使用 ANTLR4 为一种相当简单的语言编写语法。 它应该处理一些与剧院相关的文本。 只有 3 条规则。 1 - 任何以制表符 ( \t ) 开头的文本都应该打印出来。 2 - 如果文本不是以制表符开头,它很可能包含角色名称。 例如: 最好分别获取角色名称和他们说的文字。 3 - 还 ...
我正在尝试识别文档中的图形编号。 类似于“图 3. 标题”或“参见图 3”的字符串。 有些图可能包含子索引('1A' 或 '1.1' 或 '3.A'),有时标题和点之间没有空格。 我有以下带有规则的 ANTLR 文件: 对于某些示例,此语法无法正常工作: label是“6.R”而不是“6”。 因为 ...
代码: 我有这样的错误 知道为什么吗? 谢谢我试图更改导入语法,但失败了。 有人可以看一下吗? 谢谢。 这与打字稿版本有关吗? 顺便说一句,下面是 deps 版本 更新 tree/xpath/XPath.ts:16:1指向 rc/tree/xpath/XPathLexer.ts:18:33 但我 ...
我有以下 ANTLR 语法: 还有这样一组标记: 我希望我的语法可以接受这样的输入数据: 但是我收到以下错误。 尽管令牌'protected'绝对应该被规则MODIFIER接受 ...
尝试编辑下面的语法并定义将用下面定义的语言编写的算术表达式翻译成后缀表示法所需的语义动作。 为了实现翻译器,我通过使用堆栈的推送和弹出操作将语义操作作为 Java 代码嵌入到 g4 语法文件中。 但是在编译时我遇到了一堆错误。 这是我到目前为止所拥有的: 编译时遇到错误块 我不确定如何解决这个问题, ...