Как я могу узнать совпадающую альтернативу в родительском контексте, например, в моей грамматике
simpleAssign: name = ID '=' value = (STRING | BOOLEAN | INTEGER | DOUBLE );
simpleReference: name = ID '=' value = ID;
listAssign: name = ID '=' value = listString #listStringAssign;
assign: simpleAssign #simpleVariableAssign
| listAssign #listOfVariableAssign
| simpleReference #referenceToVariable
;
assignVariableBlock: assign + #assignVariabels;
Я хотел бы знать в моей функции enterAssignVariableBlock совпадающую альтернативу.
@Override public void enterAssignVariableBlock(StudyParser.AssignVariableBlockContext ctx) {
// switch matched alternative (simpleVariableAssign | listOfVariableAssign | referenceToVariable ) do
}