如何使用 ANTLRWorks 创建/指定用于测试树语法的 AST 输入?
背景:我创建了一个 ANTLR 语法。我能够使用 ANTLRWorks 对其进行测试和调试,并验证解析器是否创建了我心中的 AST。现在,我想为 AST 编写一个树语法…
在 ANTLR 语法中使用不同的 case 关键字
我的语法中的一些关键字(字符串常量)包含大写字母 例如, PREV_VALUE : 'PreviousValue'; 这会导致奇怪的解析行为:包含相同大写字母('P','V')的…
Antlr 词法分析器标记匹配相似的字符串,如果贪婪的词法分析器出错怎么办?
似乎有时 Antlr 词法分析器在标记字符流时对使用哪个规则做出了错误的选择......我试图找出如何帮助 Antlr 做出对人类来说显而易见的正确选择。我想解…
当首先需要其他字符时,ANTLR 匹配字符?
请参阅下面的语法。当我尝试解析时: String s = "UNH+message refere+APERAK:D:97A:UN\n"; 我收到以下错误: line 1:34 mismatched character '\n' e…
如何在ANTLR中进行更复杂的树变换?
我知道我想要制作的 AST(我认为),即: ^( STATEMENT alias ( FOREACH rel ( FOREACH_PLAN_SIMPLE ( GENERATE STAR ) ) ) ) 所以我添加了以下规则:…
Antlr 错误“字符处没有可行的替代方案”
我正在使用 此处 提供的 Objective C 语法,并尝试解析此代码: int main() { int k=0; } 这是一个客观的 C 代码,应该对其进行解析,但是当我调用函…
为 python 安装 stringtemplate3
我尝试运行 Python/cminus 示例。 从http://pypi.python.org/pypi/stringtemplate3/3.1,我使用sudo python setup.py install为python安装了stringtem…
ANTLR 语法和语法谓词中的左值意识
我正在使用 ANTLR for D 实现一个解析器。这种语言基于 C,因此声明和表达式存在一些歧义。考虑一下: a* b = c; // This is a declaration of the va…
在antlr3语法中切换词法分析器状态
我正在尝试构建 antlr 语法来解析模板语言。该语言可以嵌入到任何文本中,并且边界用开始/结束标记标记:{{ / }}。因此,有效的模板如下所示: foo {{…
ANTLR 实现类似Python的缩进相关语法的最简单方法是什么?
我正在尝试实现类似Python的缩进相关语法。 源代码示例: ABC QWE CDE EFG EFG CDE ABC QWE ZXC 正如我所见,我需要的是实现两个标记 INDENT 和 DEDEN…