使用这些步骤,我尝试为 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 中,我 ...
我正在寻找使用 Go 目标为 Oracle PL SQL 构建词法分析器/解析器。 我尝试在 GitHub (antlr/grammars-v4/sql/plsql) 中使用 ANTLR plsql 语法,但遇到了一些问题。 当我运行工具来创建 lecer 和解析器时,我收到错误并且不会因为这些错 ...
我定义了一些词法分析器规则,如下所示: 但是对于如下所示的编码行: 因为这里的日期是变量名而不是关键字DATE。 所以我的问题是,我是否可以让 g4 将日期视为 ID 而不是 DATE 的词法分析器规则? ...
有两行: class 'ANTLRInputStream' 的实例被创建为 'input'; 另一个 LabLexer class 的实例被创建为 'lexer',其中构造函数中传递了上一行的 'input' object; 'lexer' 构造函数指定输入参数类型为 CharStream,但 ...
目前我正忙于解析器并尝试使用 ANTLR。 到目前为止我理解语法,现在我想在 javascript 中实现它。 这是我的代码的一个小但重要的片段。 if (selected == "Funktionen") { console.log("You selected functions") const ...
我一直在玩ANTLR Lab (顺便说一句,真的很好) ,想知道它是如何能够 label 匹配解析器规则和替代号码的。 例如,下面的content:1 、 x_tag:2和x_tag:3都是规则名称,冒号后面的数字是该规则中的替代项。 我已经根据我的语法构建了一个识别器,但无法通过查看运行时 A ...
假设我们有一些文件“index.js”、“main.java”、“test.rs”,我想要 output 这些文件中的函数/类列表(以及文档注释)。 例如: 是否可以使用 ANTLR4 和 Python 执行此操作? 假设我拥有流行语言的所有解析器和词法分析器。 ...
我正在研究一个在 C++ 中获取复杂/大文件的解析器。由于每个规则都有自己的 class 创建,对于彼此不依赖的规则,我想知道是否有办法指示 antlr 工具生成C++ 代码在单独的.cpp 文件中。 问候, JZ ...
我想用 antlr4 解析 yaml。 目标文件包含image: xxx.com/node:8.14 。 然后我写了一个这样的语法文件: 得到这样的结果:[antlr4] ➜ dronemigrate antlr4-parse Drone.g4 yaml -tree -trace drone. ...
有一个关于 antlr4-grammars 的问题: 使用以下命令生成 PL/SQL 解析器和词法分析器后: antlr4 -Dlanguage=JavaScript PlSqlParser.g4 PlSqlLexer.g4 , 我发现生成的PlSqlParser.js和PlSqlLexer.js ...
我有一些伴随而来的东西: * method_declaration的其他规则与这个问题无关发生的事情是,当我输入诸如void Start() { }之类的内容并查看 ParseTree 时,它似乎认为void是一个identifier而不是一个kind ,并将其视为这样。 我尝试更改在.g4文件中 ...
我多次看到这个问题被问到,也看到人们“解决”了它……但它要么让我感到困惑,要么没有解决我的具体情况: 大致情况如下: 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 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 - 还 ...
我最近开始研究 antlr 及其与 go 的合作。 而且我在使用里面的库时导入有问题。 例如,我在 antlr 文件的开头有: 并使用以下命令编译它antlr4 -Dlanguage=Go Test.g4 。 然后我有两个使用此包的文件parser和包含未使用的导入的lexer ,这就是我无法编译 ...