18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* Fastest version of wc: add rules to pick up newlines, too */
28e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectws    [ \t]
48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectnonws [^ \t\n]
58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectword  {ws}*{nonws}+
68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectwords {word}{ws}+
78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project%%
98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project	int cc = 0, wc = 0, lc = 0;
108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{word}{ws}*		++wc; cc += yyleng;
128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{word}{ws}*\n		++wc; cc += yyleng; ++lc;
138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{words}{word}{ws}*	wc += 2; cc += yyleng;
148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{words}{word}{ws}*\n	wc += 2; cc += yyleng; ++lc;
158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{words}{2}{word}{ws}*	wc += 3; cc += yyleng;
168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{words}{2}{word}{ws}*\n	wc += 3; cc += yyleng; ++lc;
178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{words}{3}{word}{ws}*	wc += 4; cc += yyleng;
188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{words}{3}{word}{ws}*\n	wc += 4; cc += yyleng; ++lc;
198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ws}+			cc += yyleng;
218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project\n+			cc += yyleng; lc += yyleng;
238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project<<EOF>>		{
258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		printf( "%8d %8d %8d\n", lc, wc, cc );
268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		yyterminate();
278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		}
28