18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/* Oops; slight change from wc3.l introduces backtracking */
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}*		cc += yyleng; ++wc;
128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{word}{ws}*\n		cc += yyleng; ++wc; ++lc;
138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{words}{word}		cc += yyleng; wc += 2;	/* oops */
148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{words}{2}{word}{ws}*	cc += yyleng; wc += 3;
158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{words}{3}{word}{ws}*	cc += yyleng; wc += 4;
168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{ws}+			cc += yyleng;
188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project\n+			cc += yyleng; lc += yyleng;
208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project<<EOF>>		{
228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		printf( "%8d %8d %8d\n", lc, wc, cc );
238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		yyterminate();
248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project		}
25