%{ #include <stdio.h> %}
%% -?[0-9]+\.[0-9]+([eE][+-]?[0-9]+)? { printf("Floating point number: %s\n", yytext); } -?[0-9]+([eE][+-]?[0-9]+) { printf("Scientific notation number: %s\n", yytext); } -?[0-9]+ { printf("Integer number: %s\n", yytext); } [ \t\n]+ { /* Ignore whitespace */ } . { /* Ignore any other character */ } %%
int main
() { printf
("Enter a
number:\n"
); yylex
(); return
0; }
JXsgI2luY2x1ZGUgPHN0ZGlvLmg+ICV9CiUlIC0/WzAtOV0rXC5bMC05XSsoW2VFXVsrLV0/WzAtOV0rKT8geyBwcmludGYoIkZsb2F0aW5nIHBvaW50IG51bWJlcjogJXNcbiIsIHl5dGV4dCk7IH0gLT9bMC05XSsoW2VFXVsrLV0/WzAtOV0rKSB7IHByaW50ZigiU2NpZW50aWZpYyBub3RhdGlvbiBudW1iZXI6ICVzXG4iLCB5eXRleHQpOyB9IC0/WzAtOV0rIHsgcHJpbnRmKCJJbnRlZ2VyIG51bWJlcjogJXNcbiIsIHl5dGV4dCk7IH0gWyBcdFxuXSsgeyAvKiBJZ25vcmUgd2hpdGVzcGFjZSAqLyB9IC4geyAvKiBJZ25vcmUgYW55IG90aGVyIGNoYXJhY3RlciAqLyB9ICUlCmludCBtYWluKCkgeyBwcmludGYoIkVudGVyIGEgbnVtYmVyOlxuIik7IHl5bGV4KCk7IHJldHVybiAwOyB9