【发布时间】:2011-03-28 20:12:20
【问题描述】:
我很难弄清楚 ^ 和 !代表 ANTLR 语法术语。
【问题讨论】:
标签: antlr grammar antlr3 antlrworks
我很难弄清楚 ^ 和 !代表 ANTLR 语法术语。
【问题讨论】:
标签: antlr grammar antlr3 antlrworks
!不包含在 AST 中^制作 AST 根节点
而^也可以用于重写规则:... -> ^( ... )。例如,以下两个解析器规则是等价的:
expression
: A '+'^ A ';'!
;
和:
expression
: A '+' A ';' -> ^('+' A A)
;
两者都创建以下 AST:
+
/ \
A A
换句话说:+ 是根,两个A 是它的子级,; 从树中省略。
【讨论】: