1 2 %option noinput 3 %option nounput 4 5 %{ 6 #include "ringram.h" 7 #include "struct.h" 8 #undef yywrap 9 %} 10 delim [ \n\t] 11 esp [ \t] 12 rc [\n] 13 pct [\.\,\;\:\'\"\?\/\~\`\@\^<>\!\&\*\(\)\-\_\=\+\{\}\[\]\$\%\\\|] 14 blanc {delim}+ 15 chiffre [0-9] 16 nombre {chiffre}+ 17 lettre [a-zA-Z_] 18 ident {lettre}({lettre}*{chiffre}*)* 19 comment [#]({lettre}*{chiffre}*{esp}*{pct}*)*{rc} 20 %% 21 {blanc} {if (mode_debug) ECHO;} 22 "north" {if (mode_debug) ECHO; return(M_NORTH);} 23 "south" {if (mode_debug) ECHO; return(M_SOUTH);} 24 "west" {if (mode_debug) ECHO; return(M_WEST) ;} 25 "east" {if (mode_debug) ECHO; return(M_EAST) ;} 26 "width" {if (mode_debug) ECHO; return(M_WIDTH);} 27 {nombre} {if (mode_debug) ECHO; sscanf(yytext,"%ld",&yylval.i); 28 return(NOMBRE); 29 } 30 {ident} {if (mode_debug) ECHO; yylval.s = namealloc(yytext); 31 return(IDENT); 32 } 33 {comment} {if (mode_debug) {ECHO; printf("commentaire\n");}} 34 . { return(*yytext);} 35 %% 36 int yywrap() 37 {return(1);} 38 39