%{
#include <stdio.h>
%}
%%
if { printf("Keyword: if\n"); }
else { printf("Keyword: else\n"); }
for { printf("Keyword: for\n"); }
while { printf("Keyword: while\n"); }
do { printf("Keyword: do\n"); }
int { printf("Keyword: int\n"); }
double { printf("Keyword: double\n"); }
[+\-*/%] { printf("Operator: %s\n", yytext); }
[<>=!]=? { printf("Relational Operator: %s\n", yytext); }
[ \t\n] {}
. { printf("Unknown: %s\n", yytext); }
%%
int main()
{
yylex();
return 0;
}
int yywrap()
{
return 1;
}
JXsKI2luY2x1ZGUgPHN0ZGlvLmg+CiV9CgolJQppZiAgICAgIHsgcHJpbnRmKCJLZXl3b3JkOiBpZlxuIik7IH0KZWxzZSAgICB7IHByaW50ZigiS2V5d29yZDogZWxzZVxuIik7IH0KZm9yICAgICB7IHByaW50ZigiS2V5d29yZDogZm9yXG4iKTsgfQp3aGlsZSAgIHsgcHJpbnRmKCJLZXl3b3JkOiB3aGlsZVxuIik7IH0KZG8gICAgICB7IHByaW50ZigiS2V5d29yZDogZG9cbiIpOyB9CmludCAgICAgeyBwcmludGYoIktleXdvcmQ6IGludFxuIik7IH0KZmxvYXQgICB7IHByaW50ZigiS2V5d29yZDogZmxvYXRcbiIpOyB9CmRvdWJsZSAgeyBwcmludGYoIktleXdvcmQ6IGRvdWJsZVxuIik7IH0KWytcLSovJV0gICAgICAgIHsgcHJpbnRmKCJPcGVyYXRvcjogJXNcbiIsIHl5dGV4dCk7IH0KWzw+PSFdPT8gICAgICAgIHsgcHJpbnRmKCJSZWxhdGlvbmFsIE9wZXJhdG9yOiAlc1xuIiwgeXl0ZXh0KTsgfQpbIFx0XG5dICAgICAgICAge30KLiAgICAgICAgICAgICAgIHsgcHJpbnRmKCJVbmtub3duOiAlc1xuIiwgeXl0ZXh0KTsgfQolJQoKaW50IG1haW4oKSAKeyAKCXl5bGV4KCk7IAoJcmV0dXJuIDA7IAp9CmludCB5eXdyYXAoKSAKewogICAgICAgcmV0dXJuIDE7Cn0K