나는 Antlr4 질문이 있습니다. 아래의 문법 발췌를 감안할 때. 방문자 내에서 선택적인 actualParameters
하위 트리가 있는지 테스트하는 올바른 방법은 무엇입니까?ANTLR4 방문자 하위 트리 확인
나는 procedureCallStatement 컨텍스트의 getChildCount 메소드를 시도했다. 또한 컨텍스트에서 null actualParameters 매개 변수를 테스트했습니다.
actualParameters 하위 트리가 없으면 방문하고 싶지 않습니다. 그렇게하면 예외가 발생합니다.
감사합니다.
켈빈 존슨
program : statement (';' statement)* ';'?;
statement : CALLPREFIX('(' actualParameters? ')')? #procedureCallStatement;
actualParameters : expressionStatement (';' expressionStatement)* ;
expressionStatement : '(' expressionStatement ')' #parensExpression
| IDENT'[' expressionStatement ']' #subscript
...
고마워요 280Z28 :) 이것은 내가하려는 일입니다. null에 대한 컨텍스트를 테스트하지만이 기술은 실패했습니다. 내가 오타가 있다고 밝혀졌습니다. 방금 다시 시도했는데 작동 중입니다. 컴퓨터가 너무 귀찮을 수 있습니다. 그들은 단지 당신이 그들에게 말하는 것을합니다! –