summaryrefslogtreecommitdiff
path: root/examples/manual/example_r.lex
diff options
context:
space:
mode:
Diffstat (limited to 'examples/manual/example_r.lex')
-rw-r--r--examples/manual/example_r.lex21
1 files changed, 21 insertions, 0 deletions
diff --git a/examples/manual/example_r.lex b/examples/manual/example_r.lex
new file mode 100644
index 0000000..54c94d9
--- /dev/null
+++ b/examples/manual/example_r.lex
@@ -0,0 +1,21 @@
+/* basic example - flawed reentrant version with global */
+%{
+ int num_lines = 0, num_chars = 0;
+%}
+%option reentrant noyywrap
+%%
+\n ++num_lines; ++num_chars;
+. ++num_chars;
+
+%%
+
+int main() {
+ yyscan_t scanner;
+
+ yylex_init ( &scanner );
+ yylex ( scanner );
+ yylex_destroy ( scanner );
+
+ printf( "# of lines = %d, # of chars = %d\n",
+ num_lines, num_chars );
+}