Branch data Line data Source code
1 : : #line 2 "/usr/local/src/libreoffice/workdir/unxlngi6.pro/LexTarget/idlc/source/scanner.cxx"
2 : :
3 : : #line 4 "/usr/local/src/libreoffice/workdir/unxlngi6.pro/LexTarget/idlc/source/scanner.cxx"
4 : :
5 : : #define YY_INT_ALIGNED short int
6 : :
7 : : /* A lexical scanner generated by flex */
8 : :
9 : : #define FLEX_SCANNER
10 : : #define YY_FLEX_MAJOR_VERSION 2
11 : : #define YY_FLEX_MINOR_VERSION 5
12 : : #define YY_FLEX_SUBMINOR_VERSION 35
13 : : #if YY_FLEX_SUBMINOR_VERSION > 0
14 : : #define FLEX_BETA
15 : : #endif
16 : :
17 : : /* First, we deal with platform-specific or compiler-specific issues. */
18 : :
19 : : /* begin standard C headers. */
20 : : #include <stdio.h>
21 : : #include <string.h>
22 : : #include <errno.h>
23 : : #include <stdlib.h>
24 : :
25 : : /* end standard C headers. */
26 : :
27 : : /* flex integer type definitions */
28 : :
29 : : #ifndef FLEXINT_H
30 : : #define FLEXINT_H
31 : :
32 : : /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
33 : :
34 : : #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
35 : :
36 : : /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
37 : : * if you want the limit (max/min) macros for int types.
38 : : */
39 : : #ifndef __STDC_LIMIT_MACROS
40 : : #define __STDC_LIMIT_MACROS 1
41 : : #endif
42 : :
43 : : #include <inttypes.h>
44 : : typedef int8_t flex_int8_t;
45 : : typedef uint8_t flex_uint8_t;
46 : : typedef int16_t flex_int16_t;
47 : : typedef uint16_t flex_uint16_t;
48 : : typedef int32_t flex_int32_t;
49 : : typedef uint32_t flex_uint32_t;
50 : : #else
51 : : typedef signed char flex_int8_t;
52 : : typedef short int flex_int16_t;
53 : : typedef int flex_int32_t;
54 : : typedef unsigned char flex_uint8_t;
55 : : typedef unsigned short int flex_uint16_t;
56 : : typedef unsigned int flex_uint32_t;
57 : : #endif /* ! C99 */
58 : :
59 : : /* Limits of integral types. */
60 : : #ifndef INT8_MIN
61 : : #define INT8_MIN (-128)
62 : : #endif
63 : : #ifndef INT16_MIN
64 : : #define INT16_MIN (-32767-1)
65 : : #endif
66 : : #ifndef INT32_MIN
67 : : #define INT32_MIN (-2147483647-1)
68 : : #endif
69 : : #ifndef INT8_MAX
70 : : #define INT8_MAX (127)
71 : : #endif
72 : : #ifndef INT16_MAX
73 : : #define INT16_MAX (32767)
74 : : #endif
75 : : #ifndef INT32_MAX
76 : : #define INT32_MAX (2147483647)
77 : : #endif
78 : : #ifndef UINT8_MAX
79 : : #define UINT8_MAX (255U)
80 : : #endif
81 : : #ifndef UINT16_MAX
82 : : #define UINT16_MAX (65535U)
83 : : #endif
84 : : #ifndef UINT32_MAX
85 : : #define UINT32_MAX (4294967295U)
86 : : #endif
87 : :
88 : : #endif /* ! FLEXINT_H */
89 : :
90 : : #ifdef __cplusplus
91 : :
92 : : /* The "const" storage-class-modifier is valid. */
93 : : #define YY_USE_CONST
94 : :
95 : : #else /* ! __cplusplus */
96 : :
97 : : /* C99 requires __STDC__ to be defined as 1. */
98 : : #if defined (__STDC__)
99 : :
100 : : #define YY_USE_CONST
101 : :
102 : : #endif /* defined (__STDC__) */
103 : : #endif /* ! __cplusplus */
104 : :
105 : : #ifdef YY_USE_CONST
106 : : #define yyconst const
107 : : #else
108 : : #define yyconst
109 : : #endif
110 : :
111 : : /* Returned upon end-of-file. */
112 : : #define YY_NULL 0
113 : :
114 : : /* Promotes a possibly negative, possibly signed char to an unsigned
115 : : * integer for use as an array index. If the signed char is negative,
116 : : * we want to instead treat it as an 8-bit unsigned char, hence the
117 : : * double cast.
118 : : */
119 : : #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
120 : :
121 : : /* Enter a start condition. This macro really ought to take a parameter,
122 : : * but we do it the disgusting crufty way forced on us by the ()-less
123 : : * definition of BEGIN.
124 : : */
125 : : #define BEGIN (yy_start) = 1 + 2 *
126 : :
127 : : /* Translate the current start state into a value that can be later handed
128 : : * to BEGIN to return to the state. The YYSTATE alias is for lex
129 : : * compatibility.
130 : : */
131 : : #define YY_START (((yy_start) - 1) / 2)
132 : : #define YYSTATE YY_START
133 : :
134 : : /* Action number for EOF rule of a given start state. */
135 : : #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
136 : :
137 : : /* Special action meaning "start processing a new file". */
138 : : #define YY_NEW_FILE yyrestart(yyin )
139 : :
140 : : #define YY_END_OF_BUFFER_CHAR 0
141 : :
142 : : /* Size of default input buffer. */
143 : : #ifndef YY_BUF_SIZE
144 : : #define YY_BUF_SIZE 16384
145 : : #endif
146 : :
147 : : /* The state buf must be large enough to hold one state per character in the main buffer.
148 : : */
149 : : #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
150 : :
151 : : #ifndef YY_TYPEDEF_YY_BUFFER_STATE
152 : : #define YY_TYPEDEF_YY_BUFFER_STATE
153 : : typedef struct yy_buffer_state *YY_BUFFER_STATE;
154 : : #endif
155 : :
156 : : extern int yyleng;
157 : :
158 : : extern FILE *yyin, *yyout;
159 : :
160 : : #define EOB_ACT_CONTINUE_SCAN 0
161 : : #define EOB_ACT_END_OF_FILE 1
162 : : #define EOB_ACT_LAST_MATCH 2
163 : :
164 : : /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
165 : : * access to the local variable yy_act. Since yyless() is a macro, it would break
166 : : * existing scanners that call yyless() from OUTSIDE yylex.
167 : : * One obvious solution it to make yy_act a global. I tried that, and saw
168 : : * a 5% performance hit in a non-yylineno scanner, because yy_act is
169 : : * normally declared as a register variable-- so it is not worth it.
170 : : */
171 : : #define YY_LESS_LINENO(n) \
172 : : do { \
173 : : int yyl;\
174 : : for ( yyl = n; yyl < yyleng; ++yyl )\
175 : : if ( yytext[yyl] == '\n' )\
176 : : --yylineno;\
177 : : }while(0)
178 : :
179 : : /* Return all but the first "n" matched characters back to the input stream. */
180 : : #define yyless(n) \
181 : : do \
182 : : { \
183 : : /* Undo effects of setting up yytext. */ \
184 : : int yyless_macro_arg = (n); \
185 : : YY_LESS_LINENO(yyless_macro_arg);\
186 : : *yy_cp = (yy_hold_char); \
187 : : YY_RESTORE_YY_MORE_OFFSET \
188 : : (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
189 : : YY_DO_BEFORE_ACTION; /* set up yytext again */ \
190 : : } \
191 : : while ( 0 )
192 : :
193 : : #define unput(c) yyunput( c, (yytext_ptr) )
194 : :
195 : : #ifndef YY_TYPEDEF_YY_SIZE_T
196 : : #define YY_TYPEDEF_YY_SIZE_T
197 : : typedef size_t yy_size_t;
198 : : #endif
199 : :
200 : : #ifndef YY_STRUCT_YY_BUFFER_STATE
201 : : #define YY_STRUCT_YY_BUFFER_STATE
202 : : struct yy_buffer_state
203 : : {
204 : : FILE *yy_input_file;
205 : :
206 : : char *yy_ch_buf; /* input buffer */
207 : : char *yy_buf_pos; /* current position in input buffer */
208 : :
209 : : /* Size of input buffer in bytes, not including room for EOB
210 : : * characters.
211 : : */
212 : : yy_size_t yy_buf_size;
213 : :
214 : : /* Number of characters read into yy_ch_buf, not including EOB
215 : : * characters.
216 : : */
217 : : int yy_n_chars;
218 : :
219 : : /* Whether we "own" the buffer - i.e., we know we created it,
220 : : * and can realloc() it to grow it, and should free() it to
221 : : * delete it.
222 : : */
223 : : int yy_is_our_buffer;
224 : :
225 : : /* Whether this is an "interactive" input source; if so, and
226 : : * if we're using stdio for input, then we want to use getc()
227 : : * instead of fread(), to make sure we stop fetching input after
228 : : * each newline.
229 : : */
230 : : int yy_is_interactive;
231 : :
232 : : /* Whether we're considered to be at the beginning of a line.
233 : : * If so, '^' rules will be active on the next match, otherwise
234 : : * not.
235 : : */
236 : : int yy_at_bol;
237 : :
238 : : int yy_bs_lineno; /**< The line count. */
239 : : int yy_bs_column; /**< The column count. */
240 : :
241 : : /* Whether to try to fill the input buffer when we reach the
242 : : * end of it.
243 : : */
244 : : int yy_fill_buffer;
245 : :
246 : : int yy_buffer_status;
247 : :
248 : : #define YY_BUFFER_NEW 0
249 : : #define YY_BUFFER_NORMAL 1
250 : : /* When an EOF's been seen but there's still some text to process
251 : : * then we mark the buffer as YY_EOF_PENDING, to indicate that we
252 : : * shouldn't try reading from the input source any more. We might
253 : : * still have a bunch of tokens to match, though, because of
254 : : * possible backing-up.
255 : : *
256 : : * When we actually see the EOF, we change the status to "new"
257 : : * (via yyrestart()), so that the user can continue scanning by
258 : : * just pointing yyin at a new input file.
259 : : */
260 : : #define YY_BUFFER_EOF_PENDING 2
261 : :
262 : : };
263 : : #endif /* !YY_STRUCT_YY_BUFFER_STATE */
264 : :
265 : : /* Stack of input buffers. */
266 : : static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
267 : : static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
268 : : static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
269 : :
270 : : /* We provide macros for accessing buffer states in case in the
271 : : * future we want to put the buffer states in a more general
272 : : * "scanner state".
273 : : *
274 : : * Returns the top of the stack, or NULL.
275 : : */
276 : : #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
277 : : ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
278 : : : NULL)
279 : :
280 : : /* Same as previous macro, but useful when we know that the buffer stack is not
281 : : * NULL or when we need an lvalue. For internal use only.
282 : : */
283 : : #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
284 : :
285 : : /* yy_hold_char holds the character lost when yytext is formed. */
286 : : static char yy_hold_char;
287 : : static int yy_n_chars; /* number of characters read into yy_ch_buf */
288 : : int yyleng;
289 : :
290 : : /* Points to current character in buffer. */
291 : : static char *yy_c_buf_p = (char *) 0;
292 : : static int yy_init = 0; /* whether we need to initialize */
293 : : static int yy_start = 0; /* start state number */
294 : :
295 : : /* Flag which is used to allow yywrap()'s to do buffer switches
296 : : * instead of setting up a fresh yyin. A bit of a hack ...
297 : : */
298 : : static int yy_did_buffer_switch_on_eof;
299 : :
300 : : void yyrestart (FILE *input_file );
301 : : void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer );
302 : : YY_BUFFER_STATE yy_create_buffer (FILE *file,int size );
303 : : void yy_delete_buffer (YY_BUFFER_STATE b );
304 : : void yy_flush_buffer (YY_BUFFER_STATE b );
305 : : void yypush_buffer_state (YY_BUFFER_STATE new_buffer );
306 : : void yypop_buffer_state (void );
307 : :
308 : : static void yyensure_buffer_stack (void );
309 : : static void yy_load_buffer_state (void );
310 : : static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file );
311 : :
312 : : #define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
313 : :
314 : : YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size );
315 : : YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str );
316 : : YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len );
317 : :
318 : : void *yyalloc (yy_size_t );
319 : : void *yyrealloc (void *,yy_size_t );
320 : : void yyfree (void * );
321 : :
322 : : #define yy_new_buffer yy_create_buffer
323 : :
324 : : #define yy_set_interactive(is_interactive) \
325 : : { \
326 : : if ( ! YY_CURRENT_BUFFER ){ \
327 : : yyensure_buffer_stack (); \
328 : : YY_CURRENT_BUFFER_LVALUE = \
329 : : yy_create_buffer(yyin,YY_BUF_SIZE ); \
330 : : } \
331 : : YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
332 : : }
333 : :
334 : : #define yy_set_bol(at_bol) \
335 : : { \
336 : : if ( ! YY_CURRENT_BUFFER ){\
337 : : yyensure_buffer_stack (); \
338 : : YY_CURRENT_BUFFER_LVALUE = \
339 : : yy_create_buffer(yyin,YY_BUF_SIZE ); \
340 : : } \
341 : : YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
342 : : }
343 : :
344 : : #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
345 : :
346 : : /* Begin user sect3 */
347 : :
348 : : #define yywrap(n) 1
349 : : #define YY_SKIP_YYWRAP
350 : :
351 : : typedef unsigned char YY_CHAR;
352 : :
353 : : FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
354 : :
355 : : typedef int yy_state_type;
356 : :
357 : : extern int yylineno;
358 : :
359 : : int yylineno = 1;
360 : :
361 : : extern char *yytext;
362 : : #define yytext_ptr yytext
363 : :
364 : : static yy_state_type yy_get_previous_state (void );
365 : : static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
366 : : static int yy_get_next_buffer (void );
367 : : static void yy_fatal_error (yyconst char msg[] );
368 : :
369 : : /* Done after the current pattern has been matched and before the
370 : : * corresponding action - sets up yytext.
371 : : */
372 : : #define YY_DO_BEFORE_ACTION \
373 : : (yytext_ptr) = yy_bp; \
374 : : yyleng = (size_t) (yy_cp - yy_bp); \
375 : : (yy_hold_char) = *yy_cp; \
376 : : *yy_cp = '\0'; \
377 : : (yy_c_buf_p) = yy_cp;
378 : :
379 : : #define YY_NUM_RULES 89
380 : : #define YY_END_OF_BUFFER 90
381 : : /* This struct is not used in this scanner,
382 : : but its presence is necessary. */
383 : : struct yy_trans_info
384 : : {
385 : : flex_int32_t yy_verify;
386 : : flex_int32_t yy_nxt;
387 : : };
388 : : static yyconst flex_int16_t yy_accept[416] =
389 : : { 0,
390 : : 63, 63, 0, 0, 0, 0, 90, 82, 1, 2,
391 : : 82, 82, 82, 58, 57, 82, 82, 82, 63, 63,
392 : : 63, 82, 63, 63, 63, 63, 63, 63, 63, 63,
393 : : 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
394 : : 63, 82, 74, 76, 77, 69, 89, 1, 0, 58,
395 : : 57, 0, 61, 67, 0, 0, 58, 58, 63, 63,
396 : : 63, 58, 59, 0, 57, 57, 57, 66, 64, 65,
397 : : 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
398 : : 63, 63, 63, 63, 63, 63, 63, 63, 49, 63,
399 : : 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
400 : :
401 : : 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
402 : : 0, 86, 0, 0, 0, 0, 0, 74, 0, 75,
403 : : 77, 79, 69, 70, 71, 72, 58, 58, 0, 0,
404 : : 58, 59, 57, 57, 57, 56, 0, 61, 73, 0,
405 : : 0, 62, 0, 60, 59, 59, 59, 63, 63, 63,
406 : : 63, 32, 63, 63, 63, 63, 63, 63, 63, 63,
407 : : 63, 63, 63, 63, 53, 63, 63, 63, 63, 63,
408 : : 63, 63, 63, 63, 63, 50, 63, 63, 63, 63,
409 : : 63, 63, 63, 54, 63, 63, 63, 63, 63, 63,
410 : : 63, 63, 63, 0, 0, 0, 0, 0, 78, 0,
411 : :
412 : : 60, 59, 59, 59, 0, 61, 68, 0, 80, 0,
413 : : 81, 0, 62, 60, 63, 63, 45, 46, 63, 63,
414 : : 63, 34, 5, 35, 63, 63, 63, 10, 63, 63,
415 : : 63, 63, 63, 39, 63, 63, 63, 63, 63, 63,
416 : : 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
417 : : 63, 63, 63, 42, 63, 63, 44, 0, 0, 0,
418 : : 0, 0, 60, 0, 62, 47, 48, 63, 63, 4,
419 : : 6, 63, 63, 63, 37, 38, 51, 63, 63, 63,
420 : : 17, 63, 63, 63, 63, 63, 63, 63, 63, 63,
421 : : 63, 40, 63, 63, 63, 63, 63, 63, 31, 63,
422 : :
423 : : 85, 0, 0, 0, 0, 63, 63, 63, 63, 63,
424 : : 36, 63, 63, 63, 63, 63, 16, 63, 52, 63,
425 : : 63, 63, 21, 63, 63, 63, 63, 63, 41, 27,
426 : : 28, 63, 63, 63, 84, 0, 0, 0, 0, 0,
427 : : 0, 63, 33, 63, 63, 9, 63, 63, 63, 63,
428 : : 63, 63, 63, 63, 63, 63, 63, 63, 24, 63,
429 : : 63, 30, 63, 0, 87, 0, 0, 0, 63, 63,
430 : : 63, 63, 63, 63, 63, 63, 18, 19, 20, 63,
431 : : 22, 63, 25, 63, 63, 43, 0, 0, 0, 3,
432 : : 7, 63, 11, 12, 63, 63, 15, 55, 23, 26,
433 : :
434 : : 29, 83, 0, 88, 63, 63, 63, 8, 63, 63,
435 : : 63, 14, 63, 13, 0
436 : : } ;
437 : :
438 : : static yyconst flex_int32_t yy_ec[256] =
439 : : { 0,
440 : : 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
441 : : 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
442 : : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
443 : : 1, 5, 1, 6, 7, 1, 1, 1, 1, 1,
444 : : 1, 8, 9, 1, 10, 11, 12, 13, 14, 14,
445 : : 14, 14, 14, 14, 14, 15, 15, 16, 1, 17,
446 : : 1, 18, 1, 1, 19, 20, 20, 20, 21, 22,
447 : : 23, 23, 23, 23, 23, 24, 23, 23, 23, 23,
448 : : 23, 25, 26, 27, 28, 23, 23, 29, 23, 23,
449 : : 1, 1, 1, 30, 31, 1, 32, 33, 34, 35,
450 : :
451 : : 36, 37, 38, 39, 40, 23, 23, 41, 42, 43,
452 : : 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
453 : : 54, 23, 1, 1, 1, 1, 1, 1, 1, 1,
454 : : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
455 : : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
456 : : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
457 : : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
458 : : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
459 : : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
460 : : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
461 : :
462 : : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
463 : : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
464 : : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
465 : : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
466 : : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
467 : : 1, 1, 1, 1, 1
468 : : } ;
469 : :
470 : : static yyconst flex_int32_t yy_meta[55] =
471 : : { 0,
472 : : 1, 1, 2, 1, 1, 1, 1, 3, 1, 1,
473 : : 4, 1, 5, 5, 5, 1, 1, 1, 5, 5,
474 : : 5, 5, 4, 5, 4, 4, 4, 5, 4, 6,
475 : : 4, 5, 5, 5, 5, 5, 5, 4, 4, 4,
476 : : 5, 4, 4, 4, 4, 4, 4, 4, 4, 5,
477 : : 4, 4, 4, 4
478 : : } ;
479 : :
480 : : static yyconst flex_int16_t yy_base[431] =
481 : : { 0,
482 : : 0, 533, 52, 53, 526, 524, 530, 1370, 60, 1370,
483 : : 55, 60, 51, 65, 108, 507, 505, 500, 46, 71,
484 : : 73, 56, 81, 94, 96, 106, 100, 115, 77, 103,
485 : : 130, 134, 136, 140, 141, 148, 151, 166, 170, 177,
486 : : 159, 223, 0, 158, 489, 0, 73, 95, 179, 258,
487 : : 301, 481, 208, 468, 455, 196, 226, 233, 276, 144,
488 : : 292, 158, 341, 185, 0, 0, 188, 1370, 1370, 1370,
489 : : 203, 201, 224, 220, 202, 247, 299, 249, 302, 307,
490 : : 254, 309, 316, 317, 310, 348, 353, 264, 357, 369,
491 : : 359, 372, 374, 378, 383, 384, 385, 386, 387, 397,
492 : :
493 : : 393, 400, 410, 412, 411, 421, 425, 428, 429, 434,
494 : : 0, 1370, 447, 465, 415, 408, 391, 0, 479, 387,
495 : : 381, 1370, 0, 83, 192, 1370, 80, 0, 475, 484,
496 : : 1370, 478, 0, 0, 1370, 1370, 494, 1370, 379, 383,
497 : : 369, 499, 321, 528, 224, 0, 433, 440, 452, 451,
498 : : 474, 464, 513, 514, 515, 516, 518, 520, 522, 537,
499 : : 545, 546, 550, 551, 553, 560, 561, 562, 563, 564,
500 : : 568, 569, 574, 576, 591, 578, 592, 595, 601, 603,
501 : : 602, 604, 608, 609, 610, 613, 616, 614, 619, 637,
502 : : 641, 644, 647, 365, 352, 317, 302, 300, 1370, 254,
503 : :
504 : : 677, 652, 328, 1370, 502, 681, 1370, 328, 1370, 321,
505 : : 1370, 697, 1370, 658, 677, 686, 689, 690, 693, 698,
506 : : 704, 705, 712, 714, 715, 716, 717, 719, 720, 721,
507 : : 726, 729, 730, 731, 738, 744, 745, 748, 752, 756,
508 : : 760, 757, 770, 761, 771, 778, 779, 787, 792, 796,
509 : : 797, 801, 793, 809, 806, 814, 815, 313, 424, 250,
510 : : 256, 250, 1370, 840, 843, 819, 831, 836, 832, 837,
511 : : 840, 848, 850, 859, 862, 863, 864, 865, 866, 873,
512 : : 872, 874, 880, 881, 888, 889, 895, 896, 899, 902,
513 : : 907, 905, 911, 917, 918, 921, 933, 935, 939, 943,
514 : :
515 : : 1370, 948, 210, 963, 207, 948, 958, 961, 964, 969,
516 : : 971, 972, 974, 977, 979, 976, 980, 986, 982, 998,
517 : : 983, 1005, 1010, 1012, 1014, 1015, 1020, 1017, 1023, 1024,
518 : : 1026, 1027, 1028, 1031, 1370, 1057, 240, 1071, 1075, 1078,
519 : : 175, 1063, 1064, 1067, 1068, 1071, 1076, 1090, 1086, 1092,
520 : : 1094, 1095, 1099, 1100, 1102, 1104, 1111, 1117, 1116, 1125,
521 : : 1128, 1126, 1130, 182, 1370, 158, 148, 279, 1139, 1133,
522 : : 1135, 1149, 1151, 1157, 1152, 1163, 1162, 1165, 1168, 1174,
523 : : 1175, 1179, 1180, 1189, 1190, 1191, 110, 107, 80, 1192,
524 : : 1193, 1197, 1196, 1203, 1205, 1206, 1207, 1214, 1215, 1218,
525 : :
526 : : 1219, 1370, 69, 1370, 1220, 1229, 1230, 1231, 1233, 1236,
527 : : 1237, 1241, 1242, 1243, 1370, 1290, 1296, 1299, 1304, 1310,
528 : : 1315, 1321, 1327, 53, 1333, 1339, 1345, 1351, 1357, 1363
529 : : } ;
530 : :
531 : : static yyconst flex_int16_t yy_def[431] =
532 : : { 0,
533 : : 415, 1, 416, 416, 417, 417, 415, 415, 415, 415,
534 : : 415, 415, 415, 418, 418, 415, 415, 415, 418, 418,
535 : : 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
536 : : 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
537 : : 418, 415, 419, 415, 420, 421, 422, 415, 415, 415,
538 : : 415, 415, 415, 415, 423, 415, 15, 15, 15, 418,
539 : : 418, 418, 15, 418, 15, 15, 418, 415, 415, 415,
540 : : 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
541 : : 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
542 : : 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
543 : :
544 : : 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
545 : : 42, 415, 42, 415, 415, 415, 415, 419, 415, 415,
546 : : 420, 415, 421, 422, 415, 415, 50, 127, 415, 415,
547 : : 415, 424, 51, 51, 415, 415, 415, 415, 415, 425,
548 : : 426, 415, 415, 418, 63, 63, 418, 418, 418, 418,
549 : : 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
550 : : 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
551 : : 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
552 : : 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
553 : : 418, 418, 418, 427, 415, 415, 415, 415, 415, 415,
554 : :
555 : : 415, 424, 202, 415, 415, 415, 415, 425, 415, 426,
556 : : 415, 415, 415, 418, 418, 418, 418, 418, 418, 418,
557 : : 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
558 : : 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
559 : : 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
560 : : 418, 418, 418, 418, 418, 418, 418, 427, 415, 415,
561 : : 415, 415, 415, 415, 415, 418, 418, 418, 418, 418,
562 : : 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
563 : : 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
564 : : 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
565 : :
566 : : 415, 415, 415, 415, 415, 418, 418, 418, 418, 418,
567 : : 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
568 : : 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
569 : : 418, 418, 418, 418, 415, 415, 428, 415, 415, 415,
570 : : 415, 418, 418, 418, 418, 418, 418, 418, 418, 418,
571 : : 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
572 : : 418, 418, 418, 428, 415, 429, 415, 415, 418, 418,
573 : : 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
574 : : 418, 418, 418, 418, 418, 418, 429, 415, 430, 418,
575 : : 418, 418, 418, 418, 418, 418, 418, 418, 418, 418,
576 : :
577 : : 418, 415, 430, 415, 418, 418, 418, 418, 418, 418,
578 : : 418, 418, 418, 418, 0, 415, 415, 415, 415, 415,
579 : : 415, 415, 415, 415, 415, 415, 415, 415, 415, 415
580 : : } ;
581 : :
582 : : static yyconst flex_int16_t yy_nxt[1425] =
583 : : { 0,
584 : : 8, 9, 10, 9, 9, 8, 8, 8, 8, 11,
585 : : 12, 13, 14, 15, 15, 16, 17, 18, 19, 19,
586 : : 19, 20, 19, 19, 19, 19, 21, 19, 19, 8,
587 : : 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
588 : : 32, 33, 34, 35, 36, 19, 37, 38, 39, 40,
589 : : 41, 19, 19, 19, 44, 44, 415, 203, 54, 45,
590 : : 45, 48, 55, 48, 48, 49, 415, 50, 51, 51,
591 : : 52, 404, 53, 53, 53, 56, 64, 57, 58, 59,
592 : : 125, 415, 404, 415, 126, 61, 415, 415, 62, 71,
593 : : 415, 415, 62, 63, 415, 64, 48, 73, 48, 48,
594 : :
595 : : 61, 64, 72, 64, 415, 62, 415, 64, 415, 402,
596 : : 415, 64, 87, 415, 62, 388, 415, 63, 56, 74,
597 : : 65, 66, 66, 75, 64, 415, 64, 79, 61, 76,
598 : : 64, 67, 415, 64, 80, 67, 64, 77, 64, 81,
599 : : 415, 82, 84, 61, 415, 64, 415, 78, 67, 83,
600 : : 415, 415, 85, 366, 415, 86, 88, 67, 415, 119,
601 : : 64, 415, 119, 388, 64, 120, 64, 91, 415, 415,
602 : : 64, 64, 89, 94, 64, 93, 415, 90, 64, 92,
603 : : 415, 64, 100, 95, 365, 96, 101, 415, 64, 64,
604 : : 97, 53, 53, 53, 98, 415, 64, 99, 415, 200,
605 : :
606 : : 64, 102, 110, 126, 103, 104, 368, 64, 142, 142,
607 : : 142, 415, 415, 415, 105, 415, 107, 106, 64, 109,
608 : : 53, 53, 53, 108, 111, 112, 148, 113, 137, 138,
609 : : 415, 64, 64, 64, 415, 114, 114, 114, 57, 58,
610 : : 59, 149, 365, 137, 138, 57, 58, 59, 341, 62,
611 : : 64, 150, 63, 62, 64, 152, 62, 415, 337, 415,
612 : : 62, 200, 115, 116, 415, 126, 62, 117, 56, 151,
613 : : 127, 128, 129, 62, 415, 62, 63, 64, 130, 64,
614 : : 389, 131, 62, 389, 64, 131, 132, 305, 59, 59,
615 : : 59, 304, 303, 130, 64, 153, 159, 156, 131, 60,
616 : :
617 : : 143, 143, 415, 60, 144, 144, 144, 131, 166, 415,
618 : : 132, 56, 415, 133, 134, 134, 60, 415, 259, 415,
619 : : 415, 130, 64, 211, 135, 60, 415, 415, 135, 64,
620 : : 209, 262, 64, 201, 201, 201, 130, 64, 158, 64,
621 : : 64, 135, 154, 163, 261, 160, 64, 64, 155, 157,
622 : : 135, 415, 260, 145, 146, 146, 415, 194, 415, 146,
623 : : 146, 146, 146, 415, 147, 161, 162, 415, 147, 415,
624 : : 259, 211, 146, 146, 146, 146, 146, 146, 64, 415,
625 : : 415, 147, 415, 64, 415, 209, 207, 64, 415, 64,
626 : : 147, 164, 415, 415, 415, 415, 415, 415, 199, 64,
627 : :
628 : : 167, 165, 64, 415, 64, 168, 171, 415, 64, 172,
629 : : 415, 169, 170, 64, 64, 64, 64, 64, 174, 178,
630 : : 415, 415, 415, 64, 180, 173, 301, 64, 302, 177,
631 : : 64, 415, 175, 176, 181, 415, 179, 198, 415, 415,
632 : : 64, 64, 64, 415, 415, 182, 183, 197, 184, 196,
633 : : 415, 64, 194, 185, 186, 64, 189, 187, 64, 64,
634 : : 188, 415, 415, 64, 64, 215, 141, 112, 191, 195,
635 : : 64, 217, 190, 193, 415, 139, 192, 114, 114, 114,
636 : : 119, 64, 64, 119, 415, 56, 120, 129, 129, 129,
637 : : 202, 136, 143, 143, 64, 130, 201, 201, 201, 216,
638 : :
639 : : 122, 204, 205, 205, 64, 204, 206, 206, 206, 218,
640 : : 130, 142, 142, 142, 206, 206, 206, 70, 204, 212,
641 : : 213, 69, 68, 415, 415, 415, 415, 204, 415, 415,
642 : : 415, 47, 415, 47, 212, 213, 143, 143, 415, 42,
643 : : 144, 144, 144, 64, 64, 64, 64, 415, 64, 214,
644 : : 64, 222, 64, 223, 220, 415, 415, 221, 64, 219,
645 : : 415, 415, 415, 415, 214, 415, 224, 64, 226, 225,
646 : : 415, 415, 415, 415, 415, 64, 64, 227, 415, 415,
647 : : 64, 64, 230, 64, 415, 229, 415, 228, 415, 415,
648 : : 64, 64, 64, 64, 64, 231, 235, 233, 64, 64,
649 : :
650 : : 234, 415, 415, 237, 64, 415, 64, 415, 64, 238,
651 : : 232, 415, 415, 415, 415, 415, 415, 236, 415, 415,
652 : : 415, 64, 64, 415, 415, 64, 415, 239, 415, 415,
653 : : 240, 64, 64, 64, 64, 242, 241, 244, 64, 64,
654 : : 64, 415, 415, 64, 64, 245, 64, 415, 243, 64,
655 : : 249, 415, 415, 246, 415, 250, 248, 415, 247, 415,
656 : : 415, 253, 252, 415, 202, 251, 415, 64, 415, 415,
657 : : 415, 64, 254, 415, 64, 204, 415, 64, 415, 204,
658 : : 132, 257, 415, 256, 255, 143, 143, 415, 64, 201,
659 : : 201, 201, 204, 206, 206, 206, 415, 266, 263, 415,
660 : :
661 : : 415, 204, 138, 415, 132, 264, 264, 64, 415, 265,
662 : : 265, 265, 415, 263, 415, 415, 64, 138, 415, 64,
663 : : 64, 267, 415, 64, 415, 415, 415, 415, 64, 415,
664 : : 415, 415, 268, 269, 64, 64, 415, 415, 270, 415,
665 : : 415, 415, 64, 415, 64, 64, 64, 64, 415, 64,
666 : : 64, 64, 415, 415, 415, 415, 64, 273, 415, 64,
667 : : 64, 64, 415, 271, 274, 272, 415, 415, 64, 275,
668 : : 415, 415, 276, 279, 64, 64, 278, 277, 64, 415,
669 : : 415, 415, 64, 283, 280, 415, 64, 64, 415, 415,
670 : : 64, 64, 281, 415, 282, 285, 286, 415, 415, 284,
671 : :
672 : : 64, 64, 415, 415, 288, 287, 415, 415, 64, 64,
673 : : 415, 415, 415, 290, 415, 415, 415, 64, 291, 415,
674 : : 415, 289, 64, 64, 415, 415, 64, 64, 415, 415,
675 : : 295, 64, 293, 415, 296, 292, 64, 415, 294, 64,
676 : : 297, 415, 415, 298, 64, 64, 415, 415, 299, 64,
677 : : 415, 300, 265, 265, 265, 265, 265, 265, 415, 415,
678 : : 415, 64, 64, 307, 213, 415, 64, 64, 306, 415,
679 : : 64, 308, 415, 415, 415, 415, 415, 415, 64, 213,
680 : : 64, 415, 415, 415, 415, 311, 309, 415, 310, 64,
681 : : 415, 415, 64, 64, 64, 64, 64, 314, 415, 415,
682 : :
683 : : 315, 313, 64, 64, 64, 415, 415, 312, 317, 415,
684 : : 64, 64, 415, 415, 415, 415, 316, 415, 64, 64,
685 : : 415, 415, 415, 320, 318, 64, 64, 415, 415, 64,
686 : : 325, 415, 64, 319, 321, 64, 322, 64, 324, 415,
687 : : 327, 64, 323, 415, 326, 415, 328, 64, 64, 415,
688 : : 335, 64, 415, 415, 329, 415, 415, 415, 415, 331,
689 : : 336, 336, 336, 64, 338, 64, 330, 339, 415, 64,
690 : : 333, 415, 332, 64, 415, 340, 340, 340, 64, 415,
691 : : 415, 415, 415, 415, 415, 334, 415, 415, 64, 415,
692 : : 415, 64, 415, 415, 64, 345, 415, 342, 415, 64,
693 : :
694 : : 343, 64, 64, 344, 64, 348, 64, 64, 415, 64,
695 : : 64, 347, 64, 64, 350, 415, 64, 346, 349, 351,
696 : : 415, 352, 415, 415, 415, 415, 415, 415, 64, 353,
697 : : 415, 354, 415, 415, 415, 64, 415, 415, 415, 415,
698 : : 64, 415, 64, 355, 64, 64, 357, 64, 358, 415,
699 : : 64, 415, 356, 64, 64, 359, 64, 64, 64, 335,
700 : : 415, 64, 361, 415, 362, 360, 363, 415, 415, 336,
701 : : 336, 336, 338, 415, 415, 339, 338, 415, 415, 339,
702 : : 366, 415, 367, 340, 340, 340, 415, 340, 340, 340,
703 : : 340, 340, 340, 64, 64, 415, 415, 64, 64, 415,
704 : :
705 : : 415, 64, 415, 415, 415, 415, 64, 371, 415, 415,
706 : : 415, 369, 415, 415, 415, 370, 64, 415, 374, 372,
707 : : 64, 415, 64, 373, 64, 64, 415, 415, 375, 64,
708 : : 64, 415, 64, 376, 64, 415, 415, 380, 415, 378,
709 : : 415, 64, 377, 415, 415, 415, 64, 64, 415, 415,
710 : : 415, 382, 383, 379, 415, 64, 64, 381, 64, 415,
711 : : 64, 415, 415, 64, 386, 64, 415, 415, 384, 64,
712 : : 385, 415, 415, 415, 390, 415, 415, 392, 415, 64,
713 : : 391, 64, 64, 396, 415, 415, 394, 64, 415, 415,
714 : : 415, 393, 64, 64, 415, 64, 395, 397, 64, 415,
715 : :
716 : : 415, 415, 415, 415, 64, 64, 415, 415, 398, 64,
717 : : 64, 415, 415, 415, 399, 415, 415, 415, 415, 64,
718 : : 64, 64, 64, 64, 415, 415, 64, 64, 415, 415,
719 : : 415, 400, 405, 64, 415, 64, 64, 64, 401, 415,
720 : : 415, 415, 406, 415, 64, 64, 415, 415, 64, 64,
721 : : 64, 415, 415, 415, 408, 407, 415, 415, 415, 64,
722 : : 64, 64, 415, 64, 415, 415, 64, 64, 415, 415,
723 : : 410, 64, 64, 64, 415, 415, 411, 415, 409, 415,
724 : : 415, 415, 415, 415, 412, 415, 413, 415, 415, 414,
725 : : 43, 43, 43, 43, 43, 43, 46, 46, 46, 46,
726 : :
727 : : 46, 46, 60, 60, 118, 415, 415, 118, 118, 118,
728 : : 121, 415, 415, 121, 121, 123, 123, 415, 123, 123,
729 : : 123, 124, 124, 124, 124, 124, 124, 140, 140, 140,
730 : : 140, 140, 140, 208, 208, 208, 208, 208, 208, 210,
731 : : 210, 210, 210, 210, 210, 258, 258, 258, 258, 258,
732 : : 258, 364, 364, 364, 364, 364, 364, 387, 387, 387,
733 : : 387, 387, 387, 403, 403, 403, 403, 403, 403, 7,
734 : : 415, 415, 415, 415, 415, 415, 415, 415, 415, 415,
735 : : 415, 415, 415, 415, 415, 415, 415, 415, 415, 415,
736 : : 415, 415, 415, 415, 415, 415, 415, 415, 415, 415,
737 : :
738 : : 415, 415, 415, 415, 415, 415, 415, 415, 415, 415,
739 : : 415, 415, 415, 415, 415, 415, 415, 415, 415, 415,
740 : : 415, 415, 415, 415
741 : : } ;
742 : :
743 : : static yyconst flex_int16_t yy_chk[1425] =
744 : : { 0,
745 : : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
746 : : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
747 : : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
748 : : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
749 : : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
750 : : 1, 1, 1, 1, 3, 4, 19, 424, 13, 3,
751 : : 4, 9, 13, 9, 9, 11, 22, 11, 11, 11,
752 : : 12, 403, 12, 12, 12, 14, 19, 14, 14, 14,
753 : : 47, 20, 389, 21, 47, 14, 22, 29, 14, 20,
754 : : 124, 23, 14, 14, 124, 14, 48, 21, 48, 48,
755 : :
756 : : 14, 20, 20, 21, 24, 14, 25, 29, 127, 388,
757 : : 27, 23, 29, 30, 14, 387, 26, 14, 15, 21,
758 : : 15, 15, 15, 23, 24, 28, 25, 25, 15, 23,
759 : : 27, 15, 127, 30, 25, 15, 26, 24, 15, 25,
760 : : 31, 26, 27, 15, 32, 28, 33, 24, 15, 26,
761 : : 34, 35, 27, 367, 60, 28, 30, 15, 36, 44,
762 : : 31, 37, 44, 366, 32, 44, 33, 33, 62, 41,
763 : : 34, 35, 31, 35, 60, 34, 38, 32, 36, 33,
764 : : 39, 37, 37, 35, 364, 35, 37, 40, 62, 41,
765 : : 35, 49, 49, 49, 36, 64, 38, 36, 67, 125,
766 : :
767 : : 39, 38, 41, 125, 38, 38, 341, 40, 56, 56,
768 : : 56, 72, 75, 71, 38, 64, 39, 38, 67, 40,
769 : : 53, 53, 53, 39, 42, 42, 71, 42, 53, 53,
770 : : 74, 72, 75, 71, 73, 42, 42, 42, 57, 57,
771 : : 57, 72, 337, 53, 53, 58, 58, 58, 305, 57,
772 : : 74, 73, 145, 57, 73, 75, 58, 76, 303, 78,
773 : : 58, 200, 42, 42, 81, 200, 57, 42, 50, 74,
774 : : 50, 50, 50, 58, 88, 57, 145, 76, 50, 78,
775 : : 368, 50, 58, 368, 81, 50, 50, 262, 59, 59,
776 : : 59, 261, 260, 50, 88, 76, 81, 78, 50, 59,
777 : :
778 : : 61, 61, 61, 59, 61, 61, 61, 50, 88, 77,
779 : : 50, 51, 79, 51, 51, 51, 59, 80, 258, 82,
780 : : 85, 51, 61, 210, 51, 59, 83, 84, 51, 77,
781 : : 208, 198, 79, 143, 143, 143, 51, 80, 80, 82,
782 : : 85, 51, 77, 85, 197, 82, 83, 84, 77, 79,
783 : : 51, 63, 196, 63, 63, 63, 203, 195, 86, 63,
784 : : 63, 63, 63, 87, 63, 83, 84, 89, 63, 91,
785 : : 194, 141, 63, 63, 63, 63, 63, 63, 86, 90,
786 : : 203, 63, 92, 87, 93, 140, 139, 89, 94, 91,
787 : : 63, 86, 121, 95, 96, 97, 98, 99, 120, 90,
788 : :
789 : : 89, 87, 92, 101, 93, 89, 92, 100, 94, 93,
790 : : 102, 90, 91, 95, 96, 97, 98, 99, 95, 99,
791 : : 103, 105, 104, 101, 101, 94, 259, 100, 259, 98,
792 : : 102, 106, 96, 97, 101, 107, 100, 117, 108, 109,
793 : : 103, 105, 104, 147, 110, 102, 102, 116, 102, 115,
794 : : 148, 106, 113, 103, 104, 107, 107, 105, 108, 109,
795 : : 106, 150, 149, 147, 110, 148, 55, 114, 109, 114,
796 : : 148, 150, 108, 110, 152, 54, 109, 114, 114, 114,
797 : : 119, 150, 149, 119, 151, 129, 119, 129, 129, 129,
798 : : 132, 52, 130, 130, 152, 129, 130, 130, 130, 149,
799 : :
800 : : 45, 132, 137, 137, 151, 132, 137, 137, 137, 151,
801 : : 129, 142, 142, 142, 205, 205, 205, 18, 132, 142,
802 : : 142, 17, 16, 153, 154, 155, 156, 132, 157, 7,
803 : : 158, 6, 159, 5, 142, 142, 144, 144, 144, 2,
804 : : 144, 144, 144, 153, 154, 155, 156, 160, 157, 144,
805 : : 158, 156, 159, 157, 154, 161, 162, 155, 144, 153,
806 : : 163, 164, 0, 165, 144, 0, 158, 160, 160, 159,
807 : : 166, 167, 168, 169, 170, 161, 162, 161, 171, 172,
808 : : 163, 164, 164, 165, 173, 163, 174, 162, 176, 0,
809 : : 166, 167, 168, 169, 170, 166, 170, 168, 171, 172,
810 : :
811 : : 169, 175, 177, 172, 173, 178, 174, 0, 176, 173,
812 : : 167, 179, 181, 180, 182, 0, 0, 171, 183, 184,
813 : : 185, 175, 177, 186, 188, 178, 187, 174, 0, 189,
814 : : 175, 179, 181, 180, 182, 178, 177, 180, 183, 184,
815 : : 185, 0, 0, 186, 188, 181, 187, 190, 179, 189,
816 : : 186, 191, 0, 182, 192, 187, 185, 193, 183, 0,
817 : : 0, 189, 188, 0, 202, 187, 0, 190, 214, 0,
818 : : 0, 191, 190, 0, 192, 202, 0, 193, 0, 202,
819 : : 202, 193, 0, 192, 191, 201, 201, 215, 214, 201,
820 : : 201, 201, 202, 206, 206, 206, 216, 215, 201, 217,
821 : :
822 : : 218, 202, 206, 219, 202, 212, 212, 215, 220, 212,
823 : : 212, 212, 0, 201, 221, 222, 216, 206, 0, 217,
824 : : 218, 216, 223, 219, 224, 225, 226, 227, 220, 228,
825 : : 229, 230, 219, 220, 221, 222, 231, 0, 221, 232,
826 : : 233, 234, 223, 0, 224, 225, 226, 227, 235, 228,
827 : : 229, 230, 0, 0, 236, 237, 231, 227, 238, 232,
828 : : 233, 234, 239, 225, 229, 226, 240, 242, 235, 230,
829 : : 241, 244, 231, 235, 236, 237, 233, 232, 238, 0,
830 : : 243, 245, 239, 239, 236, 0, 240, 242, 246, 247,
831 : : 241, 244, 237, 0, 238, 241, 242, 248, 0, 240,
832 : :
833 : : 243, 245, 249, 253, 244, 243, 250, 251, 246, 247,
834 : : 0, 252, 0, 246, 0, 0, 255, 248, 247, 254,
835 : : 0, 245, 249, 253, 256, 257, 250, 251, 0, 266,
836 : : 251, 252, 249, 0, 252, 248, 255, 0, 250, 254,
837 : : 253, 267, 269, 254, 256, 257, 268, 270, 255, 266,
838 : : 271, 256, 264, 264, 264, 265, 265, 265, 272, 0,
839 : : 273, 267, 269, 269, 265, 0, 268, 270, 268, 274,
840 : : 271, 271, 275, 276, 277, 278, 279, 0, 272, 265,
841 : : 273, 0, 281, 280, 282, 273, 271, 0, 272, 274,
842 : : 283, 284, 275, 276, 277, 278, 279, 279, 285, 286,
843 : :
844 : : 279, 278, 281, 280, 282, 287, 288, 274, 280, 289,
845 : : 283, 284, 290, 0, 0, 292, 279, 291, 285, 286,
846 : : 0, 293, 0, 284, 282, 287, 288, 294, 295, 289,
847 : : 289, 296, 290, 283, 285, 292, 286, 291, 288, 0,
848 : : 291, 293, 287, 297, 290, 298, 293, 294, 295, 299,
849 : : 302, 296, 0, 300, 294, 0, 0, 0, 306, 296,
850 : : 302, 302, 302, 297, 304, 298, 295, 304, 307, 299,
851 : : 298, 308, 297, 300, 309, 304, 304, 304, 306, 310,
852 : : 0, 311, 312, 0, 313, 300, 316, 314, 307, 315,
853 : : 317, 308, 319, 321, 309, 309, 318, 306, 0, 310,
854 : :
855 : : 307, 311, 312, 308, 313, 313, 316, 314, 320, 315,
856 : : 317, 312, 319, 321, 315, 322, 318, 310, 314, 316,
857 : : 323, 318, 324, 0, 325, 326, 0, 328, 320, 320,
858 : : 327, 321, 0, 329, 330, 322, 331, 332, 333, 0,
859 : : 323, 334, 324, 322, 325, 326, 325, 328, 326, 0,
860 : : 327, 0, 324, 329, 330, 327, 331, 332, 333, 336,
861 : : 0, 334, 332, 0, 333, 328, 334, 0, 0, 336,
862 : : 336, 336, 338, 342, 343, 338, 339, 344, 345, 339,
863 : : 339, 346, 340, 338, 338, 338, 347, 339, 339, 339,
864 : : 340, 340, 340, 342, 343, 0, 349, 344, 345, 0,
865 : :
866 : : 348, 346, 350, 0, 351, 352, 347, 345, 0, 353,
867 : : 354, 342, 355, 0, 356, 344, 349, 0, 349, 347,
868 : : 348, 357, 350, 348, 351, 352, 359, 358, 350, 353,
869 : : 354, 0, 355, 351, 356, 360, 362, 355, 361, 353,
870 : : 363, 357, 352, 370, 0, 371, 359, 358, 0, 369,
871 : : 0, 357, 358, 354, 0, 360, 362, 356, 361, 372,
872 : : 363, 373, 375, 370, 363, 371, 0, 374, 360, 369,
873 : : 361, 0, 377, 376, 369, 378, 0, 371, 379, 372,
874 : : 370, 373, 375, 375, 380, 381, 373, 374, 0, 382,
875 : : 383, 372, 377, 376, 0, 378, 374, 376, 379, 384,
876 : :
877 : : 385, 386, 390, 391, 380, 381, 393, 392, 380, 382,
878 : : 383, 0, 0, 394, 382, 395, 396, 397, 0, 384,
879 : : 385, 386, 390, 391, 398, 399, 393, 392, 400, 401,
880 : : 405, 384, 392, 394, 0, 395, 396, 397, 385, 406,
881 : : 407, 408, 395, 409, 398, 399, 410, 411, 400, 401,
882 : : 405, 412, 413, 414, 405, 396, 0, 0, 0, 406,
883 : : 407, 408, 0, 409, 0, 0, 410, 411, 0, 0,
884 : : 407, 412, 413, 414, 0, 0, 409, 0, 406, 0,
885 : : 0, 0, 0, 0, 410, 0, 411, 0, 0, 413,
886 : : 416, 416, 416, 416, 416, 416, 417, 417, 417, 417,
887 : :
888 : : 417, 417, 418, 418, 419, 0, 0, 419, 419, 419,
889 : : 420, 0, 0, 420, 420, 421, 421, 0, 421, 421,
890 : : 421, 422, 422, 422, 422, 422, 422, 423, 423, 423,
891 : : 423, 423, 423, 425, 425, 425, 425, 425, 425, 426,
892 : : 426, 426, 426, 426, 426, 427, 427, 427, 427, 427,
893 : : 427, 428, 428, 428, 428, 428, 428, 429, 429, 429,
894 : : 429, 429, 429, 430, 430, 430, 430, 430, 430, 415,
895 : : 415, 415, 415, 415, 415, 415, 415, 415, 415, 415,
896 : : 415, 415, 415, 415, 415, 415, 415, 415, 415, 415,
897 : : 415, 415, 415, 415, 415, 415, 415, 415, 415, 415,
898 : :
899 : : 415, 415, 415, 415, 415, 415, 415, 415, 415, 415,
900 : : 415, 415, 415, 415, 415, 415, 415, 415, 415, 415,
901 : : 415, 415, 415, 415
902 : : } ;
903 : :
904 : : /* Table of booleans, true if rule could match eol. */
905 : : static yyconst flex_int32_t yy_rule_can_match_eol[90] =
906 : : { 0,
907 : : 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
908 : : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
909 : : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
910 : : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0,
911 : : 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, };
912 : :
913 : : static yy_state_type yy_last_accepting_state;
914 : : static char *yy_last_accepting_cpos;
915 : :
916 : : extern int yy_flex_debug;
917 : : int yy_flex_debug = 0;
918 : :
919 : : /* The intent behind this definition is that it'll catch
920 : : * any uses of REJECT which flex missed.
921 : : */
922 : : #define REJECT reject_used_but_not_detected
923 : : #define yymore() yymore_used_but_not_detected
924 : : #define YY_MORE_ADJ 0
925 : : #define YY_RESTORE_YY_MORE_OFFSET
926 : : char *yytext;
927 : : #line 1 "/usr/local/src/libreoffice/idlc/source/scanner.l"
928 : : /*
929 : : * This file is part of the LibreOffice project.
930 : : *
931 : : * This Source Code Form is subject to the terms of the Mozilla Public
932 : : * License, v. 2.0. If a copy of the MPL was not distributed with this
933 : : * file, You can obtain one at http://mozilla.org/MPL/2.0/.
934 : : *
935 : : * This file incorporates work covered by the following license notice:
936 : : *
937 : : * Licensed to the Apache Software Foundation (ASF) under one or more
938 : : * contributor license agreements. See the NOTICE file distributed
939 : : * with this work for additional information regarding copyright
940 : : * ownership. The ASF licenses this file to you under the Apache
941 : : * License, Version 2.0 (the "License"); you may not use this file
942 : : * except in compliance with the License. You may obtain a copy of
943 : : * the License at http://www.apache.org/licenses/LICENSE-2.0 .
944 : : */
945 : : #line 22 "/usr/local/src/libreoffice/idlc/source/scanner.l"
946 : : /*
947 : : * scanner.ll - Lexical scanner for IDLC 1.0
948 : : */
949 : :
950 : : #include <ctype.h>
951 : : #include <stdlib.h>
952 : : #include <string.h>
953 : :
954 : : #ifndef _IDLC_IDLC_HXX_
955 : : #include <idlc/idlc.hxx>
956 : : #endif
957 : : #ifndef _IDLC_ERRORHANDLER_HXX_
958 : : #include <idlc/errorhandler.hxx>
959 : : #endif
960 : : #ifndef _IDLC_FEHELPER_HXX_
961 : : #include <idlc/fehelper.hxx>
962 : : #endif
963 : :
964 : : #include "attributeexceptions.hxx"
965 : :
966 : :
967 : : class AstExpression;
968 : : class AstArray;
969 : : class AstMember;
970 : :
971 : : #include <parser.hxx>
972 : :
973 : : /* handle locations */
974 : : int yycolumn = 1;
975 : :
976 : : #define YY_USER_ACTION idlc()->setOffset(yycolumn, yycolumn+yyleng-1); \
977 : : yycolumn += yyleng;
978 : :
979 : : sal_Int32 beginLine = 0;
980 : : ::rtl::OString docu;
981 : :
982 : : static int asciiToInteger(char const * s, sal_Int64 * sval, sal_uInt64 * uval) {
983 : : bool neg = false;
984 : : if (*s == '-') {
985 : : neg = true;
986 : : ++s;
987 : : }
988 : : unsigned int base = 10;
989 : : if (*s == '0') {
990 : : base = 8;
991 : : ++s;
992 : : if (*s == 'X' || *s == 'x') {
993 : : base = 16;
994 : : ++s;
995 : : }
996 : : }
997 : : sal_uInt64 val = 0;
998 : : for (; *s != 0; ++s) {
999 : : unsigned int n;
1000 : : if (*s >= '0' && *s <= '9') {
1001 : : n = *s - '0';
1002 : : } else {
1003 : : switch (*s) {
1004 : : case 'A':
1005 : : case 'a':
1006 : : n = 10;
1007 : : break;
1008 : : case 'B':
1009 : : case 'b':
1010 : : n = 11;
1011 : : break;
1012 : : case 'C':
1013 : : case 'c':
1014 : : n = 12;
1015 : : break;
1016 : : case 'D':
1017 : : case 'd':
1018 : : n = 13;
1019 : : break;
1020 : : case 'E':
1021 : : case 'e':
1022 : : n = 14;
1023 : : break;
1024 : : case 'F':
1025 : : case 'f':
1026 : : n = 15;
1027 : : break;
1028 : : default:
1029 : : goto done;
1030 : : }
1031 : : }
1032 : : // The following guarantees the invariant val <= SAL_MAX_UINT64 (because
1033 : : // base and n are sufficiently small), *if*
1034 : : // std::numeric_limits<sal_uInt64>::max() == SAL_MAX_UINT64:
1035 : : sal_uInt64 nval = val * base + n;
1036 : : if (nval < val) {
1037 : : idlc()->error()->syntaxError(
1038 : : PS_NoState, idlc()->getLineNumber(),
1039 : : "integral constant too large");
1040 : : val = 0;
1041 : : break;
1042 : : }
1043 : : val = nval;
1044 : : }
1045 : : done:
1046 : : if (neg) {
1047 : : if (val < SAL_CONST_UINT64(0x8000000000000000)) {
1048 : : *sval = -static_cast< sal_Int64 >(val);
1049 : : } else if (val == SAL_CONST_UINT64(0x8000000000000000)) {
1050 : : *sval = SAL_MIN_INT64;
1051 : : } else {
1052 : : idlc()->error()->syntaxError(
1053 : : PS_NoState, idlc()->getLineNumber(),
1054 : : "negative integral constant too large");
1055 : : *sval = 0;
1056 : : }
1057 : : return IDL_INTEGER_LITERAL;
1058 : : } else if (val <= static_cast< sal_uInt64 >(SAL_MAX_INT64)) {
1059 : : *sval = static_cast< sal_Int64 >(val);
1060 : : return IDL_INTEGER_LITERAL;
1061 : : } else {
1062 : : *uval = val;
1063 : : return IDL_INTEGER_ULITERAL;
1064 : : }
1065 : : }
1066 : :
1067 : : static double asciiToFloat(const sal_Char *s)
1068 : : {
1069 : : double d = 0.0;
1070 : : double e, k;
1071 : : sal_Int32 neg = 0, negexp = 0;
1072 : :
1073 : : if (*s == '-')
1074 : : {
1075 : : neg = 1;
1076 : : s++;
1077 : : }
1078 : : while (*s >= '0' && *s <= '9')
1079 : : {
1080 : : d = (d * 10) + *s - '0';
1081 : : s++;
1082 : : }
1083 : : if (*s == '.')
1084 : : {
1085 : : s++;
1086 : : e = 10;
1087 : : while (*s >= '0' && *s <= '9')
1088 : : {
1089 : : d += (*s - '0') / (e * 1.0);
1090 : : e *= 10;
1091 : : s++;
1092 : : }
1093 : : }
1094 : : if (*s == 'e' || *s == 'E')
1095 : : {
1096 : : s++;
1097 : : if (*s == '-')
1098 : : {
1099 : : negexp = 1;
1100 : : s++;
1101 : : } else
1102 : : {
1103 : : if (*s == '+')
1104 : : s++;
1105 : : e = 0;
1106 : : while (*s >= '0' && *s <= '9')
1107 : : {
1108 : : e = (e * 10) + *s - '0';
1109 : : s++;
1110 : : }
1111 : : if (e > 0)
1112 : : {
1113 : : for (k = 1; e > 0; k *= 10, e--)
1114 : : ;
1115 : : if (negexp)
1116 : : d /= k;
1117 : : else
1118 : : d *= k;
1119 : : }
1120 : : }
1121 : : }
1122 : : if (neg) d *= -1.0;
1123 : : return d;
1124 : : }
1125 : :
1126 : : static void idlParsePragma(sal_Char* pPragma)
1127 : : {
1128 : : ::rtl::OString pragma(pPragma);
1129 : : sal_Int32 index = pragma.indexOf("include");
1130 : : sal_Char* begin = pPragma + index + 8;
1131 : : sal_Char* offset = begin;
1132 : : while (*offset != ',') offset++;
1133 : : //::rtl::OString include = pragma.copy(index + 8, offset - begin);
1134 : : //unused// idlc()->insertInclude(pragma.copy(index + 8, (sal_Int32)(offset - begin)));
1135 : : }
1136 : :
1137 : : static void parseLineAndFile(sal_Char* pBuf)
1138 : : {
1139 : : sal_Char *r = pBuf;
1140 : : sal_Char *h;
1141 : : sal_Bool bIsInMain = sal_False;
1142 : :
1143 : : /* Skip initial '#' */
1144 : : if (*r != '#')
1145 : : return;
1146 : :
1147 : : /* Find line number */
1148 : : for (r++; *r == ' ' || *r == '\t' || isalpha(*r); r++) ;
1149 : : h = r;
1150 : : for (; *r != '\0' && *r != ' ' && *r != '\t'; r++) ;
1151 : : *r++ = 0;
1152 : : idlc()->setLineNumber((sal_uInt32)atol(h));
1153 : : yylineno = atol(h);
1154 : :
1155 : : /* Find file name, if present */
1156 : : for (; *r != '"'; r++)
1157 : : {
1158 : : if (*r == '\n' || *r == '\0')
1159 : : return;
1160 : : }
1161 : : h = ++r;
1162 : : for (; *r != '"'; r++) ;
1163 : : *r = 0;
1164 : : if (*h == '\0')
1165 : : idlc()->setFileName(::rtl::OString("standard input"));
1166 : : else
1167 : : idlc()->setFileName(::rtl::OString(h));
1168 : :
1169 : : bIsInMain = (idlc()->getFileName() == idlc()->getRealFileName()) ? sal_True : sal_False;
1170 : : idlc()->setInMainfile(bIsInMain);
1171 : : }
1172 : :
1173 : : // Suppress any warnings from generated code:
1174 : : #if defined __GNUC__
1175 : : #if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2))
1176 : : #pragma GCC diagnostic ignored "-Wunused-function"
1177 : : #pragma GCC diagnostic ignored "-Wunused-label"
1178 : : #endif
1179 : : #elif defined __SUNPRO_CC
1180 : : #pragma disable_warn
1181 : : #elif defined _MSC_VER
1182 : : #pragma warning(push, 1)
1183 : : /**/
1184 : : #ifdef yywrap
1185 : : #undef yywrap
1186 : : #define yywrap() 1
1187 : : #endif
1188 : : /**/
1189 : : #endif
1190 : :
1191 : :
1192 : : #line 1193 "/usr/local/src/libreoffice/workdir/unxlngi6.pro/LexTarget/idlc/source/scanner.cxx"
1193 : :
1194 : : #define INITIAL 0
1195 : : #define DOCU 1
1196 : : #define COMMENT 2
1197 : :
1198 : : #ifndef YY_NO_UNISTD_H
1199 : : /* Special case for "unistd.h", since it is non-ANSI. We include it way
1200 : : * down here because we want the user's section 1 to have been scanned first.
1201 : : * The user has a chance to override it with an option.
1202 : : */
1203 : : #include <unistd.h>
1204 : : #endif
1205 : :
1206 : : #ifndef YY_EXTRA_TYPE
1207 : : #define YY_EXTRA_TYPE void *
1208 : : #endif
1209 : :
1210 : : static int yy_init_globals (void );
1211 : :
1212 : : /* Accessor methods to globals.
1213 : : These are made visible to non-reentrant scanners for convenience. */
1214 : :
1215 : : int yylex_destroy (void );
1216 : :
1217 : : int yyget_debug (void );
1218 : :
1219 : : void yyset_debug (int debug_flag );
1220 : :
1221 : : YY_EXTRA_TYPE yyget_extra (void );
1222 : :
1223 : : void yyset_extra (YY_EXTRA_TYPE user_defined );
1224 : :
1225 : : FILE *yyget_in (void );
1226 : :
1227 : : void yyset_in (FILE * in_str );
1228 : :
1229 : : FILE *yyget_out (void );
1230 : :
1231 : : void yyset_out (FILE * out_str );
1232 : :
1233 : : int yyget_leng (void );
1234 : :
1235 : : char *yyget_text (void );
1236 : :
1237 : : int yyget_lineno (void );
1238 : :
1239 : : void yyset_lineno (int line_number );
1240 : :
1241 : : /* Macros after this point can all be overridden by user definitions in
1242 : : * section 1.
1243 : : */
1244 : :
1245 : : #ifndef YY_SKIP_YYWRAP
1246 : : #ifdef __cplusplus
1247 : : extern "C" int yywrap (void );
1248 : : #else
1249 : : extern int yywrap (void );
1250 : : #endif
1251 : : #endif
1252 : :
1253 : : static void yyunput (int c,char *buf_ptr );
1254 : :
1255 : : #ifndef yytext_ptr
1256 : : static void yy_flex_strncpy (char *,yyconst char *,int );
1257 : : #endif
1258 : :
1259 : : #ifdef YY_NEED_STRLEN
1260 : : static int yy_flex_strlen (yyconst char * );
1261 : : #endif
1262 : :
1263 : : #ifndef YY_NO_INPUT
1264 : :
1265 : : #ifdef __cplusplus
1266 : : static int yyinput (void );
1267 : : #else
1268 : : static int input (void );
1269 : : #endif
1270 : :
1271 : : #endif
1272 : :
1273 : : /* Amount of stuff to slurp up with each read. */
1274 : : #ifndef YY_READ_BUF_SIZE
1275 : : #define YY_READ_BUF_SIZE 8192
1276 : : #endif
1277 : :
1278 : : /* Copy whatever the last rule matched to the standard output. */
1279 : : #ifndef ECHO
1280 : : /* This used to be an fputs(), but since the string might contain NUL's,
1281 : : * we now use fwrite().
1282 : : */
1283 : : #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
1284 : : #endif
1285 : :
1286 : : /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1287 : : * is returned in "result".
1288 : : */
1289 : : #ifndef YY_INPUT
1290 : : #define YY_INPUT(buf,result,max_size) \
1291 : : if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1292 : : { \
1293 : : int c = '*'; \
1294 : : unsigned n; \
1295 : : for ( n = 0; n < max_size && \
1296 : : (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1297 : : buf[n] = (char) c; \
1298 : : if ( c == '\n' ) \
1299 : : buf[n++] = (char) c; \
1300 : : if ( c == EOF && ferror( yyin ) ) \
1301 : : YY_FATAL_ERROR( "input in flex scanner failed" ); \
1302 : : result = n; \
1303 : : } \
1304 : : else \
1305 : : { \
1306 : : errno=0; \
1307 : : while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
1308 : : { \
1309 : : if( errno != EINTR) \
1310 : : { \
1311 : : YY_FATAL_ERROR( "input in flex scanner failed" ); \
1312 : : break; \
1313 : : } \
1314 : : errno=0; \
1315 : : clearerr(yyin); \
1316 : : } \
1317 : : }\
1318 : : \
1319 : :
1320 : : #endif
1321 : :
1322 : : /* No semi-colon after return; correct usage is to write "yyterminate();" -
1323 : : * we don't want an extra ';' after the "return" because that will cause
1324 : : * some compilers to complain about unreachable statements.
1325 : : */
1326 : : #ifndef yyterminate
1327 : : #define yyterminate() return YY_NULL
1328 : : #endif
1329 : :
1330 : : /* Number of entries by which start-condition stack grows. */
1331 : : #ifndef YY_START_STACK_INCR
1332 : : #define YY_START_STACK_INCR 25
1333 : : #endif
1334 : :
1335 : : /* Report a fatal error. */
1336 : : #ifndef YY_FATAL_ERROR
1337 : : #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1338 : : #endif
1339 : :
1340 : : /* end tables serialization structures and prototypes */
1341 : :
1342 : : /* Default declaration of generated scanner - a define so the user can
1343 : : * easily add parameters.
1344 : : */
1345 : : #ifndef YY_DECL
1346 : : #define YY_DECL_IS_OURS 1
1347 : :
1348 : : extern int yylex (void);
1349 : :
1350 : : #define YY_DECL int yylex (void)
1351 : : #endif /* !YY_DECL */
1352 : :
1353 : : /* Code executed at the beginning of each rule, after yytext and yyleng
1354 : : * have been set up.
1355 : : */
1356 : : #ifndef YY_USER_ACTION
1357 : : #define YY_USER_ACTION
1358 : : #endif
1359 : :
1360 : : /* Code executed at the end of each rule. */
1361 : : #ifndef YY_BREAK
1362 : : #define YY_BREAK break;
1363 : : #endif
1364 : :
1365 : : #define YY_RULE_SETUP \
1366 : : if ( yyleng > 0 ) \
1367 : : YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
1368 : : (yytext[yyleng - 1] == '\n'); \
1369 : : YY_USER_ACTION
1370 : :
1371 : : /** The main scanner function which does all the work.
1372 : : */
1373 : 5129753 : YY_DECL
1374 : : {
1375 : : register yy_state_type yy_current_state;
1376 : : register char *yy_cp, *yy_bp;
1377 : : register int yy_act;
1378 : :
1379 : : #line 286 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1380 : :
1381 : :
1382 : : #line 1383 "/usr/local/src/libreoffice/workdir/unxlngi6.pro/LexTarget/idlc/source/scanner.cxx"
1383 : :
1384 [ + + ]: 5129753 : if ( !(yy_init) )
1385 : : {
1386 : 166 : (yy_init) = 1;
1387 : :
1388 : : #ifdef YY_USER_INIT
1389 : : YY_USER_INIT;
1390 : : #endif
1391 : :
1392 [ + - ]: 166 : if ( ! (yy_start) )
1393 : 166 : (yy_start) = 1; /* first start state */
1394 : :
1395 [ - + ]: 166 : if ( ! yyin )
1396 : 0 : yyin = stdin;
1397 : :
1398 [ + - ]: 166 : if ( ! yyout )
1399 : 166 : yyout = stdout;
1400 : :
1401 [ - + ][ # # ]: 166 : if ( ! YY_CURRENT_BUFFER ) {
1402 : 166 : yyensure_buffer_stack ();
1403 : 166 : YY_CURRENT_BUFFER_LVALUE =
1404 : 166 : yy_create_buffer(yyin,YY_BUF_SIZE );
1405 : : }
1406 : :
1407 : 166 : yy_load_buffer_state( );
1408 : : }
1409 : :
1410 : 16409961 : while ( 1 ) /* loops until end-of-file is reached */
1411 : : {
1412 : 16409961 : yy_cp = (yy_c_buf_p);
1413 : :
1414 : : /* Support of yytext. */
1415 : 16409961 : *yy_cp = (yy_hold_char);
1416 : :
1417 : : /* yy_bp points to the position in yy_ch_buf of the start of
1418 : : * the current run.
1419 : : */
1420 : 16409961 : yy_bp = yy_cp;
1421 : :
1422 : 16409961 : yy_current_state = (yy_start);
1423 : 16409961 : yy_current_state += YY_AT_BOL();
1424 : : yy_match:
1425 [ + + ]: 225442422 : do
1426 : : {
1427 : 225442422 : register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1428 [ + + ]: 225442422 : if ( yy_accept[yy_current_state] )
1429 : : {
1430 : 184639676 : (yy_last_accepting_state) = yy_current_state;
1431 : 184639676 : (yy_last_accepting_cpos) = yy_cp;
1432 : : }
1433 [ + + ]: 408981427 : while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1434 : : {
1435 : 183539005 : yy_current_state = (int) yy_def[yy_current_state];
1436 [ + + ]: 183539005 : if ( yy_current_state >= 416 )
1437 : 165638340 : yy_c = yy_meta[(unsigned int) yy_c];
1438 : : }
1439 : 225442422 : yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1440 : 225442422 : ++yy_cp;
1441 : : }
1442 : : while ( yy_current_state != 415 );
1443 : 16436781 : yy_cp = (yy_last_accepting_cpos);
1444 : 16436781 : yy_current_state = (yy_last_accepting_state);
1445 : :
1446 : : yy_find_action:
1447 : 16442759 : yy_act = yy_accept[yy_current_state];
1448 : :
1449 : 16442759 : YY_DO_BEFORE_ACTION;
1450 : :
1451 [ + + ][ + + ]: 16442759 : if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
1452 : : {
1453 : : int yyl;
1454 [ + + ]: 93189237 : for ( yyl = 0; yyl < yyleng; ++yyl )
1455 [ + + ]: 87075457 : if ( yytext[yyl] == '\n' )
1456 : :
1457 : 5700261 : yylineno++;
1458 : : ;
1459 : : }
1460 : :
1461 : : do_action: /* This label is used only to access EOF actions. */
1462 : :
1463 [ - + + + : 16448737 : switch ( yy_act )
+ - + + -
- + + + -
+ + + - -
+ + + + -
+ + + + -
+ + - + +
+ + + + +
+ + + + +
+ - - - -
+ + + + +
+ + + + +
+ + + - -
+ + + + +
+ + + + +
+ + + + +
+ + + - -
- - - - +
+ - ]
1464 : : { /* beginning of action switch */
1465 : : case 0: /* must back up */
1466 : : /* undo the effects of YY_DO_BEFORE_ACTION */
1467 : 0 : *yy_cp = (yy_hold_char);
1468 : 0 : yy_cp = (yy_last_accepting_cpos);
1469 : 0 : yy_current_state = (yy_last_accepting_state);
1470 : 0 : goto yy_find_action;
1471 : :
1472 : : case 1:
1473 [ + - ]: 2668543 : YY_RULE_SETUP
1474 : : #line 288 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1475 : : ; /* eat up whitespace */
1476 : : YY_BREAK
1477 : : case 2:
1478 : : /* rule 2 can match eol */
1479 : : YY_RULE_SETUP
1480 : : #line 289 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1481 : : {
1482 : : idlc()->incLineNumber();
1483 : : yycolumn = 1;
1484 : : yylineno++;
1485 : : }
1486 : : YY_BREAK
1487 : : case 3:
1488 : : YY_RULE_SETUP
1489 : : #line 295 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1490 : : return IDL_ATTRIBUTE;
1491 : : YY_BREAK
1492 : : case 4:
1493 : : YY_RULE_SETUP
1494 : : #line 296 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1495 : : return IDL_BOUND;
1496 : : YY_BREAK
1497 : : case 5:
1498 : : YY_RULE_SETUP
1499 : : #line 297 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1500 : : return IDL_CASE;
1501 : : YY_BREAK
1502 : : case 6:
1503 : : YY_RULE_SETUP
1504 : : #line 298 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1505 : : return IDL_CONST;
1506 : : YY_BREAK
1507 : : case 7:
1508 : : YY_RULE_SETUP
1509 : : #line 299 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1510 : : return IDL_CONSTANTS;
1511 : : YY_BREAK
1512 : : case 8:
1513 : : YY_RULE_SETUP
1514 : : #line 300 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1515 : : return IDL_CONSTRAINED;
1516 : : YY_BREAK
1517 : : case 9:
1518 : : YY_RULE_SETUP
1519 : : #line 301 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1520 : : return IDL_DEFAULT;
1521 : : YY_BREAK
1522 : : case 10:
1523 : : YY_RULE_SETUP
1524 : : #line 302 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1525 : : return IDL_ENUM;
1526 : : YY_BREAK
1527 : : case 11:
1528 : : YY_RULE_SETUP
1529 : : #line 303 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1530 : : return IDL_EXCEPTION;
1531 : : YY_BREAK
1532 : : case 12:
1533 : : YY_RULE_SETUP
1534 : : #line 304 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1535 : : return IDL_INTERFACE;
1536 : : YY_BREAK
1537 : : case 13:
1538 : : YY_RULE_SETUP
1539 : : #line 305 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1540 : : return IDL_MAYBEAMBIGUOUS;
1541 : : YY_BREAK
1542 : : case 14:
1543 : : YY_RULE_SETUP
1544 : : #line 306 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1545 : : return IDL_MAYBEDEFAULT;
1546 : : YY_BREAK
1547 : : case 15:
1548 : : YY_RULE_SETUP
1549 : : #line 307 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1550 : : return IDL_MAYBEVOID;
1551 : : YY_BREAK
1552 : : case 16:
1553 : : YY_RULE_SETUP
1554 : : #line 308 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1555 : : return IDL_MODULE;
1556 : : YY_BREAK
1557 : : case 17:
1558 : : YY_RULE_SETUP
1559 : : #line 309 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1560 : : return IDL_NEEDS;
1561 : : YY_BREAK
1562 : : case 18:
1563 : : YY_RULE_SETUP
1564 : : #line 310 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1565 : : return IDL_OBSERVES;
1566 : : YY_BREAK
1567 : : case 19:
1568 : : YY_RULE_SETUP
1569 : : #line 311 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1570 : : return IDL_OPTIONAL;
1571 : : YY_BREAK
1572 : : case 20:
1573 : : YY_RULE_SETUP
1574 : : #line 312 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1575 : : return IDL_PROPERTY;
1576 : : YY_BREAK
1577 : : case 21:
1578 : : YY_RULE_SETUP
1579 : : #line 313 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1580 : : return IDL_RAISES;
1581 : : YY_BREAK
1582 : : case 22:
1583 : : YY_RULE_SETUP
1584 : : #line 314 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1585 : : return IDL_READONLY;
1586 : : YY_BREAK
1587 : : case 23:
1588 : : YY_RULE_SETUP
1589 : : #line 315 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1590 : : return IDL_REMOVEABLE;
1591 : : YY_BREAK
1592 : : case 24:
1593 : : YY_RULE_SETUP
1594 : : #line 316 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1595 : : return IDL_SERVICE;
1596 : : YY_BREAK
1597 : : case 25:
1598 : : YY_RULE_SETUP
1599 : : #line 317 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1600 : : return IDL_SEQUENCE;
1601 : : YY_BREAK
1602 : : case 26:
1603 : : YY_RULE_SETUP
1604 : : #line 318 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1605 : : return IDL_SINGLETON;
1606 : : YY_BREAK
1607 : : case 27:
1608 : : YY_RULE_SETUP
1609 : : #line 319 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1610 : : return IDL_STRUCT;
1611 : : YY_BREAK
1612 : : case 28:
1613 : : YY_RULE_SETUP
1614 : : #line 320 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1615 : : return IDL_SWITCH;
1616 : : YY_BREAK
1617 : : case 29:
1618 : : YY_RULE_SETUP
1619 : : #line 321 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1620 : : return IDL_TRANSIENT;
1621 : : YY_BREAK
1622 : : case 30:
1623 : : YY_RULE_SETUP
1624 : : #line 322 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1625 : : return IDL_TYPEDEF;
1626 : : YY_BREAK
1627 : : case 31:
1628 : : YY_RULE_SETUP
1629 : : #line 323 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1630 : : return IDL_UNION;
1631 : : YY_BREAK
1632 : : case 32:
1633 : : YY_RULE_SETUP
1634 : : #line 325 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1635 : : return IDL_ANY;
1636 : : YY_BREAK
1637 : : case 33:
1638 : : YY_RULE_SETUP
1639 : : #line 326 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1640 : : return IDL_BOOLEAN;
1641 : : YY_BREAK
1642 : : case 34:
1643 : : YY_RULE_SETUP
1644 : : #line 327 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1645 : : return IDL_BYTE;
1646 : : YY_BREAK
1647 : : case 35:
1648 : : YY_RULE_SETUP
1649 : : #line 328 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1650 : : return IDL_CHAR;
1651 : : YY_BREAK
1652 : : case 36:
1653 : : YY_RULE_SETUP
1654 : : #line 329 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1655 : : return IDL_DOUBLE;
1656 : : YY_BREAK
1657 : : case 37:
1658 : : YY_RULE_SETUP
1659 : : #line 330 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1660 : : return IDL_FLOAT;
1661 : : YY_BREAK
1662 : : case 38:
1663 : : YY_RULE_SETUP
1664 : : #line 331 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1665 : : return IDL_HYPER;
1666 : : YY_BREAK
1667 : : case 39:
1668 : : YY_RULE_SETUP
1669 : : #line 332 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1670 : : return IDL_LONG;
1671 : : YY_BREAK
1672 : : case 40:
1673 : : YY_RULE_SETUP
1674 : : #line 333 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1675 : : return IDL_SHORT;
1676 : : YY_BREAK
1677 : : case 41:
1678 : : YY_RULE_SETUP
1679 : : #line 334 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1680 : : return IDL_STRING;
1681 : : YY_BREAK
1682 : : case 42:
1683 : : YY_RULE_SETUP
1684 : : #line 335 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1685 : : return IDL_TYPE;
1686 : : YY_BREAK
1687 : : case 43:
1688 : : YY_RULE_SETUP
1689 : : #line 336 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1690 : : return IDL_UNSIGNED;
1691 : : YY_BREAK
1692 : : case 44:
1693 : : YY_RULE_SETUP
1694 : : #line 337 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1695 : : return IDL_VOID;
1696 : : YY_BREAK
1697 : : case 45:
1698 : : YY_RULE_SETUP
1699 : : #line 339 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1700 : : return IDL_TRUE;
1701 : : YY_BREAK
1702 : : case 46:
1703 : : YY_RULE_SETUP
1704 : : #line 340 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1705 : : return IDL_TRUE;
1706 : : YY_BREAK
1707 : : case 47:
1708 : : YY_RULE_SETUP
1709 : : #line 341 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1710 : : return IDL_FALSE;
1711 : : YY_BREAK
1712 : : case 48:
1713 : : YY_RULE_SETUP
1714 : : #line 342 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1715 : : return IDL_FALSE;
1716 : : YY_BREAK
1717 : : case 49:
1718 : : YY_RULE_SETUP
1719 : : #line 344 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1720 : : return IDL_IN;
1721 : : YY_BREAK
1722 : : case 50:
1723 : : YY_RULE_SETUP
1724 : : #line 345 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1725 : : return IDL_OUT;
1726 : : YY_BREAK
1727 : : case 51:
1728 : : YY_RULE_SETUP
1729 : : #line 346 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1730 : : return IDL_INOUT;
1731 : : YY_BREAK
1732 : : case 52:
1733 : : YY_RULE_SETUP
1734 : : #line 347 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1735 : : return IDL_ONEWAY;
1736 : : YY_BREAK
1737 : : case 53:
1738 : : YY_RULE_SETUP
1739 : : #line 349 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1740 : : return IDL_GET;
1741 : : YY_BREAK
1742 : : case 54:
1743 : : YY_RULE_SETUP
1744 : : #line 350 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1745 : : return IDL_SET;
1746 : : YY_BREAK
1747 : : case 55:
1748 : : YY_RULE_SETUP
1749 : : #line 352 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1750 : : return IDL_PUBLISHED;
1751 : : YY_BREAK
1752 : : case 56:
1753 : : YY_RULE_SETUP
1754 : : #line 354 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1755 : : return IDL_ELLIPSIS;
1756 : : YY_BREAK
1757 : : case 57:
1758 : : YY_RULE_SETUP
1759 : : #line 356 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1760 : : {
1761 : : return asciiToInteger(yytext, &yylval.ival, &yylval.uval);
1762 : : }
1763 : : YY_BREAK
1764 : : case 58:
1765 : : YY_RULE_SETUP
1766 : : #line 360 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1767 : : {
1768 : : return asciiToInteger(yytext, &yylval.ival, &yylval.uval);
1769 : : }
1770 : : YY_BREAK
1771 : : case 59:
1772 : : YY_RULE_SETUP
1773 : : #line 364 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1774 : : {
1775 : : return asciiToInteger(yytext, &yylval.ival, &yylval.uval);
1776 : : }
1777 : : YY_BREAK
1778 : : case 60:
1779 : : #line 369 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1780 : : case 61:
1781 : : #line 370 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1782 : : case 62:
1783 : : YY_RULE_SETUP
1784 : : #line 370 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1785 : : {
1786 : : yylval.dval = asciiToFloat( yytext );
1787 : : return IDL_FLOATING_PT_LITERAL;
1788 : : }
1789 : : YY_BREAK
1790 : : case 63:
1791 : : YY_RULE_SETUP
1792 : : #line 375 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1793 : : {
1794 : : yylval.sval = new ::rtl::OString(yytext);
1795 : : return IDL_IDENTIFIER;
1796 : : }
1797 : : YY_BREAK
1798 : : case 64:
1799 : : YY_RULE_SETUP
1800 : : #line 380 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1801 : : {
1802 : : yylval.strval = yytext;
1803 : : return IDL_LEFTSHIFT;
1804 : : }
1805 : : YY_BREAK
1806 : : case 65:
1807 : : YY_RULE_SETUP
1808 : : #line 384 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1809 : : {
1810 : : yylval.strval = yytext;
1811 : : return IDL_RIGHTSHIFT;
1812 : : }
1813 : : YY_BREAK
1814 : : case 66:
1815 : : YY_RULE_SETUP
1816 : : #line 388 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1817 : : {
1818 : : yylval.strval = yytext;
1819 : : return IDL_SCOPESEPARATOR;
1820 : : }
1821 : : YY_BREAK
1822 : : case 67:
1823 : : YY_RULE_SETUP
1824 : : #line 393 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1825 : : {
1826 : : BEGIN( COMMENT );
1827 : : docu = ::rtl::OString();
1828 : : beginLine = idlc()->getLineNumber();
1829 : : }
1830 : : YY_BREAK
1831 : : case 68:
1832 : : YY_RULE_SETUP
1833 : : #line 399 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1834 : : {
1835 : : BEGIN( COMMENT );
1836 : : docu = ::rtl::OString();
1837 : : beginLine = idlc()->getLineNumber();
1838 : : }
1839 : : YY_BREAK
1840 : : case 69:
1841 : : /* rule 69 can match eol */
1842 : : YY_RULE_SETUP
1843 : : #line 405 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1844 : : {
1845 : : docu += ::rtl::OString(yytext);
1846 : : }
1847 : : YY_BREAK
1848 : : case 70:
1849 : : /* rule 70 can match eol */
1850 : : YY_RULE_SETUP
1851 : : #line 409 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1852 : : {
1853 : : docu += ::rtl::OString(yytext);
1854 : : }
1855 : : YY_BREAK
1856 : : case 71:
1857 : : YY_RULE_SETUP
1858 : : #line 413 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1859 : : {
1860 : : docu += ::rtl::OString(yytext);
1861 : : }
1862 : : YY_BREAK
1863 : : case 72:
1864 : : YY_RULE_SETUP
1865 : : #line 417 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1866 : : {
1867 : : docu = docu.trim();
1868 : : sal_Int32 nIndex = 0;
1869 : : int count = 0;
1870 : : do { docu.getToken( 0, '\n', nIndex ); count++; } while( nIndex != -1 );
1871 : : idlc()->setLineNumber( beginLine + count - 1);
1872 : : BEGIN( INITIAL );
1873 : : }
1874 : : YY_BREAK
1875 : : case 73:
1876 : : YY_RULE_SETUP
1877 : : #line 426 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1878 : : {
1879 : : BEGIN( DOCU );
1880 : : docu = ::rtl::OString();
1881 : : beginLine = idlc()->getLineNumber();
1882 : : }
1883 : : YY_BREAK
1884 : : case 74:
1885 : : YY_RULE_SETUP
1886 : : #line 432 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1887 : : {
1888 : : docu += ::rtl::OString(yytext);
1889 : : }
1890 : : YY_BREAK
1891 : : case 75:
1892 : : /* rule 75 can match eol */
1893 : : YY_RULE_SETUP
1894 : : #line 436 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1895 : : {
1896 : : idlc()->setLineNumber( idlc()->getLineNumber() + 1);
1897 : : docu += ::rtl::OString("\n");
1898 : : }
1899 : : YY_BREAK
1900 : : case 76:
1901 : : /* rule 76 can match eol */
1902 : : YY_RULE_SETUP
1903 : : #line 441 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1904 : : {
1905 : : idlc()->setLineNumber( idlc()->getLineNumber() + 1);
1906 : : docu += ::rtl::OString(yytext);
1907 : : }
1908 : : YY_BREAK
1909 : : case 77:
1910 : : YY_RULE_SETUP
1911 : : #line 446 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1912 : : {
1913 : : docu += ::rtl::OString(yytext);
1914 : : }
1915 : : YY_BREAK
1916 : : case 78:
1917 : : /* rule 78 can match eol */
1918 : : YY_RULE_SETUP
1919 : : #line 450 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1920 : : {
1921 : : docu = docu.trim();
1922 : : sal_Int32 nIndex = 0;
1923 : : int count = 0;
1924 : : do { docu.getToken( 0, '\n', nIndex ); count++; } while( nIndex != -1 );
1925 : : idlc()->setLineNumber( beginLine + count - 1);
1926 : : if ( (nIndex = docu.indexOf("/*")) >= 0 || (nIndex = docu.indexOf("///")) >= 0 )
1927 : : {
1928 : : if ( 0 != nIndex &&
1929 : : (docu.getStr()[nIndex - 1] != '"' && docu.getStr()[nIndex - 1] != ':') )
1930 : : idlc()->error()->syntaxError(PS_NoState, idlc()->getLineNumber(),
1931 : : "nested documentation strings are not allowed!");
1932 : : }
1933 : : idlc()->setDocumentation(docu);
1934 : : BEGIN( INITIAL );
1935 : : }
1936 : : YY_BREAK
1937 : : case 79:
1938 : : YY_RULE_SETUP
1939 : : #line 467 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1940 : : {
1941 : : docu = docu.trim();
1942 : : sal_Int32 nIndex = 0;
1943 : : int count = 0;
1944 : : do { docu.getToken( 0, '\n', nIndex ); count++; } while( nIndex != -1 );
1945 : : idlc()->setLineNumber( beginLine + count - 1);
1946 : : if ( docu.indexOf("/*") >= 0 || docu.indexOf("//") >= 0 )
1947 : : {
1948 : : if ( 0 != nIndex &&
1949 : : (docu.getStr()[nIndex - 1] != '"' && docu.getStr()[nIndex - 1] != ':') )
1950 : : idlc()->error()->syntaxError(PS_NoState, idlc()->getLineNumber(),
1951 : : "nested documentation strings are not allowed!");
1952 : : }
1953 : : idlc()->setDocumentation(docu);
1954 : : BEGIN( INITIAL );
1955 : : }
1956 : : YY_BREAK
1957 : : case 80:
1958 : : /* rule 80 can match eol */
1959 : : YY_RULE_SETUP
1960 : : #line 484 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1961 : : {
1962 : : /* only a comment */
1963 : : ::rtl::OString docStr(yytext);
1964 : : docStr = docStr.copy( 0, docStr.lastIndexOf('\n') );
1965 : : docStr = docStr.copy( docStr.lastIndexOf('/')+1 );
1966 : : docStr = docStr.trim();
1967 : : idlc()->incLineNumber();
1968 : : }
1969 : : YY_BREAK
1970 : : case 81:
1971 : : /* rule 81 can match eol */
1972 : : YY_RULE_SETUP
1973 : : #line 493 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1974 : : {
1975 : : ::rtl::OString docStr(yytext);
1976 : : docStr = docStr.copy( 0, docStr.lastIndexOf('\n') );
1977 : : docStr = docStr.copy( docStr.lastIndexOf('/')+1 );
1978 : : docStr = docStr.trim();
1979 : : idlc()->incLineNumber();
1980 : : idlc()->setDocumentation(docStr);
1981 : : }
1982 : : YY_BREAK
1983 : : case 82:
1984 : : YY_RULE_SETUP
1985 : : #line 502 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1986 : : return yytext[0];
1987 : : YY_BREAK
1988 : : case 83:
1989 : : /* rule 83 can match eol */
1990 : : YY_RULE_SETUP
1991 : : #line 504 "/usr/local/src/libreoffice/idlc/source/scanner.l"
1992 : : {
1993 : : parseLineAndFile(yytext);
1994 : : }
1995 : : YY_BREAK
1996 : : case 84:
1997 : : /* rule 84 can match eol */
1998 : : YY_RULE_SETUP
1999 : : #line 508 "/usr/local/src/libreoffice/idlc/source/scanner.l"
2000 : : {
2001 : : parseLineAndFile(yytext);
2002 : : }
2003 : : YY_BREAK
2004 : : case 85:
2005 : : /* rule 85 can match eol */
2006 : : YY_RULE_SETUP
2007 : : #line 512 "/usr/local/src/libreoffice/idlc/source/scanner.l"
2008 : : {
2009 : : parseLineAndFile(yytext);
2010 : : }
2011 : : YY_BREAK
2012 : : case 86:
2013 : : /* rule 86 can match eol */
2014 : : YY_RULE_SETUP
2015 : : #line 516 "/usr/local/src/libreoffice/idlc/source/scanner.l"
2016 : : {
2017 : : parseLineAndFile(yytext);
2018 : : }
2019 : : YY_BREAK
2020 : : case 87:
2021 : : /* rule 87 can match eol */
2022 : : YY_RULE_SETUP
2023 : : #line 520 "/usr/local/src/libreoffice/idlc/source/scanner.l"
2024 : : {
2025 : : /* ignore cpp ident */
2026 : : idlc()->incLineNumber();
2027 : : }
2028 : : YY_BREAK
2029 : : case 88:
2030 : : /* rule 88 can match eol */
2031 : : YY_RULE_SETUP
2032 : : #line 525 "/usr/local/src/libreoffice/idlc/source/scanner.l"
2033 : : { /* remember pragma */
2034 : : idlParsePragma(yytext);
2035 : : idlc()->incLineNumber();
2036 : : }
2037 : : YY_BREAK
2038 : : case 89:
2039 : : YY_RULE_SETUP
2040 : : #line 530 "/usr/local/src/libreoffice/idlc/source/scanner.l"
2041 : : ECHO;
2042 : : YY_BREAK
2043 : : #line 2044 "/usr/local/src/libreoffice/workdir/unxlngi6.pro/LexTarget/idlc/source/scanner.cxx"
2044 : : case YY_STATE_EOF(INITIAL):
2045 : : case YY_STATE_EOF(DOCU):
2046 : : case YY_STATE_EOF(COMMENT):
2047 : 5978 : yyterminate();
2048 : :
2049 : : case YY_END_OF_BUFFER:
2050 : : {
2051 : : /* Amount of text matched not including the EOB char. */
2052 : 38776 : int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
2053 : :
2054 : : /* Undo the effects of YY_DO_BEFORE_ACTION. */
2055 : 38776 : *yy_cp = (yy_hold_char);
2056 : : YY_RESTORE_YY_MORE_OFFSET
2057 : :
2058 [ + + ]: 38776 : if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2059 : : {
2060 : : /* We're scanning a new file or input source. It's
2061 : : * possible that this happened because the user
2062 : : * just pointed yyin at a new source and called
2063 : : * yylex(). If so, then we have to assure
2064 : : * consistency between YY_CURRENT_BUFFER and our
2065 : : * globals. Here is the right place to do so, because
2066 : : * this is the first action (other than possibly a
2067 : : * back-up) that will match for the new input source.
2068 : : */
2069 : 5978 : (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2070 : 5978 : YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
2071 : 5978 : YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2072 : : }
2073 : :
2074 : : /* Note that here we test for yy_c_buf_p "<=" to the position
2075 : : * of the first EOB in the buffer, since yy_c_buf_p will
2076 : : * already have been incremented past the NUL character
2077 : : * (since all states make transitions on EOB to the
2078 : : * end-of-buffer state). Contrast this with the test
2079 : : * in input().
2080 : : */
2081 [ - + ]: 38776 : if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2082 : : { /* This was really a NUL. */
2083 : : yy_state_type yy_next_state;
2084 : :
2085 : 0 : (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
2086 : :
2087 : 0 : yy_current_state = yy_get_previous_state( );
2088 : :
2089 : : /* Okay, we're now positioned to make the NUL
2090 : : * transition. We couldn't have
2091 : : * yy_get_previous_state() go ahead and do it
2092 : : * for us because it doesn't know how to deal
2093 : : * with the possibility of jamming (and we don't
2094 : : * want to build jamming into it because then it
2095 : : * will run more slowly).
2096 : : */
2097 : :
2098 : 0 : yy_next_state = yy_try_NUL_trans( yy_current_state );
2099 : :
2100 : 0 : yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2101 : :
2102 [ # # ]: 0 : if ( yy_next_state )
2103 : : {
2104 : : /* Consume the NUL. */
2105 : 0 : yy_cp = ++(yy_c_buf_p);
2106 : 0 : yy_current_state = yy_next_state;
2107 : 0 : goto yy_match;
2108 : : }
2109 : :
2110 : : else
2111 : : {
2112 : 0 : yy_cp = (yy_last_accepting_cpos);
2113 : 0 : yy_current_state = (yy_last_accepting_state);
2114 : 0 : goto yy_find_action;
2115 : : }
2116 : : }
2117 : :
2118 [ + + + - ]: 38776 : else switch ( yy_get_next_buffer( ) )
2119 : : {
2120 : : case EOB_ACT_END_OF_FILE:
2121 : : {
2122 : 5978 : (yy_did_buffer_switch_on_eof) = 0;
2123 : :
2124 : : if ( yywrap( ) )
2125 : : {
2126 : : /* Note: because we've taken care in
2127 : : * yy_get_next_buffer() to have set up
2128 : : * yytext, we can now set up
2129 : : * yy_c_buf_p so that if some total
2130 : : * hoser (like flex itself) wants to
2131 : : * call the scanner after we return the
2132 : : * YY_NULL, it'll still work - another
2133 : : * YY_NULL will get returned.
2134 : : */
2135 : 5978 : (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
2136 : :
2137 : 5978 : yy_act = YY_STATE_EOF(YY_START);
2138 : 5978 : goto do_action;
2139 : : }
2140 : :
2141 : : else
2142 : : {
2143 : : if ( ! (yy_did_buffer_switch_on_eof) )
2144 : : YY_NEW_FILE;
2145 : : }
2146 : : break;
2147 : : }
2148 : :
2149 : : case EOB_ACT_CONTINUE_SCAN:
2150 : : (yy_c_buf_p) =
2151 : 26820 : (yytext_ptr) + yy_amount_of_matched_text;
2152 : :
2153 : 26820 : yy_current_state = yy_get_previous_state( );
2154 : :
2155 : 26820 : yy_cp = (yy_c_buf_p);
2156 : 26820 : yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2157 : 26820 : goto yy_match;
2158 : :
2159 : : case EOB_ACT_LAST_MATCH:
2160 : : (yy_c_buf_p) =
2161 : 5978 : &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
2162 : :
2163 : 5978 : yy_current_state = yy_get_previous_state( );
2164 : :
2165 : 5978 : yy_cp = (yy_c_buf_p);
2166 : 5978 : yy_bp = (yytext_ptr) + YY_MORE_ADJ;
2167 : 5978 : goto yy_find_action;
2168 : : }
2169 : 0 : break;
2170 : : }
2171 : :
2172 : : default:
2173 : : YY_FATAL_ERROR(
2174 : 0 : "fatal flex scanner internal error--no action found" );
2175 : : } /* end of action switch */
2176 : : } /* end of scanning one token */
2177 : : } /* end of yylex */
2178 : :
2179 : : /* yy_get_next_buffer - try to read in a new buffer
2180 : : *
2181 : : * Returns a code representing an action:
2182 : : * EOB_ACT_LAST_MATCH -
2183 : : * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2184 : : * EOB_ACT_END_OF_FILE - end of file
2185 : : */
2186 : 38776 : static int yy_get_next_buffer (void)
2187 : : {
2188 : 38776 : register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
2189 : 38776 : register char *source = (yytext_ptr);
2190 : : register int number_to_move, i;
2191 : : int ret_val;
2192 : :
2193 [ - + ]: 38776 : if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
2194 : : YY_FATAL_ERROR(
2195 : 0 : "fatal flex scanner internal error--end of buffer missed" );
2196 : :
2197 [ - + ]: 38776 : if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
2198 : : { /* Don't try to fill the buffer, so this is an EOF. */
2199 [ # # ]: 0 : if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
2200 : : {
2201 : : /* We matched a single character, the EOB, so
2202 : : * treat this as a final EOF.
2203 : : */
2204 : 0 : return EOB_ACT_END_OF_FILE;
2205 : : }
2206 : :
2207 : : else
2208 : : {
2209 : : /* We matched some text prior to the EOB, first
2210 : : * process it.
2211 : : */
2212 : 0 : return EOB_ACT_LAST_MATCH;
2213 : : }
2214 : : }
2215 : :
2216 : : /* Try to read more data. */
2217 : :
2218 : : /* First move last chars to start of buffer. */
2219 : 38776 : number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
2220 : :
2221 [ + + ]: 597345 : for ( i = 0; i < number_to_move; ++i )
2222 : 558569 : *(dest++) = *(source++);
2223 : :
2224 [ + + ]: 38776 : if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2225 : : /* don't do the read, it's not guaranteed to return an EOF,
2226 : : * just force an EOF
2227 : : */
2228 : 5978 : YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
2229 : :
2230 : : else
2231 : : {
2232 : : int num_to_read =
2233 : 32798 : YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
2234 : :
2235 [ - + ]: 32798 : while ( num_to_read <= 0 )
2236 : : { /* Not enough room in the buffer - grow it. */
2237 : :
2238 : : /* just a shorter name for the current buffer */
2239 [ # # ]: 0 : YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
2240 : :
2241 : : int yy_c_buf_p_offset =
2242 : 0 : (int) ((yy_c_buf_p) - b->yy_ch_buf);
2243 : :
2244 [ # # ]: 0 : if ( b->yy_is_our_buffer )
2245 : : {
2246 : 0 : int new_size = b->yy_buf_size * 2;
2247 : :
2248 [ # # ]: 0 : if ( new_size <= 0 )
2249 : 0 : b->yy_buf_size += b->yy_buf_size / 8;
2250 : : else
2251 : 0 : b->yy_buf_size *= 2;
2252 : :
2253 : : b->yy_ch_buf = (char *)
2254 : : /* Include room in for 2 EOB chars. */
2255 : 0 : yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
2256 : : }
2257 : : else
2258 : : /* Can't grow it, we don't own it. */
2259 : 0 : b->yy_ch_buf = 0;
2260 : :
2261 [ # # ]: 0 : if ( ! b->yy_ch_buf )
2262 : : YY_FATAL_ERROR(
2263 : 0 : "fatal error - scanner input buffer overflow" );
2264 : :
2265 : 0 : (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
2266 : :
2267 : 0 : num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
2268 : 0 : number_to_move - 1;
2269 : :
2270 : : }
2271 : :
2272 [ + - ]: 32798 : if ( num_to_read > YY_READ_BUF_SIZE )
2273 : 32798 : num_to_read = YY_READ_BUF_SIZE;
2274 : :
2275 : : /* Read in more data. */
2276 [ - + ][ # # ]: 32798 : YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ # # ][ # # ]
[ + + ][ - + ]
[ - + ]
2277 : : (yy_n_chars), (size_t) num_to_read );
2278 : :
2279 : 32798 : YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2280 : : }
2281 : :
2282 [ + + ]: 38776 : if ( (yy_n_chars) == 0 )
2283 : : {
2284 [ + + ]: 11956 : if ( number_to_move == YY_MORE_ADJ )
2285 : : {
2286 : 5978 : ret_val = EOB_ACT_END_OF_FILE;
2287 : 5978 : yyrestart(yyin );
2288 : : }
2289 : :
2290 : : else
2291 : : {
2292 : 5978 : ret_val = EOB_ACT_LAST_MATCH;
2293 : 5978 : YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
2294 : 5978 : YY_BUFFER_EOF_PENDING;
2295 : : }
2296 : : }
2297 : :
2298 : : else
2299 : 26820 : ret_val = EOB_ACT_CONTINUE_SCAN;
2300 : :
2301 [ - + ]: 38776 : if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
2302 : : /* Extend the array by 50%, plus the number we really need. */
2303 : 0 : yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
2304 : 0 : YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
2305 [ # # ]: 0 : if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
2306 : 0 : YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
2307 : : }
2308 : :
2309 : 38776 : (yy_n_chars) += number_to_move;
2310 : 38776 : YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
2311 : 38776 : YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
2312 : :
2313 : 38776 : (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
2314 : :
2315 : 38776 : return ret_val;
2316 : : }
2317 : :
2318 : : /* yy_get_previous_state - get the state just before the EOB char was reached */
2319 : :
2320 : 32798 : static yy_state_type yy_get_previous_state (void)
2321 : : {
2322 : : register yy_state_type yy_current_state;
2323 : : register char *yy_cp;
2324 : :
2325 : 32798 : yy_current_state = (yy_start);
2326 : 32798 : yy_current_state += YY_AT_BOL();
2327 : :
2328 [ + + ]: 591367 : for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
2329 : : {
2330 [ + - ]: 558569 : register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2331 [ + + ]: 558569 : if ( yy_accept[yy_current_state] )
2332 : : {
2333 : 447330 : (yy_last_accepting_state) = yy_current_state;
2334 : 447330 : (yy_last_accepting_cpos) = yy_cp;
2335 : : }
2336 [ + + ]: 1077270 : while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2337 : : {
2338 : 518701 : yy_current_state = (int) yy_def[yy_current_state];
2339 [ + + ]: 518701 : if ( yy_current_state >= 416 )
2340 : 511712 : yy_c = yy_meta[(unsigned int) yy_c];
2341 : : }
2342 : 558569 : yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2343 : : }
2344 : :
2345 : 32798 : return yy_current_state;
2346 : : }
2347 : :
2348 : : /* yy_try_NUL_trans - try to make a transition on the NUL character
2349 : : *
2350 : : * synopsis
2351 : : * next_state = yy_try_NUL_trans( current_state );
2352 : : */
2353 : 0 : static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
2354 : : {
2355 : : register int yy_is_jam;
2356 : 0 : register char *yy_cp = (yy_c_buf_p);
2357 : :
2358 : 0 : register YY_CHAR yy_c = 1;
2359 [ # # ]: 0 : if ( yy_accept[yy_current_state] )
2360 : : {
2361 : 0 : (yy_last_accepting_state) = yy_current_state;
2362 : 0 : (yy_last_accepting_cpos) = yy_cp;
2363 : : }
2364 [ # # ]: 0 : while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2365 : : {
2366 : 0 : yy_current_state = (int) yy_def[yy_current_state];
2367 [ # # ]: 0 : if ( yy_current_state >= 416 )
2368 : 0 : yy_c = yy_meta[(unsigned int) yy_c];
2369 : : }
2370 : 0 : yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2371 : 0 : yy_is_jam = (yy_current_state == 415);
2372 : :
2373 [ # # ]: 0 : return yy_is_jam ? 0 : yy_current_state;
2374 : : }
2375 : :
2376 : 0 : static void yyunput (int c, register char * yy_bp )
2377 : : {
2378 : : register char *yy_cp;
2379 : :
2380 : 0 : yy_cp = (yy_c_buf_p);
2381 : :
2382 : : /* undo effects of setting up yytext */
2383 : 0 : *yy_cp = (yy_hold_char);
2384 : :
2385 [ # # ]: 0 : if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
2386 : : { /* need to shift things up to make room */
2387 : : /* +2 for EOB chars. */
2388 : 0 : register int number_to_move = (yy_n_chars) + 2;
2389 : 0 : register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
2390 : 0 : YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
2391 : : register char *source =
2392 : 0 : &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
2393 : :
2394 [ # # ]: 0 : while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
2395 : 0 : *--dest = *--source;
2396 : :
2397 : 0 : yy_cp += (int) (dest - source);
2398 : 0 : yy_bp += (int) (dest - source);
2399 : 0 : YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
2400 : 0 : (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
2401 : :
2402 [ # # ]: 0 : if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
2403 : 0 : YY_FATAL_ERROR( "flex scanner push-back overflow" );
2404 : : }
2405 : :
2406 : 0 : *--yy_cp = (char) c;
2407 : :
2408 [ # # ]: 0 : if ( c == '\n' ){
2409 : 0 : --yylineno;
2410 : : }
2411 : :
2412 : 0 : (yytext_ptr) = yy_bp;
2413 : 0 : (yy_hold_char) = *yy_cp;
2414 : 0 : (yy_c_buf_p) = yy_cp;
2415 : 0 : }
2416 : :
2417 : : #ifndef YY_NO_INPUT
2418 : : #ifdef __cplusplus
2419 : 0 : static int yyinput (void)
2420 : : #else
2421 : : static int input (void)
2422 : : #endif
2423 : :
2424 : : {
2425 : : int c;
2426 : :
2427 : 0 : *(yy_c_buf_p) = (yy_hold_char);
2428 : :
2429 [ # # ]: 0 : if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
2430 : : {
2431 : : /* yy_c_buf_p now points to the character we want to return.
2432 : : * If this occurs *before* the EOB characters, then it's a
2433 : : * valid NUL; if not, then we've hit the end of the buffer.
2434 : : */
2435 [ # # ]: 0 : if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2436 : : /* This was really a NUL. */
2437 : 0 : *(yy_c_buf_p) = '\0';
2438 : :
2439 : : else
2440 : : { /* need more input */
2441 : 0 : int offset = (yy_c_buf_p) - (yytext_ptr);
2442 : 0 : ++(yy_c_buf_p);
2443 : :
2444 [ # # # # ]: 0 : switch ( yy_get_next_buffer( ) )
2445 : : {
2446 : : case EOB_ACT_LAST_MATCH:
2447 : : /* This happens because yy_g_n_b()
2448 : : * sees that we've accumulated a
2449 : : * token and flags that we need to
2450 : : * try matching the token before
2451 : : * proceeding. But for input(),
2452 : : * there's no matching to consider.
2453 : : * So convert the EOB_ACT_LAST_MATCH
2454 : : * to EOB_ACT_END_OF_FILE.
2455 : : */
2456 : :
2457 : : /* Reset buffer status. */
2458 : 0 : yyrestart(yyin );
2459 : :
2460 : : /*FALLTHROUGH*/
2461 : :
2462 : : case EOB_ACT_END_OF_FILE:
2463 : : {
2464 : : if ( yywrap( ) )
2465 : 0 : return EOF;
2466 : :
2467 : : if ( ! (yy_did_buffer_switch_on_eof) )
2468 : : YY_NEW_FILE;
2469 : : #ifdef __cplusplus
2470 : : return yyinput();
2471 : : #else
2472 : : return input();
2473 : : #endif
2474 : : }
2475 : :
2476 : : case EOB_ACT_CONTINUE_SCAN:
2477 : 0 : (yy_c_buf_p) = (yytext_ptr) + offset;
2478 : 0 : break;
2479 : : }
2480 : : }
2481 : : }
2482 : :
2483 : 0 : c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
2484 : 0 : *(yy_c_buf_p) = '\0'; /* preserve yytext */
2485 : 0 : (yy_hold_char) = *++(yy_c_buf_p);
2486 : :
2487 : 0 : YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
2488 [ # # ]: 0 : if ( YY_CURRENT_BUFFER_LVALUE->yy_at_bol )
2489 : :
2490 : 0 : yylineno++;
2491 : : ;
2492 : :
2493 : 0 : return c;
2494 : : }
2495 : : #endif /* ifndef YY_NO_INPUT */
2496 : :
2497 : : /** Immediately switch to a different input stream.
2498 : : * @param input_file A readable stream.
2499 : : *
2500 : : * @note This function does not reset the start condition to @c INITIAL .
2501 : : */
2502 : 5978 : void yyrestart (FILE * input_file )
2503 : : {
2504 : :
2505 [ + - ][ - + ]: 5978 : if ( ! YY_CURRENT_BUFFER ){
2506 : 0 : yyensure_buffer_stack ();
2507 : 0 : YY_CURRENT_BUFFER_LVALUE =
2508 : 0 : yy_create_buffer(yyin,YY_BUF_SIZE );
2509 : : }
2510 : :
2511 [ + - ]: 5978 : yy_init_buffer(YY_CURRENT_BUFFER,input_file );
2512 : 5978 : yy_load_buffer_state( );
2513 : 5978 : }
2514 : :
2515 : : /** Switch to a different input buffer.
2516 : : * @param new_buffer The new input buffer.
2517 : : *
2518 : : */
2519 : 0 : void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
2520 : : {
2521 : :
2522 : : /* TODO. We should be able to replace this entire function body
2523 : : * with
2524 : : * yypop_buffer_state();
2525 : : * yypush_buffer_state(new_buffer);
2526 : : */
2527 : 0 : yyensure_buffer_stack ();
2528 [ # # ][ # # ]: 0 : if ( YY_CURRENT_BUFFER == new_buffer )
2529 : 0 : return;
2530 : :
2531 [ # # ][ # # ]: 0 : if ( YY_CURRENT_BUFFER )
2532 : : {
2533 : : /* Flush out information for old buffer. */
2534 : 0 : *(yy_c_buf_p) = (yy_hold_char);
2535 : 0 : YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2536 : 0 : YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2537 : : }
2538 : :
2539 : 0 : YY_CURRENT_BUFFER_LVALUE = new_buffer;
2540 : 0 : yy_load_buffer_state( );
2541 : :
2542 : : /* We don't actually know whether we did this switch during
2543 : : * EOF (yywrap()) processing, but the only time this flag
2544 : : * is looked at is after yywrap() is called, so it's safe
2545 : : * to go ahead and always set it.
2546 : : */
2547 : 0 : (yy_did_buffer_switch_on_eof) = 1;
2548 : : }
2549 : :
2550 : 12122 : static void yy_load_buffer_state (void)
2551 : : {
2552 : 12122 : (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2553 : 12122 : (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
2554 : 12122 : yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
2555 : 12122 : (yy_hold_char) = *(yy_c_buf_p);
2556 : 12122 : }
2557 : :
2558 : : /** Allocate and initialize an input buffer state.
2559 : : * @param file A readable stream.
2560 : : * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
2561 : : *
2562 : : * @return the allocated buffer state.
2563 : : */
2564 : 166 : YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
2565 : : {
2566 : : YY_BUFFER_STATE b;
2567 : :
2568 : 166 : b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
2569 [ - + ]: 166 : if ( ! b )
2570 : 0 : YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2571 : :
2572 : 166 : b->yy_buf_size = size;
2573 : :
2574 : : /* yy_ch_buf has to be 2 characters longer than the size given because
2575 : : * we need to put in 2 end-of-buffer characters.
2576 : : */
2577 : 166 : b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 );
2578 [ - + ]: 166 : if ( ! b->yy_ch_buf )
2579 : 0 : YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2580 : :
2581 : 166 : b->yy_is_our_buffer = 1;
2582 : :
2583 : 166 : yy_init_buffer(b,file );
2584 : :
2585 : 166 : return b;
2586 : : }
2587 : :
2588 : : /** Destroy the buffer.
2589 : : * @param b a buffer created with yy_create_buffer()
2590 : : *
2591 : : */
2592 : 0 : void yy_delete_buffer (YY_BUFFER_STATE b )
2593 : : {
2594 : :
2595 [ # # ]: 0 : if ( ! b )
2596 : 0 : return;
2597 : :
2598 [ # # ][ # # ]: 0 : if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
2599 : 0 : YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
2600 : :
2601 [ # # ]: 0 : if ( b->yy_is_our_buffer )
2602 : 0 : yyfree((void *) b->yy_ch_buf );
2603 : :
2604 : 0 : yyfree((void *) b );
2605 : : }
2606 : :
2607 : : /* Initializes or reinitializes a buffer.
2608 : : * This function is sometimes called more than once on the same buffer,
2609 : : * such as during a yyrestart() or at EOF.
2610 : : */
2611 : 6144 : static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
2612 : :
2613 : : {
2614 : 6144 : int oerrno = errno;
2615 : :
2616 : 6144 : yy_flush_buffer(b );
2617 : :
2618 : 6144 : b->yy_input_file = file;
2619 : 6144 : b->yy_fill_buffer = 1;
2620 : :
2621 : : /* If b is the current buffer, then yy_init_buffer was _probably_
2622 : : * called from yyrestart() or through yy_get_next_buffer.
2623 : : * In that case, we don't want to reset the lineno or column.
2624 : : */
2625 [ + + ][ + - ]: 6144 : if (b != YY_CURRENT_BUFFER){
2626 : 166 : b->yy_bs_lineno = 1;
2627 : 166 : b->yy_bs_column = 0;
2628 : : }
2629 : :
2630 : 6144 : b->yy_is_interactive = 0;
2631 : :
2632 : 6144 : errno = oerrno;
2633 : 6144 : }
2634 : :
2635 : : /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
2636 : : * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
2637 : : *
2638 : : */
2639 : 6144 : void yy_flush_buffer (YY_BUFFER_STATE b )
2640 : : {
2641 [ - + ]: 6144 : if ( ! b )
2642 : 6144 : return;
2643 : :
2644 : 6144 : b->yy_n_chars = 0;
2645 : :
2646 : : /* We always need two end-of-buffer characters. The first causes
2647 : : * a transition to the end-of-buffer state. The second causes
2648 : : * a jam in that state.
2649 : : */
2650 : 6144 : b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2651 : 6144 : b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2652 : :
2653 : 6144 : b->yy_buf_pos = &b->yy_ch_buf[0];
2654 : :
2655 : 6144 : b->yy_at_bol = 1;
2656 : 6144 : b->yy_buffer_status = YY_BUFFER_NEW;
2657 : :
2658 [ + - ][ + + ]: 6144 : if ( b == YY_CURRENT_BUFFER )
2659 : 5978 : yy_load_buffer_state( );
2660 : : }
2661 : :
2662 : : /** Pushes the new state onto the stack. The new state becomes
2663 : : * the current state. This function will allocate the stack
2664 : : * if necessary.
2665 : : * @param new_buffer The new state.
2666 : : *
2667 : : */
2668 : 0 : void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
2669 : : {
2670 [ # # ]: 0 : if (new_buffer == NULL)
2671 : 0 : return;
2672 : :
2673 : 0 : yyensure_buffer_stack();
2674 : :
2675 : : /* This block is copied from yy_switch_to_buffer. */
2676 [ # # ][ # # ]: 0 : if ( YY_CURRENT_BUFFER )
2677 : : {
2678 : : /* Flush out information for old buffer. */
2679 : 0 : *(yy_c_buf_p) = (yy_hold_char);
2680 : 0 : YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2681 : 0 : YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2682 : : }
2683 : :
2684 : : /* Only push if top exists. Otherwise, replace top. */
2685 [ # # ][ # # ]: 0 : if (YY_CURRENT_BUFFER)
2686 : 0 : (yy_buffer_stack_top)++;
2687 : 0 : YY_CURRENT_BUFFER_LVALUE = new_buffer;
2688 : :
2689 : : /* copied from yy_switch_to_buffer. */
2690 : 0 : yy_load_buffer_state( );
2691 : 0 : (yy_did_buffer_switch_on_eof) = 1;
2692 : : }
2693 : :
2694 : : /** Removes and deletes the top of the stack, if present.
2695 : : * The next element becomes the new top.
2696 : : *
2697 : : */
2698 : 0 : void yypop_buffer_state (void)
2699 : : {
2700 [ # # ][ # # ]: 0 : if (!YY_CURRENT_BUFFER)
2701 : 0 : return;
2702 : :
2703 [ # # ]: 0 : yy_delete_buffer(YY_CURRENT_BUFFER );
2704 : 0 : YY_CURRENT_BUFFER_LVALUE = NULL;
2705 [ # # ]: 0 : if ((yy_buffer_stack_top) > 0)
2706 : 0 : --(yy_buffer_stack_top);
2707 : :
2708 [ # # ][ # # ]: 0 : if (YY_CURRENT_BUFFER) {
2709 : 0 : yy_load_buffer_state( );
2710 : 0 : (yy_did_buffer_switch_on_eof) = 1;
2711 : : }
2712 : : }
2713 : :
2714 : : /* Allocates the stack if it does not exist.
2715 : : * Guarantees space for at least one push.
2716 : : */
2717 : 166 : static void yyensure_buffer_stack (void)
2718 : : {
2719 : : int num_to_alloc;
2720 : :
2721 [ + - ]: 166 : if (!(yy_buffer_stack)) {
2722 : :
2723 : : /* First allocation is just for 2 elements, since we don't know if this
2724 : : * scanner will even need a stack. We use 2 instead of 1 to avoid an
2725 : : * immediate realloc on the next call.
2726 : : */
2727 : 166 : num_to_alloc = 1;
2728 : : (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
2729 : : (num_to_alloc * sizeof(struct yy_buffer_state*)
2730 : 166 : );
2731 [ - + ]: 166 : if ( ! (yy_buffer_stack) )
2732 : 0 : YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
2733 : :
2734 : 166 : memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
2735 : :
2736 : 166 : (yy_buffer_stack_max) = num_to_alloc;
2737 : 166 : (yy_buffer_stack_top) = 0;
2738 : 166 : return;
2739 : : }
2740 : :
2741 [ # # ]: 0 : if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
2742 : :
2743 : : /* Increase the buffer to prepare for a possible push. */
2744 : 0 : int grow_size = 8 /* arbitrary grow size */;
2745 : :
2746 : 0 : num_to_alloc = (yy_buffer_stack_max) + grow_size;
2747 : : (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
2748 : : ((yy_buffer_stack),
2749 : : num_to_alloc * sizeof(struct yy_buffer_state*)
2750 : 0 : );
2751 [ # # ]: 0 : if ( ! (yy_buffer_stack) )
2752 : 0 : YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
2753 : :
2754 : : /* zero only the new slots.*/
2755 : 0 : memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
2756 : 0 : (yy_buffer_stack_max) = num_to_alloc;
2757 : : }
2758 : : }
2759 : :
2760 : : /** Setup the input buffer state to scan directly from a user-specified character buffer.
2761 : : * @param base the character buffer
2762 : : * @param size the size in bytes of the character buffer
2763 : : *
2764 : : * @return the newly allocated buffer state object.
2765 : : */
2766 : 0 : YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
2767 : : {
2768 : : YY_BUFFER_STATE b;
2769 : :
2770 [ # # ][ # # ]: 0 : if ( size < 2 ||
[ # # ]
2771 : 0 : base[size-2] != YY_END_OF_BUFFER_CHAR ||
2772 : 0 : base[size-1] != YY_END_OF_BUFFER_CHAR )
2773 : : /* They forgot to leave room for the EOB's. */
2774 : 0 : return 0;
2775 : :
2776 : 0 : b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
2777 [ # # ]: 0 : if ( ! b )
2778 : 0 : YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
2779 : :
2780 : 0 : b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2781 : 0 : b->yy_buf_pos = b->yy_ch_buf = base;
2782 : 0 : b->yy_is_our_buffer = 0;
2783 : 0 : b->yy_input_file = 0;
2784 : 0 : b->yy_n_chars = b->yy_buf_size;
2785 : 0 : b->yy_is_interactive = 0;
2786 : 0 : b->yy_at_bol = 1;
2787 : 0 : b->yy_fill_buffer = 0;
2788 : 0 : b->yy_buffer_status = YY_BUFFER_NEW;
2789 : :
2790 : 0 : yy_switch_to_buffer(b );
2791 : :
2792 : 0 : return b;
2793 : : }
2794 : :
2795 : : /** Setup the input buffer state to scan a string. The next call to yylex() will
2796 : : * scan from a @e copy of @a str.
2797 : : * @param yystr a NUL-terminated string to scan
2798 : : *
2799 : : * @return the newly allocated buffer state object.
2800 : : * @note If you want to scan bytes that may contain NUL values, then use
2801 : : * yy_scan_bytes() instead.
2802 : : */
2803 : 0 : YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
2804 : : {
2805 : :
2806 : 0 : return yy_scan_bytes(yystr,strlen(yystr) );
2807 : : }
2808 : :
2809 : : /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
2810 : : * scan from a @e copy of @a bytes.
2811 : : * @param bytes the byte buffer to scan
2812 : : * @param len the number of bytes in the buffer pointed to by @a bytes.
2813 : : *
2814 : : * @return the newly allocated buffer state object.
2815 : : */
2816 : 0 : YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len )
2817 : : {
2818 : : YY_BUFFER_STATE b;
2819 : : char *buf;
2820 : : yy_size_t n;
2821 : : int i;
2822 : :
2823 : : /* Get memory for full buffer, including space for trailing EOB's. */
2824 : 0 : n = _yybytes_len + 2;
2825 : 0 : buf = (char *) yyalloc(n );
2826 [ # # ]: 0 : if ( ! buf )
2827 : 0 : YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
2828 : :
2829 [ # # ]: 0 : for ( i = 0; i < _yybytes_len; ++i )
2830 : 0 : buf[i] = yybytes[i];
2831 : :
2832 : 0 : buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
2833 : :
2834 : 0 : b = yy_scan_buffer(buf,n );
2835 [ # # ]: 0 : if ( ! b )
2836 : 0 : YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
2837 : :
2838 : : /* It's okay to grow etc. this buffer, and we should throw it
2839 : : * away when we're done.
2840 : : */
2841 : 0 : b->yy_is_our_buffer = 1;
2842 : :
2843 : 0 : return b;
2844 : : }
2845 : :
2846 : : #ifndef YY_EXIT_FAILURE
2847 : : #define YY_EXIT_FAILURE 2
2848 : : #endif
2849 : :
2850 : 0 : static void yy_fatal_error (yyconst char* msg )
2851 : : {
2852 : 0 : (void) fprintf( stderr, "%s\n", msg );
2853 : 0 : exit( YY_EXIT_FAILURE );
2854 : : }
2855 : :
2856 : : /* Redefine yyless() so it works in section 3 code. */
2857 : :
2858 : : #undef yyless
2859 : : #define yyless(n) \
2860 : : do \
2861 : : { \
2862 : : /* Undo effects of setting up yytext. */ \
2863 : : int yyless_macro_arg = (n); \
2864 : : YY_LESS_LINENO(yyless_macro_arg);\
2865 : : yytext[yyleng] = (yy_hold_char); \
2866 : : (yy_c_buf_p) = yytext + yyless_macro_arg; \
2867 : : (yy_hold_char) = *(yy_c_buf_p); \
2868 : : *(yy_c_buf_p) = '\0'; \
2869 : : yyleng = yyless_macro_arg; \
2870 : : } \
2871 : : while ( 0 )
2872 : :
2873 : : /* Accessor methods (get/set functions) to struct members. */
2874 : :
2875 : : /** Get the current line number.
2876 : : *
2877 : : */
2878 : 0 : int yyget_lineno (void)
2879 : : {
2880 : :
2881 : 0 : return yylineno;
2882 : : }
2883 : :
2884 : : /** Get the input stream.
2885 : : *
2886 : : */
2887 : 0 : FILE *yyget_in (void)
2888 : : {
2889 : 0 : return yyin;
2890 : : }
2891 : :
2892 : : /** Get the output stream.
2893 : : *
2894 : : */
2895 : 0 : FILE *yyget_out (void)
2896 : : {
2897 : 0 : return yyout;
2898 : : }
2899 : :
2900 : : /** Get the length of the current token.
2901 : : *
2902 : : */
2903 : 0 : int yyget_leng (void)
2904 : : {
2905 : 0 : return yyleng;
2906 : : }
2907 : :
2908 : : /** Get the current token.
2909 : : *
2910 : : */
2911 : :
2912 : 0 : char *yyget_text (void)
2913 : : {
2914 : 0 : return yytext;
2915 : : }
2916 : :
2917 : : /** Set the current line number.
2918 : : * @param line_number
2919 : : *
2920 : : */
2921 : 0 : void yyset_lineno (int line_number )
2922 : : {
2923 : :
2924 : 0 : yylineno = line_number;
2925 : 0 : }
2926 : :
2927 : : /** Set the input stream. This does not discard the current
2928 : : * input buffer.
2929 : : * @param in_str A readable stream.
2930 : : *
2931 : : * @see yy_switch_to_buffer
2932 : : */
2933 : 0 : void yyset_in (FILE * in_str )
2934 : : {
2935 : 0 : yyin = in_str ;
2936 : 0 : }
2937 : :
2938 : 0 : void yyset_out (FILE * out_str )
2939 : : {
2940 : 0 : yyout = out_str ;
2941 : 0 : }
2942 : :
2943 : 0 : int yyget_debug (void)
2944 : : {
2945 : 0 : return yy_flex_debug;
2946 : : }
2947 : :
2948 : 0 : void yyset_debug (int bdebug )
2949 : : {
2950 : 0 : yy_flex_debug = bdebug ;
2951 : 0 : }
2952 : :
2953 : 0 : static int yy_init_globals (void)
2954 : : {
2955 : : /* Initialization is the same as for the non-reentrant scanner.
2956 : : * This function is called from yylex_destroy(), so don't allocate here.
2957 : : */
2958 : :
2959 : : /* We do not touch yylineno unless the option is enabled. */
2960 : 0 : yylineno = 1;
2961 : :
2962 : 0 : (yy_buffer_stack) = 0;
2963 : 0 : (yy_buffer_stack_top) = 0;
2964 : 0 : (yy_buffer_stack_max) = 0;
2965 : 0 : (yy_c_buf_p) = (char *) 0;
2966 : 0 : (yy_init) = 0;
2967 : 0 : (yy_start) = 0;
2968 : :
2969 : : /* Defined in main.c */
2970 : : #ifdef YY_STDINIT
2971 : : yyin = stdin;
2972 : : yyout = stdout;
2973 : : #else
2974 : 0 : yyin = (FILE *) 0;
2975 : 0 : yyout = (FILE *) 0;
2976 : : #endif
2977 : :
2978 : : /* For future reference: Set errno on error, since we are called by
2979 : : * yylex_init()
2980 : : */
2981 : 0 : return 0;
2982 : : }
2983 : :
2984 : : /* yylex_destroy is for both reentrant and non-reentrant scanners. */
2985 : 0 : int yylex_destroy (void)
2986 : : {
2987 : :
2988 : : /* Pop the buffer stack, destroying each element. */
2989 [ # # ][ # # ]: 0 : while(YY_CURRENT_BUFFER){
[ # # ]
2990 [ # # ]: 0 : yy_delete_buffer(YY_CURRENT_BUFFER );
2991 : 0 : YY_CURRENT_BUFFER_LVALUE = NULL;
2992 : 0 : yypop_buffer_state();
2993 : : }
2994 : :
2995 : : /* Destroy the stack itself. */
2996 : 0 : yyfree((yy_buffer_stack) );
2997 : 0 : (yy_buffer_stack) = NULL;
2998 : :
2999 : : /* Reset the globals. This is important in a non-reentrant scanner so the next time
3000 : : * yylex() is called, initialization will occur. */
3001 : 0 : yy_init_globals( );
3002 : :
3003 : 0 : return 0;
3004 : : }
3005 : :
3006 : : /*
3007 : : * Internal utility routines.
3008 : : */
3009 : :
3010 : : #ifndef yytext_ptr
3011 : : static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
3012 : : {
3013 : : register int i;
3014 : : for ( i = 0; i < n; ++i )
3015 : : s1[i] = s2[i];
3016 : : }
3017 : : #endif
3018 : :
3019 : : #ifdef YY_NEED_STRLEN
3020 : : static int yy_flex_strlen (yyconst char * s )
3021 : : {
3022 : : register int n;
3023 : : for ( n = 0; s[n]; ++n )
3024 : : ;
3025 : :
3026 : : return n;
3027 : : }
3028 : : #endif
3029 : :
3030 : 498 : void *yyalloc (yy_size_t size )
3031 : : {
3032 : 498 : return (void *) malloc( size );
3033 : : }
3034 : :
3035 : 0 : void *yyrealloc (void * ptr, yy_size_t size )
3036 : : {
3037 : : /* The cast to (char *) in the following accommodates both
3038 : : * implementations that use char* generic pointers, and those
3039 : : * that use void* generic pointers. It works with the latter
3040 : : * because both ANSI C and C++ allow castless assignment from
3041 : : * any pointer type to void*, and deal with argument conversions
3042 : : * as though doing an assignment.
3043 : : */
3044 : 0 : return (void *) realloc( (char *) ptr, size );
3045 : : }
3046 : :
3047 : 0 : void yyfree (void * ptr )
3048 : : {
3049 : 0 : free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
3050 [ + - ][ + - ]: 498 : }
3051 : :
3052 : : #define YYTABLES_NAME "yytables"
3053 : :
3054 : : #line 530 "/usr/local/src/libreoffice/idlc/source/scanner.l"
3055 : :
3056 : :
3057 : :
|