%{
#include <stdio.h>
#include <stdlib.h>
%}
%%
[0-9]+\.[0-9]+ {
float floatNumber
= atof
(yytext
); int intNumber = (int)floatNumber;
printf
("Floating
-point
number: %f\n", floatNumber); printf
("
Integer part
: %d\n", intNumber); }
[0-9]+\.[0-9]+e[+-]?[0-9]+ {
float floatNumber
= atof
(yytext
); int intNumber = (int)floatNumber;
printf
("Floating
-point
number: %f\n", floatNumber); printf
("
Integer part
: %d\n", intNumber); }
.|\n ; // Ignore all other characters
%%
int main() {
yylex();
return 0;
}
JXsKI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KJX0KCiUlClswLTldK1wuWzAtOV0rICAgIHsKICAgICAgICAgICAgICAgICAgICBmbG9hdCBmbG9hdE51bWJlciA9IGF0b2YoeXl0ZXh0KTsKICAgICAgICAgICAgICAgICAgICBpbnQgaW50TnVtYmVyID0gKGludClmbG9hdE51bWJlcjsKICAgICAgICAgICAgICAgICAgICBwcmludGYoIkZsb2F0aW5nLXBvaW50IG51bWJlcjogJWZcbiIsIGZsb2F0TnVtYmVyKTsKICAgICAgICAgICAgICAgICAgICBwcmludGYoIkludGVnZXIgcGFydDogJWRcbiIsIGludE51bWJlcik7CiAgICAgICAgICAgICAgICB9ClswLTldK1wuWzAtOV0rZVsrLV0/WzAtOV0rICAgIHsKICAgICAgICAgICAgICAgICAgICBmbG9hdCBmbG9hdE51bWJlciA9IGF0b2YoeXl0ZXh0KTsKICAgICAgICAgICAgICAgICAgICBpbnQgaW50TnVtYmVyID0gKGludClmbG9hdE51bWJlcjsKICAgICAgICAgICAgICAgICAgICBwcmludGYoIkZsb2F0aW5nLXBvaW50IG51bWJlcjogJWZcbiIsIGZsb2F0TnVtYmVyKTsKICAgICAgICAgICAgICAgICAgICBwcmludGYoIkludGVnZXIgcGFydDogJWRcbiIsIGludE51bWJlcik7CiAgICAgICAgICAgICAgICB9Ci58XG4gICAgICAgICAgICAgICAgOyAvLyBJZ25vcmUgYWxsIG90aGVyIGNoYXJhY3RlcnMKCiUlCgppbnQgbWFpbigpIHsKICAgIHl5bGV4KCk7CiAgICByZXR1cm4gMDsKfQ==