问题标签 [antlr3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
antlr - ANTLR 重写查询文本以重复具有较早节点的文本
我是 ANTLR 的新手,正在尝试使用以下方法解析查询
这似乎适用于一般查询。但是,a near (b or c)
实际需要处理的情况为:
并且a near (b or c and (d or e))
需要处理为:
我无法确定如何执行此操作。非常感激任何的帮助。
谢谢
antlr - Antlr 3.2 重写规则
我最近开始学习 Antlr 并下载 AntlrWorks 1.4,据说它包括 Antlr 3.2。现在,3.2 应该支持重写规则语法,如 '->' 但我什至无法获得我可以基于 Lexer 或 Parser 规则构建的最简单的情况:
当我尝试编译它时,我得到了错误:
为什么是这样。构造看起来很简单:ab 应该生成一棵树,其中只捕获 a 节点。你不就是这样吗?我不能让它与生根('^')或忽略('!')一起工作。我很困惑。
java - 在 ANTLR3 中获取复合规则的词素
假设我有类似的东西:
我想获得 rule2 或 rule3 文本,但我得到的只是 a type_return
,它只给了我 astart
和 a stop
。
有任何想法吗?
antlr - ANTLR 表达式解释器
我创建了以下语法:我想知道如何构建一个解释器,它在 java 中返回一棵树,我以后可以用它在屏幕上打印,我有点堆栈关于如何开始它。
antlr - ANTLR 树语法和 StringTemplate 代码翻译
我正在使用示例 ANTLR 树语法进行代码翻译项目:
它的组模板文件如下所示:
基于此,我有以下问题:
- 一切都很好,除了我应该表达的意思
WHAT?
是程序只是一个类声明列表以获得最终生成的输出? - 这种方法是否平均适用于不那么高级的语言?
- 我还研究了ANTLR Code Translation with String Templates,但似乎这种方法充分利用了树语法中的交错代码。是否也可以在字符串模板中尽可能多地做到这一点?
SOLUTION,我根据 Terence 的建议添加了解决方案:
模板将是:
antlr - 如何解决 ANTLR 不匹配输入的问题
给定语法
和一个测试字符串
导致
这里出了什么问题?
antlr - ANTLR:如何用实际空格替换所有定义为空格的字符
我的 ANTLR 代码如下:
我想做的是将所有标记为空格的字符替换为 PHRASE 中的实际空格字符。另外,如果可能的话,我希望所有连续的空间都用一个空间来表示。
非常感激任何的帮助。出于某种原因,我发现很难理解 ANTLR。有什么好的教程吗?
antlr - 带有 Antlr 的 Java3d 形状
那么如何评估一个非常简单的 antlr 语法,它只做这个。
并构建 java3d 形状,(假设我已经为 java3d 构建了一个画布并拥有在 java 中创建每个元素的代码,
谢谢
antlr - 在 Antlr 中定义语法
我定义了以下语法。
如何检查此语法,以便在我有示例时
结果是成功的,但如果我写
它给出了 E 未定义的错误,谢谢
结果:我得到了它的工作非常感谢:
c# - 如何创建给定形状的 antlr 树?
我有一个 antlr 语法,它的规则如下:
其中 ID 是用于匹配典型变量名称的词法分析器规则,逗号是匹配逗号的词法分析器规则。所以规则匹配一个或多个逗号分隔的变量
我想创建一棵看起来像这样的树:
其中 ITEM 是我在找到的每个 ID 前面插入的虚构节点。
我将如何用树重写语法做这样的事情?
通常,如果我想收集我会使用的所有 id
但这会产生树:
如果它作为实现语言和 ANTLR 3.1.3 很重要,我正在使用 C#