
This brings our tree to NetBSD 7.0, as found on -current on the 10-10-2015. This updates: - LLVM to 3.6.1 - GCC to GCC 5.1 - Replace minix/commands/zdump with usr.bin/zdump - external/bsd/libelf has moved to /external/bsd/elftoolchain/ - Import ctwm - Drop sprintf from libminc Change-Id: I149836ac18e9326be9353958bab9b266efb056f0
29 lines
680 B
Plaintext
29 lines
680 B
Plaintext
/* Fastest version of wc: add rules to pick up newlines, too */
|
|
|
|
ws [ \t]
|
|
nonws [^ \t\n]
|
|
word {ws}*{nonws}+
|
|
words {word}{ws}+
|
|
|
|
%option main noyywrap
|
|
%%
|
|
int cc = 0, wc = 0, lc = 0;
|
|
|
|
{word}{ws}* ++wc; cc += yyleng;
|
|
{word}{ws}*\n ++wc; cc += yyleng; ++lc;
|
|
{words}{word}{ws}* wc += 2; cc += yyleng;
|
|
{words}{word}{ws}*\n wc += 2; cc += yyleng; ++lc;
|
|
{words}{2}{word}{ws}* wc += 3; cc += yyleng;
|
|
{words}{2}{word}{ws}*\n wc += 3; cc += yyleng; ++lc;
|
|
{words}{3}{word}{ws}* wc += 4; cc += yyleng;
|
|
{words}{3}{word}{ws}*\n wc += 4; cc += yyleng; ++lc;
|
|
|
|
{ws}+ cc += yyleng;
|
|
|
|
\n+ cc += yyleng; lc += yyleng;
|
|
|
|
<<EOF>> {
|
|
printf( "%8d %8d %8d\n", lc, wc, cc );
|
|
yyterminate();
|
|
}
|