ANTLR,另一种语言识别工具,是一种语言工具,它提供了一个框架,用于从包含各种目标语言中的动作的语法描述构建识别器,解释器,编译器和翻译器。
假设我有一个 ANTLR 语法: 程序=字(''字)* ; 词 = '狗' | '猫' | '鸟' ; 据我了解,它将匹配上面的任何单词序列,例如“狗狗猫”、“狗猫
我正在尝试编写一个支持不使用括号的函数调用的语法: f x, y 就像在 Haskell 中一样,我希望函数调用能够最小化它们的参数。也就是说,我想要 克 5 +...
下面是我的语法文件。 语法我的; 代币{ 分隔符 } 字符串:SINGLE_QUOTED_TEXT; SINGLE_QUOTED_TEXT:( '\'' (.)*? '\'' )+ ; 我正在尝试用它来接受所有字符串(它'...
ANTLR 是等待找到与应该跳过的标记相匹配的最长字符串,还是一旦匹配该标记就跳过它? 假设我们的语法中有两个标记,如下所示: 测试: ...
在 AbstractParseTreeVisitor.h 中,我在以下部分(第 35-48 行)中的 shouldVisitNextChild(node, result)) 上苦苦挣扎: 虚拟 std::any VisitChildren(ParseTree *node) 覆盖 { std::任何...
在搜索 Antlr 3.5 的 PHP 词法分析器语法时,从链接中获取了 Antlr 4 的语法(与 Antlr 3.5 不兼容)。 因此尝试兼容 Antlr 3.5。唯一的问题是这些
Antlr - 如何生成输出的精确输入文件? (源到源的转换)
假设我有一个源代码文件。我想将此文件提供给 ANTLR 并生成相同的代码并将其保存到输出文件中。 用法: 对输入文件进行美化。 添加一些评论到
我想要一个标记规则,它会吞噬所有字符,直到到达字符 XYZ。 因此,如果输入是这样的: 你好XYZ 那么令牌规则应该返回这个令牌: 你好 如果输入我...
当重写 ANTLR 的 BaseListener 中的方法时,我可以假设 ctx 始终为非空吗?
我目前正在使用 ANTLR 并重写生成的 BaseListener 类中的方法。具体来说,我想知道我是否可以安全地假设 ctx(上下文)参数传递给这些
我正在尝试构建一个用于解析领域特定语言的词法分析器。 我有一组保留令牌(RESERVED 片段)和一个转义字符。每当保留令牌 sh 时,词法分析器就应该拆分...
我的 Antlr 4 语法有问题,它似乎忽略了优先级。 对于给定的表达式 $(USD)100'2 * -1,我希望它首先计算 $(USD)100'2 然后乘以 -1。 所以
我正在尝试开始使用 ANTLR 和 C#,但由于缺乏文档/教程,我发现它非常困难。我发现了一些针对旧版本的半心半意的教程,b...
我正在ANTLR和Java上做一个伪编程语言。我遇到了一些无法处理的问题: if、else if 和 else:每个条件仅执行一个语句,因此其他语句将被跳过...
ANTLR4:输入“stringname”时没有可行的替代方案
我正在通过使用antlr4制作一种编程语言来进行研究,我花了一整天的时间来解决删除空格后两个单词成为一个标记的问题。 这是我的语法...
我想为下面的文件结构创建一个 ANTLR 语法, 种类 名称 test_val_1 长度十 test_val_2 用途 使用1测试用例_1 使用2测试用例_2 在上面的示例结构中,“种类”应该是 r...
ANTLR LEXER RULE 有两个规则,一个将接受包括符号在内的所有字符,另一个将仅接受字符
ANTLR LEXER RULE 中是否可以有两个规则,一个将接受所有字符,包括所有符号(如 (,),_ 等),另一个将仅接受字符 a 到 z? 像下面这样: ...
我想使用 ANTLR 工具为下面的 yaml 示例文件生成嵌套解析树。我尝试了下面的语法,但由于某种原因,它无法根据...正确显示节点的嵌套。
我想使用 ANTLR 工具为下面的 yaml 示例文件生成嵌套解析树。 我尝试了下面的语法文件,但由于某种原因,它没有正确显示嵌套 od 节点...
我正在尝试建立一种语法,忽略未定义的 #if 语句中的任何文本,例如此字符串中的标记 #如果未定义 布拉布拉 #endif 真实代码在这里 应该转变为...
看看我的语法 语法协议; 选项 { 语言=Java; 输出 = AST; } //虚构的标记 代币{ 布尔; 字符; 细绳; } 解析 : 宣言 ;