%{
#include <stdio.h>
%}

letter      [a-zA-Z]
digit       [0-9]
id          {letter}({letter}|{digit})*
number      {digit}+(\.{digit}+)? 

%%

"int"|"float"|"char"|"if"|"else"|"while"|"for"|"return"|"void"
            { printf("Keyword: %s\n", yytext); }

{id}        { printf("Identifier: %s\n", yytext); }

{number}    { printf("Number: %s\n", yytext); }

"+"|"-"|"*"|"/"|"="|"=="|"!="|"<"|">"|"<="|">="
            { printf("Operator: %s\n", yytext); }

";"|","|"("|")"|"{"|"}"|"["|"]"
            { printf("Special Symbol: %s\n", yytext); }

[ \t\n]+    ;    /* Ignore whitespace */

.           { printf("Unknown Character: %s\n", yytext); }

%%

int yywrap()
{
    return 1;
}

int main()
{
    printf("Enter the input:\n");
    yylex();
    return 0;
}