summaryrefslogtreecommitdiffstats
path: root/WebKitTools/android/flex-2.5.4a/MISC/fastwc/wc3.l
diff options
context:
space:
mode:
Diffstat (limited to 'WebKitTools/android/flex-2.5.4a/MISC/fastwc/wc3.l')
-rw-r--r--WebKitTools/android/flex-2.5.4a/MISC/fastwc/wc3.l24
1 files changed, 24 insertions, 0 deletions
diff --git a/WebKitTools/android/flex-2.5.4a/MISC/fastwc/wc3.l b/WebKitTools/android/flex-2.5.4a/MISC/fastwc/wc3.l
new file mode 100644
index 0000000..7c5f2e2
--- /dev/null
+++ b/WebKitTools/android/flex-2.5.4a/MISC/fastwc/wc3.l
@@ -0,0 +1,24 @@
+/* Somewhat faster still: potentially match a lot of text with each rule */
+
+ws [ \t]
+nonws [^ \t\n]
+word {ws}*{nonws}+
+words {word}{ws}+
+
+%%
+ int cc = 0, wc = 0, lc = 0;
+
+{word}{ws}* cc += yyleng; ++wc;
+{word}{ws}*\n cc += yyleng; ++wc; ++lc;
+{words}{word}{ws}* cc += yyleng; wc += 2;
+{words}{2}{word}{ws}* cc += yyleng; wc += 3;
+{words}{3}{word}{ws}* cc += yyleng; wc += 4;
+
+{ws}+ cc += yyleng;
+
+\n+ cc += yyleng; lc += yyleng;
+
+<<EOF>> {
+ printf( "%8d %8d %8d\n", lc, wc, cc );
+ yyterminate();
+ }