1 //  This file is part of flex.
2 //
3 //  Redistribution and use in source and binary forms, with or without
4 //  modification, are permitted provided that the following conditions
5 //  are met:
6 //
7 //  1. Redistributions of source code must retain the above copyright
8 //     notice, this list of conditions and the following disclaimer.
9 //  2. Redistributions in binary form must reproduce the above copyright
10 //     notice, this list of conditions and the following disclaimer in the
11 //     documentation and/or other materials provided with the distribution.
12 //
13 //  Neither the name of the University nor the names of its contributors
14 //  may be used to endorse or promote products derived from this software
15 //  without specific prior written permission.
16 //
17 //  THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
18 //  IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
19 //  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20 //  PURPOSE.
21
22%{
23#include "config.h"
24
25%}
26
27%option 8bit prefix="S2_"
28%option nounput nomain
29%option warn stack noyy_top_state
30
31%x OFF
32%x ON
33%%
34<INITIAL>{
35on    yy_push_state(ON); return 3;
36off   yy_push_state(OFF); return 4;
37.|\n  return 5;
38}
39<ON>.|\n  yy_pop_state(); return 6;
40
41<OFF>.|\n yy_pop_state(); return 7;
42%%
43
44int S2_FlexLexer::yywrap()
45{
46    std::cout << "NOW WRAPPING." << std::endl;
47    return 1;
48}
49