[ lex ] Source C/C++ vers HTML
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 :
Code:
1 2
| [<] { puts( "<" ); }
#[^\n]* { printf( "<font color=\"blue\">%s</font>\n" , yytext ); } |
Mais ça ne fonctionne pas, j'obtiens en sortie :
Code:
1 2
|
<font color="Blue">#include <fifo.h></font><font color="Blue">#define NVOISINS 8</font><< |
Pourquoi les "<" sont-ils placés à la fin ? Comment résoudre le problème ?
Merci beaucoup !