Bonjour à tous,
Je dois utiliser l'outil lex (flex) pour produire à partir d'un fichier source C/C++ une page HTML respectant le formatage initial (retours ligne, indentation) et mettant en relief mots-clés, instructions du pré-processeur, chaînes de caractères et commentaires.
Je débute avec cet outil, et je bloque sur les directives pré-processeurs à traduire contenant le caractère '<' qui doit être traduit en "<", voici les règles que j'ai créées :
Mais ça ne fonctionne pas, j'obtiens en sortie :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 [<] { puts( "<" ); } #[^\n]* { printf( "<font color=\"blue\">%s</font>\n" , yytext ); }
Pourquoi les "<" sont-ils placés à la fin ? Comment résoudre le problème ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <font color="Blue">#include <fifo.h></font><font color="Blue">#define NVOISINS 8</font><<
Merci beaucoup !
Partager