%{ /* une grammaire simplifiée pour HTML * une restriction sur les mots des phrases, * les caractères "<" et ">" sont interdits. * Les commentaires sont inclus dans les "TOKENS" pour pouvoir * être envoyés à Yacc sans les inclure dans la grammaire. */ %} %option noyywrap SPACE [ \t\n]* COMMENT \])|[^\-])*-\> TEXTE [^<>]* INUTILE ({SPACE}|{COMMENT})* CHAINE ({TEXTE}|{INUTILE})* B_HTML_O {INUTILE}\<[hH][tT][mM][lL]\>{INUTILE} B_HEAD_O {INUTILE}\<[hH][eE][aA][dD]\>{INUTILE} B_TITLE_O {INUTILE}\<[tT][iI][tT][lL][eE]\>{INUTILE} B_BODY_O {INUTILE}\<[bB][oO][dD][yY]\>{INUTILE} B_H1_O {INUTILE}\<[hH]1\>{INUTILE} B_H2_O {INUTILE}\<[hH]2\>{INUTILE} B_H3_O {INUTILE}\<[hH]3\>{INUTILE} B_H4_O {INUTILE}\<[hH]4\>{INUTILE} B_H5_O {INUTILE}\<[hH]5\>{INUTILE} B_H6_O {INUTILE}\<[hH]6\>{INUTILE} B_EM_O {INUTILE}\<[eE][mM]\>{INUTILE} B_B_O {INUTILE}\<[bB]\>{INUTILE} B_P_O {INUTILE}\<[pP]\>{INUTILE} B_OL_O {INUTILE}\<[oO][lL]\>{INUTILE} B_LI_O {INUTILE}\<[lL][iI]\>{INUTILE} B_HTML_F {INUTILE}\<\/[hH][tT][mM][lL]\>{INUTILE} B_HEAD_F {INUTILE}\<\/[hH][eE][aA][dD]\>{INUTILE} B_TITLE_F {INUTILE}\<\/[tT][iI][tT][lL][eE]\>{INUTILE} B_BODY_F {INUTILE}\<\/[bB][oO][dD][yY]\>{INUTILE} B_H1_F {INUTILE}\<\/[hH]1\>{INUTILE} B_H2_F {INUTILE}\<\/[hH]2\>{INUTILE} B_H3_F {INUTILE}\<\/[hH]3\>{INUTILE} B_H4_F {INUTILE}\<\/[hH]4\>{INUTILE} B_H5_F {INUTILE}\<\/[hH]5\>{INUTILE} B_H6_F {INUTILE}\<\/[hH]6\>{INUTILE} B_EM_F {INUTILE}\<\/[eE][mM]\>{INUTILE} B_B_F {INUTILE}\<\/[bB]\>{INUTILE} B_P_F {INUTILE}\<\/[pP]\>{INUTILE} B_OL_F {INUTILE}\<\/[oO][lL]\>{INUTILE} B_LI_F {INUTILE}\<\/[lL][iI]\>{INUTILE} %% {B_HTML_O} {yylval.texte=strdup(yytext);return HTML_O;} {B_HTML_F} {yylval.texte=strdup(yytext);return HTML_F;} {B_HEAD_O} {yylval.texte=strdup(yytext);return HEAD_O;} {B_HEAD_F} {yylval.texte=strdup(yytext);return HEAD_F;} {B_TITLE_O} {yylval.texte=strdup(yytext);return TITLE_O;} {B_TITLE_F} {yylval.texte=strdup(yytext);return TITLE_F;} {B_BODY_O} {yylval.texte=strdup(yytext);return BODY_O;} {B_BODY_F} {yylval.texte=strdup(yytext);return BODY_F;} {B_H1_O} {yylval.texte=strdup(yytext);return H1_O;} {B_H1_F} {yylval.texte=strdup(yytext);return H1_F;} {B_H2_O} {yylval.texte=strdup(yytext);return H2_O;} {B_H2_F} {yylval.texte=strdup(yytext);return H2_F;} {B_H3_O} {yylval.texte=strdup(yytext);return H3_O;} {B_H3_F} {yylval.texte=strdup(yytext);return H3_F;} {B_H4_O} {yylval.texte=strdup(yytext);return H4_O;} {B_H4_F} {yylval.texte=strdup(yytext);return H4_F;} {B_H5_O} {yylval.texte=strdup(yytext);return H5_O;} {B_H5_F} {yylval.texte=strdup(yytext);return H5_F;} {B_H6_O} {yylval.texte=strdup(yytext);return H6_O;} {B_H6_F} {yylval.texte=strdup(yytext);return H6_F;} {B_EM_O} {yylval.texte=strdup(yytext);return EM_O;} {B_EM_F} {yylval.texte=strdup(yytext);return EM_F;} {B_B_O} {yylval.texte=strdup(yytext);return B_O;} {B_B_F} {yylval.texte=strdup(yytext);return B_F;} {B_P_O} {yylval.texte=strdup(yytext);return P_O;} {B_P_F} {yylval.texte=strdup(yytext);return P_F;} {B_OL_O} {yylval.texte=strdup(yytext);return OL_O;} {B_OL_F} {yylval.texte=strdup(yytext);return OL_F;} {B_LI_O} {yylval.texte=strdup(yytext);return LI_O;} {B_LI_F} {yylval.texte=strdup(yytext);return LI_F;} {CHAINE} {yylval.texte=strdup(yytext);return CHAINE;} %%