%option noyywrap
%{
#include <stdio.h>
%}
%%
[ \t\n]+ { printf("white Space\n"); }
int
|float|return
{ printf
("Keyword
: %s\n", yytext); }[a-zA-Z_][a-zA-Z0-9_]* { printf("Identifier: %s\n", yytext); }
[0-9]+(\
.[0-9]+)?
{ printf
("
Number: %s\n", yytext); } [+\-*/=] { printf("Operator: %s\n", yytext); }
[\(\)\{\}\[\];,] { printf("Special character: %s\n", yytext); }
. { printf("Unknown character: %s\n", yytext); }
%%
int main(void) {
yylex();
return 0;
}
abc123 _test var1
12 45.67 89.0
JW9wdGlvbiBub3l5d3JhcAolewojaW5jbHVkZSA8c3RkaW8uaD4KJX0KCiUlClsgXHRcbl0rICAgICAgICAgICAgICAgICB7IHByaW50Zigid2hpdGUgU3BhY2VcbiIpOyB9CmludHxmbG9hdHxyZXR1cm4gICAgICAgICB7IHByaW50ZigiS2V5d29yZDogJXNcbiIsIHl5dGV4dCk7IH0KW2EtekEtWl9dW2EtekEtWjAtOV9dKiAgIHsgcHJpbnRmKCJJZGVudGlmaWVyOiAlc1xuIiwgeXl0ZXh0KTsgfQpbMC05XSsoXC5bMC05XSspPyAgICAgICAgeyBwcmludGYoIk51bWJlcjogJXNcbiIsIHl5dGV4dCk7IH0KWytcLSovPV0gICAgICAgICAgICAgICAgIHsgcHJpbnRmKCJPcGVyYXRvcjogJXNcbiIsIHl5dGV4dCk7IH0KW1woXClce1x9XFtcXTssXSAgICAgICAgIHsgcHJpbnRmKCJTcGVjaWFsIGNoYXJhY3RlcjogJXNcbiIsIHl5dGV4dCk7IH0KLiAgICAgICAgICAgICAgICAgICAgICAgIHsgcHJpbnRmKCJVbmtub3duIGNoYXJhY3RlcjogJXNcbiIsIHl5dGV4dCk7IH0KJSUKCmludCBtYWluKHZvaWQpIHsKICAgIHl5bGV4KCk7CiAgICByZXR1cm4gMDsKfQphYmMxMjMgX3Rlc3QgdmFyMQoxMiA0NS42NyA4OS4w