我有一个 Antlr4 问题。鉴于下面的语法摘录。actualParameters
测试访问者 中是否存在可选子树的正确方法是什么?
我已经尝试过 procedureCallStatement 上下文的 getChildCount 方法。我还测试了上下文中的 null actualParameters 参数。
如果实际参数子树不存在,我不想访问它。这样做会导致异常。
谢谢!
开尔文·约翰逊
program : statement (';' statement)* ';'?;
statement : CALLPREFIX('(' actualParameters? ')')? #procedureCallStatement;
actualParameters : expressionStatement (';' expressionStatement)* ;
expressionStatement : '(' expressionStatement ')' #parensExpression
| IDENT'[' expressionStatement ']' #subscript
...