'是什么:!'和' |!'令牌意味着(Python)Antlr语法

时间:2014-05-03 21:45:01

标签: python antlr

我继承了一个在Python程序中使用的旧的Antlr语法。其中一个产品看起来像这样:

merge 
    :! l:expr
        ( n:name_list r:expr 
           { /* do something  with n and r*/ }
          |
           { /* do something else */ }
        )
    |!
        n2:name_list '*' o:expr
           { /* do something with n2 and o */ }
    ;

现在,我熟悉Yacc和Antlr的:|令牌,但是如果有额外的!有什么重要意义?

1 个答案:

答案 0 :(得分:1)

:!和|!意味着不为周围的规则建立AST。