Мой профессор дал нам задание про ANTLR,
но я обнаружил, что данный файл грамматики не работает с текущими версиями ANTLR.
На самом деле это пример кода, включенный в ANTLR v2, который я могу найти в нескольких документах, и он был остановлен для поддержки любых инструментов IDE, таких как Eclipse или ANTLRWorks.
Из-за этого мне потребовалось довольно много времени, чтобы выяснить, что файл грамматики из древнего.
Мне нужно изменить данный файл грамматики, чтобы найти циклы whlie, которые сразу же заключены в ветку else, но не могут понять какую-то часть грамматики.
Кто-нибудь, научите меня, что означает '=>' в этом примере?
program
: ( declaration )* EOF
;
declaration
: (variable) => variable
| function
;
declarator
: id:ID
| STAR id2:ID
;
variable
: type declarator SEMI
;
function
: type id:ID LPAREN
(formalParameter (COMMA formalParameter)*)?
RPAREN
block
;
statement
: (declaration) => declaration
| expr SEMI
| if_statement
| while_statement
| block
;