summaryrefslogtreecommitdiff
path: root/examples/manual/example_r.lex
blob: 54c94d945c4298fbc47bc457f77e8f85c2cb1eee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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 );
}