D [0-9] %% var result : integer; [aA][nN][gG][lL][eE] return(ANGLE); [aA][xX][iI][oO][mM] return(AXIOM); {D}*(\.{D}+)? begin val(yytext, yylval.yyReal, result); writeln('NUM',yytext); if result=0 then return(NUM) else return(ILLEGAL) end; [a-zA-Z] begin yylval.yyInteger := ord(upCase(yytext[1]))-ord('A')+1; return(LETTRE) end; C[0-9]* return(COLOR); \t|" " ; (*les tabulations et les espaces sont ignor‚es*) ";".* ;(* les commentaires sont ignor‚s. ! pb avec name si jamais un comment a un '{' *) [a-zA-Z0-9]+[" "|\t]*"{" begin name:=yytext;return(NomDEB); end; "}"[\n]* return(FIN); [!/\\<>=,\]\[\|+-@\n] returnc(yytext[1]); . ; (* les autres caracteres sont ignor‚s*)