Root/
Source at commit 1322 created 12 years 8 months ago. By meklort, Add doxygen to utils folder | |
---|---|
1 | ␊ |
2 | #line 3 "<stdout>"␊ |
3 | ␊ |
4 | #define YY_INT_ALIGNED short int␊ |
5 | ␊ |
6 | /* A lexical scanner generated by flex */␊ |
7 | ␊ |
8 | #define yy_create_buffer tagYY_create_buffer␊ |
9 | #define yy_delete_buffer tagYY_delete_buffer␊ |
10 | #define yy_flex_debug tagYY_flex_debug␊ |
11 | #define yy_init_buffer tagYY_init_buffer␊ |
12 | #define yy_flush_buffer tagYY_flush_buffer␊ |
13 | #define yy_load_buffer_state tagYY_load_buffer_state␊ |
14 | #define yy_switch_to_buffer tagYY_switch_to_buffer␊ |
15 | #define yyin tagYYin␊ |
16 | #define yyleng tagYYleng␊ |
17 | #define yylex tagYYlex␊ |
18 | #define yylineno tagYYlineno␊ |
19 | #define yyout tagYYout␊ |
20 | #define yyrestart tagYYrestart␊ |
21 | #define yytext tagYYtext␊ |
22 | #define yywrap tagYYwrap␊ |
23 | #define yyalloc tagYYalloc␊ |
24 | #define yyrealloc tagYYrealloc␊ |
25 | #define yyfree tagYYfree␊ |
26 | ␊ |
27 | #define FLEX_SCANNER␊ |
28 | #define YY_FLEX_MAJOR_VERSION 2␊ |
29 | #define YY_FLEX_MINOR_VERSION 5␊ |
30 | #define YY_FLEX_SUBMINOR_VERSION 35␊ |
31 | #if YY_FLEX_SUBMINOR_VERSION > 0␊ |
32 | #define FLEX_BETA␊ |
33 | #endif␊ |
34 | ␊ |
35 | /* First, we deal with platform-specific or compiler-specific issues. */␊ |
36 | ␊ |
37 | /* begin standard C headers. */␊ |
38 | #include <stdio.h>␊ |
39 | #include <string.h>␊ |
40 | #include <errno.h>␊ |
41 | #include <stdlib.h>␊ |
42 | ␊ |
43 | /* end standard C headers. */␊ |
44 | ␊ |
45 | /* flex integer type definitions */␊ |
46 | ␊ |
47 | #ifndef FLEXINT_H␊ |
48 | #define FLEXINT_H␊ |
49 | ␊ |
50 | /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */␊ |
51 | ␊ |
52 | #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L␊ |
53 | ␊ |
54 | /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,␊ |
55 | * if you want the limit (max/min) macros for int types. ␊ |
56 | */␊ |
57 | #ifndef __STDC_LIMIT_MACROS␊ |
58 | #define __STDC_LIMIT_MACROS 1␊ |
59 | #endif␊ |
60 | ␊ |
61 | #include <inttypes.h>␊ |
62 | typedef int8_t flex_int8_t;␊ |
63 | typedef uint8_t flex_uint8_t;␊ |
64 | typedef int16_t flex_int16_t;␊ |
65 | typedef uint16_t flex_uint16_t;␊ |
66 | typedef int32_t flex_int32_t;␊ |
67 | typedef uint32_t flex_uint32_t;␊ |
68 | #else␊ |
69 | typedef signed char flex_int8_t;␊ |
70 | typedef short int flex_int16_t;␊ |
71 | typedef int flex_int32_t;␊ |
72 | typedef unsigned char flex_uint8_t; ␊ |
73 | typedef unsigned short int flex_uint16_t;␊ |
74 | typedef unsigned int flex_uint32_t;␊ |
75 | #endif /* ! C99 */␊ |
76 | ␊ |
77 | /* Limits of integral types. */␊ |
78 | #ifndef INT8_MIN␊ |
79 | #define INT8_MIN (-128)␊ |
80 | #endif␊ |
81 | #ifndef INT16_MIN␊ |
82 | #define INT16_MIN (-32767-1)␊ |
83 | #endif␊ |
84 | #ifndef INT32_MIN␊ |
85 | #define INT32_MIN (-2147483647-1)␊ |
86 | #endif␊ |
87 | #ifndef INT8_MAX␊ |
88 | #define INT8_MAX (127)␊ |
89 | #endif␊ |
90 | #ifndef INT16_MAX␊ |
91 | #define INT16_MAX (32767)␊ |
92 | #endif␊ |
93 | #ifndef INT32_MAX␊ |
94 | #define INT32_MAX (2147483647)␊ |
95 | #endif␊ |
96 | #ifndef UINT8_MAX␊ |
97 | #define UINT8_MAX (255U)␊ |
98 | #endif␊ |
99 | #ifndef UINT16_MAX␊ |
100 | #define UINT16_MAX (65535U)␊ |
101 | #endif␊ |
102 | #ifndef UINT32_MAX␊ |
103 | #define UINT32_MAX (4294967295U)␊ |
104 | #endif␊ |
105 | ␊ |
106 | #endif /* ! FLEXINT_H */␊ |
107 | ␊ |
108 | #ifdef __cplusplus␊ |
109 | ␊ |
110 | /* The "const" storage-class-modifier is valid. */␊ |
111 | #define YY_USE_CONST␊ |
112 | ␊ |
113 | #else␉/* ! __cplusplus */␊ |
114 | ␊ |
115 | /* C99 requires __STDC__ to be defined as 1. */␊ |
116 | #if defined (__STDC__)␊ |
117 | ␊ |
118 | #define YY_USE_CONST␊ |
119 | ␊ |
120 | #endif␉/* defined (__STDC__) */␊ |
121 | #endif␉/* ! __cplusplus */␊ |
122 | ␊ |
123 | #ifdef YY_USE_CONST␊ |
124 | #define yyconst const␊ |
125 | #else␊ |
126 | #define yyconst␊ |
127 | #endif␊ |
128 | ␊ |
129 | /* Returned upon end-of-file. */␊ |
130 | #define YY_NULL 0␊ |
131 | ␊ |
132 | /* Promotes a possibly negative, possibly signed char to an unsigned␊ |
133 | * integer for use as an array index. If the signed char is negative,␊ |
134 | * we want to instead treat it as an 8-bit unsigned char, hence the␊ |
135 | * double cast.␊ |
136 | */␊ |
137 | #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)␊ |
138 | ␊ |
139 | /* Enter a start condition. This macro really ought to take a parameter,␊ |
140 | * but we do it the disgusting crufty way forced on us by the ()-less␊ |
141 | * definition of BEGIN.␊ |
142 | */␊ |
143 | #define BEGIN (yy_start) = 1 + 2 *␊ |
144 | ␊ |
145 | /* Translate the current start state into a value that can be later handed␊ |
146 | * to BEGIN to return to the state. The YYSTATE alias is for lex␊ |
147 | * compatibility.␊ |
148 | */␊ |
149 | #define YY_START (((yy_start) - 1) / 2)␊ |
150 | #define YYSTATE YY_START␊ |
151 | ␊ |
152 | /* Action number for EOF rule of a given start state. */␊ |
153 | #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)␊ |
154 | ␊ |
155 | /* Special action meaning "start processing a new file". */␊ |
156 | #define YY_NEW_FILE tagYYrestart(tagYYin )␊ |
157 | ␊ |
158 | #define YY_END_OF_BUFFER_CHAR 0␊ |
159 | ␊ |
160 | /* Size of default input buffer. */␊ |
161 | #ifndef YY_BUF_SIZE␊ |
162 | #define YY_BUF_SIZE 16384␊ |
163 | #endif␊ |
164 | ␊ |
165 | /* The state buf must be large enough to hold one state per character in the main buffer.␊ |
166 | */␊ |
167 | #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))␊ |
168 | ␊ |
169 | #ifndef YY_TYPEDEF_YY_BUFFER_STATE␊ |
170 | #define YY_TYPEDEF_YY_BUFFER_STATE␊ |
171 | typedef struct yy_buffer_state *YY_BUFFER_STATE;␊ |
172 | #endif␊ |
173 | ␊ |
174 | #ifndef YY_TYPEDEF_YY_SIZE_T␊ |
175 | #define YY_TYPEDEF_YY_SIZE_T␊ |
176 | typedef size_t yy_size_t;␊ |
177 | #endif␊ |
178 | ␊ |
179 | extern yy_size_t tagYYleng;␊ |
180 | ␊ |
181 | extern FILE *tagYYin, *tagYYout;␊ |
182 | ␊ |
183 | #define EOB_ACT_CONTINUE_SCAN 0␊ |
184 | #define EOB_ACT_END_OF_FILE 1␊ |
185 | #define EOB_ACT_LAST_MATCH 2␊ |
186 | ␊ |
187 | #define YY_LESS_LINENO(n)␊ |
188 | ␊ |
189 | /* Return all but the first "n" matched characters back to the input stream. */␊ |
190 | #define yyless(n) \␊ |
191 | ␉do \␊ |
192 | ␉␉{ \␊ |
193 | ␉␉/* Undo effects of setting up tagYYtext. */ \␊ |
194 | int yyless_macro_arg = (n); \␊ |
195 | YY_LESS_LINENO(yyless_macro_arg);\␊ |
196 | ␉␉*yy_cp = (yy_hold_char); \␊ |
197 | ␉␉YY_RESTORE_YY_MORE_OFFSET \␊ |
198 | ␉␉(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \␊ |
199 | ␉␉YY_DO_BEFORE_ACTION; /* set up tagYYtext again */ \␊ |
200 | ␉␉} \␊ |
201 | ␉while ( 0 )␊ |
202 | ␊ |
203 | #define unput(c) yyunput( c, (yytext_ptr) )␊ |
204 | ␊ |
205 | #ifndef YY_STRUCT_YY_BUFFER_STATE␊ |
206 | #define YY_STRUCT_YY_BUFFER_STATE␊ |
207 | struct yy_buffer_state␊ |
208 | ␉{␊ |
209 | ␉FILE *yy_input_file;␊ |
210 | ␊ |
211 | ␉char *yy_ch_buf;␉␉/* input buffer */␊ |
212 | ␉char *yy_buf_pos;␉␉/* current position in input buffer */␊ |
213 | ␊ |
214 | ␉/* Size of input buffer in bytes, not including room for EOB␊ |
215 | ␉ * characters.␊ |
216 | ␉ */␊ |
217 | ␉yy_size_t yy_buf_size;␊ |
218 | ␊ |
219 | ␉/* Number of characters read into yy_ch_buf, not including EOB␊ |
220 | ␉ * characters.␊ |
221 | ␉ */␊ |
222 | ␉yy_size_t yy_n_chars;␊ |
223 | ␊ |
224 | ␉/* Whether we "own" the buffer - i.e., we know we created it,␊ |
225 | ␉ * and can realloc() it to grow it, and should free() it to␊ |
226 | ␉ * delete it.␊ |
227 | ␉ */␊ |
228 | ␉int yy_is_our_buffer;␊ |
229 | ␊ |
230 | ␉/* Whether this is an "interactive" input source; if so, and␊ |
231 | ␉ * if we're using stdio for input, then we want to use getc()␊ |
232 | ␉ * instead of fread(), to make sure we stop fetching input after␊ |
233 | ␉ * each newline.␊ |
234 | ␉ */␊ |
235 | ␉int yy_is_interactive;␊ |
236 | ␊ |
237 | ␉/* Whether we're considered to be at the beginning of a line.␊ |
238 | ␉ * If so, '^' rules will be active on the next match, otherwise␊ |
239 | ␉ * not.␊ |
240 | ␉ */␊ |
241 | ␉int yy_at_bol;␊ |
242 | ␊ |
243 | int yy_bs_lineno; /**< The line count. */␊ |
244 | int yy_bs_column; /**< The column count. */␊ |
245 | ␊ |
246 | ␉/* Whether to try to fill the input buffer when we reach the␊ |
247 | ␉ * end of it.␊ |
248 | ␉ */␊ |
249 | ␉int yy_fill_buffer;␊ |
250 | ␊ |
251 | ␉int yy_buffer_status;␊ |
252 | ␊ |
253 | #define YY_BUFFER_NEW 0␊ |
254 | #define YY_BUFFER_NORMAL 1␊ |
255 | ␉/* When an EOF's been seen but there's still some text to process␊ |
256 | ␉ * then we mark the buffer as YY_EOF_PENDING, to indicate that we␊ |
257 | ␉ * shouldn't try reading from the input source any more. We might␊ |
258 | ␉ * still have a bunch of tokens to match, though, because of␊ |
259 | ␉ * possible backing-up.␊ |
260 | ␉ *␊ |
261 | ␉ * When we actually see the EOF, we change the status to "new"␊ |
262 | ␉ * (via tagYYrestart()), so that the user can continue scanning by␊ |
263 | ␉ * just pointing tagYYin at a new input file.␊ |
264 | ␉ */␊ |
265 | #define YY_BUFFER_EOF_PENDING 2␊ |
266 | ␊ |
267 | ␉};␊ |
268 | #endif /* !YY_STRUCT_YY_BUFFER_STATE */␊ |
269 | ␊ |
270 | /* Stack of input buffers. */␊ |
271 | static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */␊ |
272 | static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */␊ |
273 | static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */␊ |
274 | ␊ |
275 | /* We provide macros for accessing buffer states in case in the␊ |
276 | * future we want to put the buffer states in a more general␊ |
277 | * "scanner state".␊ |
278 | *␊ |
279 | * Returns the top of the stack, or NULL.␊ |
280 | */␊ |
281 | #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \␊ |
282 | ? (yy_buffer_stack)[(yy_buffer_stack_top)] \␊ |
283 | : NULL)␊ |
284 | ␊ |
285 | /* Same as previous macro, but useful when we know that the buffer stack is not␊ |
286 | * NULL or when we need an lvalue. For internal use only.␊ |
287 | */␊ |
288 | #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]␊ |
289 | ␊ |
290 | /* yy_hold_char holds the character lost when tagYYtext is formed. */␊ |
291 | static char yy_hold_char;␊ |
292 | static yy_size_t yy_n_chars;␉␉/* number of characters read into yy_ch_buf */␊ |
293 | yy_size_t tagYYleng;␊ |
294 | ␊ |
295 | /* Points to current character in buffer. */␊ |
296 | static char *yy_c_buf_p = (char *) 0;␊ |
297 | static int yy_init = 0;␉␉/* whether we need to initialize */␊ |
298 | static int yy_start = 0;␉/* start state number */␊ |
299 | ␊ |
300 | /* Flag which is used to allow tagYYwrap()'s to do buffer switches␊ |
301 | * instead of setting up a fresh tagYYin. A bit of a hack ...␊ |
302 | */␊ |
303 | static int yy_did_buffer_switch_on_eof;␊ |
304 | ␊ |
305 | void tagYYrestart (FILE *input_file );␊ |
306 | void tagYY_switch_to_buffer (YY_BUFFER_STATE new_buffer );␊ |
307 | YY_BUFFER_STATE tagYY_create_buffer (FILE *file,int size );␊ |
308 | void tagYY_delete_buffer (YY_BUFFER_STATE b );␊ |
309 | void tagYY_flush_buffer (YY_BUFFER_STATE b );␊ |
310 | void tagYYpush_buffer_state (YY_BUFFER_STATE new_buffer );␊ |
311 | void tagYYpop_buffer_state (void );␊ |
312 | ␊ |
313 | static void tagYYensure_buffer_stack (void );␊ |
314 | static void tagYY_load_buffer_state (void );␊ |
315 | static void tagYY_init_buffer (YY_BUFFER_STATE b,FILE *file );␊ |
316 | ␊ |
317 | #define YY_FLUSH_BUFFER tagYY_flush_buffer(YY_CURRENT_BUFFER )␊ |
318 | ␊ |
319 | YY_BUFFER_STATE tagYY_scan_buffer (char *base,yy_size_t size );␊ |
320 | YY_BUFFER_STATE tagYY_scan_string (yyconst char *yy_str );␊ |
321 | YY_BUFFER_STATE tagYY_scan_bytes (yyconst char *bytes,yy_size_t len );␊ |
322 | ␊ |
323 | void *tagYYalloc (yy_size_t );␊ |
324 | void *tagYYrealloc (void *,yy_size_t );␊ |
325 | void tagYYfree (void * );␊ |
326 | ␊ |
327 | #define yy_new_buffer tagYY_create_buffer␊ |
328 | ␊ |
329 | #define yy_set_interactive(is_interactive) \␊ |
330 | ␉{ \␊ |
331 | ␉if ( ! YY_CURRENT_BUFFER ){ \␊ |
332 | tagYYensure_buffer_stack (); \␊ |
333 | ␉␉YY_CURRENT_BUFFER_LVALUE = \␊ |
334 | tagYY_create_buffer(tagYYin,YY_BUF_SIZE ); \␊ |
335 | ␉} \␊ |
336 | ␉YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \␊ |
337 | ␉}␊ |
338 | ␊ |
339 | #define yy_set_bol(at_bol) \␊ |
340 | ␉{ \␊ |
341 | ␉if ( ! YY_CURRENT_BUFFER ){\␊ |
342 | tagYYensure_buffer_stack (); \␊ |
343 | ␉␉YY_CURRENT_BUFFER_LVALUE = \␊ |
344 | tagYY_create_buffer(tagYYin,YY_BUF_SIZE ); \␊ |
345 | ␉} \␊ |
346 | ␉YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \␊ |
347 | ␉}␊ |
348 | ␊ |
349 | #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)␊ |
350 | ␊ |
351 | /* Begin user sect3 */␊ |
352 | ␊ |
353 | typedef unsigned char YY_CHAR;␊ |
354 | ␊ |
355 | FILE *tagYYin = (FILE *) 0, *tagYYout = (FILE *) 0;␊ |
356 | ␊ |
357 | typedef int yy_state_type;␊ |
358 | ␊ |
359 | extern int tagYYlineno;␊ |
360 | ␊ |
361 | int tagYYlineno = 1;␊ |
362 | ␊ |
363 | extern char *tagYYtext;␊ |
364 | #define yytext_ptr tagYYtext␊ |
365 | ␊ |
366 | static yy_state_type yy_get_previous_state (void );␊ |
367 | static yy_state_type yy_try_NUL_trans (yy_state_type current_state );␊ |
368 | static int yy_get_next_buffer (void );␊ |
369 | static void yy_fatal_error (yyconst char msg[] );␊ |
370 | ␊ |
371 | /* Done after the current pattern has been matched and before the␊ |
372 | * corresponding action - sets up tagYYtext.␊ |
373 | */␊ |
374 | #define YY_DO_BEFORE_ACTION \␊ |
375 | ␉(yytext_ptr) = yy_bp; \␊ |
376 | ␉tagYYleng = (size_t) (yy_cp - yy_bp); \␊ |
377 | ␉(yy_hold_char) = *yy_cp; \␊ |
378 | ␉*yy_cp = '\0'; \␊ |
379 | ␉(yy_c_buf_p) = yy_cp;␊ |
380 | ␊ |
381 | #define YY_NUM_RULES 125␊ |
382 | #define YY_END_OF_BUFFER 126␊ |
383 | /* This struct is not used in this scanner,␊ |
384 | but its presence is necessary. */␊ |
385 | struct yy_trans_info␊ |
386 | ␉{␊ |
387 | ␉flex_int32_t yy_verify;␊ |
388 | ␉flex_int32_t yy_nxt;␊ |
389 | ␉};␊ |
390 | static yyconst flex_int16_t yy_accept[707] =␊ |
391 | { 0,␊ |
392 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
393 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
394 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
395 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
396 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
397 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
398 | 0, 0, 126, 123, 124, 123, 79, 81, 79, 81,␊ |
399 | 123, 101, 100, 99, 99, 99, 96, 102, 123, 104,␊ |
400 | 112, 112, 106, 106, 111, 123, 123, 92, 123, 93,␊ |
401 | 123, 90, 90, 90, 123, 120, 119, 120, 119, 85,␊ |
402 | ␊ |
403 | 121, 122, 84, 83, 123, 81, 13, 13, 16, 14,␊ |
404 | 16, 26, 26, 24, 18, 18, 24, 24, 24, 37,␊ |
405 | 37, 37, 27, 35, 36, 37, 63, 63, 68, 68,␊ |
406 | 56, 56, 61, 61, 70, 70, 75, 75, 39, 39,␊ |
407 | 44, 44, 47, 47, 53, 53, 48, 0, 0, 0,␊ |
408 | 0, 0, 81, 0, 0, 0, 81, 0, 100, 99,␊ |
409 | 99, 99, 96, 102, 0, 0, 112, 112, 0, 0,␊ |
410 | 0, 0, 0, 93, 0, 0, 90, 90, 90, 90,␊ |
411 | 0, 0, 0, 0, 0, 0, 85, 122, 84, 83,␊ |
412 | 0, 81, 0, 14, 0, 0, 0, 18, 0, 0,␊ |
413 | ␊ |
414 | 23, 0, 0, 0, 27, 0, 0, 0, 0, 0,␊ |
415 | 36, 0, 0, 63, 0, 0, 0, 0, 0, 56,␊ |
416 | 0, 0, 0, 0, 0, 70, 0, 0, 0, 0,␊ |
417 | 0, 39, 0, 0, 0, 0, 0, 47, 0, 0,␊ |
418 | 0, 0, 0, 80, 0, 0, 0, 0, 0, 0,␊ |
419 | 0, 0, 0, 81, 0, 99, 99, 103, 0, 112,␊ |
420 | 0, 0, 0, 109, 0, 0, 0, 90, 0, 0,␊ |
421 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
422 | 0, 21, 0, 0, 0, 0, 0, 34, 0, 0,␊ |
423 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
424 | ␊ |
425 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
426 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 6,␊ |
427 | 0, 0, 1, 0, 0, 81, 0, 0, 99, 99,␊ |
428 | 0, 112, 108, 107, 0, 0, 0, 0, 90, 113,␊ |
429 | 0, 116, 115, 0, 0, 0, 0, 0, 25, 25,␊ |
430 | 20, 19, 0, 0, 30, 29, 0, 0, 0, 0,␊ |
431 | 0, 65, 64, 0, 0, 0, 58, 57, 0, 0,␊ |
432 | 0, 72, 71, 0, 0, 0, 41, 40, 0, 0,␊ |
433 | 0, 50, 49, 0, 0, 0, 0, 77, 0, 0,␊ |
434 | 0, 0, 81, 0, 0, 99, 0, 0, 112, 0,␊ |
435 | ␊ |
436 | 91, 0, 0, 90, 114, 0, 0, 0, 0, 0,␊ |
437 | 25, 0, 28, 0, 0, 33, 0, 66, 0, 0,␊ |
438 | 59, 0, 76, 73, 0, 45, 42, 0, 54, 51,␊ |
439 | 0, 0, 0, 0, 0, 0, 0, 0, 81, 0,␊ |
440 | 0, 0, 0, 0, 112, 110, 0, 88, 90, 118,␊ |
441 | 117, 82, 0, 15, 25, 22, 32, 31, 0, 67,␊ |
442 | 0, 60, 74, 43, 52, 0, 0, 0, 0, 0,␊ |
443 | 0, 0, 81, 0, 0, 0, 0, 0, 112, 0,␊ |
444 | 0, 90, 0, 25, 0, 62, 0, 0, 0, 0,␊ |
445 | 0, 0, 81, 0, 0, 0, 0, 105, 0, 87,␊ |
446 | ␊ |
447 | 90, 0, 25, 69, 0, 0, 78, 0, 0, 0,␊ |
448 | 7, 0, 95, 0, 0, 0, 0, 89, 0, 0,␊ |
449 | 89, 89, 89, 90, 90, 89, 12, 25, 0, 0,␊ |
450 | 0, 0, 0, 0, 0, 0, 0, 89, 0, 0,␊ |
451 | 0, 0, 0, 89, 0, 90, 90, 89, 25, 0,␊ |
452 | 0, 0, 0, 0, 0, 0, 0, 0, 86, 0,␊ |
453 | 0, 0, 0, 0, 0, 90, 17, 0, 0, 0,␊ |
454 | 0, 0, 0, 0, 0, 0, 0, 0, 89, 89,␊ |
455 | 0, 90, 0, 0, 0, 0, 0, 9, 0, 0,␊ |
456 | 0, 0, 0, 89, 0, 89, 0, 89, 89, 90,␊ |
457 | ␊ |
458 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 98,␊ |
459 | 0, 0, 89, 0, 0, 89, 0, 0, 0, 0,␊ |
460 | 0, 0, 0, 0, 0, 0, 97, 0, 0, 0,␊ |
461 | 0, 0, 0, 0, 0, 0, 8, 0, 0, 0,␊ |
462 | 0, 0, 0, 0, 0, 0, 0, 5, 0, 0,␊ |
463 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
464 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,␊ |
465 | 0, 0, 0, 0, 0, 0, 0, 2, 94, 38,␊ |
466 | 0, 0, 0, 0, 0, 0, 0, 55, 0, 0,␊ |
467 | 0, 10, 0, 0, 0, 0, 46, 0, 0, 11,␊ |
468 | ␊ |
469 | 0, 0, 0, 4, 3, 0␊ |
470 | } ;␊ |
471 | ␊ |
472 | static yyconst flex_int32_t yy_ec[256] =␊ |
473 | { 0,␊ |
474 | 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,␊ |
475 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,␊ |
476 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,␊ |
477 | 1, 4, 5, 6, 7, 1, 8, 9, 1, 10,␊ |
478 | 11, 12, 13, 14, 15, 16, 17, 18, 19, 18,␊ |
479 | 20, 18, 18, 18, 18, 18, 18, 21, 22, 23,␊ |
480 | 24, 25, 1, 26, 27, 27, 28, 27, 27, 29,␊ |
481 | 27, 27, 30, 27, 27, 27, 27, 27, 27, 27,␊ |
482 | 27, 31, 27, 27, 27, 27, 27, 27, 27, 27,␊ |
483 | 32, 1, 33, 8, 34, 1, 35, 36, 37, 38,␊ |
484 | ␊ |
485 | 39, 40, 41, 42, 43, 27, 27, 44, 45, 46,␊ |
486 | 47, 48, 49, 50, 51, 52, 53, 27, 54, 55,␊ |
487 | 56, 27, 1, 57, 1, 58, 1, 1, 1, 1,␊ |
488 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,␊ |
489 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,␊ |
490 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,␊ |
491 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,␊ |
492 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,␊ |
493 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,␊ |
494 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,␊ |
495 | ␊ |
496 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,␊ |
497 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,␊ |
498 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,␊ |
499 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,␊ |
500 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,␊ |
501 | 1, 1, 1, 1, 1␊ |
502 | } ;␊ |
503 | ␊ |
504 | static yyconst flex_int32_t yy_meta[59] =␊ |
505 | { 0,␊ |
506 | 1, 1, 2, 3, 4, 5, 1, 4, 6, 1,␊ |
507 | 1, 4, 7, 8, 7, 9, 10, 11, 11, 11,␊ |
508 | 12, 1, 13, 10, 14, 3, 15, 15, 15, 15,␊ |
509 | 15, 4, 4, 11, 15, 15, 15, 15, 15, 15,␊ |
510 | 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,␊ |
511 | 15, 15, 15, 15, 15, 15, 4, 16␊ |
512 | } ;␊ |
513 | ␊ |
514 | static yyconst flex_int16_t yy_base[746] =␊ |
515 | { 0,␊ |
516 | 2054, 2053, 0, 36, 57, 58, 81, 0, 139, 0,␊ |
517 | 197, 255, 60, 61, 313, 0, 371, 0, 429, 0,␊ |
518 | 485, 0, 209, 210, 543, 0, 59, 66, 601, 0,␊ |
519 | 212, 213, 215, 222, 659, 0, 715, 0, 771, 0,␊ |
520 | 829, 0, 214, 223, 887, 913, 939, 0, 995, 1051,␊ |
521 | 1109, 0, 67, 68, 238, 265, 267, 280, 287, 288,␊ |
522 | 289, 296, 2055, 2058, 2058, 0, 484, 0, 486, 2008,␊ |
523 | 2018, 2058, 0, 0, 2008, 2008, 0, 0, 191, 2058,␊ |
524 | 0, 2002, 2058, 34, 2058, 2010, 2009, 2058, 2012, 0,␊ |
525 | 224, 192, 253, 0, 2029, 2058, 2058, 684, 2058, 0,␊ |
526 | ␊ |
527 | 2058, 0, 0, 0, 2028, 1167, 2058, 2009, 2058, 0,␊ |
528 | 2018, 2058, 2021, 2058, 0, 199, 2030, 2001, 2000, 2058,␊ |
529 | 502, 685, 2058, 2058, 0, 2021, 0, 0, 2033, 492,␊ |
530 | 0, 0, 2032, 974, 0, 0, 2031, 976, 0, 0,␊ |
531 | 2030, 991, 0, 0, 2029, 995, 2058, 2010, 2016, 1978,␊ |
532 | 2025, 1978, 0, 232, 1984, 1988, 1983, 2020, 0, 0,␊ |
533 | 1988, 1978, 0, 0, 1996, 1968, 0, 1980, 1966, 1965,␊ |
534 | 1972, 1961, 2010, 0, 1975, 1989, 452, 466, 0, 468,␊ |
535 | 1976, 1965, 1957, 1956, 1971, 1953, 0, 0, 0, 0,␊ |
536 | 1957, 0, 2000, 0, 1980, 1981, 1980, 0, 1948, 1947,␊ |
537 | ␊ |
538 | 2058, 1954, 1943, 737, 2058, 1951, 1943, 1942, 1957, 1939,␊ |
539 | 0, 1966, 480, 0, 1955, 1944, 1936, 1935, 1933, 0,␊ |
540 | 1935, 1939, 1931, 1930, 1928, 0, 1965, 1934, 1926, 1925,␊ |
541 | 1923, 0, 1960, 1929, 1921, 1920, 1918, 0, 1955, 1924,␊ |
542 | 1916, 1915, 1913, 2058, 1950, 1929, 1917, 1923, 281, 1957,␊ |
543 | 1935, 1934, 1935, 1918, 211, 1905, 1916, 2058, 1904, 1903,␊ |
544 | 1930, 1929, 1911, 2058, 0, 1902, 1931, 674, 1922, 1898,␊ |
545 | 1923, 1922, 1892, 1895, 1891, 1894, 1922, 1891, 1915, 1914,␊ |
546 | 1896, 2058, 1886, 1911, 1910, 1880, 1883, 2058, 284, 1879,␊ |
547 | 1880, 1905, 1904, 1878, 1885, 1875, 1900, 1899, 1873, 1904,␊ |
548 | ␊ |
549 | 1870, 1895, 1894, 1868, 1899, 1865, 1890, 1889, 1863, 1894,␊ |
550 | 1860, 1885, 1884, 1858, 1900, 1867, 1867, 1876, 1865, 2058,␊ |
551 | 1862, 1875, 2058, 1874, 469, 1846, 1851, 1844, 1842, 1888,␊ |
552 | 1844, 1855, 2058, 2058, 1837, 1863, 1832, 1851, 860, 2058,␊ |
553 | 1863, 2058, 2058, 1836, 1831, 1843, 1846, 1845, 0, 1831,␊ |
554 | 2058, 2058, 1826, 1855, 2058, 2058, 1828, 1823, 1849, 1832,␊ |
555 | 1850, 2058, 2058, 1819, 1830, 1847, 2058, 2058, 1816, 1842,␊ |
556 | 1844, 2058, 2058, 1813, 1839, 1841, 2058, 2058, 1810, 1836,␊ |
557 | 1838, 2058, 2058, 1807, 1820, 1813, 1811, 2058, 1811, 1810,␊ |
558 | 1811, 497, 1809, 1816, 1811, 1845, 1817, 1801, 1794, 1806,␊ |
559 | ␊ |
560 | 2058, 1788, 1818, 874, 2058, 1820, 1819, 1815, 1794, 1813,␊ |
561 | 1798, 1797, 2058, 1813, 1812, 2058, 1782, 2058, 1810, 1807,␊ |
562 | 2058, 1808, 2058, 2058, 1807, 2058, 2058, 1806, 2058, 2058,␊ |
563 | 1805, 1779, 1786, 1785, 1780, 1787, 1802, 902, 1768, 1768,␊ |
564 | 1778, 1786, 1777, 1774, 1767, 2058, 1761, 1789, 482, 2058,␊ |
565 | 2058, 2058, 1772, 2058, 1760, 2058, 2058, 2058, 1785, 2058,␊ |
566 | 1802, 2058, 2058, 2058, 2058, 1752, 1781, 1781, 1763, 1752,␊ |
567 | 1777, 502, 1750, 1749, 1775, 1759, 1757, 1771, 1745, 1759,␊ |
568 | 1758, 966, 1768, 1756, 1784, 2058, 1733, 1765, 1781, 1740,␊ |
569 | 1734, 704, 1780, 1759, 1776, 1741, 1741, 0, 1738, 2058,␊ |
570 | ␊ |
571 | 1224, 1772, 1725, 2058, 1724, 1733, 2058, 1750, 1749, 879,␊ |
572 | 2058, 1766, 2058, 1732, 1720, 1745, 1281, 1034, 1002, 1231,␊ |
573 | 1254, 2058, 1759, 1018, 1023, 1291, 2058, 1719, 1729, 1741,␊ |
574 | 1722, 893, 1028, 1719, 1705, 1715, 1743, 1307, 1708, 1706,␊ |
575 | 1684, 1667, 1665, 691, 1675, 1027, 984, 0, 1651, 1659,␊ |
576 | 1681, 1645, 1629, 1622, 261, 1609, 1613, 1599, 2058, 1586,␊ |
577 | 1575, 1580, 1605, 1604, 1572, 1040, 0, 1602, 700, 1574,␊ |
578 | 1571, 1591, 699, 1605, 1564, 1572, 1568, 1584, 997, 1064,␊ |
579 | 1583, 1043, 1598, 1553, 1542, 1530, 1575, 1553, 1011, 1571,␊ |
580 | 1535, 1531, 1514, 1068, 1524, 1069, 1518, 1221, 1548, 1047,␊ |
581 | ␊ |
582 | 1059, 1514, 1521, 1514, 1526, 1513, 1204, 1505, 1507, 2058,␊ |
583 | 1505, 1507, 1226, 1311, 1310, 1349, 1316, 1313, 1319, 1316,␊ |
584 | 1305, 1305, 1331, 1349, 882, 1302, 2058, 1306, 1328, 1327,␊ |
585 | 1312, 1304, 1300, 1298, 1292, 1317, 2058, 1306, 1291, 1208,␊ |
586 | 1297, 1287, 1283, 1294, 1296, 1306, 1305, 2058, 1324, 1291,␊ |
587 | 1224, 1285, 1272, 1271, 1278, 1308, 1304, 1263, 1263, 979,␊ |
588 | 1283, 1279, 1257, 1249, 1260, 1240, 1249, 1241, 976, 1273,␊ |
589 | 1271, 1224, 1251, 1235, 1230, 1221, 1235, 1229, 2058, 2058,␊ |
590 | 1200, 1234, 1144, 1118, 1068, 1100, 1076, 2058, 1030, 1036,␊ |
591 | 1048, 2058, 1049, 1011, 983, 925, 2058, 850, 730, 2058,␊ |
592 | ␊ |
593 | 302, 250, 209, 2058, 2058, 2058, 1364, 1380, 1396, 1412,␊ |
594 | 1428, 1444, 1460, 1476, 1492, 1508, 1524, 195, 524, 1534,␊ |
595 | 881, 1543, 1088, 1238, 1243, 1552, 1562, 1246, 64, 1568,␊ |
596 | 1584, 1597, 1603, 1615, 1257, 1631, 1647, 1663, 1679, 1695,␊ |
597 | 1711, 1727, 1741, 1746, 1752␊ |
598 | } ;␊ |
599 | ␊ |
600 | static yyconst flex_int16_t yy_def[746] =␊ |
601 | { 0,␊ |
602 | 707, 707, 706, 3, 707, 707, 706, 7, 706, 9,␊ |
603 | 708, 708, 707, 707, 706, 15, 706, 17, 706, 19,␊ |
604 | 707, 21, 707, 707, 706, 25, 707, 707, 706, 29,␊ |
605 | 707, 707, 709, 709, 706, 35, 707, 37, 706, 39,␊ |
606 | 706, 41, 710, 710, 711, 711, 706, 47, 712, 712,␊ |
607 | 706, 51, 713, 713, 714, 714, 715, 715, 716, 716,␊ |
608 | 717, 717, 706, 706, 706, 718, 706, 719, 706, 719,␊ |
609 | 706, 706, 720, 721, 721, 721, 722, 723, 706, 706,␊ |
610 | 724, 724, 706, 706, 706, 706, 706, 706, 706, 725,␊ |
611 | 706, 726, 726, 727, 706, 706, 706, 706, 706, 728,␊ |
612 | ␊ |
613 | 706, 729, 730, 731, 706, 706, 706, 706, 706, 732,␊ |
614 | 706, 706, 733, 706, 734, 734, 706, 706, 706, 706,␊ |
615 | 706, 706, 706, 706, 735, 736, 737, 737, 706, 706,␊ |
616 | 738, 738, 706, 706, 739, 739, 706, 706, 740, 740,␊ |
617 | 706, 706, 741, 741, 706, 706, 706, 718, 706, 706,␊ |
618 | 706, 706, 719, 706, 706, 706, 719, 706, 720, 721,␊ |
619 | 721, 721, 722, 723, 706, 706, 724, 724, 706, 706,␊ |
620 | 706, 706, 706, 725, 706, 706, 726, 726, 727, 726,␊ |
621 | 706, 706, 706, 706, 706, 706, 728, 729, 730, 731,␊ |
622 | 706, 106, 706, 732, 706, 733, 706, 734, 706, 706,␊ |
623 | ␊ |
624 | 706, 706, 706, 706, 706, 706, 706, 706, 706, 706,␊ |
625 | 735, 736, 736, 737, 706, 706, 706, 706, 706, 738,␊ |
626 | 706, 706, 706, 706, 706, 739, 706, 706, 706, 706,␊ |
627 | 706, 740, 706, 706, 706, 706, 706, 741, 706, 706,␊ |
628 | 706, 706, 706, 706, 706, 706, 706, 706, 706, 706,␊ |
629 | 706, 706, 742, 719, 706, 721, 721, 706, 706, 724,␊ |
630 | 706, 706, 706, 706, 743, 706, 706, 726, 706, 706,␊ |
631 | 706, 706, 706, 706, 706, 706, 706, 744, 706, 706,␊ |
632 | 706, 706, 706, 706, 706, 706, 706, 706, 736, 706,␊ |
633 | 706, 706, 706, 706, 706, 706, 706, 706, 706, 706,␊ |
634 | ␊ |
635 | 706, 706, 706, 706, 706, 706, 706, 706, 706, 706,␊ |
636 | 706, 706, 706, 706, 706, 706, 706, 706, 706, 706,␊ |
637 | 706, 706, 706, 742, 742, 719, 706, 706, 721, 721,␊ |
638 | 706, 724, 706, 706, 706, 743, 706, 706, 726, 706,␊ |
639 | 706, 706, 706, 706, 706, 706, 706, 706, 744, 744,␊ |
640 | 706, 706, 706, 706, 706, 706, 706, 706, 736, 706,␊ |
641 | 706, 706, 706, 706, 706, 706, 706, 706, 706, 706,␊ |
642 | 706, 706, 706, 706, 706, 706, 706, 706, 706, 706,␊ |
643 | 706, 706, 706, 706, 706, 706, 706, 706, 706, 706,␊ |
644 | 706, 742, 719, 706, 706, 721, 706, 706, 724, 706,␊ |
645 | ␊ |
646 | 706, 706, 706, 726, 706, 706, 706, 706, 706, 706,␊ |
647 | 744, 706, 706, 706, 706, 706, 706, 706, 706, 706,␊ |
648 | 706, 706, 706, 706, 706, 706, 706, 706, 706, 706,␊ |
649 | 706, 706, 706, 706, 706, 706, 706, 742, 719, 706,␊ |
650 | 706, 706, 706, 706, 724, 706, 706, 706, 726, 706,␊ |
651 | 706, 706, 706, 706, 744, 706, 706, 706, 706, 706,␊ |
652 | 706, 706, 706, 706, 706, 706, 706, 706, 706, 706,␊ |
653 | 706, 742, 719, 706, 706, 706, 706, 706, 724, 706,␊ |
654 | 706, 726, 706, 744, 706, 706, 706, 706, 706, 706,␊ |
655 | 706, 742, 719, 706, 706, 706, 706, 724, 706, 706,␊ |
656 | ␊ |
657 | 726, 706, 744, 706, 706, 706, 706, 706, 706, 742,␊ |
658 | 706, 706, 706, 706, 706, 706, 706, 706, 706, 706,␊ |
659 | 726, 706, 521, 726, 726, 727, 706, 744, 706, 706,␊ |
660 | 706, 706, 742, 706, 706, 706, 706, 706, 706, 706,␊ |
661 | 706, 706, 706, 726, 706, 726, 726, 727, 744, 706,␊ |
662 | 706, 706, 706, 706, 742, 706, 706, 706, 706, 706,␊ |
663 | 706, 706, 706, 706, 706, 726, 744, 706, 706, 706,␊ |
664 | 706, 706, 742, 706, 706, 706, 706, 706, 706, 706,␊ |
665 | 706, 726, 706, 706, 706, 706, 706, 706, 742, 706,␊ |
666 | 706, 706, 706, 706, 706, 706, 706, 706, 706, 726,␊ |
667 | ␊ |
668 | 706, 706, 706, 706, 706, 706, 742, 706, 706, 706,␊ |
669 | 706, 706, 706, 706, 706, 706, 706, 706, 706, 706,␊ |
670 | 706, 706, 745, 706, 742, 706, 706, 706, 706, 706,␊ |
671 | 706, 706, 706, 706, 706, 706, 706, 706, 706, 742,␊ |
672 | 706, 706, 706, 706, 706, 706, 706, 706, 706, 706,␊ |
673 | 742, 706, 706, 706, 706, 706, 706, 706, 706, 742,␊ |
674 | 706, 706, 706, 706, 706, 706, 706, 706, 742, 706,␊ |
675 | 706, 706, 706, 706, 706, 706, 706, 742, 706, 706,␊ |
676 | 706, 706, 706, 706, 706, 706, 706, 706, 706, 706,␊ |
677 | 706, 706, 706, 706, 706, 706, 706, 706, 706, 706,␊ |
678 | ␊ |
679 | 706, 706, 706, 706, 706, 0, 706, 706, 706, 706,␊ |
680 | 706, 706, 706, 706, 706, 706, 706, 706, 706, 706,␊ |
681 | 706, 706, 706, 706, 706, 706, 706, 706, 706, 706,␊ |
682 | 706, 706, 706, 706, 706, 706, 706, 706, 706, 706,␊ |
683 | 706, 706, 706, 706, 706␊ |
684 | } ;␊ |
685 | ␊ |
686 | static yyconst flex_int16_t yy_nxt[2117] =␊ |
687 | { 0,␊ |
688 | 64, 64, 65, 64, 64, 64, 64, 64, 66, 64,␊ |
689 | 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,␊ |
690 | 64, 64, 67, 64, 64, 64, 68, 68, 68, 68,␊ |
691 | 68, 64, 64, 68, 68, 68, 68, 68, 68, 68,␊ |
692 | 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,␊ |
693 | 68, 68, 68, 68, 68, 68, 64, 64, 69, 65,␊ |
694 | 65, 65, 65, 65, 91, 70, 72, 72, 65, 128,␊ |
695 | 128, 91, 129, 129, 169, 130, 130, 170, 188, 71,␊ |
696 | 71, 64, 64, 65, 64, 64, 64, 72, 64, 64,␊ |
697 | 64, 64, 64, 73, 64, 73, 73, 64, 73, 73,␊ |
698 | ␊ |
699 | 73, 64, 64, 64, 64, 64, 64, 73, 73, 73,␊ |
700 | 73, 73, 64, 64, 73, 73, 73, 73, 73, 73,␊ |
701 | 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,␊ |
702 | 73, 73, 73, 73, 73, 73, 73, 64, 64, 64,␊ |
703 | 64, 65, 64, 64, 64, 64, 64, 64, 64, 64,␊ |
704 | 64, 64, 64, 64, 64, 64, 74, 74, 74, 64,␊ |
705 | 64, 64, 64, 64, 64, 74, 75, 76, 74, 74,␊ |
706 | 64, 64, 74, 74, 74, 74, 74, 74, 74, 74,␊ |
707 | 74, 74, 74, 74, 74, 74, 74, 74, 74, 74,␊ |
708 | 74, 74, 74, 74, 74, 64, 64, 64, 64, 65,␊ |
709 | ␊ |
710 | 64, 64, 64, 64, 64, 64, 64, 64, 64, 148,␊ |
711 | 64, 88, 88, 64, 65, 65, 65, 97, 64, 64,␊ |
712 | 64, 64, 64, 98, 97, 65, 165, 175, 64, 64,␊ |
713 | 98, 89, 89, 705, 95, 95, 108, 99, 178, 199,␊ |
714 | 132, 166, 200, 133, 99, 108, 134, 327, 176, 179,␊ |
715 | 249, 250, 328, 64, 64, 64, 64, 65, 64, 64,␊ |
716 | 64, 64, 64, 64, 64, 64, 64, 132, 64, 136,␊ |
717 | 133, 64, 137, 134, 704, 138, 64, 64, 64, 64,␊ |
718 | 64, 251, 136, 325, 319, 137, 64, 64, 138, 140,␊ |
719 | 140, 144, 141, 141, 145, 142, 142, 146, 144, 178,␊ |
720 | ␊ |
721 | 180, 145, 147, 359, 146, 320, 573, 703, 288, 147,␊ |
722 | 179, 64, 64, 64, 64, 65, 64, 64, 64, 64,␊ |
723 | 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,␊ |
724 | 78, 78, 78, 64, 64, 64, 64, 64, 64, 78,␊ |
725 | 78, 78, 78, 78, 64, 64, 78, 78, 78, 78,␊ |
726 | 78, 78, 78, 78, 78, 78, 78, 78, 78, 78,␊ |
727 | 78, 78, 78, 78, 78, 78, 78, 78, 78, 64,␊ |
728 | 64, 64, 64, 65, 64, 64, 64, 64, 64, 64,␊ |
729 | 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,␊ |
730 | 64, 64, 64, 79, 64, 64, 64, 80, 80, 80,␊ |
731 | ␊ |
732 | 80, 80, 64, 64, 80, 80, 80, 80, 80, 80,␊ |
733 | 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,␊ |
734 | 80, 80, 80, 80, 80, 80, 80, 64, 80, 64,␊ |
735 | 64, 65, 64, 64, 64, 64, 64, 64, 64, 64,␊ |
736 | 64, 64, 64, 64, 64, 64, 81, 81, 81, 64,␊ |
737 | 64, 64, 64, 64, 64, 81, 81, 81, 81, 81,␊ |
738 | 64, 64, 81, 81, 81, 81, 81, 81, 81, 81,␊ |
739 | 81, 81, 81, 81, 81, 82, 81, 81, 81, 81,␊ |
740 | 81, 81, 81, 81, 81, 64, 64, 65, 149, 83,␊ |
741 | 149, 325, 83, 84, 83, 83, 83, 83, 178, 83,␊ |
742 | ␊ |
743 | 150, 83, 150, 204, 288, 204, 268, 85, 83, 179,␊ |
744 | 392, 205, 178, 180, 178, 438, 83, 83, 151, 325,␊ |
745 | 151, 289, 86, 179, 325, 179, 216, 154, 482, 155,␊ |
746 | 87, 152, 217, 152, 153, 218, 492, 156, 153, 179,␊ |
747 | 219, 83, 83, 64, 64, 65, 64, 64, 64, 64,␊ |
748 | 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,␊ |
749 | 90, 90, 90, 64, 64, 64, 64, 64, 64, 90,␊ |
750 | 90, 90, 90, 90, 64, 64, 90, 90, 90, 90,␊ |
751 | 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,␊ |
752 | 90, 90, 90, 90, 90, 90, 90, 90, 90, 64,␊ |
753 | ␊ |
754 | 64, 64, 64, 65, 64, 64, 64, 64, 64, 64,␊ |
755 | 64, 64, 64, 92, 64, 92, 92, 64, 92, 92,␊ |
756 | 92, 92, 64, 64, 64, 64, 64, 92, 92, 92,␊ |
757 | 92, 92, 64, 64, 92, 92, 92, 92, 92, 92,␊ |
758 | 92, 92, 92, 92, 92, 92, 92, 93, 92, 92,␊ |
759 | 92, 92, 92, 92, 92, 92, 92, 64, 94, 64,␊ |
760 | 64, 65, 64, 64, 64, 64, 64, 64, 64, 64,␊ |
761 | 64, 64, 64, 64, 64, 64, 100, 100, 100, 64,␊ |
762 | 64, 64, 64, 64, 64, 100, 100, 100, 100, 100,␊ |
763 | 64, 64, 100, 100, 100, 100, 100, 100, 100, 100,␊ |
764 | ␊ |
765 | 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,␊ |
766 | 100, 100, 100, 100, 100, 64, 64, 65, 182, 206,␊ |
767 | 178, 325, 589, 339, 183, 207, 325, 184, 208, 185,␊ |
768 | 209, 179, 186, 210, 584, 702, 585, 178, 204, 101,␊ |
769 | 204, 102, 102, 102, 102, 102, 205, 510, 179, 102,␊ |
770 | 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,␊ |
771 | 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,␊ |
772 | 102, 64, 64, 65, 64, 64, 64, 64, 64, 64,␊ |
773 | 64, 64, 64, 64, 64, 64, 64, 64, 103, 103,␊ |
774 | 103, 103, 64, 64, 64, 64, 64, 103, 103, 103,␊ |
775 | ␊ |
776 | 103, 103, 64, 64, 103, 103, 103, 103, 103, 103,␊ |
777 | 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,␊ |
778 | 103, 103, 103, 103, 103, 103, 103, 64, 103, 104,␊ |
779 | 104, 65, 104, 104, 104, 104, 104, 104, 104, 104,␊ |
780 | 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,␊ |
781 | 104, 105, 104, 104, 104, 106, 106, 106, 106, 106,␊ |
782 | 104, 104, 106, 106, 106, 106, 106, 106, 106, 106,␊ |
783 | 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,␊ |
784 | 106, 106, 106, 106, 106, 104, 104, 109, 109, 65,␊ |
785 | 109, 160, 111, 109, 404, 160, 109, 109, 553, 701,␊ |
786 | ␊ |
787 | 109, 325, 109, 109, 325, 472, 178, 109, 109, 109,␊ |
788 | 109, 109, 109, 109, 109, 65, 109, 179, 111, 109,␊ |
789 | 178, 533, 109, 109, 325, 449, 109, 640, 109, 109,␊ |
790 | 700, 179, 554, 109, 109, 109, 109, 109, 109, 112,␊ |
791 | 112, 65, 112, 112, 112, 112, 112, 112, 112, 112,␊ |
792 | 112, 112, 112, 112, 112, 112, 113, 113, 113, 112,␊ |
793 | 112, 112, 112, 112, 112, 113, 113, 113, 113, 113,␊ |
794 | 112, 112, 113, 113, 113, 113, 113, 113, 113, 113,␊ |
795 | 113, 113, 113, 113, 113, 113, 113, 113, 113, 113,␊ |
796 | 113, 113, 113, 113, 113, 112, 112, 65, 325, 115,␊ |
797 | ␊ |
798 | 678, 325, 115, 116, 117, 595, 115, 115, 222, 115,␊ |
799 | 228, 115, 178, 180, 223, 501, 229, 224, 115, 230,␊ |
800 | 596, 699, 225, 179, 231, 234, 115, 115, 669, 240,␊ |
801 | 178, 235, 118, 325, 236, 241, 541, 544, 242, 237,␊ |
802 | 119, 179, 542, 243, 522, 543, 522, 607, 522, 698,␊ |
803 | 325, 115, 115, 65, 697, 115, 546, 522, 115, 116,␊ |
804 | 117, 547, 115, 115, 178, 115, 522, 115, 555, 178,␊ |
805 | 566, 696, 597, 178, 115, 179, 612, 595, 582, 695,␊ |
806 | 179, 694, 115, 115, 179, 544, 178, 598, 118, 178,␊ |
807 | 522, 613, 596, 178, 600, 617, 119, 179, 164, 693,␊ |
808 | ␊ |
809 | 179, 618, 164, 619, 179, 692, 691, 115, 115, 120,␊ |
810 | 121, 65, 121, 120, 120, 120, 120, 122, 123, 124,␊ |
811 | 120, 120, 120, 120, 120, 120, 125, 125, 125, 120,␊ |
812 | 120, 126, 120, 120, 120, 125, 125, 125, 125, 125,␊ |
813 | 120, 120, 125, 125, 125, 125, 125, 125, 125, 125,␊ |
814 | 125, 125, 125, 125, 125, 125, 125, 125, 125, 125,␊ |
815 | 125, 125, 125, 125, 125, 120, 120, 190, 190, 690,␊ |
816 | 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,␊ |
817 | 190, 190, 190, 190, 192, 192, 192, 190, 190, 689,␊ |
818 | 190, 190, 190, 192, 192, 192, 192, 192, 190, 190,␊ |
819 | ␊ |
820 | 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,␊ |
821 | 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,␊ |
822 | 192, 192, 192, 190, 190, 517, 325, 517, 518, 597,␊ |
823 | 325, 518, 519, 520, 612, 518, 521, 522, 523, 688,␊ |
824 | 518, 522, 625, 522, 598, 522, 325, 518, 167, 613,␊ |
825 | 687, 325, 167, 174, 522, 520, 187, 174, 686, 651,␊ |
826 | 187, 524, 660, 522, 522, 685, 544, 211, 544, 525,␊ |
827 | 178, 211, 684, 683, 682, 681, 680, 522, 679, 677,␊ |
828 | 518, 526, 517, 676, 517, 518, 522, 522, 518, 519,␊ |
829 | 520, 675, 518, 518, 522, 538, 674, 518, 673, 672,␊ |
830 | ␊ |
831 | 178, 522, 671, 548, 518, 548, 670, 668, 667, 666,␊ |
832 | 522, 179, 520, 665, 522, 545, 664, 522, 539, 522,␊ |
833 | 663, 522, 662, 522, 661, 659, 540, 658, 657, 656,␊ |
834 | 522, 655, 654, 653, 613, 652, 650, 518, 518, 522,␊ |
835 | 649, 648, 647, 646, 645, 644, 643, 522, 598, 596,␊ |
836 | 642, 641, 639, 638, 636, 635, 634, 633, 632, 631,␊ |
837 | 616, 630, 629, 522, 64, 64, 64, 64, 64, 64,␊ |
838 | 64, 64, 64, 64, 64, 64, 64, 64, 64, 64,␊ |
839 | 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,␊ |
840 | 77, 77, 77, 77, 77, 77, 96, 96, 96, 96,␊ |
841 | ␊ |
842 | 96, 96, 96, 96, 96, 96, 96, 96, 96, 96,␊ |
843 | 96, 96, 107, 107, 107, 107, 107, 107, 107, 107,␊ |
844 | 107, 107, 107, 107, 107, 107, 107, 107, 110, 110,␊ |
845 | 110, 110, 110, 110, 110, 110, 110, 110, 110, 110,␊ |
846 | 110, 110, 110, 110, 114, 114, 114, 114, 114, 114,␊ |
847 | 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,␊ |
848 | 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,␊ |
849 | 127, 127, 127, 127, 127, 127, 131, 131, 131, 131,␊ |
850 | 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,␊ |
851 | 131, 131, 135, 135, 135, 135, 135, 135, 135, 135,␊ |
852 | ␊ |
853 | 135, 135, 135, 135, 135, 135, 135, 135, 139, 139,␊ |
854 | 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,␊ |
855 | 139, 139, 139, 139, 143, 143, 143, 143, 143, 143,␊ |
856 | 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,␊ |
857 | 159, 628, 159, 522, 159, 627, 626, 624, 159, 163,␊ |
858 | 623, 163, 622, 163, 163, 621, 620, 163, 177, 616,␊ |
859 | 177, 615, 177, 177, 614, 611, 177, 177, 179, 610,␊ |
860 | 179, 609, 179, 179, 608, 606, 179, 179, 189, 189,␊ |
861 | 605, 604, 189, 189, 190, 603, 190, 190, 190, 190,␊ |
862 | 190, 190, 190, 190, 190, 190, 602, 190, 190, 190,␊ |
863 | ␊ |
864 | 194, 601, 194, 194, 599, 594, 593, 194, 592, 591,␊ |
865 | 590, 194, 194, 196, 196, 588, 587, 196, 198, 586,␊ |
866 | 198, 198, 583, 581, 198, 580, 579, 578, 522, 577,␊ |
867 | 198, 212, 212, 212, 212, 212, 212, 212, 212, 212,␊ |
868 | 212, 212, 212, 212, 576, 212, 212, 214, 214, 214,␊ |
869 | 214, 575, 574, 214, 214, 214, 214, 214, 214, 214,␊ |
870 | 214, 214, 214, 220, 220, 220, 220, 572, 571, 220,␊ |
871 | 220, 220, 220, 220, 220, 220, 220, 220, 220, 226,␊ |
872 | 226, 226, 226, 570, 569, 226, 226, 226, 226, 226,␊ |
873 | 226, 226, 226, 226, 226, 232, 232, 232, 232, 568,␊ |
874 | ␊ |
875 | 567, 232, 232, 232, 232, 232, 232, 232, 232, 232,␊ |
876 | 232, 238, 238, 238, 238, 565, 564, 238, 563, 238,␊ |
877 | 238, 238, 238, 238, 238, 238, 238, 324, 562, 324,␊ |
878 | 324, 324, 324, 324, 324, 324, 324, 324, 324, 324,␊ |
879 | 324, 324, 324, 336, 561, 336, 560, 336, 559, 336,␊ |
880 | 336, 336, 336, 558, 557, 336, 349, 556, 552, 551,␊ |
881 | 349, 349, 637, 550, 637, 549, 637, 545, 537, 536,␊ |
882 | 535, 534, 532, 531, 530, 529, 528, 527, 516, 515,␊ |
883 | 514, 513, 512, 511, 509, 508, 507, 506, 505, 504,␊ |
884 | 503, 502, 500, 499, 498, 258, 497, 496, 495, 494,␊ |
885 | ␊ |
886 | 493, 320, 491, 490, 489, 488, 487, 486, 485, 484,␊ |
887 | 483, 481, 480, 479, 478, 477, 476, 475, 474, 473,␊ |
888 | 471, 470, 469, 468, 467, 466, 465, 464, 463, 462,␊ |
889 | 461, 460, 459, 458, 457, 456, 455, 454, 453, 452,␊ |
890 | 451, 450, 448, 447, 446, 445, 444, 443, 442, 441,␊ |
891 | 440, 439, 437, 436, 435, 434, 433, 432, 431, 430,␊ |
892 | 429, 428, 427, 426, 425, 424, 423, 422, 421, 420,␊ |
893 | 419, 418, 417, 416, 415, 414, 413, 412, 411, 410,␊ |
894 | 409, 408, 407, 406, 405, 403, 402, 401, 400, 399,␊ |
895 | 398, 397, 396, 395, 394, 393, 325, 391, 390, 389,␊ |
896 | ␊ |
897 | 388, 387, 386, 385, 384, 383, 382, 381, 380, 379,␊ |
898 | 378, 377, 376, 375, 374, 373, 372, 371, 370, 369,␊ |
899 | 368, 367, 366, 365, 364, 363, 362, 361, 360, 358,␊ |
900 | 357, 356, 355, 354, 353, 352, 351, 350, 348, 347,␊ |
901 | 346, 345, 344, 343, 342, 341, 340, 338, 337, 335,␊ |
902 | 334, 333, 332, 331, 330, 329, 326, 325, 323, 322,␊ |
903 | 321, 318, 317, 316, 315, 314, 313, 312, 311, 310,␊ |
904 | 309, 308, 307, 306, 305, 304, 303, 302, 301, 300,␊ |
905 | 299, 298, 297, 296, 295, 294, 293, 292, 291, 290,␊ |
906 | 288, 287, 286, 285, 284, 283, 282, 281, 280, 279,␊ |
907 | ␊ |
908 | 278, 197, 277, 276, 275, 274, 273, 272, 271, 270,␊ |
909 | 269, 267, 266, 265, 264, 263, 262, 261, 260, 259,␊ |
910 | 258, 257, 256, 255, 254, 253, 252, 248, 247, 246,␊ |
911 | 245, 244, 239, 233, 227, 221, 215, 213, 203, 202,␊ |
912 | 201, 197, 195, 193, 191, 181, 173, 172, 171, 168,␊ |
913 | 162, 161, 158, 157, 706, 65, 65, 63, 706, 706,␊ |
914 | 706, 706, 706, 706, 706, 706, 706, 706, 706, 706,␊ |
915 | 706, 706, 706, 706, 706, 706, 706, 706, 706, 706,␊ |
916 | 706, 706, 706, 706, 706, 706, 706, 706, 706, 706,␊ |
917 | 706, 706, 706, 706, 706, 706, 706, 706, 706, 706,␊ |
918 | ␊ |
919 | 706, 706, 706, 706, 706, 706, 706, 706, 706, 706,␊ |
920 | 706, 706, 706, 706, 706, 706␊ |
921 | } ;␊ |
922 | ␊ |
923 | static yyconst flex_int16_t yy_chk[2117] =␊ |
924 | { 0,␊ |
925 | 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,␊ |
926 | 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,␊ |
927 | 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,␊ |
928 | 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,␊ |
929 | 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,␊ |
930 | 3, 3, 3, 3, 3, 3, 3, 3, 4, 5,␊ |
931 | 6, 27, 13, 14, 27, 4, 13, 14, 28, 53,␊ |
932 | 54, 28, 53, 54, 84, 53, 54, 84, 729, 5,␊ |
933 | 6, 7, 7, 7, 7, 7, 7, 7, 7, 7,␊ |
934 | 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,␊ |
935 | ␊ |
936 | 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,␊ |
937 | 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,␊ |
938 | 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,␊ |
939 | 7, 7, 7, 7, 7, 7, 7, 7, 7, 9,␊ |
940 | 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,␊ |
941 | 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,␊ |
942 | 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,␊ |
943 | 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,␊ |
944 | 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,␊ |
945 | 9, 9, 9, 9, 9, 9, 9, 11, 11, 11,␊ |
946 | ␊ |
947 | 11, 11, 11, 11, 11, 11, 11, 11, 11, 718,␊ |
948 | 11, 23, 24, 11, 31, 32, 43, 33, 11, 11,␊ |
949 | 11, 11, 11, 33, 34, 44, 79, 91, 11, 11,␊ |
950 | 34, 23, 24, 703, 31, 32, 43, 33, 92, 116,␊ |
951 | 55, 79, 116, 55, 34, 44, 55, 255, 91, 92,␊ |
952 | 154, 154, 255, 11, 11, 12, 12, 12, 12, 12,␊ |
953 | 12, 12, 12, 12, 12, 12, 12, 56, 12, 57,␊ |
954 | 56, 12, 57, 56, 702, 57, 12, 12, 12, 12,␊ |
955 | 12, 154, 58, 555, 249, 58, 12, 12, 58, 59,␊ |
956 | 60, 61, 59, 60, 61, 59, 60, 61, 62, 93,␊ |
957 | ␊ |
958 | 93, 62, 61, 289, 62, 249, 555, 701, 289, 62,␊ |
959 | 93, 12, 12, 15, 15, 15, 15, 15, 15, 15,␊ |
960 | 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,␊ |
961 | 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,␊ |
962 | 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,␊ |
963 | 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,␊ |
964 | 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,␊ |
965 | 15, 17, 17, 17, 17, 17, 17, 17, 17, 17,␊ |
966 | 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,␊ |
967 | 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,␊ |
968 | ␊ |
969 | 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,␊ |
970 | 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,␊ |
971 | 17, 17, 17, 17, 17, 17, 17, 17, 17, 19,␊ |
972 | 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,␊ |
973 | 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,␊ |
974 | 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,␊ |
975 | 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,␊ |
976 | 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,␊ |
977 | 19, 19, 19, 19, 19, 19, 19, 21, 67, 21,␊ |
978 | 69, 325, 21, 21, 21, 21, 21, 21, 177, 21,␊ |
979 | ␊ |
980 | 67, 21, 69, 121, 213, 121, 180, 21, 21, 177,␊ |
981 | 325, 121, 178, 178, 180, 392, 21, 21, 67, 392,␊ |
982 | 69, 213, 21, 178, 472, 180, 130, 69, 449, 69,␊ |
983 | 21, 67, 130, 69, 719, 130, 472, 69, 719, 449,␊ |
984 | 130, 21, 21, 25, 25, 25, 25, 25, 25, 25,␊ |
985 | 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,␊ |
986 | 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,␊ |
987 | 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,␊ |
988 | 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,␊ |
989 | 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,␊ |
990 | ␊ |
991 | 25, 29, 29, 29, 29, 29, 29, 29, 29, 29,␊ |
992 | 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,␊ |
993 | 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,␊ |
994 | 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,␊ |
995 | 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,␊ |
996 | 29, 29, 29, 29, 29, 29, 29, 29, 29, 35,␊ |
997 | 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,␊ |
998 | 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,␊ |
999 | 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,␊ |
1000 | 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,␊ |
1001 | ␊ |
1002 | 35, 35, 35, 35, 35, 35, 35, 35, 35, 35,␊ |
1003 | 35, 35, 35, 35, 35, 35, 35, 37, 98, 122,␊ |
1004 | 268, 573, 573, 268, 98, 122, 492, 98, 122, 98,␊ |
1005 | 122, 268, 98, 122, 569, 699, 569, 544, 204, 37,␊ |
1006 | 204, 37, 37, 37, 37, 37, 204, 492, 544, 37,␊ |
1007 | 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,␊ |
1008 | 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,␊ |
1009 | 37, 39, 39, 39, 39, 39, 39, 39, 39, 39,␊ |
1010 | 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,␊ |
1011 | 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,␊ |
1012 | ␊ |
1013 | 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,␊ |
1014 | 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,␊ |
1015 | 39, 39, 39, 39, 39, 39, 39, 39, 39, 41,␊ |
1016 | 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,␊ |
1017 | 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,␊ |
1018 | 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,␊ |
1019 | 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,␊ |
1020 | 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,␊ |
1021 | 41, 41, 41, 41, 41, 41, 41, 45, 45, 45,␊ |
1022 | 45, 721, 45, 45, 339, 721, 45, 45, 532, 698,␊ |
1023 | ␊ |
1024 | 45, 510, 45, 45, 625, 438, 339, 45, 45, 45,␊ |
1025 | 45, 45, 45, 46, 46, 46, 46, 339, 46, 46,␊ |
1026 | 404, 510, 46, 46, 438, 404, 46, 625, 46, 46,␊ |
1027 | 696, 404, 532, 46, 46, 46, 46, 46, 46, 47,␊ |
1028 | 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,␊ |
1029 | 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,␊ |
1030 | 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,␊ |
1031 | 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,␊ |
1032 | 47, 47, 47, 47, 47, 47, 47, 47, 47, 47,␊ |
1033 | 47, 47, 47, 47, 47, 47, 47, 49, 669, 49,␊ |
1034 | ␊ |
1035 | 669, 660, 49, 49, 49, 579, 49, 49, 134, 49,␊ |
1036 | 138, 49, 482, 482, 134, 482, 138, 134, 49, 138,␊ |
1037 | 579, 695, 134, 482, 138, 142, 49, 49, 660, 146,␊ |
1038 | 547, 142, 49, 589, 142, 146, 519, 547, 146, 142,␊ |
1039 | 49, 547, 519, 146, 518, 519, 518, 589, 518, 694,␊ |
1040 | 533, 49, 49, 50, 693, 50, 524, 518, 50, 50,␊ |
1041 | 50, 525, 50, 50, 524, 50, 518, 50, 533, 525,␊ |
1042 | 546, 691, 580, 546, 50, 524, 594, 596, 566, 690,␊ |
1043 | 525, 689, 50, 50, 546, 600, 566, 580, 50, 582,␊ |
1044 | 518, 594, 596, 600, 582, 601, 50, 566, 723, 687,␊ |
1045 | ␊ |
1046 | 582, 601, 723, 601, 600, 686, 685, 50, 50, 51,␊ |
1047 | 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,␊ |
1048 | 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,␊ |
1049 | 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,␊ |
1050 | 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,␊ |
1051 | 51, 51, 51, 51, 51, 51, 51, 51, 51, 51,␊ |
1052 | 51, 51, 51, 51, 51, 51, 51, 106, 106, 684,␊ |
1053 | 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,␊ |
1054 | 106, 106, 106, 106, 106, 106, 106, 106, 106, 683,␊ |
1055 | 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,␊ |
1056 | ␊ |
1057 | 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,␊ |
1058 | 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,␊ |
1059 | 106, 106, 106, 106, 106, 501, 607, 501, 501, 598,␊ |
1060 | 640, 501, 501, 501, 613, 501, 501, 501, 501, 682,␊ |
1061 | 501, 520, 607, 520, 598, 520, 651, 501, 724, 613,␊ |
1062 | 681, 678, 724, 725, 520, 501, 728, 725, 677, 640,␊ |
1063 | 728, 501, 651, 520, 521, 676, 521, 735, 521, 501,␊ |
1064 | 501, 735, 675, 674, 673, 672, 671, 521, 670, 668,␊ |
1065 | 501, 501, 517, 667, 517, 517, 521, 520, 517, 517,␊ |
1066 | 517, 666, 517, 517, 517, 517, 665, 517, 664, 663,␊ |
1067 | ␊ |
1068 | 521, 526, 662, 526, 517, 526, 661, 659, 658, 657,␊ |
1069 | 521, 521, 517, 656, 526, 538, 655, 538, 517, 538,␊ |
1070 | 654, 538, 653, 526, 652, 650, 517, 649, 647, 646,␊ |
1071 | 538, 645, 644, 643, 642, 641, 639, 517, 517, 538,␊ |
1072 | 638, 636, 635, 634, 633, 632, 631, 526, 630, 629,␊ |
1073 | 628, 626, 624, 623, 622, 621, 620, 619, 618, 617,␊ |
1074 | 616, 615, 614, 538, 707, 707, 707, 707, 707, 707,␊ |
1075 | 707, 707, 707, 707, 707, 707, 707, 707, 707, 707,␊ |
1076 | 708, 708, 708, 708, 708, 708, 708, 708, 708, 708,␊ |
1077 | 708, 708, 708, 708, 708, 708, 709, 709, 709, 709,␊ |
1078 | ␊ |
1079 | 709, 709, 709, 709, 709, 709, 709, 709, 709, 709,␊ |
1080 | 709, 709, 710, 710, 710, 710, 710, 710, 710, 710,␊ |
1081 | 710, 710, 710, 710, 710, 710, 710, 710, 711, 711,␊ |
1082 | 711, 711, 711, 711, 711, 711, 711, 711, 711, 711,␊ |
1083 | 711, 711, 711, 711, 712, 712, 712, 712, 712, 712,␊ |
1084 | 712, 712, 712, 712, 712, 712, 712, 712, 712, 712,␊ |
1085 | 713, 713, 713, 713, 713, 713, 713, 713, 713, 713,␊ |
1086 | 713, 713, 713, 713, 713, 713, 714, 714, 714, 714,␊ |
1087 | 714, 714, 714, 714, 714, 714, 714, 714, 714, 714,␊ |
1088 | 714, 714, 715, 715, 715, 715, 715, 715, 715, 715,␊ |
1089 | ␊ |
1090 | 715, 715, 715, 715, 715, 715, 715, 715, 716, 716,␊ |
1091 | 716, 716, 716, 716, 716, 716, 716, 716, 716, 716,␊ |
1092 | 716, 716, 716, 716, 717, 717, 717, 717, 717, 717,␊ |
1093 | 717, 717, 717, 717, 717, 717, 717, 717, 717, 717,␊ |
1094 | 720, 612, 720, 611, 720, 609, 608, 606, 720, 722,␊ |
1095 | 605, 722, 604, 722, 722, 603, 602, 722, 726, 599,␊ |
1096 | 726, 597, 726, 726, 595, 593, 726, 726, 727, 592,␊ |
1097 | 727, 591, 727, 727, 590, 588, 727, 727, 730, 730,␊ |
1098 | 587, 586, 730, 730, 731, 585, 731, 731, 731, 731,␊ |
1099 | 731, 731, 731, 731, 731, 731, 584, 731, 731, 731,␊ |
1100 | ␊ |
1101 | 732, 583, 732, 732, 581, 578, 577, 732, 576, 575,␊ |
1102 | 574, 732, 732, 733, 733, 572, 571, 733, 734, 570,␊ |
1103 | 734, 734, 568, 565, 734, 564, 563, 562, 561, 560,␊ |
1104 | 734, 736, 736, 736, 736, 736, 736, 736, 736, 736,␊ |
1105 | 736, 736, 736, 736, 558, 736, 736, 737, 737, 737,␊ |
1106 | 737, 557, 556, 737, 737, 737, 737, 737, 737, 737,␊ |
1107 | 737, 737, 737, 738, 738, 738, 738, 554, 553, 738,␊ |
1108 | 738, 738, 738, 738, 738, 738, 738, 738, 738, 739,␊ |
1109 | 739, 739, 739, 552, 551, 739, 739, 739, 739, 739,␊ |
1110 | 739, 739, 739, 739, 739, 740, 740, 740, 740, 550,␊ |
1111 | ␊ |
1112 | 549, 740, 740, 740, 740, 740, 740, 740, 740, 740,␊ |
1113 | 740, 741, 741, 741, 741, 545, 543, 741, 542, 741,␊ |
1114 | 741, 741, 741, 741, 741, 741, 741, 742, 541, 742,␊ |
1115 | 742, 742, 742, 742, 742, 742, 742, 742, 742, 742,␊ |
1116 | 742, 742, 742, 743, 540, 743, 539, 743, 537, 743,␊ |
1117 | 743, 743, 743, 536, 535, 743, 744, 534, 531, 530,␊ |
1118 | 744, 744, 745, 529, 745, 528, 745, 523, 516, 515,␊ |
1119 | 514, 512, 509, 508, 506, 505, 503, 502, 499, 497,␊ |
1120 | 496, 495, 494, 493, 491, 490, 489, 488, 487, 485,␊ |
1121 | 484, 483, 481, 480, 479, 478, 477, 476, 475, 474,␊ |
1122 | ␊ |
1123 | 473, 471, 470, 469, 468, 467, 466, 461, 459, 455,␊ |
1124 | 453, 448, 447, 445, 444, 443, 442, 441, 440, 439,␊ |
1125 | 437, 436, 435, 434, 433, 432, 431, 428, 425, 422,␊ |
1126 | 420, 419, 417, 415, 414, 412, 411, 410, 409, 408,␊ |
1127 | 407, 406, 403, 402, 400, 399, 398, 397, 396, 395,␊ |
1128 | 394, 393, 391, 390, 389, 387, 386, 385, 384, 381,␊ |
1129 | 380, 379, 376, 375, 374, 371, 370, 369, 366, 365,␊ |
1130 | 364, 361, 360, 359, 358, 357, 354, 353, 350, 348,␊ |
1131 | 347, 346, 345, 344, 341, 338, 337, 336, 335, 332,␊ |
1132 | 331, 330, 329, 328, 327, 326, 324, 322, 321, 319,␊ |
1133 | ␊ |
1134 | 318, 317, 316, 315, 314, 313, 312, 311, 310, 309,␊ |
1135 | 308, 307, 306, 305, 304, 303, 302, 301, 300, 299,␊ |
1136 | 298, 297, 296, 295, 294, 293, 292, 291, 290, 287,␊ |
1137 | 286, 285, 284, 283, 281, 280, 279, 278, 277, 276,␊ |
1138 | 275, 274, 273, 272, 271, 270, 269, 267, 266, 263,␊ |
1139 | 262, 261, 260, 259, 257, 256, 254, 253, 252, 251,␊ |
1140 | 250, 248, 247, 246, 245, 243, 242, 241, 240, 239,␊ |
1141 | 237, 236, 235, 234, 233, 231, 230, 229, 228, 227,␊ |
1142 | 225, 224, 223, 222, 221, 219, 218, 217, 216, 215,␊ |
1143 | 212, 210, 209, 208, 207, 206, 203, 202, 200, 199,␊ |
1144 | ␊ |
1145 | 197, 196, 195, 193, 191, 186, 185, 184, 183, 182,␊ |
1146 | 181, 176, 175, 173, 172, 171, 170, 169, 168, 166,␊ |
1147 | 165, 162, 161, 158, 157, 156, 155, 152, 151, 150,␊ |
1148 | 149, 148, 145, 141, 137, 133, 129, 126, 119, 118,␊ |
1149 | 117, 113, 111, 108, 105, 95, 89, 87, 86, 82,␊ |
1150 | 76, 75, 71, 70, 63, 2, 1, 706, 706, 706,␊ |
1151 | 706, 706, 706, 706, 706, 706, 706, 706, 706, 706,␊ |
1152 | 706, 706, 706, 706, 706, 706, 706, 706, 706, 706,␊ |
1153 | 706, 706, 706, 706, 706, 706, 706, 706, 706, 706,␊ |
1154 | 706, 706, 706, 706, 706, 706, 706, 706, 706, 706,␊ |
1155 | ␊ |
1156 | 706, 706, 706, 706, 706, 706, 706, 706, 706, 706,␊ |
1157 | 706, 706, 706, 706, 706, 706␊ |
1158 | } ;␊ |
1159 | ␊ |
1160 | static yy_state_type yy_last_accepting_state;␊ |
1161 | static char *yy_last_accepting_cpos;␊ |
1162 | ␊ |
1163 | extern int tagYY_flex_debug;␊ |
1164 | int tagYY_flex_debug = 0;␊ |
1165 | ␊ |
1166 | /* The intent behind this definition is that it'll catch␊ |
1167 | * any uses of REJECT which flex missed.␊ |
1168 | */␊ |
1169 | #define REJECT reject_used_but_not_detected␊ |
1170 | #define yymore() yymore_used_but_not_detected␊ |
1171 | #define YY_MORE_ADJ 0␊ |
1172 | #define YY_RESTORE_YY_MORE_OFFSET␊ |
1173 | char *tagYYtext;␊ |
1174 | #line 1 "doxytag.l"␊ |
1175 | /******************************************************************************␊ |
1176 | *␊ |
1177 | * $Id: doxytag.l,v 1.27 2001/03/19 19:27:40 root Exp $␊ |
1178 | *␊ |
1179 | * Copyright (C) 1997-2011 by Dimitri van Heesch.␊ |
1180 | *␊ |
1181 | * Permission to use, copy, modify, and distribute this software and its␊ |
1182 | * documentation under the terms of the GNU General Public License is hereby ␊ |
1183 | * granted. No representations are made about the suitability of this software ␊ |
1184 | * for any purpose. It is provided "as is" without express or implied warranty.␊ |
1185 | * See the GNU General Public License for more details.␊ |
1186 | *␊ |
1187 | * Documents produced by Doxygen are derivative works derived from the␊ |
1188 | * input used in their production; they are not affected by this license.␊ |
1189 | *␊ |
1190 | */␊ |
1191 | #line 19 "doxytag.l"␊ |
1192 | /*␊ |
1193 | *␉includes␊ |
1194 | */␊ |
1195 | #include <stdio.h>␊ |
1196 | #include <assert.h>␊ |
1197 | #include <ctype.h>␊ |
1198 | ␊ |
1199 | #include "qtbc.h"␊ |
1200 | #include <qstrlist.h>␊ |
1201 | #include <qfileinfo.h>␊ |
1202 | #include <qfile.h>␊ |
1203 | #include <qdict.h>␊ |
1204 | #include <qtextstream.h>␊ |
1205 | #include <qdir.h>␊ |
1206 | ␊ |
1207 | #include "version.h"␊ |
1208 | //#include "suffixtree.h"␊ |
1209 | //#include "searchindex.h"␊ |
1210 | #include "logos.h"␊ |
1211 | ␊ |
1212 | static QCString convertToXML(const char *s)␊ |
1213 | { ␊ |
1214 | QCString result;␊ |
1215 | if (s==0) return result;␊ |
1216 | const char *p=s;␊ |
1217 | char c;␊ |
1218 | while ((c=*p++))␊ |
1219 | { ␊ |
1220 | switch (c)␊ |
1221 | { ␊ |
1222 | case '<': result+="<"; break;␊ |
1223 | case '>': result+=">"; break;␊ |
1224 | case '&': result+="&"; break;␊ |
1225 | case '\'': result+="'"; break; ␊ |
1226 | case '"': result+="""; break;␊ |
1227 | default: result+=c; break; ␊ |
1228 | }␊ |
1229 | }␊ |
1230 | return result;␊ |
1231 | }␊ |
1232 | ␊ |
1233 | struct MemberDef␊ |
1234 | {␊ |
1235 | QCString name;␊ |
1236 | QCString anchor;␊ |
1237 | QCString args;␊ |
1238 | }; ␊ |
1239 | ␊ |
1240 | struct ClassDef␊ |
1241 | {␊ |
1242 | QCString name;␊ |
1243 | QStrList bases;␊ |
1244 | QCString fileName;␊ |
1245 | bool isFile;␊ |
1246 | QList<MemberDef> memberList;␊ |
1247 | }; ␊ |
1248 | ␊ |
1249 | QList<ClassDef> classList;␊ |
1250 | QDict<ClassDef> classDict(1009);␊ |
1251 | QList<ClassDef> fileList;␊ |
1252 | QDict<ClassDef> fileDict(1009);␊ |
1253 | ␊ |
1254 | static bool genTag;␊ |
1255 | static bool genIndex;␊ |
1256 | ␊ |
1257 | static QStrList bases;␊ |
1258 | static QCString inputString;␊ |
1259 | static int inputPosition;␊ |
1260 | static QCString yyFileName;␊ |
1261 | static int yyLineNr;␊ |
1262 | static QCString classFile;␊ |
1263 | static QCString memberRef;␊ |
1264 | static QCString memberName;␊ |
1265 | static QCString memberArgs;␊ |
1266 | static QCString className;␊ |
1267 | static QCString baseName;␊ |
1268 | static QCString docBaseLink;␊ |
1269 | static QCString docAnchor;␊ |
1270 | static QCString docRefName;␊ |
1271 | static bool nameBug;␊ |
1272 | //static SearchIndex searchIndex;␊ |
1273 | ␊ |
1274 | #define YY_NEVER_INTERACTIVE 1␊ |
1275 | ␊ |
1276 | /* -----------------------------------------------------------------␊ |
1277 | */␊ |
1278 | #undef␉YY_INPUT␊ |
1279 | #define␉YY_INPUT(buf,result,max_size) result=yyread(buf,max_size);␊ |
1280 | ␊ |
1281 | static int yyread(char *buf,int max_size)␊ |
1282 | {␊ |
1283 | int c=0;␊ |
1284 | while( c < max_size && inputString[inputPosition] )␊ |
1285 | {␊ |
1286 | ␉*buf = inputString[inputPosition++] ;␊ |
1287 | ␉c++; buf++;␊ |
1288 | }␊ |
1289 | return c;␊ |
1290 | }␊ |
1291 | ␊ |
1292 | static void addClass(const char *clName)␊ |
1293 | {␊ |
1294 | if (classDict[clName]==0)␊ |
1295 | {␊ |
1296 | //printf("addClass(%s)\n",clName);␊ |
1297 | ClassDef *cd=new ClassDef;␊ |
1298 | cd->name=clName;␊ |
1299 | cd->fileName=yyFileName;␊ |
1300 | cd->isFile=FALSE;␊ |
1301 | classList.append(cd);␊ |
1302 | classDict.insert(clName,cd);␊ |
1303 | }␊ |
1304 | }␊ |
1305 | ␊ |
1306 | static void addFile(const char *fName)␊ |
1307 | {␊ |
1308 | if (classDict[fName]==0)␊ |
1309 | {␊ |
1310 | ClassDef *fd=new ClassDef;␊ |
1311 | fd->name=fName;␊ |
1312 | fd->fileName=yyFileName;␊ |
1313 | fd->isFile=TRUE;␊ |
1314 | classList.append(fd);␊ |
1315 | classDict.insert(fName,fd);␊ |
1316 | }␊ |
1317 | }␊ |
1318 | ␊ |
1319 | static void addBases(const char *clName)␊ |
1320 | {␊ |
1321 | ClassDef *cd=0;␊ |
1322 | if (clName && (cd=classDict[clName])) cd->bases=bases;␊ |
1323 | }␊ |
1324 | ␊ |
1325 | static void addMember(const char *memName,const char *memRef,const char *memArgs)␊ |
1326 | {␊ |
1327 | //printf("addMember(%s,%s,%s)\n",memName,memRef,memArgs);␊ |
1328 | ClassDef *cd=classList.last();␊ |
1329 | if (cd)␊ |
1330 | {␊ |
1331 | MemberDef *md;␊ |
1332 | md=new MemberDef;␊ |
1333 | md->name=memName;␊ |
1334 | md->anchor=memRef; ␊ |
1335 | md->args=memArgs;␊ |
1336 | cd->memberList.append(md);␊ |
1337 | }␊ |
1338 | else␊ |
1339 | {␊ |
1340 | //printf("Warning: found member %s %s but not class was found to insert it!\n",␊ |
1341 | //␉memName,memArgs);␊ |
1342 | }␊ |
1343 | }␊ |
1344 | ␊ |
1345 | static void addReference()␊ |
1346 | {␊ |
1347 | //printf("addReference() key: %s ref:%s\n",␊ |
1348 | // docRefName.data(),(docBaseLink+"#"+docAnchor).data());␊ |
1349 | //if (genIndex && !docRefName.isEmpty() && !docBaseLink.isEmpty())␊ |
1350 | //{␊ |
1351 | // if (docAnchor.isEmpty())␊ |
1352 | // searchIndex.addReference(docRefName,docBaseLink);␊ |
1353 | // else␊ |
1354 | // searchIndex.addReference(docRefName,docBaseLink+"#"+docAnchor);␊ |
1355 | // searchIndex.addWord(docRefName,docRefName,TRUE);␊ |
1356 | //}␊ |
1357 | }␊ |
1358 | ␊ |
1359 | QCString unhtmlify(const char *str)␊ |
1360 | {␊ |
1361 | QCString result;␊ |
1362 | const char *p=str;␊ |
1363 | char c;␊ |
1364 | while ((c=*p)!='\0')␊ |
1365 | {␊ |
1366 | if (c!='&') { result+=c; p++; }␊ |
1367 | else␊ |
1368 | {␊ |
1369 | if (strncmp(p,"&",5)==0) { result+='&'; p+=5; }␉␊ |
1370 | else if (strncmp(p,"<",4)==0) { result+='<'; p+=4; }␊ |
1371 | else if (strncmp(p,">",4)==0) { result+='>'; p+=4; }␊ |
1372 | else if (strncmp(p,""",6)==0) { result+='"'; p+=4; }␊ |
1373 | ␉else /* should not happen */ { result+='&'; p++; }␊ |
1374 | }␊ |
1375 | }␊ |
1376 | return result;␊ |
1377 | }␊ |
1378 | ␊ |
1379 | ␊ |
1380 | ␊ |
1381 | ␊ |
1382 | ␊ |
1383 | ␊ |
1384 | ␊ |
1385 | ␊ |
1386 | ␊ |
1387 | ␊ |
1388 | ␊ |
1389 | ␊ |
1390 | ␊ |
1391 | ␊ |
1392 | ␊ |
1393 | ␊ |
1394 | ␊ |
1395 | ␊ |
1396 | ␊ |
1397 | ␊ |
1398 | ␊ |
1399 | ␊ |
1400 | ␊ |
1401 | ␊ |
1402 | ␊ |
1403 | ␊ |
1404 | ␊ |
1405 | ␊ |
1406 | ␊ |
1407 | ␊ |
1408 | ␊ |
1409 | #line 1410 "<stdout>"␊ |
1410 | ␊ |
1411 | #define INITIAL 0␊ |
1412 | #define Start 1␊ |
1413 | #define SearchClassFile 2␊ |
1414 | #define ReadClassFile 3␊ |
1415 | #define CheckClassName 4␊ |
1416 | #define ReadClassName 5␊ |
1417 | #define SearchMemberRef 6␊ |
1418 | #define ReadMemberRef 7␊ |
1419 | #define SearchMemberName 8␊ |
1420 | #define ReadMemberName 9␊ |
1421 | #define ReadOperator 10␊ |
1422 | #define SearchBaseClasses 11␊ |
1423 | #define ReadBaseClass 12␊ |
1424 | #define SearchRefName 13␊ |
1425 | #define ReadRefName 14␊ |
1426 | #define SearchArgs 15␊ |
1427 | #define ReadArgs 16␊ |
1428 | #define SearchWords 17␊ |
1429 | #define SkipHTMLTag 18␊ |
1430 | #define CheckConstructor 19␊ |
1431 | #define SkipPreformated 20␊ |
1432 | #define Qt3ReadType 21␊ |
1433 | #define Qt3ReadAnchor 22␊ |
1434 | #define Qt3ReadName 23␊ |
1435 | #define Qt3ReadOperator 24␊ |
1436 | #define Qt3ReadArgs 25␊ |
1437 | #define DoxReadAnchor 26␊ |
1438 | #define DoxReadName 27␊ |
1439 | #define DoxReadArgs 28␊ |
1440 | #define DoxClassName 29␊ |
1441 | #define DoxClassBase 30␊ |
1442 | ␊ |
1443 | #ifndef YY_NO_UNISTD_H␊ |
1444 | /* Special case for "unistd.h", since it is non-ANSI. We include it way␊ |
1445 | * down here because we want the user's section 1 to have been scanned first.␊ |
1446 | * The user has a chance to override it with an option.␊ |
1447 | */␊ |
1448 | #include <unistd.h>␊ |
1449 | #endif␊ |
1450 | ␊ |
1451 | #ifndef YY_EXTRA_TYPE␊ |
1452 | #define YY_EXTRA_TYPE void *␊ |
1453 | #endif␊ |
1454 | ␊ |
1455 | static int yy_init_globals (void );␊ |
1456 | ␊ |
1457 | /* Accessor methods to globals.␊ |
1458 | These are made visible to non-reentrant scanners for convenience. */␊ |
1459 | ␊ |
1460 | int tagYYlex_destroy (void );␊ |
1461 | ␊ |
1462 | int tagYYget_debug (void );␊ |
1463 | ␊ |
1464 | void tagYYset_debug (int debug_flag );␊ |
1465 | ␊ |
1466 | YY_EXTRA_TYPE tagYYget_extra (void );␊ |
1467 | ␊ |
1468 | void tagYYset_extra (YY_EXTRA_TYPE user_defined );␊ |
1469 | ␊ |
1470 | FILE *tagYYget_in (void );␊ |
1471 | ␊ |
1472 | void tagYYset_in (FILE * in_str );␊ |
1473 | ␊ |
1474 | FILE *tagYYget_out (void );␊ |
1475 | ␊ |
1476 | void tagYYset_out (FILE * out_str );␊ |
1477 | ␊ |
1478 | yy_size_t tagYYget_leng (void );␊ |
1479 | ␊ |
1480 | char *tagYYget_text (void );␊ |
1481 | ␊ |
1482 | int tagYYget_lineno (void );␊ |
1483 | ␊ |
1484 | void tagYYset_lineno (int line_number );␊ |
1485 | ␊ |
1486 | /* Macros after this point can all be overridden by user definitions in␊ |
1487 | * section 1.␊ |
1488 | */␊ |
1489 | ␊ |
1490 | #ifndef YY_SKIP_YYWRAP␊ |
1491 | #ifdef __cplusplus␊ |
1492 | extern "C" int tagYYwrap (void );␊ |
1493 | #else␊ |
1494 | extern int tagYYwrap (void );␊ |
1495 | #endif␊ |
1496 | #endif␊ |
1497 | ␊ |
1498 | static void yyunput (int c,char *buf_ptr );␊ |
1499 | ␊ |
1500 | #ifndef yytext_ptr␊ |
1501 | static void yy_flex_strncpy (char *,yyconst char *,int );␊ |
1502 | #endif␊ |
1503 | ␊ |
1504 | #ifdef YY_NEED_STRLEN␊ |
1505 | static int yy_flex_strlen (yyconst char * );␊ |
1506 | #endif␊ |
1507 | ␊ |
1508 | #ifndef YY_NO_INPUT␊ |
1509 | ␊ |
1510 | #ifdef __cplusplus␊ |
1511 | static int yyinput (void );␊ |
1512 | #else␊ |
1513 | static int input (void );␊ |
1514 | #endif␊ |
1515 | ␊ |
1516 | #endif␊ |
1517 | ␊ |
1518 | /* Amount of stuff to slurp up with each read. */␊ |
1519 | #ifndef YY_READ_BUF_SIZE␊ |
1520 | #define YY_READ_BUF_SIZE 8192␊ |
1521 | #endif␊ |
1522 | ␊ |
1523 | /* Copy whatever the last rule matched to the standard output. */␊ |
1524 | #ifndef ECHO␊ |
1525 | /* This used to be an fputs(), but since the string might contain NUL's,␊ |
1526 | * we now use fwrite().␊ |
1527 | */␊ |
1528 | #define ECHO fwrite( tagYYtext, tagYYleng, 1, tagYYout )␊ |
1529 | #endif␊ |
1530 | ␊ |
1531 | /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,␊ |
1532 | * is returned in "result".␊ |
1533 | */␊ |
1534 | #ifndef YY_INPUT␊ |
1535 | #define YY_INPUT(buf,result,max_size) \␊ |
1536 | ␉if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \␊ |
1537 | ␉␉{ \␊ |
1538 | ␉␉int c = '*'; \␊ |
1539 | ␉␉yy_size_t n; \␊ |
1540 | ␉␉for ( n = 0; n < max_size && \␊ |
1541 | ␉␉␉ (c = getc( tagYYin )) != EOF && c != '\n'; ++n ) \␊ |
1542 | ␉␉␉buf[n] = (char) c; \␊ |
1543 | ␉␉if ( c == '\n' ) \␊ |
1544 | ␉␉␉buf[n++] = (char) c; \␊ |
1545 | ␉␉if ( c == EOF && ferror( tagYYin ) ) \␊ |
1546 | ␉␉␉YY_FATAL_ERROR( "input in flex scanner failed" ); \␊ |
1547 | ␉␉result = n; \␊ |
1548 | ␉␉} \␊ |
1549 | ␉else \␊ |
1550 | ␉␉{ \␊ |
1551 | ␉␉errno=0; \␊ |
1552 | ␉␉while ( (result = fread(buf, 1, max_size, tagYYin))==0 && ferror(tagYYin)) \␊ |
1553 | ␉␉␉{ \␊ |
1554 | ␉␉␉if( errno != EINTR) \␊ |
1555 | ␉␉␉␉{ \␊ |
1556 | ␉␉␉␉YY_FATAL_ERROR( "input in flex scanner failed" ); \␊ |
1557 | ␉␉␉␉break; \␊ |
1558 | ␉␉␉␉} \␊ |
1559 | ␉␉␉errno=0; \␊ |
1560 | ␉␉␉clearerr(tagYYin); \␊ |
1561 | ␉␉␉} \␊ |
1562 | ␉␉}\␊ |
1563 | \␊ |
1564 | ␊ |
1565 | #endif␊ |
1566 | ␊ |
1567 | /* No semi-colon after return; correct usage is to write "yyterminate();" -␊ |
1568 | * we don't want an extra ';' after the "return" because that will cause␊ |
1569 | * some compilers to complain about unreachable statements.␊ |
1570 | */␊ |
1571 | #ifndef yyterminate␊ |
1572 | #define yyterminate() return YY_NULL␊ |
1573 | #endif␊ |
1574 | ␊ |
1575 | /* Number of entries by which start-condition stack grows. */␊ |
1576 | #ifndef YY_START_STACK_INCR␊ |
1577 | #define YY_START_STACK_INCR 25␊ |
1578 | #endif␊ |
1579 | ␊ |
1580 | /* Report a fatal error. */␊ |
1581 | #ifndef YY_FATAL_ERROR␊ |
1582 | #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )␊ |
1583 | #endif␊ |
1584 | ␊ |
1585 | /* end tables serialization structures and prototypes */␊ |
1586 | ␊ |
1587 | /* Default declaration of generated scanner - a define so the user can␊ |
1588 | * easily add parameters.␊ |
1589 | */␊ |
1590 | #ifndef YY_DECL␊ |
1591 | #define YY_DECL_IS_OURS 1␊ |
1592 | ␊ |
1593 | extern int tagYYlex (void);␊ |
1594 | ␊ |
1595 | #define YY_DECL int tagYYlex (void)␊ |
1596 | #endif /* !YY_DECL */␊ |
1597 | ␊ |
1598 | /* Code executed at the beginning of each rule, after tagYYtext and tagYYleng␊ |
1599 | * have been set up.␊ |
1600 | */␊ |
1601 | #ifndef YY_USER_ACTION␊ |
1602 | #define YY_USER_ACTION␊ |
1603 | #endif␊ |
1604 | ␊ |
1605 | /* Code executed at the end of each rule. */␊ |
1606 | #ifndef YY_BREAK␊ |
1607 | #define YY_BREAK break;␊ |
1608 | #endif␊ |
1609 | ␊ |
1610 | #define YY_RULE_SETUP \␊ |
1611 | ␉if ( tagYYleng > 0 ) \␊ |
1612 | ␉␉YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \␊ |
1613 | ␉␉␉␉(tagYYtext[tagYYleng - 1] == '\n'); \␊ |
1614 | ␉YY_USER_ACTION␊ |
1615 | ␊ |
1616 | /** The main scanner function which does all the work.␊ |
1617 | */␊ |
1618 | YY_DECL␊ |
1619 | {␊ |
1620 | ␉register yy_state_type yy_current_state;␊ |
1621 | ␉register char *yy_cp, *yy_bp;␊ |
1622 | ␉register int yy_act;␊ |
1623 | ␊ |
1624 | #line 241 "doxytag.l"␊ |
1625 | ␊ |
1626 | ␊ |
1627 | #line 1628 "<stdout>"␊ |
1628 | ␊ |
1629 | ␉if ( !(yy_init) )␊ |
1630 | ␉␉{␊ |
1631 | ␉␉(yy_init) = 1;␊ |
1632 | ␊ |
1633 | #ifdef YY_USER_INIT␊ |
1634 | ␉␉YY_USER_INIT;␊ |
1635 | #endif␊ |
1636 | ␊ |
1637 | ␉␉if ( ! (yy_start) )␊ |
1638 | ␉␉␉(yy_start) = 1;␉/* first start state */␊ |
1639 | ␊ |
1640 | ␉␉if ( ! tagYYin )␊ |
1641 | ␉␉␉tagYYin = stdin;␊ |
1642 | ␊ |
1643 | ␉␉if ( ! tagYYout )␊ |
1644 | ␉␉␉tagYYout = stdout;␊ |
1645 | ␊ |
1646 | ␉␉if ( ! YY_CURRENT_BUFFER ) {␊ |
1647 | ␉␉␉tagYYensure_buffer_stack ();␊ |
1648 | ␉␉␉YY_CURRENT_BUFFER_LVALUE =␊ |
1649 | ␉␉␉␉tagYY_create_buffer(tagYYin,YY_BUF_SIZE );␊ |
1650 | ␉␉}␊ |
1651 | ␊ |
1652 | ␉␉tagYY_load_buffer_state( );␊ |
1653 | ␉␉}␊ |
1654 | ␊ |
1655 | ␉while ( 1 )␉␉/* loops until end-of-file is reached */␊ |
1656 | ␉␉{␊ |
1657 | ␉␉yy_cp = (yy_c_buf_p);␊ |
1658 | ␊ |
1659 | ␉␉/* Support of tagYYtext. */␊ |
1660 | ␉␉*yy_cp = (yy_hold_char);␊ |
1661 | ␊ |
1662 | ␉␉/* yy_bp points to the position in yy_ch_buf of the start of␊ |
1663 | ␉␉ * the current run.␊ |
1664 | ␉␉ */␊ |
1665 | ␉␉yy_bp = yy_cp;␊ |
1666 | ␊ |
1667 | ␉␉yy_current_state = (yy_start);␊ |
1668 | ␉␉yy_current_state += YY_AT_BOL();␊ |
1669 | yy_match:␊ |
1670 | ␉␉do␊ |
1671 | ␉␉␉{␊ |
1672 | ␉␉␉register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];␊ |
1673 | ␉␉␉if ( yy_accept[yy_current_state] )␊ |
1674 | ␉␉␉␉{␊ |
1675 | ␉␉␉␉(yy_last_accepting_state) = yy_current_state;␊ |
1676 | ␉␉␉␉(yy_last_accepting_cpos) = yy_cp;␊ |
1677 | ␉␉␉␉}␊ |
1678 | ␉␉␉while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )␊ |
1679 | ␉␉␉␉{␊ |
1680 | ␉␉␉␉yy_current_state = (int) yy_def[yy_current_state];␊ |
1681 | ␉␉␉␉if ( yy_current_state >= 707 )␊ |
1682 | ␉␉␉␉␉yy_c = yy_meta[(unsigned int) yy_c];␊ |
1683 | ␉␉␉␉}␊ |
1684 | ␉␉␉yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];␊ |
1685 | ␉␉␉++yy_cp;␊ |
1686 | ␉␉␉}␊ |
1687 | ␉␉while ( yy_base[yy_current_state] != 2058 );␊ |
1688 | ␊ |
1689 | yy_find_action:␊ |
1690 | ␉␉yy_act = yy_accept[yy_current_state];␊ |
1691 | ␉␉if ( yy_act == 0 )␊ |
1692 | ␉␉␉{ /* have to back up */␊ |
1693 | ␉␉␉yy_cp = (yy_last_accepting_cpos);␊ |
1694 | ␉␉␉yy_current_state = (yy_last_accepting_state);␊ |
1695 | ␉␉␉yy_act = yy_accept[yy_current_state];␊ |
1696 | ␉␉␉}␊ |
1697 | ␊ |
1698 | ␉␉YY_DO_BEFORE_ACTION;␊ |
1699 | ␊ |
1700 | do_action:␉/* This label is used only to access EOF actions. */␊ |
1701 | ␊ |
1702 | ␉␉switch ( yy_act )␊ |
1703 | ␉{ /* beginning of action switch */␊ |
1704 | ␉␉␉case 0: /* must back up */␊ |
1705 | ␉␉␉/* undo the effects of YY_DO_BEFORE_ACTION */␊ |
1706 | ␉␉␉*yy_cp = (yy_hold_char);␊ |
1707 | ␉␉␉yy_cp = (yy_last_accepting_cpos);␊ |
1708 | ␉␉␉yy_current_state = (yy_last_accepting_state);␊ |
1709 | ␉␉␉goto yy_find_action;␊ |
1710 | ␊ |
1711 | case 1:␊ |
1712 | YY_RULE_SETUP␊ |
1713 | #line 243 "doxytag.l"␊ |
1714 | { ␊ |
1715 | ␉␉␉␉ BEGIN( SearchClassFile );␊ |
1716 | ␉␉␉␉ } ␊ |
1717 | ␉YY_BREAK␊ |
1718 | case 2:␊ |
1719 | #line 247 "doxytag.l"␊ |
1720 | case 3:␊ |
1721 | #line 248 "doxytag.l"␊ |
1722 | case 4:␊ |
1723 | #line 249 "doxytag.l"␊ |
1724 | case 5:␊ |
1725 | YY_RULE_SETUP␊ |
1726 | #line 249 "doxytag.l"␊ |
1727 | { // Qt variant␊ |
1728 | ␉␉␉␉ BEGIN( ReadClassName );␊ |
1729 | ␉␉␉ }␊ |
1730 | ␉YY_BREAK␊ |
1731 | case 6:␊ |
1732 | YY_RULE_SETUP␊ |
1733 | #line 252 "doxytag.l"␊ |
1734 | { // Doxygen variant␊ |
1735 | ␉␉␉␉ BEGIN( ReadClassName );␊ |
1736 | ␉␉␉ }␊ |
1737 | ␉YY_BREAK␊ |
1738 | case 7:␊ |
1739 | YY_RULE_SETUP␊ |
1740 | #line 255 "doxytag.l"␊ |
1741 | {␊ |
1742 | ␉␉␉␉ //printf("Inherits found\n");␊ |
1743 | ␉␉␉␉ BEGIN( SearchBaseClasses );␊ |
1744 | ␉␉␉␉ }␊ |
1745 | ␉YY_BREAK␊ |
1746 | case 8:␊ |
1747 | *yy_cp = (yy_hold_char); /* undo effects of setting up tagYYtext */␊ |
1748 | (yy_c_buf_p) = yy_cp = yy_bp + 15;␊ |
1749 | YY_DO_BEFORE_ACTION; /* set up tagYYtext again */␊ |
1750 | YY_RULE_SETUP␊ |
1751 | #line 259 "doxytag.l"␊ |
1752 | { // needed due to inconsistency in the Qt docs␊ |
1753 | ␉␉␉␉ BEGIN( CheckConstructor );␊ |
1754 | ␉␉␉␉ }␊ |
1755 | ␉YY_BREAK␊ |
1756 | /* --------------------------------------------------- */␊ |
1757 | /* Qt member extraction rules */␊ |
1758 | case 9:␊ |
1759 | YY_RULE_SETUP␊ |
1760 | #line 266 "doxytag.l"␊ |
1761 | {␊ |
1762 | ␉␉␉␉ BEGIN( Qt3ReadType );␊ |
1763 | ␉␉␉␉ }␊ |
1764 | ␉YY_BREAK␊ |
1765 | case 10:␊ |
1766 | YY_RULE_SETUP␊ |
1767 | #line 269 "doxytag.l"␊ |
1768 | { // Qt-3.3+ html file␊ |
1769 | ␉␉␉␉ BEGIN( Qt3ReadAnchor );␊ |
1770 | ␉␉␉␉ }␊ |
1771 | ␉YY_BREAK␊ |
1772 | case 11:␊ |
1773 | YY_RULE_SETUP␊ |
1774 | #line 272 "doxytag.l"␊ |
1775 | { // Qt-4 html file␊ |
1776 | ␉␉␉␉ BEGIN( Qt3ReadAnchor );␊ |
1777 | ␉␉␉␉ }␊ |
1778 | ␉YY_BREAK␊ |
1779 | case 12:␊ |
1780 | YY_RULE_SETUP␊ |
1781 | #line 275 "doxytag.l"␊ |
1782 | {␊ |
1783 | ␉␉␉␉ BEGIN( Qt3ReadAnchor );␊ |
1784 | ␉␉␉␉ }␊ |
1785 | ␉YY_BREAK␊ |
1786 | case 13:␊ |
1787 | YY_RULE_SETUP␊ |
1788 | #line 278 "doxytag.l"␊ |
1789 | ␊ |
1790 | ␉YY_BREAK␊ |
1791 | case 14:␊ |
1792 | YY_RULE_SETUP␊ |
1793 | #line 279 "doxytag.l"␊ |
1794 | { ␊ |
1795 | ␉␉␉␉ memberRef = tagYYtext;␊ |
1796 | ␉␉␉␉ }␊ |
1797 | ␉YY_BREAK␊ |
1798 | case 15:␊ |
1799 | YY_RULE_SETUP␊ |
1800 | #line 282 "doxytag.l"␊ |
1801 | {␊ |
1802 | ␉␉␉␉ BEGIN( Qt3ReadName );␊ |
1803 | ␉␉␉␉ }␊ |
1804 | ␉YY_BREAK␊ |
1805 | case 16:␊ |
1806 | YY_RULE_SETUP␊ |
1807 | #line 285 "doxytag.l"␊ |
1808 | {␊ |
1809 | ␉␉␉␉ BEGIN( Start );␊ |
1810 | ␉␉␉␉ }␊ |
1811 | ␉YY_BREAK␊ |
1812 | case 17:␊ |
1813 | YY_RULE_SETUP␊ |
1814 | #line 288 "doxytag.l"␊ |
1815 | {␊ |
1816 | ␉␉␉␉ memberName="operator";␊ |
1817 | ␉␉␉␉ BEGIN(Qt3ReadOperator);␊ |
1818 | ␉␉␉␉ }␊ |
1819 | ␉YY_BREAK␊ |
1820 | case 18:␊ |
1821 | YY_RULE_SETUP␊ |
1822 | #line 292 "doxytag.l"␊ |
1823 | { memberName+=tagYYtext; } ␊ |
1824 | ␉YY_BREAK␊ |
1825 | case 19:␊ |
1826 | YY_RULE_SETUP␊ |
1827 | #line 293 "doxytag.l"␊ |
1828 | { memberName+="<"; }␊ |
1829 | ␉YY_BREAK␊ |
1830 | case 20:␊ |
1831 | YY_RULE_SETUP␊ |
1832 | #line 294 "doxytag.l"␊ |
1833 | { memberName+=">"; }␊ |
1834 | ␉YY_BREAK␊ |
1835 | case 21:␊ |
1836 | YY_RULE_SETUP␊ |
1837 | #line 295 "doxytag.l"␊ |
1838 | { memberName+=" new"; }␊ |
1839 | ␉YY_BREAK␊ |
1840 | case 22:␊ |
1841 | YY_RULE_SETUP␊ |
1842 | #line 296 "doxytag.l"␊ |
1843 | { memberName+=" delete"; }␊ |
1844 | ␉YY_BREAK␊ |
1845 | case 23:␊ |
1846 | YY_RULE_SETUP␊ |
1847 | #line 297 "doxytag.l"␊ |
1848 | { memberName+="()"; BEGIN( Qt3ReadArgs ); }␊ |
1849 | ␉YY_BREAK␊ |
1850 | case 24:␊ |
1851 | YY_RULE_SETUP␊ |
1852 | #line 298 "doxytag.l"␊ |
1853 | { unput(*tagYYtext); BEGIN( Qt3ReadArgs ); }␊ |
1854 | ␉YY_BREAK␊ |
1855 | case 25:␊ |
1856 | YY_RULE_SETUP␊ |
1857 | #line 299 "doxytag.l"␊ |
1858 | {␊ |
1859 | ␉␉␉␉ memberName=tagYYtext;␊ |
1860 | ␉␉␉␉ memberName=memberName.mid(memberName.find("::")+2);␊ |
1861 | ␉␉␉␉ BEGIN(Qt3ReadArgs);␊ |
1862 | ␉␉␉␉ }␊ |
1863 | ␉YY_BREAK␊ |
1864 | case 26:␊ |
1865 | YY_RULE_SETUP␊ |
1866 | #line 304 "doxytag.l"␊ |
1867 | ␊ |
1868 | ␉YY_BREAK␊ |
1869 | case 27:␊ |
1870 | YY_RULE_SETUP␊ |
1871 | #line 305 "doxytag.l"␊ |
1872 | {␊ |
1873 | ␉␉␉␉ memberArgs+='(';␊ |
1874 | ␉␉␉␉ }␊ |
1875 | ␉YY_BREAK␊ |
1876 | case 28:␊ |
1877 | YY_RULE_SETUP␊ |
1878 | #line 308 "doxytag.l"␊ |
1879 | { memberArgs+='&'; }␊ |
1880 | ␉YY_BREAK␊ |
1881 | case 29:␊ |
1882 | YY_RULE_SETUP␊ |
1883 | #line 309 "doxytag.l"␊ |
1884 | { memberArgs+='<'; }␊ |
1885 | ␉YY_BREAK␊ |
1886 | case 30:␊ |
1887 | YY_RULE_SETUP␊ |
1888 | #line 310 "doxytag.l"␊ |
1889 | { memberArgs+='>'; }␊ |
1890 | ␉YY_BREAK␊ |
1891 | case 31:␊ |
1892 | YY_RULE_SETUP␊ |
1893 | #line 311 "doxytag.l"␊ |
1894 | { memberArgs+='"'; }␊ |
1895 | ␉YY_BREAK␊ |
1896 | case 32:␊ |
1897 | YY_RULE_SETUP␊ |
1898 | #line 312 "doxytag.l"␊ |
1899 | { memberArgs+=' '; }␊ |
1900 | ␉YY_BREAK␊ |
1901 | case 33:␊ |
1902 | YY_RULE_SETUP␊ |
1903 | #line 313 "doxytag.l"␊ |
1904 | { ␊ |
1905 | addMember(memberName,memberRef,memberArgs);␊ |
1906 | memberName.resize(0);␊ |
1907 | memberRef.resize(0);␊ |
1908 | memberArgs.resize(0);␊ |
1909 | ␉␉␉␉ BEGIN(Start);␊ |
1910 | }␊ |
1911 | ␉YY_BREAK␊ |
1912 | case 34:␊ |
1913 | /* rule 34 can match eol */␊ |
1914 | YY_RULE_SETUP␊ |
1915 | #line 320 "doxytag.l"␊ |
1916 | ␊ |
1917 | ␉YY_BREAK␊ |
1918 | case 35:␊ |
1919 | YY_RULE_SETUP␊ |
1920 | #line 321 "doxytag.l"␊ |
1921 | {␊ |
1922 | ␉␉␉␉ memberArgs+=')';␊ |
1923 | ␉␉␉␉ addMember(memberName,memberRef,memberArgs);␊ |
1924 | memberName.resize(0);␊ |
1925 | memberRef.resize(0);␊ |
1926 | memberArgs.resize(0);␊ |
1927 | ␉␉␉␉ BEGIN(Start);␊ |
1928 | }␊ |
1929 | ␉YY_BREAK␊ |
1930 | case 36:␊ |
1931 | YY_RULE_SETUP␊ |
1932 | #line 329 "doxytag.l"␊ |
1933 | { memberArgs+=tagYYtext; }␊ |
1934 | ␉YY_BREAK␊ |
1935 | case 37:␊ |
1936 | YY_RULE_SETUP␊ |
1937 | #line 330 "doxytag.l"␊ |
1938 | { memberArgs+=*tagYYtext; }␊ |
1939 | ␉YY_BREAK␊ |
1940 | /* --------------------------------------------------- */␊ |
1941 | /* Doxygen class extraction rules */␊ |
1942 | case 38:␊ |
1943 | YY_RULE_SETUP␊ |
1944 | #line 335 "doxytag.l"␊ |
1945 | {␊ |
1946 | ␉␉␉␉ className.resize(0);␊ |
1947 | ␉␉␉␉ BEGIN(DoxClassName);␊ |
1948 | ␉␉␉␉ }␊ |
1949 | ␉YY_BREAK␊ |
1950 | case 39:␊ |
1951 | /* rule 39 can match eol */␊ |
1952 | YY_RULE_SETUP␊ |
1953 | #line 339 "doxytag.l"␊ |
1954 | {␊ |
1955 | ␉␉␉␉ className=tagYYtext;␊ |
1956 | ␉␉␉␉ addClass(className);␊ |
1957 | ␉␉␉␉ }␊ |
1958 | ␉YY_BREAK␊ |
1959 | case 40:␊ |
1960 | YY_RULE_SETUP␊ |
1961 | #line 343 "doxytag.l"␊ |
1962 | {␊ |
1963 | ␉␉␉␉ className+='<';␊ |
1964 | ␉␉␉␉ }␊ |
1965 | ␉YY_BREAK␊ |
1966 | case 41:␊ |
1967 | YY_RULE_SETUP␊ |
1968 | #line 346 "doxytag.l"␊ |
1969 | {␊ |
1970 | ␉␉␉␉ className+='>';␊ |
1971 | ␉␉␉␉ }␊ |
1972 | ␉YY_BREAK␊ |
1973 | case 42:␊ |
1974 | YY_RULE_SETUP␊ |
1975 | #line 349 "doxytag.l"␊ |
1976 | {␊ |
1977 | ␉␉␉␉ className+='&';␊ |
1978 | ␉␉␉␉ }␊ |
1979 | ␉YY_BREAK␊ |
1980 | case 43:␊ |
1981 | YY_RULE_SETUP␊ |
1982 | #line 352 "doxytag.l"␊ |
1983 | {␊ |
1984 | ␉␉␉␉ className+='"';␊ |
1985 | ␉␉␉␉ }␊ |
1986 | ␉YY_BREAK␊ |
1987 | case 44:␊ |
1988 | YY_RULE_SETUP␊ |
1989 | #line 355 "doxytag.l"␊ |
1990 | {␊ |
1991 | ␉␉␉␉ className+=*tagYYtext;␊ |
1992 | ␉␉␉␉ }␊ |
1993 | ␉YY_BREAK␊ |
1994 | case 45:␊ |
1995 | YY_RULE_SETUP␊ |
1996 | #line 358 "doxytag.l"␊ |
1997 | {␊ |
1998 | ␉␉␉␉ BEGIN(Start);␊ |
1999 | ␉␉␉␉ }␊ |
2000 | ␉YY_BREAK␊ |
2001 | /* --------------------------------------------------- */␊ |
2002 | /* Doxygen inheritance extraction rules */␊ |
2003 | case 46:␊ |
2004 | YY_RULE_SETUP␊ |
2005 | #line 365 "doxytag.l"␊ |
2006 | {␊ |
2007 | bases.clear();␊ |
2008 | ␉␉␉␉ baseName.resize(0);␊ |
2009 | ␉␉␉␉ BEGIN(DoxClassBase);␊ |
2010 | }␊ |
2011 | ␉YY_BREAK␊ |
2012 | case 47:␊ |
2013 | /* rule 47 can match eol */␊ |
2014 | YY_RULE_SETUP␊ |
2015 | #line 370 "doxytag.l"␊ |
2016 | {␊ |
2017 | ␉␉␉␉ baseName+=tagYYtext;␊ |
2018 | ␉␉␉␉ }␊ |
2019 | ␉YY_BREAK␊ |
2020 | case 48:␊ |
2021 | YY_RULE_SETUP␊ |
2022 | #line 373 "doxytag.l"␊ |
2023 | {␊ |
2024 | ␉␉␉␉ bases.append(baseName);␊ |
2025 | ␉␉␉␉ baseName.resize(0);␊ |
2026 | ␉␉␉␉ }␊ |
2027 | ␉YY_BREAK␊ |
2028 | case 49:␊ |
2029 | YY_RULE_SETUP␊ |
2030 | #line 377 "doxytag.l"␊ |
2031 | {␊ |
2032 | ␉␉␉␉ baseName+='<';␊ |
2033 | ␉␉␉␉ }␊ |
2034 | ␉YY_BREAK␊ |
2035 | case 50:␊ |
2036 | YY_RULE_SETUP␊ |
2037 | #line 380 "doxytag.l"␊ |
2038 | {␊ |
2039 | ␉␉␉␉ baseName+='>';␊ |
2040 | ␉␉␉␉ }␊ |
2041 | ␉YY_BREAK␊ |
2042 | case 51:␊ |
2043 | YY_RULE_SETUP␊ |
2044 | #line 383 "doxytag.l"␊ |
2045 | {␊ |
2046 | ␉␉␉␉ baseName+='&';␊ |
2047 | ␉␉␉␉ }␊ |
2048 | ␉YY_BREAK␊ |
2049 | case 52:␊ |
2050 | YY_RULE_SETUP␊ |
2051 | #line 386 "doxytag.l"␊ |
2052 | {␊ |
2053 | ␉␉␉␉ baseName+='"';␊ |
2054 | ␉␉␉␉ }␊ |
2055 | ␉YY_BREAK␊ |
2056 | case 53:␊ |
2057 | YY_RULE_SETUP␊ |
2058 | #line 389 "doxytag.l"␊ |
2059 | {␊ |
2060 | ␉␉␉␉ baseName+=*tagYYtext;␊ |
2061 | ␉␉␉␉ }␊ |
2062 | ␉YY_BREAK␊ |
2063 | case 54:␊ |
2064 | YY_RULE_SETUP␊ |
2065 | #line 392 "doxytag.l"␊ |
2066 | {␊ |
2067 | ␉␉␉␉ bases.append(baseName);␊ |
2068 | ␉␉␉␉ baseName.resize(0);␊ |
2069 | ␉␉␉␉ addBases(className);␊ |
2070 | ␉␉␉␉ BEGIN(Start);␊ |
2071 | ␉␉␉␉ }␊ |
2072 | ␉YY_BREAK␊ |
2073 | /* --------------------------------------------------- */␊ |
2074 | /* Doxygen member extraction rules */␊ |
2075 | case 55:␊ |
2076 | YY_RULE_SETUP␊ |
2077 | #line 402 "doxytag.l"␊ |
2078 | {␊ |
2079 | ␉␉␉␉ memberName.resize(0);␊ |
2080 | ␉␉␉␉ BEGIN(DoxReadName);␊ |
2081 | ␉␉␉␉ }␊ |
2082 | ␉YY_BREAK␊ |
2083 | case 56:␊ |
2084 | /* rule 56 can match eol */␊ |
2085 | YY_RULE_SETUP␊ |
2086 | #line 406 "doxytag.l"␊ |
2087 | {␊ |
2088 | ␉␉␉␉ memberName+=tagYYtext;␊ |
2089 | ␉␉␉␉ }␊ |
2090 | ␉YY_BREAK␊ |
2091 | case 57:␊ |
2092 | YY_RULE_SETUP␊ |
2093 | #line 409 "doxytag.l"␊ |
2094 | {␊ |
2095 | ␉␉␉␉ memberName+='<';␊ |
2096 | ␉␉␉␉ }␊ |
2097 | ␉YY_BREAK␊ |
2098 | case 58:␊ |
2099 | YY_RULE_SETUP␊ |
2100 | #line 412 "doxytag.l"␊ |
2101 | {␊ |
2102 | ␉␉␉␉ memberName+='>';␊ |
2103 | ␉␉␉␉ }␊ |
2104 | ␉YY_BREAK␊ |
2105 | case 59:␊ |
2106 | YY_RULE_SETUP␊ |
2107 | #line 415 "doxytag.l"␊ |
2108 | {␊ |
2109 | ␉␉␉␉ memberName+='&';␊ |
2110 | ␉␉␉␉ }␊ |
2111 | ␉YY_BREAK␊ |
2112 | case 60:␊ |
2113 | YY_RULE_SETUP␊ |
2114 | #line 418 "doxytag.l"␊ |
2115 | {␊ |
2116 | ␉␉␉␉ memberName+='"';␊ |
2117 | ␉␉␉␉ }␊ |
2118 | ␉YY_BREAK␊ |
2119 | case 61:␊ |
2120 | YY_RULE_SETUP␊ |
2121 | #line 421 "doxytag.l"␊ |
2122 | {␊ |
2123 | ␉␉␉␉ memberName+=*tagYYtext;␊ |
2124 | ␉␉␉␉ }␊ |
2125 | ␉YY_BREAK␊ |
2126 | case 62:␊ |
2127 | YY_RULE_SETUP␊ |
2128 | #line 424 "doxytag.l"␊ |
2129 | {␊ |
2130 | ␉␉␉␉ memberName=memberName.mid(memberName.find("::")+2);␊ |
2131 | ␉␉␉␉ memberRef.resize(0);␊ |
2132 | ␉␉␉␉ BEGIN(DoxReadAnchor);␊ |
2133 | ␉␉␉␉ }␊ |
2134 | ␉YY_BREAK␊ |
2135 | case 63:␊ |
2136 | /* rule 63 can match eol */␊ |
2137 | YY_RULE_SETUP␊ |
2138 | #line 429 "doxytag.l"␊ |
2139 | {␊ |
2140 | ␉␉␉␉ memberRef+=tagYYtext;␊ |
2141 | ␉␉␉␉ }␊ |
2142 | ␉YY_BREAK␊ |
2143 | case 64:␊ |
2144 | YY_RULE_SETUP␊ |
2145 | #line 432 "doxytag.l"␊ |
2146 | {␊ |
2147 | ␉␉␉␉ memberRef+='<';␊ |
2148 | ␉␉␉␉ }␊ |
2149 | ␉YY_BREAK␊ |
2150 | case 65:␊ |
2151 | YY_RULE_SETUP␊ |
2152 | #line 435 "doxytag.l"␊ |
2153 | {␊ |
2154 | ␉␉␉␉ memberRef+='>';␊ |
2155 | ␉␉␉␉ }␊ |
2156 | ␉YY_BREAK␊ |
2157 | case 66:␊ |
2158 | YY_RULE_SETUP␊ |
2159 | #line 438 "doxytag.l"␊ |
2160 | {␊ |
2161 | ␉␉␉␉ memberRef+='&';␊ |
2162 | ␉␉␉␉ }␊ |
2163 | ␉YY_BREAK␊ |
2164 | case 67:␊ |
2165 | YY_RULE_SETUP␊ |
2166 | #line 441 "doxytag.l"␊ |
2167 | {␊ |
2168 | ␉␉␉␉ memberRef+='"';␊ |
2169 | ␉␉␉␉ }␊ |
2170 | ␉YY_BREAK␊ |
2171 | case 68:␊ |
2172 | YY_RULE_SETUP␊ |
2173 | #line 444 "doxytag.l"␊ |
2174 | {␊ |
2175 | ␉␉␉␉ memberRef+=*tagYYtext;␊ |
2176 | ␉␉␉␉ }␊ |
2177 | ␉YY_BREAK␊ |
2178 | case 69:␊ |
2179 | YY_RULE_SETUP␊ |
2180 | #line 447 "doxytag.l"␊ |
2181 | {␊ |
2182 | ␉␉␉␉ memberArgs.resize(0);␊ |
2183 | ␉␉␉␉ BEGIN(DoxReadArgs);␊ |
2184 | ␉␉␉␉ }␊ |
2185 | ␉YY_BREAK␊ |
2186 | case 70:␊ |
2187 | /* rule 70 can match eol */␊ |
2188 | YY_RULE_SETUP␊ |
2189 | #line 451 "doxytag.l"␊ |
2190 | {␊ |
2191 | ␉␉␉␉ memberArgs+=tagYYtext;␊ |
2192 | ␉␉␉␉ }␊ |
2193 | ␉YY_BREAK␊ |
2194 | case 71:␊ |
2195 | YY_RULE_SETUP␊ |
2196 | #line 454 "doxytag.l"␊ |
2197 | {␊ |
2198 | ␉␉␉␉ memberArgs+='<';␊ |
2199 | ␉␉␉␉ }␊ |
2200 | ␉YY_BREAK␊ |
2201 | case 72:␊ |
2202 | YY_RULE_SETUP␊ |
2203 | #line 457 "doxytag.l"␊ |
2204 | {␊ |
2205 | ␉␉␉␉ memberArgs+='>';␊ |
2206 | ␉␉␉␉ }␊ |
2207 | ␉YY_BREAK␊ |
2208 | case 73:␊ |
2209 | YY_RULE_SETUP␊ |
2210 | #line 460 "doxytag.l"␊ |
2211 | {␊ |
2212 | ␉␉␉␉ memberArgs+='&';␊ |
2213 | ␉␉␉␉ }␊ |
2214 | ␉YY_BREAK␊ |
2215 | case 74:␊ |
2216 | YY_RULE_SETUP␊ |
2217 | #line 463 "doxytag.l"␊ |
2218 | {␊ |
2219 | ␉␉␉␉ memberArgs+='"';␊ |
2220 | ␉␉␉␉ }␊ |
2221 | ␉YY_BREAK␊ |
2222 | case 75:␊ |
2223 | YY_RULE_SETUP␊ |
2224 | #line 466 "doxytag.l"␊ |
2225 | {␊ |
2226 | ␉␉␉␉ memberArgs+=*tagYYtext;␊ |
2227 | ␉␉␉␉ }␊ |
2228 | ␉YY_BREAK␊ |
2229 | case 76:␊ |
2230 | YY_RULE_SETUP␊ |
2231 | #line 469 "doxytag.l"␊ |
2232 | {␊ |
2233 | addMember(memberName,memberRef,memberArgs);␊ |
2234 | memberName.resize(0);␊ |
2235 | memberRef.resize(0);␊ |
2236 | memberArgs.resize(0);␊ |
2237 | ␉␉␉␉ BEGIN(Start);␊ |
2238 | }␊ |
2239 | ␉YY_BREAK␊ |
2240 | /** --------------------------------------------------- */␊ |
2241 | case 77:␊ |
2242 | YY_RULE_SETUP␊ |
2243 | #line 479 "doxytag.l"␊ |
2244 | { ␊ |
2245 | ␉␉␉␉ BEGIN( SkipPreformated );␊ |
2246 | ␉␉␉␉ }␊ |
2247 | ␉YY_BREAK␊ |
2248 | case 78:␊ |
2249 | YY_RULE_SETUP␊ |
2250 | #line 482 "doxytag.l"␊ |
2251 | {␊ |
2252 | ␉␉␉␉ BEGIN( SearchWords );␊ |
2253 | ␉␉␉␉ }␊ |
2254 | ␉YY_BREAK␊ |
2255 | case 79:␊ |
2256 | YY_RULE_SETUP␊ |
2257 | #line 485 "doxytag.l"␊ |
2258 | { ␊ |
2259 | ␉␉␉␉ BEGIN( SkipHTMLTag ); ␊ |
2260 | ␉␉␉␉ }␊ |
2261 | ␉YY_BREAK␊ |
2262 | case 80:␊ |
2263 | YY_RULE_SETUP␊ |
2264 | #line 488 "doxytag.l"␊ |
2265 | ␊ |
2266 | ␉YY_BREAK␊ |
2267 | case 81:␊ |
2268 | YY_RULE_SETUP␊ |
2269 | #line 489 "doxytag.l"␊ |
2270 | {␊ |
2271 | ␉␉␉␉ //printf("tag: %s#%s ref: %s word: `%s'\n",␊ |
2272 | ␉␉␉␉ // docBaseLink.data(),docAnchor.data(),␊ |
2273 | ␉␉␉␉ // docRefName.data(),tagYYtext);␊ |
2274 | ␉␉␉␉ //if (genIndex && !docRefName.isEmpty() && tagYYleng>2)␊ |
2275 | ␉␉␉␉ // searchIndex.addWord(docRefName,␊ |
2276 | ␉␉␉␉ //␉ tagYYtext,FALSE␊ |
2277 | ␉␉␉␉ //␉␉␉ );␊ |
2278 | ␉␉␉␉ }␊ |
2279 | ␉YY_BREAK␊ |
2280 | case 82:␊ |
2281 | YY_RULE_SETUP␊ |
2282 | #line 498 "doxytag.l"␊ |
2283 | {␊ |
2284 | ␉␉␉␉ BEGIN( Start );␊ |
2285 | ␉␉␉␉ }␊ |
2286 | ␉YY_BREAK␊ |
2287 | case 83:␊ |
2288 | YY_RULE_SETUP␊ |
2289 | #line 501 "doxytag.l"␊ |
2290 | ␊ |
2291 | ␉YY_BREAK␊ |
2292 | case 84:␊ |
2293 | YY_RULE_SETUP␊ |
2294 | #line 502 "doxytag.l"␊ |
2295 | {␊ |
2296 | ␉␉␉␉ QCString s=tagYYtext;␊ |
2297 | ␉␉␉␉ if (s.find("::")!=-1)␊ |
2298 | ␉␉␉␉ {␊ |
2299 | ␉␉␉␉ docRefName=tagYYtext;␊ |
2300 | ␉␉␉␉ addReference();␊ |
2301 | ␉␉␉␉ nameBug=TRUE;␊ |
2302 | ␉␉␉␉ }␊ |
2303 | ␉␉␉␉ else␊ |
2304 | ␉␉␉␉ {␊ |
2305 | ␉␉␉␉ nameBug=FALSE;␊ |
2306 | ␉␉␉␉ }␊ |
2307 | ␉␉␉␉ BEGIN( Start );␊ |
2308 | ␉␉␉␉ }␊ |
2309 | ␉YY_BREAK␊ |
2310 | case 85:␊ |
2311 | YY_RULE_SETUP␊ |
2312 | #line 516 "doxytag.l"␊ |
2313 | {␊ |
2314 | ␉␉␉␉ docAnchor = tagYYtext;␊ |
2315 | ␉␉␉␉ if (docAnchor=="details" || ␊ |
2316 | ␉␉␉␉␉ docAnchor=="_details")␊ |
2317 | ␉␉␉␉ {␊ |
2318 | ␉␉␉␉ docRefName=className.copy();␊ |
2319 | ␉␉␉␉ addReference();␊ |
2320 | ␉␉␉␉ BEGIN( Start );␊ |
2321 | ␉␉␉␉ }␊ |
2322 | ␉␉␉␉ else␊ |
2323 | ␉␉␉␉ {␊ |
2324 | ␉␉␉␉ BEGIN( SearchRefName );␊ |
2325 | ␉␉␉␉ }␊ |
2326 | ␉␉␉␉ }␊ |
2327 | ␉YY_BREAK␊ |
2328 | case 86:␊ |
2329 | YY_RULE_SETUP␊ |
2330 | #line 530 "doxytag.l"␊ |
2331 | {␊ |
2332 | ␉␉␉␉ BEGIN( ReadRefName ); ␊ |
2333 | ␉␉␉␉ }␊ |
2334 | ␉YY_BREAK␊ |
2335 | case 87:␊ |
2336 | YY_RULE_SETUP␊ |
2337 | #line 533 "doxytag.l"␊ |
2338 | { // HACK: avoid finding links in code fragments␊ |
2339 | ␉␉␉␉ BEGIN( Start );␊ |
2340 | ␉␉␉␉ }␊ |
2341 | ␉YY_BREAK␊ |
2342 | case 88:␊ |
2343 | YY_RULE_SETUP␊ |
2344 | #line 536 "doxytag.l"␊ |
2345 | { // HACK: deal with Qt code␊ |
2346 | ␉␉␉␉ if (nameBug)␊ |
2347 | ␉␉␉␉ BEGIN( Start );␊ |
2348 | ␉␉␉␉ else␊ |
2349 | ␉␉␉␉ BEGIN( ReadRefName );␊ |
2350 | ␉␉␉␉ }␊ |
2351 | ␉YY_BREAK␊ |
2352 | case 89:␊ |
2353 | YY_RULE_SETUP␊ |
2354 | #line 543 "doxytag.l"␊ |
2355 | { // hmm, looks impressive :-)␊ |
2356 | ␉␉␉␉ docRefName=unhtmlify(tagYYtext);␊ |
2357 | ␉␉␉␉ addReference();␊ |
2358 | ␉␉␉␉ BEGIN( Start );␊ |
2359 | ␉␉␉␉ }␊ |
2360 | ␉YY_BREAK␊ |
2361 | case 90:␊ |
2362 | YY_RULE_SETUP␊ |
2363 | #line 548 "doxytag.l"␊ |
2364 | {␊ |
2365 | ␉␉␉␉ //printf("ReadRef=%s\n",tagYYtext);␊ |
2366 | ␉␉␉␉ docRefName=tagYYtext;␊ |
2367 | ␉␉␉␉ addReference();␊ |
2368 | ␉␉␉␉ BEGIN( Start );␊ |
2369 | ␉␉␉␉ }␊ |
2370 | ␉YY_BREAK␊ |
2371 | case 91:␊ |
2372 | YY_RULE_SETUP␊ |
2373 | #line 554 "doxytag.l"␊ |
2374 | {␊ |
2375 | ␉␉␉␉ //printf("Search %s\n",tagYYtext);␊ |
2376 | ␉␉␉␉ BEGIN( ReadBaseClass );␊ |
2377 | ␉␉␉␉ } ␊ |
2378 | ␉YY_BREAK␊ |
2379 | case 92:␊ |
2380 | /* rule 92 can match eol */␊ |
2381 | YY_RULE_SETUP␊ |
2382 | #line 558 "doxytag.l"␊ |
2383 | {␊ |
2384 | ␉␉␉␉ addBases(className);␊ |
2385 | ␉␉␉␉ BEGIN( Start );␊ |
2386 | ␉␉␉␉ }␊ |
2387 | ␉YY_BREAK␊ |
2388 | case 93:␊ |
2389 | YY_RULE_SETUP␊ |
2390 | #line 562 "doxytag.l"␊ |
2391 | {␊ |
2392 | ␉␉␉␉ bases.append(tagYYtext);␊ |
2393 | ␉␉␉␉ BEGIN( SearchBaseClasses );␊ |
2394 | ␉␉␉␉ }␊ |
2395 | ␉YY_BREAK␊ |
2396 | case 94:␊ |
2397 | YY_RULE_SETUP␊ |
2398 | #line 566 "doxytag.l"␊ |
2399 | {␊ |
2400 | ␉␉␉␉ BEGIN( ReadClassFile ); ␊ |
2401 | ␉␉␉␉ }␊ |
2402 | ␉YY_BREAK␊ |
2403 | case 95:␊ |
2404 | YY_RULE_SETUP␊ |
2405 | #line 569 "doxytag.l"␊ |
2406 | {␊ |
2407 | ␉␉␉␉ BEGIN( ReadClassFile ); ␊ |
2408 | ␉␉␉␉ }␊ |
2409 | ␉YY_BREAK␊ |
2410 | case 96:␊ |
2411 | YY_RULE_SETUP␊ |
2412 | #line 572 "doxytag.l"␊ |
2413 | {␊ |
2414 | ␉␉␉␉ className=tagYYtext;␊ |
2415 | ␉␉␉␉ BEGIN( CheckClassName);␊ |
2416 | ␉␉␉␉ }␊ |
2417 | ␉YY_BREAK␊ |
2418 | case 97:␊ |
2419 | YY_RULE_SETUP␊ |
2420 | #line 576 "doxytag.l"␊ |
2421 | {␊ |
2422 | ␉␉␉␉ //printf("className=%s\n",className.data());␊ |
2423 | ␉␉␉␉ addClass(className);␊ |
2424 | ␉␉␉␉ BEGIN( Start );␊ |
2425 | ␉␉␉␉ }␊ |
2426 | ␉YY_BREAK␊ |
2427 | case 98:␊ |
2428 | YY_RULE_SETUP␊ |
2429 | #line 581 "doxytag.l"␊ |
2430 | {␊ |
2431 | ␉␉␉␉ //printf("className=%s\n",className.data());␊ |
2432 | ␉␉␉␉ addFile(className);␊ |
2433 | ␉␉␉␉ BEGIN( Start );␊ |
2434 | ␉␉␉␉ }␊ |
2435 | ␉YY_BREAK␊ |
2436 | case 99:␊ |
2437 | YY_RULE_SETUP␊ |
2438 | #line 586 "doxytag.l"␊ |
2439 | { // not a class file␊ |
2440 | ␉␉␉␉ className.resize(0);␊ |
2441 | ␉␉␉␉ BEGIN( Start );␊ |
2442 | ␉␉␉␉ }␊ |
2443 | ␉YY_BREAK␊ |
2444 | case 100:␊ |
2445 | YY_RULE_SETUP␊ |
2446 | #line 590 "doxytag.l"␊ |
2447 | {␊ |
2448 | ␉␉␉ classFile=tagYYtext;␊ |
2449 | ␉␉␉␉ BEGIN( SearchMemberRef );␊ |
2450 | ␉␉␉␉ }␊ |
2451 | ␉YY_BREAK␊ |
2452 | case 101:␊ |
2453 | YY_RULE_SETUP␊ |
2454 | #line 594 "doxytag.l"␊ |
2455 | {␊ |
2456 | ␉␉␉␉ if (YY_START==ReadClassFile)␊ |
2457 | ␉␉␉␉ {␊ |
2458 | ␉␉␉␉ classFile=yyFileName;␊ |
2459 | ␉␉␉␉ }␊ |
2460 | ␉␉␉␉ //BEGIN( ReadMemberRef );␊ |
2461 | ␉␉␉␉ BEGIN( Start );␊ |
2462 | ␉␉␉␉ }␊ |
2463 | ␉YY_BREAK␊ |
2464 | case 102:␊ |
2465 | YY_RULE_SETUP␊ |
2466 | #line 602 "doxytag.l"␊ |
2467 | {␊ |
2468 | ␉␉␉␉ memberRef=tagYYtext;␊ |
2469 | ␉␉␉␉ BEGIN( SearchMemberName );␊ |
2470 | ␉␉␉␉ }␊ |
2471 | ␉YY_BREAK␊ |
2472 | case 103:␊ |
2473 | YY_RULE_SETUP␊ |
2474 | #line 606 "doxytag.l"␊ |
2475 | { // <strong> is for qt-1.44, <b> is for qt-2.00 ␊ |
2476 | ␉␉␉ BEGIN( ReadMemberName );␊ |
2477 | ␉␉␉␉ }␊ |
2478 | ␉YY_BREAK␊ |
2479 | case 104:␊ |
2480 | YY_RULE_SETUP␊ |
2481 | #line 609 "doxytag.l"␊ |
2482 | {␊ |
2483 | ␉␉␉ unput(*tagYYtext);␊ |
2484 | ␉␉␉␉ BEGIN( ReadMemberName );␊ |
2485 | ␉␉␉␉ }␊ |
2486 | ␉YY_BREAK␊ |
2487 | case 105:␊ |
2488 | YY_RULE_SETUP␊ |
2489 | #line 613 "doxytag.l"␊ |
2490 | { ␊ |
2491 | ␉␉␉␉ memberName="operator";␊ |
2492 | ␉␉␉␉ BEGIN( ReadOperator );␊ |
2493 | ␉␉␉␉ }␊ |
2494 | ␉YY_BREAK␊ |
2495 | case 106:␊ |
2496 | YY_RULE_SETUP␊ |
2497 | #line 617 "doxytag.l"␊ |
2498 | { memberName+=*tagYYtext; } ␊ |
2499 | ␉YY_BREAK␊ |
2500 | case 107:␊ |
2501 | YY_RULE_SETUP␊ |
2502 | #line 618 "doxytag.l"␊ |
2503 | { memberName+="<"; }␊ |
2504 | ␉YY_BREAK␊ |
2505 | case 108:␊ |
2506 | YY_RULE_SETUP␊ |
2507 | #line 619 "doxytag.l"␊ |
2508 | { memberName+=">"; }␊ |
2509 | ␉YY_BREAK␊ |
2510 | case 109:␊ |
2511 | YY_RULE_SETUP␊ |
2512 | #line 620 "doxytag.l"␊ |
2513 | { memberName+=" new"; }␊ |
2514 | ␉YY_BREAK␊ |
2515 | case 110:␊ |
2516 | YY_RULE_SETUP␊ |
2517 | #line 621 "doxytag.l"␊ |
2518 | { memberName+=" delete"; }␊ |
2519 | ␉YY_BREAK␊ |
2520 | case 111:␊ |
2521 | YY_RULE_SETUP␊ |
2522 | #line 622 "doxytag.l"␊ |
2523 | { BEGIN( SearchArgs ); }␊ |
2524 | ␉YY_BREAK␊ |
2525 | case 112:␊ |
2526 | YY_RULE_SETUP␊ |
2527 | #line 623 "doxytag.l"␊ |
2528 | {␊ |
2529 | ␉␉␉␉ memberName=tagYYtext;␊ |
2530 | ␉␉␉ BEGIN( SearchArgs );␊ |
2531 | ␉␉␉ } ␊ |
2532 | ␉YY_BREAK␊ |
2533 | case 113:␊ |
2534 | YY_RULE_SETUP␊ |
2535 | #line 627 "doxytag.l"␊ |
2536 | { ␊ |
2537 | ␉␉␉␉ //printf("SearchArg className=%s memberName=%s\n",className.data(),memberName.data());␊ |
2538 | ␉␉␉␉ if (!className.isEmpty() && !memberName.isEmpty())␊ |
2539 | ␉␉␉␉ BEGIN( ReadArgs ); ␊ |
2540 | ␉␉␉␉ else␊ |
2541 | ␉␉␉␉ BEGIN( Start );␊ |
2542 | ␉␉␉␉ }␊ |
2543 | ␉YY_BREAK␊ |
2544 | case 114:␊ |
2545 | YY_RULE_SETUP␊ |
2546 | #line 634 "doxytag.l"␊ |
2547 | { memberArgs+='&'; }␊ |
2548 | ␉YY_BREAK␊ |
2549 | case 115:␊ |
2550 | YY_RULE_SETUP␊ |
2551 | #line 635 "doxytag.l"␊ |
2552 | { memberArgs+='<'; }␊ |
2553 | ␉YY_BREAK␊ |
2554 | case 116:␊ |
2555 | YY_RULE_SETUP␊ |
2556 | #line 636 "doxytag.l"␊ |
2557 | { memberArgs+='>'; }␊ |
2558 | ␉YY_BREAK␊ |
2559 | case 117:␊ |
2560 | YY_RULE_SETUP␊ |
2561 | #line 637 "doxytag.l"␊ |
2562 | { memberArgs+='"'; }␊ |
2563 | ␉YY_BREAK␊ |
2564 | case 118:␊ |
2565 | YY_RULE_SETUP␊ |
2566 | #line 638 "doxytag.l"␊ |
2567 | { memberArgs+=' '; }␊ |
2568 | ␉YY_BREAK␊ |
2569 | /*␊ |
2570 | <ReadArgs>[{}]␉␉␉ { // handle enums␊ |
2571 | ␉␉␉␉ memberArgs.resize(0);␊ |
2572 | ␉␉␉␉ addMember(memberName,memberRef,memberArgs);␊ |
2573 | ␉␉␉␉ if (*tagYYtext=='}')␊ |
2574 | ␉␉␉␉ BEGIN( Start );␊ |
2575 | ␉␉␉␉ else␊ |
2576 | ␉␉␉␉ BEGIN( SearchClassFile );␊ |
2577 | ␉␉␉␉ }␊ |
2578 | */␊ |
2579 | case 119:␊ |
2580 | /* rule 119 can match eol */␊ |
2581 | YY_RULE_SETUP␊ |
2582 | #line 649 "doxytag.l"␊ |
2583 | {␊ |
2584 | //printf("adding member %s\n",memberName.data());␊ |
2585 | ␉␉␉␉ memberArgs=memberArgs.stripWhiteSpace();␊ |
2586 | ␉␉␉␉ //if (newClass)␊ |
2587 | ␉␉␉␉ //{␊ |
2588 | ␉␉␉␉ // newClass=FALSE;␊ |
2589 | ␉␉␉␉ // addClass(className);␊ |
2590 | ␉␉␉␉ //}␊ |
2591 | ␉␉␉␉ addMember(memberName,memberRef,memberArgs);␊ |
2592 | memberName.resize(0);␊ |
2593 | memberRef.resize(0);␊ |
2594 | memberArgs.resize(0);␊ |
2595 | ␉␉␉␉ if (*tagYYtext=='<')␊ |
2596 | ␉␉␉␉ BEGIN( SkipHTMLTag);␊ |
2597 | ␉␉␉␉ else␊ |
2598 | ␉␉␉␉ BEGIN( Start );␊ |
2599 | ␉␉␉␉ }␊ |
2600 | ␉YY_BREAK␊ |
2601 | case 120:␊ |
2602 | YY_RULE_SETUP␊ |
2603 | #line 666 "doxytag.l"␊ |
2604 | { memberArgs+=(*tagYYtext)&0x7f; }␊ |
2605 | ␉YY_BREAK␊ |
2606 | case 121:␊ |
2607 | YY_RULE_SETUP␊ |
2608 | #line 667 "doxytag.l"␊ |
2609 | { BEGIN( Start ); }␊ |
2610 | ␉YY_BREAK␊ |
2611 | case 122:␊ |
2612 | YY_RULE_SETUP␊ |
2613 | #line 668 "doxytag.l"␊ |
2614 | ␊ |
2615 | ␉YY_BREAK␊ |
2616 | case 123:␊ |
2617 | YY_RULE_SETUP␊ |
2618 | #line 669 "doxytag.l"␊ |
2619 | ␊ |
2620 | ␉YY_BREAK␊ |
2621 | case 124:␊ |
2622 | /* rule 124 can match eol */␊ |
2623 | YY_RULE_SETUP␊ |
2624 | #line 670 "doxytag.l"␊ |
2625 | { yyLineNr++; ␊ |
2626 | ␉␉␉␉ if (YY_START!=SkipHTMLTag) BEGIN( Start ); ␊ |
2627 | ␉␉␉␉ }␊ |
2628 | ␉YY_BREAK␊ |
2629 | case 125:␊ |
2630 | YY_RULE_SETUP␊ |
2631 | #line 674 "doxytag.l"␊ |
2632 | ECHO;␊ |
2633 | ␉YY_BREAK␊ |
2634 | #line 2635 "<stdout>"␊ |
2635 | case YY_STATE_EOF(INITIAL):␊ |
2636 | case YY_STATE_EOF(Start):␊ |
2637 | case YY_STATE_EOF(SearchClassFile):␊ |
2638 | case YY_STATE_EOF(ReadClassFile):␊ |
2639 | case YY_STATE_EOF(CheckClassName):␊ |
2640 | case YY_STATE_EOF(ReadClassName):␊ |
2641 | case YY_STATE_EOF(SearchMemberRef):␊ |
2642 | case YY_STATE_EOF(ReadMemberRef):␊ |
2643 | case YY_STATE_EOF(SearchMemberName):␊ |
2644 | case YY_STATE_EOF(ReadMemberName):␊ |
2645 | case YY_STATE_EOF(ReadOperator):␊ |
2646 | case YY_STATE_EOF(SearchBaseClasses):␊ |
2647 | case YY_STATE_EOF(ReadBaseClass):␊ |
2648 | case YY_STATE_EOF(SearchRefName):␊ |
2649 | case YY_STATE_EOF(ReadRefName):␊ |
2650 | case YY_STATE_EOF(SearchArgs):␊ |
2651 | case YY_STATE_EOF(ReadArgs):␊ |
2652 | case YY_STATE_EOF(SearchWords):␊ |
2653 | case YY_STATE_EOF(SkipHTMLTag):␊ |
2654 | case YY_STATE_EOF(CheckConstructor):␊ |
2655 | case YY_STATE_EOF(SkipPreformated):␊ |
2656 | case YY_STATE_EOF(Qt3ReadType):␊ |
2657 | case YY_STATE_EOF(Qt3ReadAnchor):␊ |
2658 | case YY_STATE_EOF(Qt3ReadName):␊ |
2659 | case YY_STATE_EOF(Qt3ReadOperator):␊ |
2660 | case YY_STATE_EOF(Qt3ReadArgs):␊ |
2661 | case YY_STATE_EOF(DoxReadAnchor):␊ |
2662 | case YY_STATE_EOF(DoxReadName):␊ |
2663 | case YY_STATE_EOF(DoxReadArgs):␊ |
2664 | case YY_STATE_EOF(DoxClassName):␊ |
2665 | case YY_STATE_EOF(DoxClassBase):␊ |
2666 | ␉yyterminate();␊ |
2667 | ␊ |
2668 | ␉case YY_END_OF_BUFFER:␊ |
2669 | ␉␉{␊ |
2670 | ␉␉/* Amount of text matched not including the EOB char. */␊ |
2671 | ␉␉int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;␊ |
2672 | ␊ |
2673 | ␉␉/* Undo the effects of YY_DO_BEFORE_ACTION. */␊ |
2674 | ␉␉*yy_cp = (yy_hold_char);␊ |
2675 | ␉␉YY_RESTORE_YY_MORE_OFFSET␊ |
2676 | ␊ |
2677 | ␉␉if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )␊ |
2678 | ␉␉␉{␊ |
2679 | ␉␉␉/* We're scanning a new file or input source. It's␊ |
2680 | ␉␉␉ * possible that this happened because the user␊ |
2681 | ␉␉␉ * just pointed tagYYin at a new source and called␊ |
2682 | ␉␉␉ * tagYYlex(). If so, then we have to assure␊ |
2683 | ␉␉␉ * consistency between YY_CURRENT_BUFFER and our␊ |
2684 | ␉␉␉ * globals. Here is the right place to do so, because␊ |
2685 | ␉␉␉ * this is the first action (other than possibly a␊ |
2686 | ␉␉␉ * back-up) that will match for the new input source.␊ |
2687 | ␉␉␉ */␊ |
2688 | ␉␉␉(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;␊ |
2689 | ␉␉␉YY_CURRENT_BUFFER_LVALUE->yy_input_file = tagYYin;␊ |
2690 | ␉␉␉YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;␊ |
2691 | ␉␉␉}␊ |
2692 | ␊ |
2693 | ␉␉/* Note that here we test for yy_c_buf_p "<=" to the position␊ |
2694 | ␉␉ * of the first EOB in the buffer, since yy_c_buf_p will␊ |
2695 | ␉␉ * already have been incremented past the NUL character␊ |
2696 | ␉␉ * (since all states make transitions on EOB to the␊ |
2697 | ␉␉ * end-of-buffer state). Contrast this with the test␊ |
2698 | ␉␉ * in input().␊ |
2699 | ␉␉ */␊ |
2700 | ␉␉if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )␊ |
2701 | ␉␉␉{ /* This was really a NUL. */␊ |
2702 | ␉␉␉yy_state_type yy_next_state;␊ |
2703 | ␊ |
2704 | ␉␉␉(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;␊ |
2705 | ␊ |
2706 | ␉␉␉yy_current_state = yy_get_previous_state( );␊ |
2707 | ␊ |
2708 | ␉␉␉/* Okay, we're now positioned to make the NUL␊ |
2709 | ␉␉␉ * transition. We couldn't have␊ |
2710 | ␉␉␉ * yy_get_previous_state() go ahead and do it␊ |
2711 | ␉␉␉ * for us because it doesn't know how to deal␊ |
2712 | ␉␉␉ * with the possibility of jamming (and we don't␊ |
2713 | ␉␉␉ * want to build jamming into it because then it␊ |
2714 | ␉␉␉ * will run more slowly).␊ |
2715 | ␉␉␉ */␊ |
2716 | ␊ |
2717 | ␉␉␉yy_next_state = yy_try_NUL_trans( yy_current_state );␊ |
2718 | ␊ |
2719 | ␉␉␉yy_bp = (yytext_ptr) + YY_MORE_ADJ;␊ |
2720 | ␊ |
2721 | ␉␉␉if ( yy_next_state )␊ |
2722 | ␉␉␉␉{␊ |
2723 | ␉␉␉␉/* Consume the NUL. */␊ |
2724 | ␉␉␉␉yy_cp = ++(yy_c_buf_p);␊ |
2725 | ␉␉␉␉yy_current_state = yy_next_state;␊ |
2726 | ␉␉␉␉goto yy_match;␊ |
2727 | ␉␉␉␉}␊ |
2728 | ␊ |
2729 | ␉␉␉else␊ |
2730 | ␉␉␉␉{␊ |
2731 | ␉␉␉␉yy_cp = (yy_c_buf_p);␊ |
2732 | ␉␉␉␉goto yy_find_action;␊ |
2733 | ␉␉␉␉}␊ |
2734 | ␉␉␉}␊ |
2735 | ␊ |
2736 | ␉␉else switch ( yy_get_next_buffer( ) )␊ |
2737 | ␉␉␉{␊ |
2738 | ␉␉␉case EOB_ACT_END_OF_FILE:␊ |
2739 | ␉␉␉␉{␊ |
2740 | ␉␉␉␉(yy_did_buffer_switch_on_eof) = 0;␊ |
2741 | ␊ |
2742 | ␉␉␉␉if ( tagYYwrap( ) )␊ |
2743 | ␉␉␉␉␉{␊ |
2744 | ␉␉␉␉␉/* Note: because we've taken care in␊ |
2745 | ␉␉␉␉␉ * yy_get_next_buffer() to have set up␊ |
2746 | ␉␉␉␉␉ * tagYYtext, we can now set up␊ |
2747 | ␉␉␉␉␉ * yy_c_buf_p so that if some total␊ |
2748 | ␉␉␉␉␉ * hoser (like flex itself) wants to␊ |
2749 | ␉␉␉␉␉ * call the scanner after we return the␊ |
2750 | ␉␉␉␉␉ * YY_NULL, it'll still work - another␊ |
2751 | ␉␉␉␉␉ * YY_NULL will get returned.␊ |
2752 | ␉␉␉␉␉ */␊ |
2753 | ␉␉␉␉␉(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;␊ |
2754 | ␊ |
2755 | ␉␉␉␉␉yy_act = YY_STATE_EOF(YY_START);␊ |
2756 | ␉␉␉␉␉goto do_action;␊ |
2757 | ␉␉␉␉␉}␊ |
2758 | ␊ |
2759 | ␉␉␉␉else␊ |
2760 | ␉␉␉␉␉{␊ |
2761 | ␉␉␉␉␉if ( ! (yy_did_buffer_switch_on_eof) )␊ |
2762 | ␉␉␉␉␉␉YY_NEW_FILE;␊ |
2763 | ␉␉␉␉␉}␊ |
2764 | ␉␉␉␉break;␊ |
2765 | ␉␉␉␉}␊ |
2766 | ␊ |
2767 | ␉␉␉case EOB_ACT_CONTINUE_SCAN:␊ |
2768 | ␉␉␉␉(yy_c_buf_p) =␊ |
2769 | ␉␉␉␉␉(yytext_ptr) + yy_amount_of_matched_text;␊ |
2770 | ␊ |
2771 | ␉␉␉␉yy_current_state = yy_get_previous_state( );␊ |
2772 | ␊ |
2773 | ␉␉␉␉yy_cp = (yy_c_buf_p);␊ |
2774 | ␉␉␉␉yy_bp = (yytext_ptr) + YY_MORE_ADJ;␊ |
2775 | ␉␉␉␉goto yy_match;␊ |
2776 | ␊ |
2777 | ␉␉␉case EOB_ACT_LAST_MATCH:␊ |
2778 | ␉␉␉␉(yy_c_buf_p) =␊ |
2779 | ␉␉␉␉&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];␊ |
2780 | ␊ |
2781 | ␉␉␉␉yy_current_state = yy_get_previous_state( );␊ |
2782 | ␊ |
2783 | ␉␉␉␉yy_cp = (yy_c_buf_p);␊ |
2784 | ␉␉␉␉yy_bp = (yytext_ptr) + YY_MORE_ADJ;␊ |
2785 | ␉␉␉␉goto yy_find_action;␊ |
2786 | ␉␉␉}␊ |
2787 | ␉␉break;␊ |
2788 | ␉␉}␊ |
2789 | ␊ |
2790 | ␉default:␊ |
2791 | ␉␉YY_FATAL_ERROR(␊ |
2792 | ␉␉␉"fatal flex scanner internal error--no action found" );␊ |
2793 | ␉} /* end of action switch */␊ |
2794 | ␉␉} /* end of scanning one token */␊ |
2795 | } /* end of tagYYlex */␊ |
2796 | ␊ |
2797 | /* yy_get_next_buffer - try to read in a new buffer␊ |
2798 | *␊ |
2799 | * Returns a code representing an action:␊ |
2800 | *␉EOB_ACT_LAST_MATCH -␊ |
2801 | *␉EOB_ACT_CONTINUE_SCAN - continue scanning from current position␊ |
2802 | *␉EOB_ACT_END_OF_FILE - end of file␊ |
2803 | */␊ |
2804 | static int yy_get_next_buffer (void)␊ |
2805 | {␊ |
2806 | ␉register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;␊ |
2807 | ␉register char *source = (yytext_ptr);␊ |
2808 | ␉register int number_to_move, i;␊ |
2809 | ␉int ret_val;␊ |
2810 | ␊ |
2811 | ␉if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )␊ |
2812 | ␉␉YY_FATAL_ERROR(␊ |
2813 | ␉␉"fatal flex scanner internal error--end of buffer missed" );␊ |
2814 | ␊ |
2815 | ␉if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )␊ |
2816 | ␉␉{ /* Don't try to fill the buffer, so this is an EOF. */␊ |
2817 | ␉␉if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )␊ |
2818 | ␉␉␉{␊ |
2819 | ␉␉␉/* We matched a single character, the EOB, so␊ |
2820 | ␉␉␉ * treat this as a final EOF.␊ |
2821 | ␉␉␉ */␊ |
2822 | ␉␉␉return EOB_ACT_END_OF_FILE;␊ |
2823 | ␉␉␉}␊ |
2824 | ␊ |
2825 | ␉␉else␊ |
2826 | ␉␉␉{␊ |
2827 | ␉␉␉/* We matched some text prior to the EOB, first␊ |
2828 | ␉␉␉ * process it.␊ |
2829 | ␉␉␉ */␊ |
2830 | ␉␉␉return EOB_ACT_LAST_MATCH;␊ |
2831 | ␉␉␉}␊ |
2832 | ␉␉}␊ |
2833 | ␊ |
2834 | ␉/* Try to read more data. */␊ |
2835 | ␊ |
2836 | ␉/* First move last chars to start of buffer. */␊ |
2837 | ␉number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;␊ |
2838 | ␊ |
2839 | ␉for ( i = 0; i < number_to_move; ++i )␊ |
2840 | ␉␉*(dest++) = *(source++);␊ |
2841 | ␊ |
2842 | ␉if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )␊ |
2843 | ␉␉/* don't do the read, it's not guaranteed to return an EOF,␊ |
2844 | ␉␉ * just force an EOF␊ |
2845 | ␉␉ */␊ |
2846 | ␉␉YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;␊ |
2847 | ␊ |
2848 | ␉else␊ |
2849 | ␉␉{␊ |
2850 | ␉␉␉yy_size_t num_to_read =␊ |
2851 | ␉␉␉YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;␊ |
2852 | ␊ |
2853 | ␉␉while ( num_to_read <= 0 )␊ |
2854 | ␉␉␉{ /* Not enough room in the buffer - grow it. */␊ |
2855 | ␊ |
2856 | ␉␉␉/* just a shorter name for the current buffer */␊ |
2857 | ␉␉␉YY_BUFFER_STATE b = YY_CURRENT_BUFFER;␊ |
2858 | ␊ |
2859 | ␉␉␉int yy_c_buf_p_offset =␊ |
2860 | ␉␉␉␉(int) ((yy_c_buf_p) - b->yy_ch_buf);␊ |
2861 | ␊ |
2862 | ␉␉␉if ( b->yy_is_our_buffer )␊ |
2863 | ␉␉␉␉{␊ |
2864 | ␉␉␉␉yy_size_t new_size = b->yy_buf_size * 2;␊ |
2865 | ␊ |
2866 | ␉␉␉␉if ( new_size <= 0 )␊ |
2867 | ␉␉␉␉␉b->yy_buf_size += b->yy_buf_size / 8;␊ |
2868 | ␉␉␉␉else␊ |
2869 | ␉␉␉␉␉b->yy_buf_size *= 2;␊ |
2870 | ␊ |
2871 | ␉␉␉␉b->yy_ch_buf = (char *)␊ |
2872 | ␉␉␉␉␉/* Include room in for 2 EOB chars. */␊ |
2873 | ␉␉␉␉␉tagYYrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );␊ |
2874 | ␉␉␉␉}␊ |
2875 | ␉␉␉else␊ |
2876 | ␉␉␉␉/* Can't grow it, we don't own it. */␊ |
2877 | ␉␉␉␉b->yy_ch_buf = 0;␊ |
2878 | ␊ |
2879 | ␉␉␉if ( ! b->yy_ch_buf )␊ |
2880 | ␉␉␉␉YY_FATAL_ERROR(␊ |
2881 | ␉␉␉␉"fatal error - scanner input buffer overflow" );␊ |
2882 | ␊ |
2883 | ␉␉␉(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];␊ |
2884 | ␊ |
2885 | ␉␉␉num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -␊ |
2886 | ␉␉␉␉␉␉number_to_move - 1;␊ |
2887 | ␊ |
2888 | ␉␉␉}␊ |
2889 | ␊ |
2890 | ␉␉if ( num_to_read > YY_READ_BUF_SIZE )␊ |
2891 | ␉␉␉num_to_read = YY_READ_BUF_SIZE;␊ |
2892 | ␊ |
2893 | ␉␉/* Read in more data. */␊ |
2894 | ␉␉YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),␊ |
2895 | ␉␉␉(yy_n_chars), num_to_read );␊ |
2896 | ␊ |
2897 | ␉␉YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);␊ |
2898 | ␉␉}␊ |
2899 | ␊ |
2900 | ␉if ( (yy_n_chars) == 0 )␊ |
2901 | ␉␉{␊ |
2902 | ␉␉if ( number_to_move == YY_MORE_ADJ )␊ |
2903 | ␉␉␉{␊ |
2904 | ␉␉␉ret_val = EOB_ACT_END_OF_FILE;␊ |
2905 | ␉␉␉tagYYrestart(tagYYin );␊ |
2906 | ␉␉␉}␊ |
2907 | ␊ |
2908 | ␉␉else␊ |
2909 | ␉␉␉{␊ |
2910 | ␉␉␉ret_val = EOB_ACT_LAST_MATCH;␊ |
2911 | ␉␉␉YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =␊ |
2912 | ␉␉␉␉YY_BUFFER_EOF_PENDING;␊ |
2913 | ␉␉␉}␊ |
2914 | ␉␉}␊ |
2915 | ␊ |
2916 | ␉else␊ |
2917 | ␉␉ret_val = EOB_ACT_CONTINUE_SCAN;␊ |
2918 | ␊ |
2919 | ␉if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {␊ |
2920 | ␉␉/* Extend the array by 50%, plus the number we really need. */␊ |
2921 | ␉␉yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);␊ |
2922 | ␉␉YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) tagYYrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );␊ |
2923 | ␉␉if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )␊ |
2924 | ␉␉␉YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );␊ |
2925 | ␉}␊ |
2926 | ␊ |
2927 | ␉(yy_n_chars) += number_to_move;␊ |
2928 | ␉YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;␊ |
2929 | ␉YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;␊ |
2930 | ␊ |
2931 | ␉(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];␊ |
2932 | ␊ |
2933 | ␉return ret_val;␊ |
2934 | }␊ |
2935 | ␊ |
2936 | /* yy_get_previous_state - get the state just before the EOB char was reached */␊ |
2937 | ␊ |
2938 | static yy_state_type yy_get_previous_state (void)␊ |
2939 | {␊ |
2940 | ␉register yy_state_type yy_current_state;␊ |
2941 | ␉register char *yy_cp;␊ |
2942 | ␊ |
2943 | ␉yy_current_state = (yy_start);␊ |
2944 | ␉yy_current_state += YY_AT_BOL();␊ |
2945 | ␊ |
2946 | ␉for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )␊ |
2947 | ␉␉{␊ |
2948 | ␉␉register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);␊ |
2949 | ␉␉if ( yy_accept[yy_current_state] )␊ |
2950 | ␉␉␉{␊ |
2951 | ␉␉␉(yy_last_accepting_state) = yy_current_state;␊ |
2952 | ␉␉␉(yy_last_accepting_cpos) = yy_cp;␊ |
2953 | ␉␉␉}␊ |
2954 | ␉␉while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )␊ |
2955 | ␉␉␉{␊ |
2956 | ␉␉␉yy_current_state = (int) yy_def[yy_current_state];␊ |
2957 | ␉␉␉if ( yy_current_state >= 707 )␊ |
2958 | ␉␉␉␉yy_c = yy_meta[(unsigned int) yy_c];␊ |
2959 | ␉␉␉}␊ |
2960 | ␉␉yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];␊ |
2961 | ␉␉}␊ |
2962 | ␊ |
2963 | ␉return yy_current_state;␊ |
2964 | }␊ |
2965 | ␊ |
2966 | /* yy_try_NUL_trans - try to make a transition on the NUL character␊ |
2967 | *␊ |
2968 | * synopsis␊ |
2969 | *␉next_state = yy_try_NUL_trans( current_state );␊ |
2970 | */␊ |
2971 | static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )␊ |
2972 | {␊ |
2973 | ␉register int yy_is_jam;␊ |
2974 | ␉register char *yy_cp = (yy_c_buf_p);␊ |
2975 | ␊ |
2976 | ␉register YY_CHAR yy_c = 1;␊ |
2977 | ␉if ( yy_accept[yy_current_state] )␊ |
2978 | ␉␉{␊ |
2979 | ␉␉(yy_last_accepting_state) = yy_current_state;␊ |
2980 | ␉␉(yy_last_accepting_cpos) = yy_cp;␊ |
2981 | ␉␉}␊ |
2982 | ␉while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )␊ |
2983 | ␉␉{␊ |
2984 | ␉␉yy_current_state = (int) yy_def[yy_current_state];␊ |
2985 | ␉␉if ( yy_current_state >= 707 )␊ |
2986 | ␉␉␉yy_c = yy_meta[(unsigned int) yy_c];␊ |
2987 | ␉␉}␊ |
2988 | ␉yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];␊ |
2989 | ␉yy_is_jam = (yy_current_state == 706);␊ |
2990 | ␊ |
2991 | ␉return yy_is_jam ? 0 : yy_current_state;␊ |
2992 | }␊ |
2993 | ␊ |
2994 | static void yyunput (int c, register char * yy_bp )␊ |
2995 | {␊ |
2996 | ␉register char *yy_cp;␊ |
2997 | ␊ |
2998 | yy_cp = (yy_c_buf_p);␊ |
2999 | ␊ |
3000 | ␉/* undo effects of setting up tagYYtext */␊ |
3001 | ␉*yy_cp = (yy_hold_char);␊ |
3002 | ␊ |
3003 | ␉if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )␊ |
3004 | ␉␉{ /* need to shift things up to make room */␊ |
3005 | ␉␉/* +2 for EOB chars. */␊ |
3006 | ␉␉register yy_size_t number_to_move = (yy_n_chars) + 2;␊ |
3007 | ␉␉register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[␊ |
3008 | ␉␉␉␉␉YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];␊ |
3009 | ␉␉register char *source =␊ |
3010 | ␉␉␉␉&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];␊ |
3011 | ␊ |
3012 | ␉␉while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )␊ |
3013 | ␉␉␉*--dest = *--source;␊ |
3014 | ␊ |
3015 | ␉␉yy_cp += (int) (dest - source);␊ |
3016 | ␉␉yy_bp += (int) (dest - source);␊ |
3017 | ␉␉YY_CURRENT_BUFFER_LVALUE->yy_n_chars =␊ |
3018 | ␉␉␉(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;␊ |
3019 | ␊ |
3020 | ␉␉if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )␊ |
3021 | ␉␉␉YY_FATAL_ERROR( "flex scanner push-back overflow" );␊ |
3022 | ␉␉}␊ |
3023 | ␊ |
3024 | ␉*--yy_cp = (char) c;␊ |
3025 | ␊ |
3026 | ␉(yytext_ptr) = yy_bp;␊ |
3027 | ␉(yy_hold_char) = *yy_cp;␊ |
3028 | ␉(yy_c_buf_p) = yy_cp;␊ |
3029 | }␊ |
3030 | ␊ |
3031 | #ifndef YY_NO_INPUT␊ |
3032 | #ifdef __cplusplus␊ |
3033 | static int yyinput (void)␊ |
3034 | #else␊ |
3035 | static int input (void)␊ |
3036 | #endif␊ |
3037 | ␊ |
3038 | {␊ |
3039 | ␉int c;␊ |
3040 | ␊ |
3041 | ␉*(yy_c_buf_p) = (yy_hold_char);␊ |
3042 | ␊ |
3043 | ␉if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )␊ |
3044 | ␉␉{␊ |
3045 | ␉␉/* yy_c_buf_p now points to the character we want to return.␊ |
3046 | ␉␉ * If this occurs *before* the EOB characters, then it's a␊ |
3047 | ␉␉ * valid NUL; if not, then we've hit the end of the buffer.␊ |
3048 | ␉␉ */␊ |
3049 | ␉␉if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )␊ |
3050 | ␉␉␉/* This was really a NUL. */␊ |
3051 | ␉␉␉*(yy_c_buf_p) = '\0';␊ |
3052 | ␊ |
3053 | ␉␉else␊ |
3054 | ␉␉␉{ /* need more input */␊ |
3055 | ␉␉␉yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);␊ |
3056 | ␉␉␉++(yy_c_buf_p);␊ |
3057 | ␊ |
3058 | ␉␉␉switch ( yy_get_next_buffer( ) )␊ |
3059 | ␉␉␉␉{␊ |
3060 | ␉␉␉␉case EOB_ACT_LAST_MATCH:␊ |
3061 | ␉␉␉␉␉/* This happens because yy_g_n_b()␊ |
3062 | ␉␉␉␉␉ * sees that we've accumulated a␊ |
3063 | ␉␉␉␉␉ * token and flags that we need to␊ |
3064 | ␉␉␉␉␉ * try matching the token before␊ |
3065 | ␉␉␉␉␉ * proceeding. But for input(),␊ |
3066 | ␉␉␉␉␉ * there's no matching to consider.␊ |
3067 | ␉␉␉␉␉ * So convert the EOB_ACT_LAST_MATCH␊ |
3068 | ␉␉␉␉␉ * to EOB_ACT_END_OF_FILE.␊ |
3069 | ␉␉␉␉␉ */␊ |
3070 | ␊ |
3071 | ␉␉␉␉␉/* Reset buffer status. */␊ |
3072 | ␉␉␉␉␉tagYYrestart(tagYYin );␊ |
3073 | ␊ |
3074 | ␉␉␉␉␉/*FALLTHROUGH*/␊ |
3075 | ␊ |
3076 | ␉␉␉␉case EOB_ACT_END_OF_FILE:␊ |
3077 | ␉␉␉␉␉{␊ |
3078 | ␉␉␉␉␉if ( tagYYwrap( ) )␊ |
3079 | ␉␉␉␉␉␉return 0;␊ |
3080 | ␊ |
3081 | ␉␉␉␉␉if ( ! (yy_did_buffer_switch_on_eof) )␊ |
3082 | ␉␉␉␉␉␉YY_NEW_FILE;␊ |
3083 | #ifdef __cplusplus␊ |
3084 | ␉␉␉␉␉return yyinput();␊ |
3085 | #else␊ |
3086 | ␉␉␉␉␉return input();␊ |
3087 | #endif␊ |
3088 | ␉␉␉␉␉}␊ |
3089 | ␊ |
3090 | ␉␉␉␉case EOB_ACT_CONTINUE_SCAN:␊ |
3091 | ␉␉␉␉␉(yy_c_buf_p) = (yytext_ptr) + offset;␊ |
3092 | ␉␉␉␉␉break;␊ |
3093 | ␉␉␉␉}␊ |
3094 | ␉␉␉}␊ |
3095 | ␉␉}␊ |
3096 | ␊ |
3097 | ␉c = *(unsigned char *) (yy_c_buf_p);␉/* cast for 8-bit char's */␊ |
3098 | ␉*(yy_c_buf_p) = '\0';␉/* preserve tagYYtext */␊ |
3099 | ␉(yy_hold_char) = *++(yy_c_buf_p);␊ |
3100 | ␊ |
3101 | ␉YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');␊ |
3102 | ␊ |
3103 | ␉return c;␊ |
3104 | }␊ |
3105 | #endif␉/* ifndef YY_NO_INPUT */␊ |
3106 | ␊ |
3107 | /** Immediately switch to a different input stream.␊ |
3108 | * @param input_file A readable stream.␊ |
3109 | * ␊ |
3110 | * @note This function does not reset the start condition to @c INITIAL .␊ |
3111 | */␊ |
3112 | void tagYYrestart (FILE * input_file )␊ |
3113 | {␊ |
3114 | ␊ |
3115 | ␉if ( ! YY_CURRENT_BUFFER ){␊ |
3116 | tagYYensure_buffer_stack ();␊ |
3117 | ␉␉YY_CURRENT_BUFFER_LVALUE =␊ |
3118 | tagYY_create_buffer(tagYYin,YY_BUF_SIZE );␊ |
3119 | ␉}␊ |
3120 | ␊ |
3121 | ␉tagYY_init_buffer(YY_CURRENT_BUFFER,input_file );␊ |
3122 | ␉tagYY_load_buffer_state( );␊ |
3123 | }␊ |
3124 | ␊ |
3125 | /** Switch to a different input buffer.␊ |
3126 | * @param new_buffer The new input buffer.␊ |
3127 | * ␊ |
3128 | */␊ |
3129 | void tagYY_switch_to_buffer (YY_BUFFER_STATE new_buffer )␊ |
3130 | {␊ |
3131 | ␊ |
3132 | ␉/* TODO. We should be able to replace this entire function body␊ |
3133 | ␉ * with␊ |
3134 | ␉ *␉␉tagYYpop_buffer_state();␊ |
3135 | ␉ *␉␉tagYYpush_buffer_state(new_buffer);␊ |
3136 | */␊ |
3137 | ␉tagYYensure_buffer_stack ();␊ |
3138 | ␉if ( YY_CURRENT_BUFFER == new_buffer )␊ |
3139 | ␉␉return;␊ |
3140 | ␊ |
3141 | ␉if ( YY_CURRENT_BUFFER )␊ |
3142 | ␉␉{␊ |
3143 | ␉␉/* Flush out information for old buffer. */␊ |
3144 | ␉␉*(yy_c_buf_p) = (yy_hold_char);␊ |
3145 | ␉␉YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);␊ |
3146 | ␉␉YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);␊ |
3147 | ␉␉}␊ |
3148 | ␊ |
3149 | ␉YY_CURRENT_BUFFER_LVALUE = new_buffer;␊ |
3150 | ␉tagYY_load_buffer_state( );␊ |
3151 | ␊ |
3152 | ␉/* We don't actually know whether we did this switch during␊ |
3153 | ␉ * EOF (tagYYwrap()) processing, but the only time this flag␊ |
3154 | ␉ * is looked at is after tagYYwrap() is called, so it's safe␊ |
3155 | ␉ * to go ahead and always set it.␊ |
3156 | ␉ */␊ |
3157 | ␉(yy_did_buffer_switch_on_eof) = 1;␊ |
3158 | }␊ |
3159 | ␊ |
3160 | static void tagYY_load_buffer_state (void)␊ |
3161 | {␊ |
3162 | ␉(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;␊ |
3163 | ␉(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;␊ |
3164 | ␉tagYYin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;␊ |
3165 | ␉(yy_hold_char) = *(yy_c_buf_p);␊ |
3166 | }␊ |
3167 | ␊ |
3168 | /** Allocate and initialize an input buffer state.␊ |
3169 | * @param file A readable stream.␊ |
3170 | * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.␊ |
3171 | * ␊ |
3172 | * @return the allocated buffer state.␊ |
3173 | */␊ |
3174 | YY_BUFFER_STATE tagYY_create_buffer (FILE * file, int size )␊ |
3175 | {␊ |
3176 | ␉YY_BUFFER_STATE b;␊ |
3177 | ␊ |
3178 | ␉b = (YY_BUFFER_STATE) tagYYalloc(sizeof( struct yy_buffer_state ) );␊ |
3179 | ␉if ( ! b )␊ |
3180 | ␉␉YY_FATAL_ERROR( "out of dynamic memory in tagYY_create_buffer()" );␊ |
3181 | ␊ |
3182 | ␉b->yy_buf_size = size;␊ |
3183 | ␊ |
3184 | ␉/* yy_ch_buf has to be 2 characters longer than the size given because␊ |
3185 | ␉ * we need to put in 2 end-of-buffer characters.␊ |
3186 | ␉ */␊ |
3187 | ␉b->yy_ch_buf = (char *) tagYYalloc(b->yy_buf_size + 2 );␊ |
3188 | ␉if ( ! b->yy_ch_buf )␊ |
3189 | ␉␉YY_FATAL_ERROR( "out of dynamic memory in tagYY_create_buffer()" );␊ |
3190 | ␊ |
3191 | ␉b->yy_is_our_buffer = 1;␊ |
3192 | ␊ |
3193 | ␉tagYY_init_buffer(b,file );␊ |
3194 | ␊ |
3195 | ␉return b;␊ |
3196 | }␊ |
3197 | ␊ |
3198 | /** Destroy the buffer.␊ |
3199 | * @param b a buffer created with tagYY_create_buffer()␊ |
3200 | * ␊ |
3201 | */␊ |
3202 | void tagYY_delete_buffer (YY_BUFFER_STATE b )␊ |
3203 | {␊ |
3204 | ␊ |
3205 | ␉if ( ! b )␊ |
3206 | ␉␉return;␊ |
3207 | ␊ |
3208 | ␉if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */␊ |
3209 | ␉␉YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;␊ |
3210 | ␊ |
3211 | ␉if ( b->yy_is_our_buffer )␊ |
3212 | ␉␉tagYYfree((void *) b->yy_ch_buf );␊ |
3213 | ␊ |
3214 | ␉tagYYfree((void *) b );␊ |
3215 | }␊ |
3216 | ␊ |
3217 | #ifndef __cplusplus␊ |
3218 | extern int isatty (int );␊ |
3219 | #endif /* __cplusplus */␊ |
3220 | ␊ |
3221 | /* Initializes or reinitializes a buffer.␊ |
3222 | * This function is sometimes called more than once on the same buffer,␊ |
3223 | * such as during a tagYYrestart() or at EOF.␊ |
3224 | */␊ |
3225 | static void tagYY_init_buffer (YY_BUFFER_STATE b, FILE * file )␊ |
3226 | ␊ |
3227 | {␊ |
3228 | ␉int oerrno = errno;␊ |
3229 | ␊ |
3230 | ␉tagYY_flush_buffer(b );␊ |
3231 | ␊ |
3232 | ␉b->yy_input_file = file;␊ |
3233 | ␉b->yy_fill_buffer = 1;␊ |
3234 | ␊ |
3235 | /* If b is the current buffer, then tagYY_init_buffer was _probably_␊ |
3236 | * called from tagYYrestart() or through yy_get_next_buffer.␊ |
3237 | * In that case, we don't want to reset the lineno or column.␊ |
3238 | */␊ |
3239 | if (b != YY_CURRENT_BUFFER){␊ |
3240 | b->yy_bs_lineno = 1;␊ |
3241 | b->yy_bs_column = 0;␊ |
3242 | }␊ |
3243 | ␊ |
3244 | b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;␊ |
3245 | ␊ |
3246 | ␉errno = oerrno;␊ |
3247 | }␊ |
3248 | ␊ |
3249 | /** Discard all buffered characters. On the next scan, YY_INPUT will be called.␊ |
3250 | * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.␊ |
3251 | * ␊ |
3252 | */␊ |
3253 | void tagYY_flush_buffer (YY_BUFFER_STATE b )␊ |
3254 | {␊ |
3255 | ␉if ( ! b )␊ |
3256 | ␉␉return;␊ |
3257 | ␊ |
3258 | ␉b->yy_n_chars = 0;␊ |
3259 | ␊ |
3260 | ␉/* We always need two end-of-buffer characters. The first causes␊ |
3261 | ␉ * a transition to the end-of-buffer state. The second causes␊ |
3262 | ␉ * a jam in that state.␊ |
3263 | ␉ */␊ |
3264 | ␉b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;␊ |
3265 | ␉b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;␊ |
3266 | ␊ |
3267 | ␉b->yy_buf_pos = &b->yy_ch_buf[0];␊ |
3268 | ␊ |
3269 | ␉b->yy_at_bol = 1;␊ |
3270 | ␉b->yy_buffer_status = YY_BUFFER_NEW;␊ |
3271 | ␊ |
3272 | ␉if ( b == YY_CURRENT_BUFFER )␊ |
3273 | ␉␉tagYY_load_buffer_state( );␊ |
3274 | }␊ |
3275 | ␊ |
3276 | /** Pushes the new state onto the stack. The new state becomes␊ |
3277 | * the current state. This function will allocate the stack␊ |
3278 | * if necessary.␊ |
3279 | * @param new_buffer The new state.␊ |
3280 | * ␊ |
3281 | */␊ |
3282 | void tagYYpush_buffer_state (YY_BUFFER_STATE new_buffer )␊ |
3283 | {␊ |
3284 | ␉if (new_buffer == NULL)␊ |
3285 | ␉␉return;␊ |
3286 | ␊ |
3287 | ␉tagYYensure_buffer_stack();␊ |
3288 | ␊ |
3289 | ␉/* This block is copied from tagYY_switch_to_buffer. */␊ |
3290 | ␉if ( YY_CURRENT_BUFFER )␊ |
3291 | ␉␉{␊ |
3292 | ␉␉/* Flush out information for old buffer. */␊ |
3293 | ␉␉*(yy_c_buf_p) = (yy_hold_char);␊ |
3294 | ␉␉YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);␊ |
3295 | ␉␉YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);␊ |
3296 | ␉␉}␊ |
3297 | ␊ |
3298 | ␉/* Only push if top exists. Otherwise, replace top. */␊ |
3299 | ␉if (YY_CURRENT_BUFFER)␊ |
3300 | ␉␉(yy_buffer_stack_top)++;␊ |
3301 | ␉YY_CURRENT_BUFFER_LVALUE = new_buffer;␊ |
3302 | ␊ |
3303 | ␉/* copied from tagYY_switch_to_buffer. */␊ |
3304 | ␉tagYY_load_buffer_state( );␊ |
3305 | ␉(yy_did_buffer_switch_on_eof) = 1;␊ |
3306 | }␊ |
3307 | ␊ |
3308 | /** Removes and deletes the top of the stack, if present.␊ |
3309 | * The next element becomes the new top.␊ |
3310 | * ␊ |
3311 | */␊ |
3312 | void tagYYpop_buffer_state (void)␊ |
3313 | {␊ |
3314 | ␉if (!YY_CURRENT_BUFFER)␊ |
3315 | ␉␉return;␊ |
3316 | ␊ |
3317 | ␉tagYY_delete_buffer(YY_CURRENT_BUFFER );␊ |
3318 | ␉YY_CURRENT_BUFFER_LVALUE = NULL;␊ |
3319 | ␉if ((yy_buffer_stack_top) > 0)␊ |
3320 | ␉␉--(yy_buffer_stack_top);␊ |
3321 | ␊ |
3322 | ␉if (YY_CURRENT_BUFFER) {␊ |
3323 | ␉␉tagYY_load_buffer_state( );␊ |
3324 | ␉␉(yy_did_buffer_switch_on_eof) = 1;␊ |
3325 | ␉}␊ |
3326 | }␊ |
3327 | ␊ |
3328 | /* Allocates the stack if it does not exist.␊ |
3329 | * Guarantees space for at least one push.␊ |
3330 | */␊ |
3331 | static void tagYYensure_buffer_stack (void)␊ |
3332 | {␊ |
3333 | ␉yy_size_t num_to_alloc;␊ |
3334 | ␊ |
3335 | ␉if (!(yy_buffer_stack)) {␊ |
3336 | ␊ |
3337 | ␉␉/* First allocation is just for 2 elements, since we don't know if this␊ |
3338 | ␉␉ * scanner will even need a stack. We use 2 instead of 1 to avoid an␊ |
3339 | ␉␉ * immediate realloc on the next call.␊ |
3340 | */␊ |
3341 | ␉␉num_to_alloc = 1;␊ |
3342 | ␉␉(yy_buffer_stack) = (struct yy_buffer_state**)tagYYalloc␊ |
3343 | ␉␉␉␉␉␉␉␉(num_to_alloc * sizeof(struct yy_buffer_state*)␊ |
3344 | ␉␉␉␉␉␉␉␉);␊ |
3345 | ␉␉if ( ! (yy_buffer_stack) )␊ |
3346 | ␉␉␉YY_FATAL_ERROR( "out of dynamic memory in tagYYensure_buffer_stack()" );␊ |
3347 | ␉␉␉␉␉␉␉␉ ␊ |
3348 | ␉␉memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));␊ |
3349 | ␉␉␉␉␊ |
3350 | ␉␉(yy_buffer_stack_max) = num_to_alloc;␊ |
3351 | ␉␉(yy_buffer_stack_top) = 0;␊ |
3352 | ␉␉return;␊ |
3353 | ␉}␊ |
3354 | ␊ |
3355 | ␉if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){␊ |
3356 | ␊ |
3357 | ␉␉/* Increase the buffer to prepare for a possible push. */␊ |
3358 | ␉␉int grow_size = 8 /* arbitrary grow size */;␊ |
3359 | ␊ |
3360 | ␉␉num_to_alloc = (yy_buffer_stack_max) + grow_size;␊ |
3361 | ␉␉(yy_buffer_stack) = (struct yy_buffer_state**)tagYYrealloc␊ |
3362 | ␉␉␉␉␉␉␉␉((yy_buffer_stack),␊ |
3363 | ␉␉␉␉␉␉␉␉num_to_alloc * sizeof(struct yy_buffer_state*)␊ |
3364 | ␉␉␉␉␉␉␉␉);␊ |
3365 | ␉␉if ( ! (yy_buffer_stack) )␊ |
3366 | ␉␉␉YY_FATAL_ERROR( "out of dynamic memory in tagYYensure_buffer_stack()" );␊ |
3367 | ␊ |
3368 | ␉␉/* zero only the new slots.*/␊ |
3369 | ␉␉memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));␊ |
3370 | ␉␉(yy_buffer_stack_max) = num_to_alloc;␊ |
3371 | ␉}␊ |
3372 | }␊ |
3373 | ␊ |
3374 | /** Setup the input buffer state to scan directly from a user-specified character buffer.␊ |
3375 | * @param base the character buffer␊ |
3376 | * @param size the size in bytes of the character buffer␊ |
3377 | * ␊ |
3378 | * @return the newly allocated buffer state object. ␊ |
3379 | */␊ |
3380 | YY_BUFFER_STATE tagYY_scan_buffer (char * base, yy_size_t size )␊ |
3381 | {␊ |
3382 | ␉YY_BUFFER_STATE b;␊ |
3383 | ␊ |
3384 | ␉if ( size < 2 ||␊ |
3385 | ␉ base[size-2] != YY_END_OF_BUFFER_CHAR ||␊ |
3386 | ␉ base[size-1] != YY_END_OF_BUFFER_CHAR )␊ |
3387 | ␉␉/* They forgot to leave room for the EOB's. */␊ |
3388 | ␉␉return 0;␊ |
3389 | ␊ |
3390 | ␉b = (YY_BUFFER_STATE) tagYYalloc(sizeof( struct yy_buffer_state ) );␊ |
3391 | ␉if ( ! b )␊ |
3392 | ␉␉YY_FATAL_ERROR( "out of dynamic memory in tagYY_scan_buffer()" );␊ |
3393 | ␊ |
3394 | ␉b->yy_buf_size = size - 2;␉/* "- 2" to take care of EOB's */␊ |
3395 | ␉b->yy_buf_pos = b->yy_ch_buf = base;␊ |
3396 | ␉b->yy_is_our_buffer = 0;␊ |
3397 | ␉b->yy_input_file = 0;␊ |
3398 | ␉b->yy_n_chars = b->yy_buf_size;␊ |
3399 | ␉b->yy_is_interactive = 0;␊ |
3400 | ␉b->yy_at_bol = 1;␊ |
3401 | ␉b->yy_fill_buffer = 0;␊ |
3402 | ␉b->yy_buffer_status = YY_BUFFER_NEW;␊ |
3403 | ␊ |
3404 | ␉tagYY_switch_to_buffer(b );␊ |
3405 | ␊ |
3406 | ␉return b;␊ |
3407 | }␊ |
3408 | ␊ |
3409 | /** Setup the input buffer state to scan a string. The next call to tagYYlex() will␊ |
3410 | * scan from a @e copy of @a str.␊ |
3411 | * @param yystr a NUL-terminated string to scan␊ |
3412 | * ␊ |
3413 | * @return the newly allocated buffer state object.␊ |
3414 | * @note If you want to scan bytes that may contain NUL values, then use␊ |
3415 | * tagYY_scan_bytes() instead.␊ |
3416 | */␊ |
3417 | YY_BUFFER_STATE tagYY_scan_string (yyconst char * yystr )␊ |
3418 | {␊ |
3419 | ␊ |
3420 | ␉return tagYY_scan_bytes(yystr,strlen(yystr) );␊ |
3421 | }␊ |
3422 | ␊ |
3423 | /** Setup the input buffer state to scan the given bytes. The next call to tagYYlex() will␊ |
3424 | * scan from a @e copy of @a bytes.␊ |
3425 | * @param bytes the byte buffer to scan␊ |
3426 | * @param len the number of bytes in the buffer pointed to by @a bytes.␊ |
3427 | * ␊ |
3428 | * @return the newly allocated buffer state object.␊ |
3429 | */␊ |
3430 | YY_BUFFER_STATE tagYY_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len )␊ |
3431 | {␊ |
3432 | ␉YY_BUFFER_STATE b;␊ |
3433 | ␉char *buf;␊ |
3434 | ␉yy_size_t n, i;␊ |
3435 | ␊ |
3436 | ␉/* Get memory for full buffer, including space for trailing EOB's. */␊ |
3437 | ␉n = _yybytes_len + 2;␊ |
3438 | ␉buf = (char *) tagYYalloc(n );␊ |
3439 | ␉if ( ! buf )␊ |
3440 | ␉␉YY_FATAL_ERROR( "out of dynamic memory in tagYY_scan_bytes()" );␊ |
3441 | ␊ |
3442 | ␉for ( i = 0; i < _yybytes_len; ++i )␊ |
3443 | ␉␉buf[i] = yybytes[i];␊ |
3444 | ␊ |
3445 | ␉buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;␊ |
3446 | ␊ |
3447 | ␉b = tagYY_scan_buffer(buf,n );␊ |
3448 | ␉if ( ! b )␊ |
3449 | ␉␉YY_FATAL_ERROR( "bad buffer in tagYY_scan_bytes()" );␊ |
3450 | ␊ |
3451 | ␉/* It's okay to grow etc. this buffer, and we should throw it␊ |
3452 | ␉ * away when we're done.␊ |
3453 | ␉ */␊ |
3454 | ␉b->yy_is_our_buffer = 1;␊ |
3455 | ␊ |
3456 | ␉return b;␊ |
3457 | }␊ |
3458 | ␊ |
3459 | #ifndef YY_EXIT_FAILURE␊ |
3460 | #define YY_EXIT_FAILURE 2␊ |
3461 | #endif␊ |
3462 | ␊ |
3463 | static void yy_fatal_error (yyconst char* msg )␊ |
3464 | {␊ |
3465 | ␉(void) fprintf( stderr, "%s\n", msg );␊ |
3466 | ␉exit( YY_EXIT_FAILURE );␊ |
3467 | }␊ |
3468 | ␊ |
3469 | /* Redefine yyless() so it works in section 3 code. */␊ |
3470 | ␊ |
3471 | #undef yyless␊ |
3472 | #define yyless(n) \␊ |
3473 | ␉do \␊ |
3474 | ␉␉{ \␊ |
3475 | ␉␉/* Undo effects of setting up tagYYtext. */ \␊ |
3476 | int yyless_macro_arg = (n); \␊ |
3477 | YY_LESS_LINENO(yyless_macro_arg);\␊ |
3478 | ␉␉tagYYtext[tagYYleng] = (yy_hold_char); \␊ |
3479 | ␉␉(yy_c_buf_p) = tagYYtext + yyless_macro_arg; \␊ |
3480 | ␉␉(yy_hold_char) = *(yy_c_buf_p); \␊ |
3481 | ␉␉*(yy_c_buf_p) = '\0'; \␊ |
3482 | ␉␉tagYYleng = yyless_macro_arg; \␊ |
3483 | ␉␉} \␊ |
3484 | ␉while ( 0 )␊ |
3485 | ␊ |
3486 | /* Accessor methods (get/set functions) to struct members. */␊ |
3487 | ␊ |
3488 | /** Get the current line number.␊ |
3489 | * ␊ |
3490 | */␊ |
3491 | int tagYYget_lineno (void)␊ |
3492 | {␊ |
3493 | ␊ |
3494 | return tagYYlineno;␊ |
3495 | }␊ |
3496 | ␊ |
3497 | /** Get the input stream.␊ |
3498 | * ␊ |
3499 | */␊ |
3500 | FILE *tagYYget_in (void)␊ |
3501 | {␊ |
3502 | return tagYYin;␊ |
3503 | }␊ |
3504 | ␊ |
3505 | /** Get the output stream.␊ |
3506 | * ␊ |
3507 | */␊ |
3508 | FILE *tagYYget_out (void)␊ |
3509 | {␊ |
3510 | return tagYYout;␊ |
3511 | }␊ |
3512 | ␊ |
3513 | /** Get the length of the current token.␊ |
3514 | * ␊ |
3515 | */␊ |
3516 | yy_size_t tagYYget_leng (void)␊ |
3517 | {␊ |
3518 | return tagYYleng;␊ |
3519 | }␊ |
3520 | ␊ |
3521 | /** Get the current token.␊ |
3522 | * ␊ |
3523 | */␊ |
3524 | ␊ |
3525 | char *tagYYget_text (void)␊ |
3526 | {␊ |
3527 | return tagYYtext;␊ |
3528 | }␊ |
3529 | ␊ |
3530 | /** Set the current line number.␊ |
3531 | * @param line_number␊ |
3532 | * ␊ |
3533 | */␊ |
3534 | void tagYYset_lineno (int line_number )␊ |
3535 | {␊ |
3536 | ␊ |
3537 | tagYYlineno = line_number;␊ |
3538 | }␊ |
3539 | ␊ |
3540 | /** Set the input stream. This does not discard the current␊ |
3541 | * input buffer.␊ |
3542 | * @param in_str A readable stream.␊ |
3543 | * ␊ |
3544 | * @see tagYY_switch_to_buffer␊ |
3545 | */␊ |
3546 | void tagYYset_in (FILE * in_str )␊ |
3547 | {␊ |
3548 | tagYYin = in_str ;␊ |
3549 | }␊ |
3550 | ␊ |
3551 | void tagYYset_out (FILE * out_str )␊ |
3552 | {␊ |
3553 | tagYYout = out_str ;␊ |
3554 | }␊ |
3555 | ␊ |
3556 | int tagYYget_debug (void)␊ |
3557 | {␊ |
3558 | return tagYY_flex_debug;␊ |
3559 | }␊ |
3560 | ␊ |
3561 | void tagYYset_debug (int bdebug )␊ |
3562 | {␊ |
3563 | tagYY_flex_debug = bdebug ;␊ |
3564 | }␊ |
3565 | ␊ |
3566 | static int yy_init_globals (void)␊ |
3567 | {␊ |
3568 | /* Initialization is the same as for the non-reentrant scanner.␊ |
3569 | * This function is called from tagYYlex_destroy(), so don't allocate here.␊ |
3570 | */␊ |
3571 | ␊ |
3572 | (yy_buffer_stack) = 0;␊ |
3573 | (yy_buffer_stack_top) = 0;␊ |
3574 | (yy_buffer_stack_max) = 0;␊ |
3575 | (yy_c_buf_p) = (char *) 0;␊ |
3576 | (yy_init) = 0;␊ |
3577 | (yy_start) = 0;␊ |
3578 | ␊ |
3579 | /* Defined in main.c */␊ |
3580 | #ifdef YY_STDINIT␊ |
3581 | tagYYin = stdin;␊ |
3582 | tagYYout = stdout;␊ |
3583 | #else␊ |
3584 | tagYYin = (FILE *) 0;␊ |
3585 | tagYYout = (FILE *) 0;␊ |
3586 | #endif␊ |
3587 | ␊ |
3588 | /* For future reference: Set errno on error, since we are called by␊ |
3589 | * tagYYlex_init()␊ |
3590 | */␊ |
3591 | return 0;␊ |
3592 | }␊ |
3593 | ␊ |
3594 | /* tagYYlex_destroy is for both reentrant and non-reentrant scanners. */␊ |
3595 | int tagYYlex_destroy (void)␊ |
3596 | {␊ |
3597 | ␊ |
3598 | /* Pop the buffer stack, destroying each element. */␊ |
3599 | ␉while(YY_CURRENT_BUFFER){␊ |
3600 | ␉␉tagYY_delete_buffer(YY_CURRENT_BUFFER );␊ |
3601 | ␉␉YY_CURRENT_BUFFER_LVALUE = NULL;␊ |
3602 | ␉␉tagYYpop_buffer_state();␊ |
3603 | ␉}␊ |
3604 | ␊ |
3605 | ␉/* Destroy the stack itself. */␊ |
3606 | ␉tagYYfree((yy_buffer_stack) );␊ |
3607 | ␉(yy_buffer_stack) = NULL;␊ |
3608 | ␊ |
3609 | /* Reset the globals. This is important in a non-reentrant scanner so the next time␊ |
3610 | * tagYYlex() is called, initialization will occur. */␊ |
3611 | yy_init_globals( );␊ |
3612 | ␊ |
3613 | return 0;␊ |
3614 | }␊ |
3615 | ␊ |
3616 | /*␊ |
3617 | * Internal utility routines.␊ |
3618 | */␊ |
3619 | ␊ |
3620 | #ifndef yytext_ptr␊ |
3621 | static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )␊ |
3622 | {␊ |
3623 | ␉register int i;␊ |
3624 | ␉for ( i = 0; i < n; ++i )␊ |
3625 | ␉␉s1[i] = s2[i];␊ |
3626 | }␊ |
3627 | #endif␊ |
3628 | ␊ |
3629 | #ifdef YY_NEED_STRLEN␊ |
3630 | static int yy_flex_strlen (yyconst char * s )␊ |
3631 | {␊ |
3632 | ␉register int n;␊ |
3633 | ␉for ( n = 0; s[n]; ++n )␊ |
3634 | ␉␉;␊ |
3635 | ␊ |
3636 | ␉return n;␊ |
3637 | }␊ |
3638 | #endif␊ |
3639 | ␊ |
3640 | void *tagYYalloc (yy_size_t size )␊ |
3641 | {␊ |
3642 | ␉return (void *) malloc( size );␊ |
3643 | }␊ |
3644 | ␊ |
3645 | void *tagYYrealloc (void * ptr, yy_size_t size )␊ |
3646 | {␊ |
3647 | ␉/* The cast to (char *) in the following accommodates both␊ |
3648 | ␉ * implementations that use char* generic pointers, and those␊ |
3649 | ␉ * that use void* generic pointers. It works with the latter␊ |
3650 | ␉ * because both ANSI C and C++ allow castless assignment from␊ |
3651 | ␉ * any pointer type to void*, and deal with argument conversions␊ |
3652 | ␉ * as though doing an assignment.␊ |
3653 | ␉ */␊ |
3654 | ␉return (void *) realloc( (char *) ptr, size );␊ |
3655 | }␊ |
3656 | ␊ |
3657 | void tagYYfree (void * ptr )␊ |
3658 | {␊ |
3659 | ␉free( (char *) ptr );␉/* see tagYYrealloc() for (char *) cast */␊ |
3660 | }␊ |
3661 | ␊ |
3662 | #define YYTABLES_NAME "yytables"␊ |
3663 | ␊ |
3664 | #line 674 "doxytag.l"␊ |
3665 | ␊ |
3666 | ␊ |
3667 | ␊ |
3668 | /*@ ----------------------------------------------------------------------------␊ |
3669 | */␊ |
3670 | ␊ |
3671 | ␊ |
3672 | void parse(QCString &s)␊ |
3673 | {␊ |
3674 | bases.clear();␊ |
3675 | nameBug = FALSE;␊ |
3676 | //newClass = TRUE;␊ |
3677 | inputString = s;␊ |
3678 | inputPosition = 0;␊ |
3679 | yyLineNr = 0;␊ |
3680 | tagYYrestart( tagYYin );␊ |
3681 | BEGIN( Start );␊ |
3682 | tagYYlex();␊ |
3683 | //printf("Number of lines scanned: %d\n",yyLineNr);␊ |
3684 | }␊ |
3685 | ␊ |
3686 | void parseFile(QFileInfo &fi)␊ |
3687 | {␊ |
3688 | printf("Parsing file %s...\n",fi.fileName().data());␊ |
3689 | QFile f;␊ |
3690 | f.setName(fi.absFilePath());␊ |
3691 | if (f.open(IO_ReadOnly))␊ |
3692 | {␊ |
3693 | yyFileName = fi.fileName();␊ |
3694 | className.resize(0);␊ |
3695 | memberName.resize(0);␊ |
3696 | //printf("Parsing file %s...\n",fi.fileName().data());␊ |
3697 | QCString input(fi.size()+1);␊ |
3698 | docBaseLink=fi.fileName();␊ |
3699 | docRefName=fi.fileName().copy();␊ |
3700 | //searchIndex.addReference(docRefName,docBaseLink);␊ |
3701 | //searchIndex.addWord(docRefName,docRefName,TRUE);␊ |
3702 | f.readBlock(input.data(),fi.size());␊ |
3703 | input.at(fi.size())='\0';␊ |
3704 | parse(input);␊ |
3705 | }␊ |
3706 | else␊ |
3707 | {␊ |
3708 | fprintf(stderr,"Warning: Cannot open file %s\n",fi.fileName().data());␊ |
3709 | }␊ |
3710 | }␊ |
3711 | ␊ |
3712 | void parseFileOrDir(const char *fileName)␊ |
3713 | {␊ |
3714 | QFileInfo fi(fileName);␊ |
3715 | if (fi.exists())␊ |
3716 | {␊ |
3717 | if (fi.isFile())␊ |
3718 | {␊ |
3719 | parseFile(fi);␊ |
3720 | }␊ |
3721 | else if (fi.isDir())␊ |
3722 | {␊ |
3723 | QDir dir(fileName);␊ |
3724 | dir.setFilter( QDir::Files );␊ |
3725 | dir.setNameFilter( "*.html" );␊ |
3726 | const QFileInfoList *list = dir.entryInfoList();␊ |
3727 | QFileInfoListIterator it( *list );␊ |
3728 | QFileInfo *cfi;␊ |
3729 | for ( it.toFirst() ; (cfi=it.current()) ; ++it)␊ |
3730 | {␊ |
3731 | ␉if (cfi->isFile())␊ |
3732 | ␉{␊ |
3733 | ␉ parseFile(*cfi);␊ |
3734 | ␉}␊ |
3735 | }␊ |
3736 | }␊ |
3737 | }␊ |
3738 | else␊ |
3739 | {␊ |
3740 | fprintf(stderr,"Warning: File %s does not exist\n",fileName);␊ |
3741 | }␊ |
3742 | }␊ |
3743 | ␊ |
3744 | void usage(const char *name)␊ |
3745 | {␊ |
3746 | fprintf(stderr,"Doxytag version %s\nCopyright Dimitri van Heesch 1997-2011\n\n",␊ |
3747 | versionString);␊ |
3748 | fprintf(stderr," Generates a tag file and/or a search index for a set of HTML files\n\n");␊ |
3749 | fprintf(stderr,"Usage: %s [-t tag_file] [ html_file [html_file...] ]\n",name);␊ |
3750 | fprintf(stderr,"Options:\n");␊ |
3751 | fprintf(stderr," -t <tag_file> Generate tag file <tag_file>.\n");␊ |
3752 | fprintf(stderr,"If no HTML files are given all files in the current dir that\n"␊ |
3753 | "have a .html extension are parsed.\n\n");␊ |
3754 | exit(1);␊ |
3755 | }␊ |
3756 | ␊ |
3757 | const char *getArg(int argc,char **argv,int &optind,const char c)␊ |
3758 | {␊ |
3759 | char *s=0;␊ |
3760 | if (strlen(&argv[optind][2])>0)␊ |
3761 | s=&argv[optind][2];␊ |
3762 | else if (optind+1<argc)␊ |
3763 | s=argv[++optind];␊ |
3764 | else␊ |
3765 | {␊ |
3766 | fprintf(stderr,"option -%c requires an argument\n",c);␊ |
3767 | exit(1);␊ |
3768 | }␊ |
3769 | return s;␊ |
3770 | }␊ |
3771 | ␊ |
3772 | int main(int argc,char **argv)␊ |
3773 | {␊ |
3774 | QCString tagName;␊ |
3775 | QCString indexName;␊ |
3776 | ␊ |
3777 | int optind=1;␊ |
3778 | const char *arg;␊ |
3779 | while (optind<argc && argv[optind][0]=='-')␊ |
3780 | {␊ |
3781 | switch(argv[optind][1])␊ |
3782 | {␊ |
3783 | case 't':␊ |
3784 | ␉arg=getArg(argc,argv,optind,'t');␊ |
3785 | ␉tagName=arg;␊ |
3786 | ␉break;␊ |
3787 | case 's':␊ |
3788 | ␉arg=getArg(argc,argv,optind,'s');␊ |
3789 | ␉indexName=arg;␊ |
3790 | ␉break;␊ |
3791 | case 'h':␊ |
3792 | case '?':␊ |
3793 | usage(argv[0]);␊ |
3794 | break;␊ |
3795 | default:␊ |
3796 | ␉fprintf(stderr,"Unknown option -%c\n",argv[optind][1]);␊ |
3797 | ␉usage(argv[0]);␊ |
3798 | }␊ |
3799 | optind++;␊ |
3800 | }␊ |
3801 | ␊ |
3802 | genTag = !tagName.isEmpty();␊ |
3803 | genIndex = !indexName.isEmpty();␊ |
3804 | ␊ |
3805 | if (!genTag && !genIndex)␊ |
3806 | {␊ |
3807 | fprintf(stderr,"Nothing to do !\n\n");␊ |
3808 | usage(argv[0]);␊ |
3809 | }␊ |
3810 | ␊ |
3811 | int i;␊ |
3812 | if (optind>=argc)␊ |
3813 | {␊ |
3814 | parseFileOrDir(".");␊ |
3815 | }␊ |
3816 | else␊ |
3817 | {␊ |
3818 | for (i=optind;i<argc;i++)␊ |
3819 | {␊ |
3820 | parseFileOrDir(argv[i]);␊ |
3821 | }␊ |
3822 | }␊ |
3823 | if (genIndex)␊ |
3824 | {␊ |
3825 | fprintf(stderr,"Error: doxytag cannot be used to generate a search index anymore.\n"␊ |
3826 | ␉ "This functionality has been integrated into doxygen.\n");␊ |
3827 | // printf("Writing search index\n");␊ |
3828 | // if (!searchIndex.saveIndex(indexName))␊ |
3829 | // {␊ |
3830 | // fprintf(stderr,"Error: Could not write search index\n");␊ |
3831 | // }␊ |
3832 | // QFileInfo fi(indexName);␊ |
3833 | // if (fi.exists())␊ |
3834 | // {␊ |
3835 | // QCString dir=convertToQCString(fi.dir().absPath());␊ |
3836 | // fi.setFile(dir+"/search.png");␊ |
3837 | // if (!fi.exists()) writeSearchButton(dir);␊ |
3838 | // fi.setFile(dir+"/doxygen.png");␊ |
3839 | // if (!fi.exists()) writeLogo(dir);␊ |
3840 | // fi.setFile(dir+"/search.cgi");␊ |
3841 | // if (!fi.exists())␊ |
3842 | // {␊ |
3843 | // QFile f;␊ |
3844 | //␉f.setName(dir+"/search.cgi");␊ |
3845 | //␉if (f.open(IO_WriteOnly))␊ |
3846 | //␉{␊ |
3847 | //␉ QTextStream t(&f);␊ |
3848 | //␉ t << "#!/bin/sh" << endl ␊ |
3849 | //␉ << "DOXYSEARCH=" << endl ␊ |
3850 | //␉ << "DOXYPATH=" << endl␊ |
3851 | //␉ << "if [ -f $DOXYSEARCH ]" << endl␊ |
3852 | //␉ << "then" << endl␊ |
3853 | //␉ << " $DOXYSEARCH $DOXYPATH" << endl ␊ |
3854 | //␉ << "else" << endl␊ |
3855 | //␉ << " echo \"Content-Type: text/html\"" << endl␊ |
3856 | //␉ << " echo \"\"" << endl␊ |
3857 | //␉ << " echo \"<H1>Error: $DOXYSEARCH not found. Check cgi script!\"" << endl␊ |
3858 | //␉ << "fi" << endl;␊ |
3859 | // f.close();␊ |
3860 | //␉}␉ ␊ |
3861 | //␉else␊ |
3862 | //␉{␊ |
3863 | //␉ fprintf(stderr,"Error: could not open file %s for writing\n",(dir+"/search.cgi").data());␊ |
3864 | //␉}␊ |
3865 | // }␊ |
3866 | // }␊ |
3867 | }␊ |
3868 | if (genTag)␊ |
3869 | {␊ |
3870 | QFile f;␊ |
3871 | f.setName(tagName);␊ |
3872 | if (f.open(IO_WriteOnly))␊ |
3873 | {␊ |
3874 | QTextStream t(&f);␊ |
3875 | t << "<tagfile>" << endl;␊ |
3876 | ClassDef *cd=classList.first();␊ |
3877 | while (cd)␊ |
3878 | {␊ |
3879 | ␉t << " <compound kind=\"";␊ |
3880 | ␉if (cd->isFile) t << "file"; else t << "class"; ␊ |
3881 | ␉t << "\">" << endl;␊ |
3882 | ␉t << " <name>" << convertToXML(cd->name) << "</name>" << endl; ␊ |
3883 | char *base=cd->bases.first();␊ |
3884 | while (base)␊ |
3885 | ␉{␊ |
3886 | ␉ t << " <base>" << convertToXML(base) << "</base>" << endl;␊ |
3887 | ␉ base=cd->bases.next();␊ |
3888 | ␉}␊ |
3889 | ␉t << " <filename>" << convertToXML(cd->fileName) << "</filename>" << endl;␊ |
3890 | ␉MemberDef *md=cd->memberList.first();␊ |
3891 | ␉while (md)␊ |
3892 | ␉{␊ |
3893 | ␉ if (md->anchor.right(5)=="-enum")␊ |
3894 | ␉ {␊ |
3895 | ␉ t << " <member kind=\"enum\">" << endl;␊ |
3896 | ␉ }␊ |
3897 | ␉ else␊ |
3898 | ␉ {␊ |
3899 | ␉ t << " <member kind=\"function\">" << endl;␊ |
3900 | ␉ }␊ |
3901 | ␉ t << " <name>" << convertToXML(md->name) << "</name>" << endl;␊ |
3902 | ␉ t << " <anchor>" << convertToXML(md->anchor) << "</anchor>" << endl;␊ |
3903 | ␉ t << " <arglist>" << convertToXML(md->args) << "</arglist>" << endl;␊ |
3904 | ␉ t << " </member>" << endl;␊ |
3905 | ␉ md=cd->memberList.next();␊ |
3906 | ␉}␊ |
3907 | ␉t << " </compound>" << endl;␊ |
3908 | ␉cd=classList.next();␊ |
3909 | }␊ |
3910 | t << "</tagfile>" << endl;␊ |
3911 | }␊ |
3912 | else␊ |
3913 | {␊ |
3914 | fprintf(stderr,"Error: Could not write tag file %s\n",tagName.data());␊ |
3915 | }␊ |
3916 | }␊ |
3917 | return 0;␊ |
3918 | }␊ |
3919 | ␊ |
3920 | extern "C" {␊ |
3921 | int␉tagYYwrap()␉{ return 1 ; }␊ |
3922 | };␊ |
3923 | ␊ |
3924 |