cost 210 ms
我正在尝试为 Antlr4 Python3.g4 语法文件生成解析树,以解析 python3 代码 - I'm trying to generate the parse tree for Antlr4 Python3.g4 grammar file, to parse python3 code

我正在使用 ANTLR4 并尝试为我拥有的 python 文件生成解析树。 我使用了 ANTLR4 文档中的语法文件 python3.g4。 我安装了 antlr4-python3-runtime,并且运行了这个命令: 这生成了我的解析器和词法分析器文件。 在 Python3Lexer.py 中,我 ...

无论编程语言如何,如何使用 ANTLR4 获取字符串格式的函数和类列表? - How to use ANTLR4 to get a list of functions and classes in string format regardless of the programming language?

假设我们有一些文件“index.js”、“main.java”、“test.rs”,我想要 output 这些文件中的函数/类列表(以及文档注释)。 例如: 是否可以使用 ANTLR4 和 Python 执行此操作? 假设我拥有流行语言的所有解析器和词法分析器。 ...

如果双引号字符串以转义的反斜杠结尾,则词法分析器规则会保持匹配字符,就好像它们是引号字符串的一部分一样 - If a double-quoted string ends with an escaped backslash the lexer rule keeps matching characters as if they are part of the quoted string

如果双引号字符串以转义的反斜杠结尾,则词法分析器规则会变得贪婪并保持匹配字符,就好像它们是引号字符串的一部分一样。 然后词法分析器认为实际开始下一个引用字符串的双引号正在结束第一个字符串并在后面的字符上给出语法错误。 我们需要调整词法分析器规则来解决这个问题。 词法分析器规则在 a.g4 文件类型中 ...

解析器可以静默失败吗? - Can a parser fail silently?

ANTLR 生成的解析器可能会无提示地失败吗? 也就是不认识能不诊断吗? 使用非常小的语法进行演示并仅对 ANTLR 使用默认值,这些是对比观察结果: 将输入发送到以下语法的常用测试装置时,我注意到两件事: 解析器识别有效输入(动作表明),好的; 然而,识别器似乎“接受”某些无效(?)输入,这意 ...

2023-01-12 20:11:08   1   30    antlr  
Antlr 间接左递归 - Antlr Indirect Left Recursion

我多次看到这个问题被问到,也看到人们“解决”了它……但它要么让我感到困惑,要么没有解决我的具体情况: 大致情况如下: expression_statement中以表达式开头的所有内容都使用我不知道如何修复的间接左递归,同时仍然能够将这些语法用作语句,因此它们可以在块中使用(可以做类似Print(" ...

试图理解为什么“输入不匹配”ANTLR 错误中的预期标记不包含某些标记 - Trying to understand why expected tokens in a 'mismatched input' ANTLR error does not include some tokens

刚开始玩 ANTLR 并试图理解我在尝试解析错误输入时收到的错误消息。 这是我的(简单的)语法: 这是我试图解析的文本: 同样,我知道此文本与定义的语法不匹配。 我得到的错误如下: 第 1:4 行不匹配的输入 '=' 期望 {'*', '/', '+', '-', EOS} 我的问题是 - 为什么 ...

2022-12-27 11:45:51   1   17    antlr / antrl4  
compileKotlin 任务说“Java 源代码根指向一个不存在的位置” - compileKotlin task says "Java source root points to a non-existent location"

我在 gradle 下的 Windows 上编译我的项目时出现此错误。这是错误的前三行: 我做了通常的事情并搜索了字符串“Java source root points to a non-existent location”并且 google绝对没有返回任何内容。 文件存在。 在 IntelliJ ...

使用antlr解析时如何避免两个文本之间的空格 - How to avoid the spaces between two texts while parsing using antlr

请帮助我处理以下案例。 我有一行包含多个文本。 根据一些规则,我需要解析行中的每个单词。 下面是我的示例输入行 @@ KEYWORD = 我的名字我的别名下面是我的解析规则集。 “rule1”规则定义,MyName 文本是必需的,MyAliasName 是可选的。 “标识符”规则规定,名称只能以 ...

ANTLR 在解析字符串时排除关键字 - ANTLR Exclude keywords while parsing a string

我正在尝试使用 ANTLR4 为一种相当简单的语言编写语法。 它应该处理一些与剧院相关的文本。 只有 3 条规则。 1 - 任何以制表符 ( \t ) 开头的文本都应该打印出来。 2 - 如果文本不是以制表符开头,它很可能包含角色名称。 例如: 最好分别获取角色名称和他们说的文字。 3 - 还 ...

2022-12-16 12:32:34   1   22    antlr / antlr4  
ANTLR 在某些情况下不匹配正确的解析器规则 - ANTLR doesn't match correct parser rule in some cases

我正在尝试识别文档中的图形编号。 类似于“图 3. 标题”或“参见图 3”的字符串。 有些图可能包含子索引('1A' 或 '1.1' 或 '3.A'),有时标题和点之间没有空格。 我有以下带有规则的 ANTLR 文件: 对于某些示例,此语法无法正常工作: label是“6.R”而不是“6”。 因为 ...

导入 CoreCompletionCore 时出现“类扩展值未定义不是构造函数或 null” - "Class extends value undefined is not a constructor or null" when import CoreCompletionCore

代码: 我有这样的错误 知道为什么吗? 谢谢我试图更改导入语法,但失败了。 有人可以看一下吗? 谢谢。 这与打字稿版本有关吗? 顺便说一句,下面是 deps 版本 更新 tree/xpath/XPath.ts:16:1指向 rc/tree/xpath/XPathLexer.ts:18:33 但我 ...

通过在 g4 语法文件中嵌入语义动作作为 Java 代码,使用 ANTLR 实现翻译器 - Implementing translator using ANTLR by embedding semantic actions as Java code in the g4 grammar file

尝试编辑下面的语法并定义将用下面定义的语言编写的算术表达式翻译成后缀表示法所需的语义动作。 为了实现翻译器,我通过使用堆栈的推送和弹出操作将语义操作作为 Java 代码嵌入到 g4 语法文件中。 但是在编译时我遇到了一堆错误。 这是我到目前为止所拥有的: 编译时遇到错误块 我不确定如何解决这个问题, ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM