Documente Academic
Documente Profesional
Documente Cultură
1
2
3
21-08-2015
4
5
6
7
8
9
10
11
12
13
//
//
//
//
//
//
//
//
//
14
15
16
17
18
19
//
//
//
//
//
//
//
//
Neither the name of the University nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
//
//
//
//
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
46
47
48
49
#ifndef __FLEX_LEXER_H
// Never included before - need to define base class.
#define __FLEX_LEXER_H
50
51
52
53
#include <iostream>
# ifndef FLEX_STD
#
define FLEX_STD std::
Page 1
FlexLexer.h
54
21-08-2015
endif
55
56
extern "C++" {
57
58
59
struct yy_buffer_state;
typedef int yy_state_type;
60
61
62
63
class FlexLexer {
public:
virtual ~FlexLexer()
{ }
64
65
66
67
68
69
70
71
72
73
virtual void
yy_switch_to_buffer( struct yy_buffer_state* new_buffer ) = 0;
virtual struct yy_buffer_state*
yy_create_buffer( FLEX_STD istream* s, int size ) = 0;
virtual void yy_delete_buffer( struct yy_buffer_state* b ) = 0;
virtual void yyrestart( FLEX_STD istream* s ) = 0;
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
{ return yylineno; }
90
91
92
93
94
95
96
97
98
99
protected:
char* yytext;
int yyleng;
int yylineno;
int yy_flex_debug;
};
100
101
102
}
#endif // FLEXLEXER_H
103
104
105
106
FlexLexer.h
107
108
21-08-2015
109
110
extern "C++" {
111
112
113
114
115
116
117
118
virtual ~yyFlexLexer();
119
120
121
122
123
124
125
126
127
128
129
130
virtual
virtual
new_out = 0
virtual
int yylex();
void switch_streams( FLEX_STD istream* new_in, FLEX_STD ostream*
);
int yywrap();
131
132
133
134
135
protected:
virtual int LexerInput( char* buf, int max_size );
virtual void LexerOutput( const char* buf, int size );
virtual void LexerError( const char* msg );
136
137
138
139
140
141
142
void yy_load_buffer_state();
void yy_init_buffer( struct yy_buffer_state* b, FLEX_STD istream* s );
void yy_flush_buffer( struct yy_buffer_state* b );
143
144
145
146
int yy_start_stack_ptr;
int yy_start_stack_depth;
int* yy_start_stack;
147
148
149
150
151
152
153
154
yy_state_type yy_get_previous_state();
yy_state_type yy_try_NUL_trans( yy_state_type current_state );
int yy_get_next_buffer();
155
156
157
FlexLexer.h
21-08-2015
158
159
160
161
162
163
164
165
166
167
int yy_init;
int yy_start;
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
yy_state_type yy_last_accepting_state;
char* yy_last_accepting_cpos;
184
185
186
yy_state_type* yy_state_buf;
yy_state_type* yy_state_ptr;
187
188
189
char* yy_full_match;
int* yy_full_state;
int yy_full_lp;
190
191
192
193
int yy_lp;
int yy_looking_for_trail_begin;
194
195
196
int
int
int
int
197
198
199
200
201
yy_more_flag;
yy_more_len;
yy_more_offset;
yy_prev_more_offset;
};
202
203
204
205
206
207
Page 4