diff options
author | Manoj Srivastava <srivasta@golden-gryphon.com> | 2003-12-03 22:33:17 -0800 |
---|---|---|
committer | Manoj Srivastava <srivasta@golden-gryphon.com> | 2003-12-03 22:33:17 -0800 |
commit | c2b22e08bd48278f2cf125f054c9f6286e345ff0 (patch) | |
tree | 3c0ab722c83ef33913ad293af7d56ce2c4e1fcc9 /examples/fastwc/wc5.l | |
parent | edc848712307fe5c881364e12e520e9fe58d9969 (diff) |
Imported Upstream version 2.5.31
Diffstat (limited to 'examples/fastwc/wc5.l')
-rw-r--r-- | examples/fastwc/wc5.l | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/examples/fastwc/wc5.l b/examples/fastwc/wc5.l new file mode 100644 index 0000000..c479480 --- /dev/null +++ b/examples/fastwc/wc5.l @@ -0,0 +1,25 @@ +/* Oops; slight change from wc3.l introduces backtracking */ + +ws [ \t] +nonws [^ \t\n] +word {ws}*{nonws}+ +words {word}{ws}+ + +%option main noyywrap +%% + int cc = 0, wc = 0, lc = 0; + +{word}{ws}* cc += yyleng; ++wc; +{word}{ws}*\n cc += yyleng; ++wc; ++lc; +{words}{word} cc += yyleng; wc += 2; /* oops */ +{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(); + } |