%option noyywrap
%{
#include <stdio.h>
int charCount = 0, wordCount = 0, sentenceCount = 0, lineCount = 0, tabCount = 0, numberCount = 0;
%}
%%
[a-zA-Z] { charCount++; }
[ \t] { tabCount++; }
[0-9]+ { numberCount++; }
\n { lineCount++; }
[.!?] { sentenceCount++; }
[a-zA-Z]+ { wordCount++; }
%%
int main() {
yylex();
printf("Character count: %d\n", charCount);
printf("Word count: %d\n", wordCount);
printf("Sentence count: %d\n", sentenceCount);
printf("Line count: %d\n", lineCount);
printf("Tab count: %d\n", tabCount);
printf
("
Number count
: %d\n", numberCount);
return 0;
}
JW9wdGlvbiBub3l5d3JhcAolewojaW5jbHVkZSA8c3RkaW8uaD4KaW50IGNoYXJDb3VudCA9IDAsIHdvcmRDb3VudCA9IDAsIHNlbnRlbmNlQ291bnQgPSAwLCBsaW5lQ291bnQgPSAwLCB0YWJDb3VudCA9IDAsIG51bWJlckNvdW50ID0gMDsKJX0KCiUlClthLXpBLVpdICAgeyBjaGFyQ291bnQrKzsgfQpbIFx0XSAgICAgIHsgdGFiQ291bnQrKzsgfQpbMC05XSsgICAgIHsgbnVtYmVyQ291bnQrKzsgfQpcbiAgICAgICAgIHsgbGluZUNvdW50Kys7IH0KWy4hP10gICAgICB7IHNlbnRlbmNlQ291bnQrKzsgfQpbYS16QS1aXSsgIHsgd29yZENvdW50Kys7IH0KJSUKCmludCBtYWluKCkgewogICAgeXlsZXgoKTsKICAgIAogICAgcHJpbnRmKCJDaGFyYWN0ZXIgY291bnQ6ICVkXG4iLCBjaGFyQ291bnQpOwogICAgcHJpbnRmKCJXb3JkIGNvdW50OiAlZFxuIiwgd29yZENvdW50KTsKICAgIHByaW50ZigiU2VudGVuY2UgY291bnQ6ICVkXG4iLCBzZW50ZW5jZUNvdW50KTsKICAgIHByaW50ZigiTGluZSBjb3VudDogJWRcbiIsIGxpbmVDb3VudCk7CiAgICBwcmludGYoIlRhYiBjb3VudDogJWRcbiIsIHRhYkNvdW50KTsKICAgIHByaW50ZigiTnVtYmVyIGNvdW50OiAlZFxuIiwgbnVtYmVyQ291bnQpOwoKICAgIHJldHVybiAwOwp9Cg==