%{
#include<stdio.h>
%}
%%
"bool"|"int"|"float"|"char"|"if"|"else"|"while"|"for"|"do"|"continue"|"break"|"return"|"void"
{ printf("Keyword\n"); }
\/\/[^\n]* { /* Ignore single line comment */ }
\/\*([^*]|\*+[^*/])*\*+\/
{ /* Ignore multi line comment */ }
[ \t\n]+ { /* Ignore spaces, tabs and newlines */ }
[0-9]+(\.[0-9]+)?
{ printf("Constant\n"); }
[A-Za-z_][A-Za-z0-9_]*
{ printf("Identifier\n"); }
"=="|"!="|"<="|">="|"++"|"--"|"&&"|"||"|[+\-*/%=<>!]
{ printf("Operator\n"); }
[(){};,] { /* Ignore punctuation */ }
. { /* Ignore other characters */ }
%%
int main()
{
printf("Enter the input:\n");
yylex();
return 0;
}
CiV7CiNpbmNsdWRlPHN0ZGlvLmg+CiV9CgolJQoiYm9vbCJ8ImludCJ8ImZsb2F0InwiY2hhciJ8ImlmInwiZWxzZSJ8IndoaWxlInwiZm9yInwiZG8ifCJjb250aW51ZSJ8ImJyZWFrInwicmV0dXJuInwidm9pZCIKICAgICAgICAgICAgICAgIHsgcHJpbnRmKCJLZXl3b3JkXG4iKTsgfQoKXC9cL1teXG5dKiAgICAgIHsgLyogSWdub3JlIHNpbmdsZSBsaW5lIGNvbW1lbnQgKi8gfQoKXC9cKihbXipdfFwqK1teKi9dKSpcKitcLwogICAgICAgICAgICAgICAgeyAvKiBJZ25vcmUgbXVsdGkgbGluZSBjb21tZW50ICovIH0KClsgXHRcbl0rICAgICAgICB7IC8qIElnbm9yZSBzcGFjZXMsIHRhYnMgYW5kIG5ld2xpbmVzICovIH0KClswLTldKyhcLlswLTldKyk/CiAgICAgICAgICAgICAgICB7IHByaW50ZigiQ29uc3RhbnRcbiIpOyB9CgpbQS1aYS16X11bQS1aYS16MC05X10qCiAgICAgICAgICAgICAgICB7IHByaW50ZigiSWRlbnRpZmllclxuIik7IH0KCiI9PSJ8IiE9InwiPD0ifCI+PSJ8IisrInwiLS0ifCImJiJ8Inx8InxbK1wtKi8lPTw+IV0KICAgICAgICAgICAgICAgIHsgcHJpbnRmKCJPcGVyYXRvclxuIik7IH0KClsoKXt9OyxdICAgICAgICB7IC8qIElnbm9yZSBwdW5jdHVhdGlvbiAqLyB9CgouICAgICAgICAgICAgICAgeyAvKiBJZ25vcmUgb3RoZXIgY2hhcmFjdGVycyAqLyB9CgolJQoKaW50IG1haW4oKQp7CiAgICBwcmludGYoIkVudGVyIHRoZSBpbnB1dDpcbiIpOwogICAgeXlsZXgoKTsKICAgIHJldHVybiAwOwp9Cg==