%{
#include < stdio. h>
%}
%%
"auto"| "break"| "case"| "char"| "const"| "continue"| "default"| "do"| "double"| "else"| "enum"| "extern"| "float"| "for"| "goto"| "if"| "inline"| "int"| "long"| "register"| "restrict"| "return"| "short"| "signed"| "sizeof"| "static"| "struct"| "switch"| "typedef"| "union"| "unsigned"| "void"| "volatile"| "while" { printf( "Keyword: %s\n",yytext);}
[ a- zA- Z_] [ a- zA- Z0- 9 ] * { printf( "Identifier: %s\n",yytext);}
[ 0 - 9 ] + "
. "
[ 0 - 9 ] + { printf
( "
Float Literal
: %s\n",yytext);} \"( \\. | [ ^\\"] ) * \" { printf( "String Literal: %s\n",yytext);}
\'.\' { printf( "Character Literal: %s\n",yytext);}
"== "| "! = "| "<= "| ">= "| "< "| "> "{ printf( "Relational Operator: %s\n",yytext);}
"( "| ") "| "{ "| "} "| "[ "| "] "| "; "| ", " { printf( "Special Symbol: %s\n",yytext);}
"// ". * { printf( "Single- line Comment\n") ; }
"/*"([^*]|[\r\n]|"*"[^/])*"*/ " { printf( "Multi- line Comment\n") ; }
[ \t\n] + /*Ignore whitespace*/
. { printf( "Unknown Token: %s\n",yytext);}
%%
int main( ) {
yylex( ) ;
return 1 ;
}
JXsKI2luY2x1ZGUgPHN0ZGlvLmg+CiV9CgolJQoKImF1dG8ifCJicmVhayJ8ImNhc2UifCJjaGFyInwiY29uc3QifCJjb250aW51ZSJ8ImRlZmF1bHQifCJkbyJ8ImRvdWJsZSJ8ImVsc2UifCJlbnVtInwiZXh0ZXJuInwiZmxvYXQifCJmb3IifCJnb3RvInwiaWYifCJpbmxpbmUifCJpbnQifCJsb25nInwicmVnaXN0ZXIifCJyZXN0cmljdCJ8InJldHVybiJ8InNob3J0Inwic2lnbmVkInwic2l6ZW9mInwic3RhdGljInwic3RydWN0Inwic3dpdGNoInwidHlwZWRlZiJ8InVuaW9uInwidW5zaWduZWQifCJ2b2lkInwidm9sYXRpbGUifCJ3aGlsZSIgeyBwcmludGYoIktleXdvcmQ6JXNcbiIseXl0ZXh0KTt9CgpbYS16QS1aX11bYS16QS1aMC05XSogeyBwcmludGYoIklkZW50aWZpZXI6JXNcbiIseXl0ZXh0KTt9ClswLTldKyIuIlswLTldKyAgICAgICAgICAgeyBwcmludGYoIkZsb2F0IExpdGVyYWw6JXNcbiIseXl0ZXh0KTt9ClwiKFxcLnxbXlxcIl0pKlwiICAgICAgICAgeyBwcmludGYoIlN0cmluZyBMaXRlcmFsOiVzXG4iLHl5dGV4dCk7fQpcJy5cJyAgICAgICAgICB7IHByaW50ZigiQ2hhcmFjdGVyIExpdGVyYWw6JXNcbiIseXl0ZXh0KTt9CgoiPT0ifCIhPSJ8Ijw9InwiPj0ifCI8InwiPiJ7IHByaW50ZigiUmVsYXRpb25hbCBPcGVyYXRvcjolc1xuIix5eXRleHQpO30KCiIoInwiKSJ8InsifCJ9InwiWyJ8Il0ifCI7InwiLCIgeyBwcmludGYoIlNwZWNpYWwgU3ltYm9sOiVzXG4iLHl5dGV4dCk7fQoKIi8vIi4qICAgICAgIHsgcHJpbnRmKCJTaW5nbGUtbGluZSBDb21tZW50XG4iKTt9CiIvKiIoW14qXXxbXHJcbl18IioiW14vXSkqIiovIiB7IHByaW50ZigiTXVsdGktbGluZSBDb21tZW50XG4iKTt9CgpbXHRcbl0rICAgICAgICAgLypJZ25vcmUgd2hpdGVzcGFjZSovCgouICAgICAgICAgICAgICB7IHByaW50ZigiVW5rbm93biBUb2tlbjolc1xuIix5eXRleHQpO30KCiUlCgppbnQgbWFpbigpewogIHl5bGV4KCk7CiAgcmV0dXJuIDE7CiAgfQ==