%{
#include <stdio.h>
#define COMM_L 257
#define COMM_T 258
#define STRING 259
%}
%x COMMENT
%%
\"(\\.|[^\"])*\" { return STRING;}
\/\/[^\n]* { return COMM_L;}
"/*" { BEGIN( COMMENT); yymore();}
<COMMENT>.|\n { yymore();}
<COMMENT>"*/" { BEGIN( INITIAL); return COMM_T;}
%%
int yywrap( void){ return 1;}
int main( int argc,char **argv)
{
int tokentype;
while( tokentype = yylex()){
printf("%d %s\n",tokentype,yytext);
}
return 0;
}
JXsKCiNpbmNsdWRlIDxzdGRpby5oPgoKI2RlZmluZSBDT01NX0wgMjU3CiNkZWZpbmUgQ09NTV9UIDI1OAojZGVmaW5lIFNUUklORyAyNTkKCiV9CgoleCBDT01NRU5UCgolJQoKXCIoXFwufFteXCJdKSpcIiB7IHJldHVybiBTVFJJTkc7fQpcL1wvW15cbl0qIHsgcmV0dXJuIENPTU1fTDt9CiIvKiIgeyBCRUdJTiggQ09NTUVOVCk7IHl5bW9yZSgpO30KPENPTU1FTlQ+LnxcbiB7IHl5bW9yZSgpO30KPENPTU1FTlQ+IiovIiB7IEJFR0lOKCBJTklUSUFMKTsgcmV0dXJuIENPTU1fVDt9CgolJQoKaW50IHl5d3JhcCggdm9pZCl7IHJldHVybiAxO30KCmludCBtYWluKCBpbnQgYXJnYyxjaGFyICoqYXJndikKewogIGludCB0b2tlbnR5cGU7CiAgd2hpbGUoIHRva2VudHlwZSA9IHl5bGV4KCkpewogICAgcHJpbnRmKCIlZCAlc1xuIix0b2tlbnR5cGUseXl0ZXh0KTsKICB9CiAgcmV0dXJuIDA7Cn0K