%{ /* ** SEUL CHANGEMENT : passage des categories ',' ':' ';' '"' '=' '(' ')' */ #include "gram.tab.h" void checkF( char *h ) { fprintf(stderr,"[%s%s]", h, yytext ); } %} D [0-9] I2 {D}{2} H [0-9A-Fa-f] H3 {H}{3} S [ ]+ AN [A-Za-z][A-Za-z0-9]* %% {D}+pt { checkF("F.SZ:"); return FT_SIZE_VAL; } [-]?{D}*\.{D}+ | {D}+\. { checkF("FLOAT:"); return FLOAT; } [-]?{D}+ { checkF("INT:"); return INT; } #{H3}{1,2} { checkF("H.COL:"); return COLOR; } rgb\({I2}%,{S}{I2}%,{S}{I2}%\) { checkF("RGB.COL:"); return COLOR; } black|blue|gray | green|red|yellow { checkF("PDEF.COL:"); return COLOR; } none { checkF("NONE:]"); return COLOR; } href { checkF("HREF:"); return HREF; } style { checkF(""); return STYLE; } fill { checkF(""); return FILL; } stroke { checkF(""); return STROKE; } font-family { checkF(""); return FONT_FAMILY; } font-size { checkF(""); return FONT_SIZE; } points { checkF(""); return POINTS; } transform { checkF(""); return TRANSFORM; } polyline { checkF(""); return POLYLINE; } (sans-)?serif { checkF(""); return FONT_FAM_VAL; } [#]{AN} { checkF("ref:"); return REFERENCE; } {AN} { checkF("SYMB:"); return SYMB; } [ \t\n] { ECHO; } [,:;"=()] { checkF(""); return yytext[0]; } . { fprintf(stderr,"[%c!]",yytext[0] ); return yytext[0]; } %%