【问题标题】:What does ^ and ! stand for in ANTLR grammar^ 和 !代表 ANTLR 语法
【发布时间】:2011-03-28 20:12:20
【问题描述】:

我很难弄清楚 ^ 和 !代表 ANTLR 语法术语。

【问题讨论】:

    标签: antlr grammar antlr3 antlrworks


    【解决方案1】:

    看看ANTLR Cheat Sheet

    ! 不包含在 AST 中
    ^ 制作 AST 根节点

    ^也可以用于重写规则:... -> ^( ... )。例如,以下两个解析器规则是等价的:

    expression
      :  A '+'^ A ';'!
      ;
    

    和:

    expression
      :  A '+' A ';' -> ^('+' A A)
      ;
    

    两者都创建以下 AST:

      +
     / \
    A   A
    

    换句话说:+ 是根,两个A 是它的子级,; 从树中省略。

    【讨论】:

    • 谢谢..这就是我要找的
    • 我冒昧地扩展了您的答案,而不是自己创建答案。您可以随意改写它,或者删除它(在这种情况下,我将自己创建一个)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多