3

我有这个代码:

varDeclaration
    :   type ID ('=' expression)? ';' 
    ;

所以,并不总是('=' expression)存在。但是,有时,我想处理这部分,但不知道它在这种情况下是否存在。我正在使用 ANTLR 4(并且经常使用 Listener),我怎么知道这一点。

谢谢 :)

4

1 回答 1

5

在您的 listener( exitVarDeclaration) 或 visitor( visitVarDeclaration) 中检查是否ctx.expression() == null. 如果为空,('=' expression)则不存在。如果非空,那么它确实存在。

于 2013-05-06T04:52:29.063 回答