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);
}