/* les identificateurs d'un programme java */ %option noyywrap KEYWORDS abstract|boolean|break|byte|case|catch|char|class|continue|default|do|double|else|extends|false|final|finally|float|for|if|implements|import|instanceof|int|interface|long|native|new|null|package|private|protected|public|return|short|static|super|switch|synchronized|this|throw|throws|transient|true|try|void|volatile|while NEWLINE "\n" IDENT [a-zA-Z$]([a-zA-Z$_0-9]*".")*[a-zA-Z$_0-9]+ COMMENTLIGNEDEBUT "//" COMMENTLIGNE {COMMENTLIGNEDEBUT}.*{NEWLINE} COMMENTDEBUT "/*" COMMENTFIN "*/"|"**/" MOTIF1 {COMMENTDEBUT}[^*]*{COMMENTFIN} MOTIF2 {COMMENTDEBUT}([^*]*[*]+[^/])*[^*]*{COMMENTFIN} COMMENT {MOTIF1}|{MOTIF2} %% {KEYWORDS}|{NEWLINE} {} {IDENT} {printf("%s\n",yytext);} {COMMENTLIGNE} {} {COMMENT} {} <*>. {} %% main () { yylex(); }