%{
int n = 0 ;
%}
// rule section
%%
"while"|"if"|"else" {n++;printf("\t keywords : %s", yytext);}
"int"|"float" {n++;printf("\t keywords : %s", yytext);}
// count
number of identifiers
[a-zA-Z_][a-zA-Z0-9_]* {n++;printf("\t identifier : %s", yytext);}
"<="|"=="|"="|"++"|"-"|"*"|"+" {n++;printf("\t operator : %s", yytext);}
[(){}|, ;] {n++;printf("\t separator : %s", yytext);}
[0-9]*"
."
[0-9]+ {n
++;printf
("\t
float : %s", yytext);}
[0-9]+ {n
++;printf
("\t
integer : %s", yytext);}
. ;
%%
int main()
{
yylex();
printf("\n total no. of token = %d\n", n);
}
JXsgIAppbnQgbiA9IDAgOyAgIAolfSAgCiAgCi8vIHJ1bGUgc2VjdGlvbiAKJSUgIAogIAovL2NvdW50IG51bWJlciBvZiBrZXl3b3JkcyAKIndoaWxlInwiaWYifCJlbHNlIiB7bisrO3ByaW50ZigiXHQga2V5d29yZHMgOiAlcyIsIHl5dGV4dCk7fSAgIAogIAovLyBjb3VudCBudW1iZXIgb2Yga2V5d29yZHMgCiJpbnQifCJmbG9hdCIge24rKztwcmludGYoIlx0IGtleXdvcmRzIDogJXMiLCB5eXRleHQpO30gICAgCiAgCi8vIGNvdW50IG51bWJlciBvZiBpZGVudGlmaWVycyAKW2EtekEtWl9dW2EtekEtWjAtOV9dKiB7bisrO3ByaW50ZigiXHQgaWRlbnRpZmllciA6ICVzIiwgeXl0ZXh0KTt9ICAKICAKLy8gY291bnQgbnVtYmVyIG9mIG9wZXJhdG9ycyAKIjw9InwiPT0ifCI9InwiKysifCItInwiKiJ8IisiIHtuKys7cHJpbnRmKCJcdCBvcGVyYXRvciA6ICVzIiwgeXl0ZXh0KTt9IAogIAovLyBjb3VudCBudW1iZXIgb2Ygc2VwYXJhdG9ycyAKWygpe318LCA7XSAgICB7bisrO3ByaW50ZigiXHQgc2VwYXJhdG9yIDogJXMiLCB5eXRleHQpO30gIAogIAovLyBjb3VudCBudW1iZXIgb2YgZmxvYXRzIApbMC05XSoiLiJbMC05XSsge24rKztwcmludGYoIlx0IGZsb2F0IDogJXMiLCB5eXRleHQpO30gICAKICAKLy8gY291bnQgbnVtYmVyIG9mIGludGVnZXJzIApbMC05XSsge24rKztwcmludGYoIlx0IGludGVnZXIgOiAlcyIsIHl5dGV4dCk7fSAgICAgICAgICAgICAgICAgICAgICAgICAKICAKLiAgICA7IAolJSAgCiAgIAogICAKaW50IG1haW4oKSAgCiAgCnsgIAogICAgICAKICAgIHl5bGV4KCk7IAogICAgICAKICAgIHByaW50ZigiXG4gdG90YWwgbm8uIG9mIHRva2VuID0gJWRcbiIsIG4pOyAgICAKICAgICAgIAp9ICA=