%option noyywrap
%option nounput
%{
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
unsigned int cnt = 0;
%}
INT [0-9]+
FLOAT ([0-9]*\
.[0-9]+)|([0-9]+\
.[0-9]*) SSTR '[^'\n]+'
DSTR "[^\"\n]+"
VAR [A-Za-z_][A-Za-z0-9_]*
%%
{INT} { printf("%s INRERGER\n", yytext); }
{FLOAT} { printf("%s FLOAT\n", yytext); }
{SSTR} { printf("%s STRING\n", yytext); }
{DSTR} { printf("%s STRING\n", yytext); }
{VAR} { printf("%s VARIABLE\n", yytext); }
^.*\n? { /* ignore invalid line */ }
[ \t]+ ;
%%
int main(void) {
yylex();
return 0;
}
//3.in 2.in
// SP [ \t]*
// ^{SP}{FLOAT}{SP}\n?
JW9wdGlvbiBub3l5d3JhcAolb3B0aW9uIG5vdW5wdXQKCiV7CiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8c3RkbGliLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KCnVuc2lnbmVkIGludCBjbnQgPSAwOwolfQpJTlQgICAgCVswLTldKwpGTE9BVCAgCShbMC05XSpcLlswLTldKyl8KFswLTldK1wuWzAtOV0qKQpTU1RSICAgCSdbXidcbl0rJwpEU1RSICAgCSJbXlwiXG5dKyIKVkFSICAgIAlbQS1aYS16X11bQS1aYS16MC05X10qCiUlCntJTlR9IAl7IHByaW50ZigiJXMgSU5SRVJHRVJcbiIsIHl5dGV4dCk7IH0gCntGTE9BVH0geyBwcmludGYoIiVzIEZMT0FUXG4iLCB5eXRleHQpOyB9CntTU1RSfSAgeyBwcmludGYoIiVzIFNUUklOR1xuIiwgeXl0ZXh0KTsgfQp7RFNUUn0gIHsgcHJpbnRmKCIlcyBTVFJJTkdcbiIsIHl5dGV4dCk7IH0Ke1ZBUn0gICB7IHByaW50ZigiJXMgVkFSSUFCTEVcbiIsIHl5dGV4dCk7IH0KXi4qXG4/ICB7IC8qIGlnbm9yZSBpbnZhbGlkIGxpbmUgKi8gfQpbIFx0XSsgIDsKCiUlCmludCBtYWluKHZvaWQpIHsKICAgIHl5bGV4KCk7CiAgICByZXR1cm4gMDsKfQoKCi8vMy5pbiAyLmluCi8vICBTUCAgICAgIFsgXHRdKgovLyAgXntTUH17RkxPQVR9e1NQfVxuPw==