Ich verwende gibt für meine Parser-Regeln, die für alle Parser-Regeln mit Ausnahme der ersten funktioniert. Wenn die erste Parser-Regel in meinem grammer verwendet die kehrt Erklärung beklagt ANTLR4 wie folgt:Probleme mit der Deklaration der Rückkehr auf die erste Parser-Regel in einer ANTLR4-Grammatik
ARG_ACTION erwartet, während eine Regel passenden
Wenn ich eine andere Parser-Regel hinzufügen, über die es nicht verwenden „returns“ ANTLR beklagt sich nicht.
Hier haben Sie eine Grammatik auf das Problem reduziert:
grammar FirstParserRuleReturnIssue;
ID : ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'0'..'9'|'_')*;
aRule returns [String s]: ID { $s = $ID.text; };
ich eine besondere Rolle der ersten Regel zu finden, durchsucht, die das Verhalten erklären könnte, aber nichts gefunden. Ist es ein Fehler? Vermisse ich etwas Verständnis?
Das scheint wie ein Fehler in ANTLR, oder? –