Xtext:解析时构建类型映射
在 Xtext 中,如何从我的类型声明中构建类型映射(即 Java 映射)模型文件?假设我的模型文件如下所示: type String { ...some definitions... } typ…
ANTLR3:参数和语义谓词(“找不到符号”、“类型非法开始”)
我想在ANTLR3中实现一个“分支”。 我认为使用 branch[boolean is_a] : ({ $is_a}? => a) | ({!$is_a}? => b); 可以解决问题,但我收到编译错误“找不…
Antlr 规则优先级
首先我知道这个语法没有意义,但它是为了测试 ANTLR 规则优先级行为而创建的。 grammar test; options { output=AST; backtrack=true; memoize=true; …
当我在 Antlr 中导入词法分析器时,为什么会收到 NullPointerException?
我正在使用 antlr 3 和 Antlrworks。这是我的设置: lexer Base //包含基本标记 - 如 WS、数字等。 lexer Specific //包含我的语言特定标记 - 并且源…
Antlr3 C 运行时相当于抛出错误报告异常的是什么
我非常熟悉 Antlr 2.X 和 Antlr 3.1.X CSharp 和 python 目标。 然而,我现在被迫在项目中使用 Antlr 3 C 目标。 我的问题是如何报告语法或树语法中的…
如何创建给定形状的 antlr 树?
我有一个 antlr 语法,它有这样的规则: rule: ID (COMMA ID)* ; 其中 ID 是用于匹配典型变量名称的词法分析器规则,逗号是匹配逗号的词法分析器规则…
如何获取 ANTLR3 TreeParser 中的行号
我正在尝试获取 ANTLR3 树语法中的行号(ANTLR3 生成的代码属于 TreeParser 类)。 谷歌只找到了 ANTLR2 的解决方案,遗憾的是在 ANTLR3 中不起作用。…
Antlr3 中的所有语法选项在哪里?
Antlr2 中有许多可以设置的语法选项(参考)。现在在 Antlr3 中,我们有大约 1/3 的选项数量(参考)。 所以我对此有两个问题: 有谁知道为什么这么多…
在 Antlr 中定义语法
我定义了以下语法。 grammar Sample_1; @header { package a; } @lexer::header { package a; } program : define* implement* ; define : IDENT '=('…
Java3d 形状与 Antlr
那么如何评估一个非常简单的 antlr 语法,它只能做到这一点。 Box(1,2,4) Cylinder(1,2) 并构建 java3d 形状,(假设我已经为 java3d 构建了画布,并…
ANTLR:如何将所有定义为空格的字符替换为实际空格
我的 ANTLR 代码如下: LPARENTHESIS : ('('); RPARENTHESIS : (')'); fragment CHARACTER : ('a'..'z'|'0'..'9'|); fragment QUOTE : ('"'); fragmen…
ANTLR树语法和StringTemplate代码翻译
我正在开发一个代码翻译项目,其示例 ANTLR 树语法如下: start: ^(PROGRAM declaration+) -> program_decl_tmpl(); declaration: class_decl | inter…
如何解决 ANTLR 输入不匹配的问题
给出语法 test : 'test' ID '\n' 'begin' '\n' 'end' '\n' -> ^(TEST ID); ID : ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'0'..'9'|'_')* ; 和测…
获取 ANTLR3 中复合规则的词位
假设我有这样的事情: rule: (rule2 | rule3) {;}; //How can i get at this point rule2 or rule3 text? rule2: HELLO+; rule3: WORLD*; 我想获取规…
Antlr 3.2 重写规则
我最近开始学习 Antlr 并下载 AntlrWorks 1.4,其中应该包含 Antlr 3.2。现在,3.2 应该支持重写规则语法,如“->”但我什至无法获得基于 Lexer 或 Pa…