D [0-9] H [a-fA-F0-9] %{ #include "y.tab.h" int yylval; int s_cpLine=0; %} %% 0[xX]{H}+ {sscanf(yytext+2,"%x",&yylval);return(CONSTANT);} 0{D}+ {sscanf(yytext,"%o",&yylval);return(CONSTANT);} {D}+ {sscanf(yytext,"%d",&yylval);return(CONSTANT);} "&&" { return(AND_OP); } "||" { return(OR_OP); } "<=" { return(LE); } ">=" { return(GE); } "==" { return(EQ); } "!=" { return(NE); } "," { return(','); } ":" { return(':'); } "=" { return('='); } "(" { return('('); } ")" { return(')'); } "." { return('.'); } "&" { return('&'); } "!" { return('!'); } "~" { return('~'); } "-" { return('-'); } "+" { return('+'); } "*" { return('*'); } "/" { return('/'); } "%" { return('%'); } "<" { return('<'); } ">" { return('>'); } "^" { return('^'); } "|" { return('|'); } "?" { return('?'); } \n { s_cpLine ++; } [ \t\v\f] { } . { /* ignore bad characters */ } %% int yywrap() { return(1); }