У меня есть такое правило в моей грамматике ANTLR:
COMMENT : '/*' (options {greedy=false;} : . )* '*/' ;
Это правило просто соответствует комментариям в стиле c, поэтому оно будет принимать любую пару /* и */ с любым произвольным текстом между ними, и оно работает нормально.
Что я хочу сделать сейчас, так это захватить весь текст между /* и */, когда правило соответствует, чтобы сделать его доступным для действия. Что-то вроде этого:
COMMENT : '/*' e=((options {greedy=false;} : . )*) '*/' {System.out.println("got: " + $e.text);
Этот подход не работает, при синтаксическом анализе он дает «нет жизнеспособной альтернативы» при достижении первого символа после «/*»
Я не совсем понимаю, можно ли/как это сделать - приветствуются любые предложения или рекомендации, спасибо.