Je suis en train d'écrire une règle de correspondance de commentaire dans ANTLR, qui est actuellement le suivant:problème de commentaire ANTLR
LINE_COMMENT
: '--' (options{greedy=false;}: .)* NEWLINE {Skip();}
;
NEWLINE : '\r'|'\n'|'\r\n' {Skip();};
Ce code fonctionne bien, sauf dans le cas où un commentaire est les derniers caractères d'un fichier, Dans ce cas, il déclenche une exception NoViableAlt. Comment puis-je réparer cela?
Ne vous dire 'fragment NEWLINE' au lieu de' NEWLINE' jeton? Et puisque 'NEWLINE' existe potentiellement de plus d'un caractère, la négation fonctionne-t-elle toujours dans la règle' LINE_COMMENT'? –
à l'exception de la modification de 'fragment' et une modification du fragment NEWLINE, cela fonctionne. Merci! Je ne peux pas croire que je n'y ai pas pensé ... – RCIX
@RCIX: correction de la partie 'fragment'. Désolé, un peu rouillé. Content que ça a marché. – cletus