%{
#include <stdio.h>
#include <string.h>
int charCount = 0;
int wordCount = 0;
int lineCount = 0;
int digCount = 0;
%}
/* Regular expression definitions */
word [^ \t\n]+
Dig [0-9]+
%%
{Dig} {digCount++;}
"340" {digCount = digCount+10;}
{word} { wordCount++; charCount += strlen(yytext); }
\n { charCount++; lineCount++; }
. { charCount++; }
%%
int main(void) {
yylex();
printf("Characters: %d, Words: %d, Lines: %d, Dig: %d\n",
charCount, wordCount, lineCount, digCount);
return 0;
}
int yywrap(void) {
return 1;
}
CiV7CiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8c3RyaW5nLmg+CgppbnQgY2hhckNvdW50ID0gMDsKaW50IHdvcmRDb3VudCA9IDA7CmludCBsaW5lQ291bnQgPSAwOwppbnQgZGlnQ291bnQgPSAwOwolfQoKLyogUmVndWxhciBleHByZXNzaW9uIGRlZmluaXRpb25zICovCndvcmQgICBbXiBcdFxuXSsKRGlnIFswLTldKwoKJSUKe0RpZ30gICAgICAge2RpZ0NvdW50Kys7fQoiMzQwIiAgICAge2RpZ0NvdW50ID0gZGlnQ291bnQrMTA7fQp7d29yZH0gICAgICB7IHdvcmRDb3VudCsrOyBjaGFyQ291bnQgKz0gc3RybGVuKHl5dGV4dCk7IH0KXG4gICAgICAgICAgeyBjaGFyQ291bnQrKzsgbGluZUNvdW50Kys7IH0KLiAgICAgICAgICAgeyBjaGFyQ291bnQrKzsgfQolJQoKaW50IG1haW4odm9pZCkgewogICAgeXlsZXgoKTsKICAgIHByaW50ZigiQ2hhcmFjdGVyczogJWQsIFdvcmRzOiAlZCwgTGluZXM6ICVkLCBEaWc6ICVkXG4iLAogICAgICAgICAgIGNoYXJDb3VudCwgd29yZENvdW50LCBsaW5lQ291bnQsIGRpZ0NvdW50KTsKICAgIHJldHVybiAwOwp9CmludCB5eXdyYXAodm9pZCkgewogICAgcmV0dXJuIDE7Cn0=