summaryrefslogtreecommitdiff
path: root/yacclex/wc/wc.l
blob: f500a9e8faf3151d931a09cf3351d3ead2cfaa0d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
%{
unsigned long long chars = 0;
unsigned long long words = 0;
unsigned long long lines = 0;
%}

%%

[^ \t\n\r\f\v]+ { words ++; chars += strlen(yytext); }
\n              { chars ++; lines ++;                }
.               { chars ++;                          }

%%

int main (void) {
	yylex();
	printf("%8llu%8llu%8llu\n", lines, words, chars);
}

int yywrap() {
	return 1;
}