我有这样的代码:
varDeclaration
: type ID ('=' expression)? ';'
;
所以,并不总是('=' expression)
存在。 但是,有时候,我想处理这个部分,但不知道它在这方面存在与否。 我用ANTLR 4(通常使用监听器),我怎么能知道这一点。
谢谢 :)
我有这样的代码:
varDeclaration
: type ID ('=' expression)? ';'
;
所以,并不总是('=' expression)
存在。 但是,有时候,我想处理这个部分,但不知道它在这方面存在与否。 我用ANTLR 4(通常使用监听器),我怎么能知道这一点。
谢谢 :)
在你的听众( exitVarDeclaration
)或访客( visitVarDeclaration
)检查是否ctx.expression() == null
。 如果为空,则('=' expression)
不存在。 如果非空,那么它确实存在。