URL: https://linuxfr.org/forums/general-general/posts/antlr-et-le-lexical-nondeterminism Title: antlr, et le lexical nondeterminism Authors: Adrien BUSTANY Date: 2005年06月25日T15:55:05+02:00 Tags: Score: 0 Salut forum, Je me suis mis à antlr, et je me casse déjà la nez (ce serait pas drôle sinon). J'ai donc suivi l'exemple "Cut and Paste" de la documentation, que j'ai voulu modifier un peu pour bien comprendre comment ça marche (et vu que je poste ici, c'est que c'est pas encore le cas). Mon fichier t.g ressemble à ça : class P extends Parser; startRule £spaces£ £/spaces£: a:ACTION £spaces£ £/spaces£COMMA £spaces£ £/spaces£n:NAME £spaces£ £/spaces£{System.out.println(a.getText()+"la"+n.getText());} £spaces£ £/spaces£; class L extends Lexer; // one-or-more letters followed by a newline NAME: ( 'a'..'z'|'A'..'Z' )+ NEWLINE £spaces£ £/spaces£; NEWLINE £spaces£ £/spaces£: '\r' '\n' // DOS £spaces£ £/spaces£| '\n' // UNIX £spaces£ £/spaces£; ACTION: ( 'a'..'z'|'A'..'Z'|'0'..'9' )+ £spaces£ £/spaces£; COMMA £spaces£ £/spaces£: ',' £spaces£ £/spaces£; Ce que je voudrais, c'est rentrer "couper pomme" et qu'il me sorte "couper la pomme" par exemple. Toutefois quand je le passe au antlr, il me prévient que ANTLR Parser Generator Version 2.7.4 1989-2004 jGuru.com t.g: warning:lexical nondeterminism between rules NAME and ACTION upon t.g: k==1:'A'..'Z','a'..'z' Je sais pas de quoi il parle, ni comment résoudre ce problème...