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