Bonjour à tous,

Je joue depuis quelques temps avec JFlex et j'essaie maintenant de convertir un fichier écrit pour Lex en fichier pour JFlex. J'utilise pour ça mon éditeur de texte préféré ainsi que jflex-1.4.3. Je pensais être arrivé à un état correct, mais ce n'est pas le cas, et ça à cause semble-t-il d'une mauvaise interprétation (ou formulation) d'un token défini dans le fichier Lex.

Voici à quoi cela ressemble dans le fichier Lex:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
string_literal  \"[^"\n]*\"
Et voici comment je l'ai interprété:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
string_literal  =[^\"\n]*;
J'ai également essayé des formules proches.
La compilation/génération du fichier se passe généralement bien, mais à la lecture de mon fichier d'entrée, c'est la catastrophe.
J'ai bien tenté de passé le paramètre debug à true, mais je dois dire que ca ne m'avance pas plus que ça.

loop
state 0, reducing 0 by rule 4 (pred_decl_items
reduce
after reduction, shifting from state 0 to state 2
loop
yyn:0 state:2 yychar:-1
next yychar:258
state 2, error recovery shifting to state 3
yyn:0 state:3 yychar:258
state 3, error recovery discards token 258 (STRING_LITERAL)
yyn:0 state:3 yychar:-1
Error: syntax error
Exception in thread "main" java.lang.Error: Error: could not match input
at parser.chocogen.mzn.Lexer.zzScanError(Lexer.java:606)
at parser.chocogen.mzn.Lexer.yylex(Lexer.java:917)
at parser.chocogen.mzn.Parser.yylex(Parser.java:535)
Si vous avez des commentaires à me faire, n'hésitez pas.
Merci d'avance
Charles

PS: j'utilise JFlex avec BYACC
PPS: je peux vous fournir les fichiers si c'est plus facile