%{
#include <stdio.h>
#include <ctype.h>
%}
DIGIT [0-9]
OCTAL [0-7]+
BINARY [01]+
HEX [0-9A-Fa-f]+
FLOAT [-]?
{DIGIT
}+\
.{DIGIT
}* EXP [-]?
{DIGIT
}*\
.?
{DIGIT
}+([eE
][-]?
{DIGIT
}+)
%%
^{BINARY}$ { printf("%s is a Binary\n", yytext); }
^{OCTAL}$ { printf("%s is an Octal\n", yytext); }
^{HEX}$ { printf("%s is a Hexadecimal\n", yytext); }
^
{FLOAT}$
{ printf
("
%s is a Float\n", yytext); }^
{EXP}$
{ printf
("
%s is an Exponent\n", yytext); }. { /* Ignore other characters */ }
%%
int main() {
yylex();
return 0;
}
int yywrap() {
return 1;
}
JXsKI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxjdHlwZS5oPgolfQoKRElHSVQgICBbMC05XQpPQ1RBTCAgIFswLTddKwpCSU5BUlkgIFswMV0rCkhFWCAgICAgWzAtOUEtRmEtZl0rCkZMT0FUICAgWy1dP3tESUdJVH0rXC57RElHSVR9KgpFWFAgICAgIFstXT97RElHSVR9KlwuP3tESUdJVH0rKFtlRV1bLV0/e0RJR0lUfSspCgolJQpee0JJTkFSWX0kICAgICAgICAgIHsgcHJpbnRmKCIlcyBpcyBhIEJpbmFyeVxuIiwgeXl0ZXh0KTsgfQpee09DVEFMfSQgICAgICAgICAgIHsgcHJpbnRmKCIlcyBpcyBhbiBPY3RhbFxuIiwgeXl0ZXh0KTsgfQpee0hFWH0kICAgICAgICAgICAgIHsgcHJpbnRmKCIlcyBpcyBhIEhleGFkZWNpbWFsXG4iLCB5eXRleHQpOyB9Cl57RkxPQVR9JCAgICAgICAgICAgeyBwcmludGYoIiVzIGlzIGEgRmxvYXRcbiIsIHl5dGV4dCk7IH0KXntFWFB9JCAgICAgICAgICAgICB7IHByaW50ZigiJXMgaXMgYW4gRXhwb25lbnRcbiIsIHl5dGV4dCk7IH0KLiAgICAgICAgICAgICAgICAgICB7IC8qIElnbm9yZSBvdGhlciBjaGFyYWN0ZXJzICovIH0KCiUlCgppbnQgbWFpbigpIHsKICAgIHl5bGV4KCk7CiAgICByZXR1cm4gMDsKfQoKaW50IHl5d3JhcCgpIHsKICAgIHJldHVybiAxOwp9