10 extern YYSTYPE yylval;
20 reel {entier}("."{entier})
21 caractere [a-zA-Z0-9_]
25 chaine \"({caractere}*|\n|\\|\"|{espace}*)*\"
27 commentaire "/*"([^\*\/]*{nouv_ligne}*[^\*\/]*)*"*/"
31 "never" { printf("%s", yytext); return (NEVER); }
32 "if" { printf("%s", yytext); return (IF); }
33 "fi" { printf("%s", yytext);
35 "->" { printf("%s", yytext); return (IMPLIES); }
36 "goto" { printf("%s", yytext); return (GOTO); }
37 "&&" { printf("%s", yytext); return (AND); }
38 "||" { printf("%s", yytext); return (OR); }
39 "!" { printf("%s", yytext); return (NOT); }
40 "(" { printf("%s", yytext); return (LEFT_PAR); }
41 ")" { printf("%s", yytext); return (RIGHT_PAR); }
42 "::" { printf("%s", yytext); return (CASE); }
43 ":" { printf("%s", yytext); return (COLON); }
44 ";" { printf("%s", yytext); return (SEMI_COLON); }
45 "1" { printf("%s", yytext); return (CASE_TRUE); }
46 "{" { printf("%s", yytext); return (LEFT_BRACE); }
47 "}" { printf("%s", yytext); return (RIGHT_BRACE); }
50 {commentaire} { printf(" ");}
52 {blancs} { printf("%s",yytext); }
55 {reel} { printf("%s",yytext);
56 sscanf(yytext,"%lf",&yylval.real);
59 {entier} { printf("%s",yytext);
60 sscanf(yytext,"%d",&yylval.integer);
63 {chaine} { printf("%s",yytext);
64 yylval.string=(char *)malloc(strlen(yytext)+1);
65 sscanf(yytext,"%s",yylval.string);
66 return (LITT_CHAINE); }
68 [a-zA-Z]{caractere}* { printf("%s",yytext);
69 yylval.string=(char *)malloc(strlen(yytext)+1);
70 sscanf(yytext,"%s",yylval.string);
73 {numl} { printf("\n"); }
75 . { printf("caractère inconnu\n"); }