Używam zwraca dla moich reguł parsera, które działają dla wszystkich reguł parsera z wyjątkiem pierwszego. Jeśli pierwsza reguła parser w moim Grammer wykorzystuje Przywraca deklarację ANTLR4 skarży się następująco:Kłopoty z deklaracją zwrotów na pierwszej regule parsera w gramatyce ANTLR4
spodziewa ARG_ACTION dopasowując regułę
Jeśli dodać kolejną regułę parsera powyżej której nie używa „przychody” ANTLR nie narzeka.
Tutaj masz gramatyki zredukowane do problemu:
grammar FirstParserRuleReturnIssue;
ID : ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'0'..'9'|'_')*;
aRule returns [String s]: ID { $s = $ID.text; };
Szukałem znaleźć szczególną rolę pierwszej reguły, które mogłyby wyjaśnić zachowanie, ale nie znalazłem nic. Czy to błąd? Czy brakuje mi zrozumienia?
To wygląda na błąd w ANTLR, prawda? –