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