ANTLR 重用令牌子集
在我的 ANTLR 语法中,我有一组操作(OP): OP: 'I1', 'I2'....'I9', 'I10' (一组 TOKENS); 每当我发现 TOKEN: CASE : 有效操作是 'I1','I2','I3'…
对 Python 文件使用 ANTLR4 `parser.file_input()` 时出现 ParseCancellationException
我正在使用 ANTLR4 编写 Java 代码来解析 Python 文件。我使用的词法分析器和解析器是来自 antlr/grammars-v4 Github 的 Python3Lexer.g4 和 Python3P…
如果我想解析一些高度可配置的东西,我应该在 ANTLR 中做什么?
我正在编写一个语法来识别简单的数学表达式。我有它的英语工作。 现在我想扩展语法以支持 i18n。因此,数字、基数分隔符等取决于用户的区域设置。 在 …
如何附加两个词法分析器表达式 - ANTLR4
我需要词法分析器将两个不同的字符表达式解析为一个表达式。 所以我有这样的东西, rootPath : 'A' rootType SEP childPath; //我的输出应该是AB:2或A…
Antlr4 Visitor真的是访客吗?
我一直在学习如何使用 Antlr4 的访问者创建 AST,在阅读了 Terrance Parr 的书以及专门针对 Antlr 访问者的 AST 生成主题的多个论坛后,似乎执行此操…
解析时是否可以统计某个元素出现的次数?
我试图找到一种方法来跟踪构建解析树时元素出现的次数。假设我的语法如下所示: grammar sample; @members { private int xCount= 0; private int yCo…
处理对上下文敏感的重叠词法分析器模式的最佳方法是什么?
我正在尝试编写一个 Antlr 语法来解析 C4 DSL 。然而,DSL 有很多语法非常开放的地方,导致词法分析器规则重叠(在多个标记规则匹配的意义上)。 例如…
当解析器花费太长时间时如何设置超时?
我在 C# 中使用 ANTLR4 和以下代码示例: AntlrInputStream antlrStream = new AntlrInputStream(text); MyLexer myLexer = new(new AntlrInputStream…
如何解决 ANTLR 错误“词法分析器操作中不允许属性引用”
读完《The Definitive ANTLR 4 Reference》第10章后,我尝试编写一个简单的分析器来获取词法属性,但出现错误。如何获取词汇属性? lexer grammar Tes…
Push模式、pop模式示例
我正在尝试学习 ANTLR 并遇到了 pushMode 和 popMode 词汇模式。 我在谷歌上浏览了很多关于这个的材料(包括大型教程),但未能获得pushMode和popMode…
神秘的 ANTLR 错误
我所知道的是它阻止了 antlr 的生成,我很抱歉。这是日志文件: (10): internal error: /Bridge/bridge.g : java.lang.IllegalStateException: java.l…
如何更改表达式以强制在生成的解析器中调用 RewriteRuleSubtreeStream.NextTree() ?
我是一名 ANTLR 新手,正在尝试将早期的 ANTLR 3.1 语法更新到 3.4。我遇到的一个绊脚石是我生成的解析器。有一行代码调用 NextNode(),我希望它改为…
ANTLR:错误恢复和报告
我在使用 ANTLR v3 恢复和重新发布错误时遇到问题。我点击此链接 http://www.antlr.org/blog/antlr3/error .handling.tml 但我没有那个解决方案。 我…
如何在 Windows 和 VS 2010 上开始使用 ANTLR 生成 C
我在网上搜索了一段时间,但没有找到任何关于如何使用 Visual Studio 2010 在 Windows 环境中启动 ANTLR 的好信息。我的目标是 ANTLR 的 C 输出选项。…