Например, программа: у меня есть файл грамматики следующим образом:
grammar fileName;
program : 'start' statements+ 'end';
statements : print;
print: 'output' STRING;
STRING : ["] ( ~["\r\n\\] | '\\' ~[\r\n] )* ["] | ['] ( ~['\r\n\\] | '\\' ~[\r\n] )* ['];
Теперь у меня есть следующий код:
begin
output "Hello World"
end
begin
output "Hello World 2"
end
Теперь после этого я хочу проверить, является ли строка вывода Hello World 2, пропустить ее, не анализировать блок 'Statement' и двигаться дальше.
Можно ли сделать так, чтобы antlr4 пропускал парсинг блока кода в классе слушателя?
PS: я задаю этот вопрос, чтобы я мог реализовать его с помощью своих операторов if, while, for и foreach. Например, пропуская блок кода, когда оператор if возвращает false, я просто использую этот код в качестве примера. Спасибо!