Ich versuche eine Grammatik in antlr4 zu schreiben. Aber ich kann Whitespaces in meinen Regeln nicht selektiv ignorieren. Meine Grammatik anhängen. Hier sollte ich ein Leerzeichen (ein Token von WHITESPACE) zulassen, wenn das Token mit alphaNumericWSC übereinstimmt, aber an allen anderen Stellen möchte ich den WHITESPACE überspringen.Wie Antlr-Grammatik Strings mit Leerraum erkennen?
WHITESPACE : [ \t\n\r]+ -> skip
alphaNumericWSC : AlphaNumeric (',' AlphaNumeric)*
| AlphaNumeric (' ' AlphaNumeric)*
;
Mit anderen Worten möchte ich den Whitespace nicht nur in dieser Regel alphaNumericWSC ignorieren.
Vielen Dank im Voraus für die Hilfe.
Sie eine lexikalische Regel für Strings verwenden sollte, 'string:‚„‘ ~ ‚“‘‚"‘ '(note '' 'ist' '' ohne Leerzeichen. Die Gierigkeit des ANTLR-Lexers wird die Aufgabe erledigen. – Mephy
Whitespace ist für Lexer, nicht für Parser. – EJP