• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • dcop
 

dcop

  • dcop
  • dcopidl
scanner.cpp
1#line 2 "scanner.cpp"
2
3#line 4 "scanner.cpp"
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>
44typedef int8_t flex_int8_t;
45typedef uint8_t flex_uint8_t;
46typedef int16_t flex_int16_t;
47typedef uint16_t flex_uint16_t;
48typedef int32_t flex_int32_t;
49typedef uint32_t flex_uint32_t;
50#else
51typedef signed char flex_int8_t;
52typedef short int flex_int16_t;
53typedef int flex_int32_t;
54typedef unsigned char flex_uint8_t;
55typedef unsigned short int flex_uint16_t;
56typedef unsigned int flex_uint32_t;
57
58/* Limits of integral types. */
59#ifndef INT8_MIN
60#define INT8_MIN (-128)
61#endif
62#ifndef INT16_MIN
63#define INT16_MIN (-32767-1)
64#endif
65#ifndef INT32_MIN
66#define INT32_MIN (-2147483647-1)
67#endif
68#ifndef INT8_MAX
69#define INT8_MAX (127)
70#endif
71#ifndef INT16_MAX
72#define INT16_MAX (32767)
73#endif
74#ifndef INT32_MAX
75#define INT32_MAX (2147483647)
76#endif
77#ifndef UINT8_MAX
78#define UINT8_MAX (255U)
79#endif
80#ifndef UINT16_MAX
81#define UINT16_MAX (65535U)
82#endif
83#ifndef UINT32_MAX
84#define UINT32_MAX (4294967295U)
85#endif
86
87#endif /* ! C99 */
88
89#endif /* ! FLEXINT_H */
90
91#ifdef __cplusplus
92
93/* The "const" storage-class-modifier is valid. */
94#define YY_USE_CONST
95
96#else /* ! __cplusplus */
97
98/* C99 requires __STDC__ to be defined as 1. */
99#if defined (__STDC__)
100
101#define YY_USE_CONST
102
103#endif /* defined (__STDC__) */
104#endif /* ! __cplusplus */
105
106#ifdef YY_USE_CONST
107#define yyconst const
108#else
109#define yyconst
110#endif
111
112/* Returned upon end-of-file. */
113#define YY_NULL 0
114
115/* Promotes a possibly negative, possibly signed char to an unsigned
116 * integer for use as an array index. If the signed char is negative,
117 * we want to instead treat it as an 8-bit unsigned char, hence the
118 * double cast.
119 */
120#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
121
122/* Enter a start condition. This macro really ought to take a parameter,
123 * but we do it the disgusting crufty way forced on us by the ()-less
124 * definition of BEGIN.
125 */
126#define BEGIN (yy_start) = 1 + 2 *
127
128/* Translate the current start state into a value that can be later handed
129 * to BEGIN to return to the state. The YYSTATE alias is for lex
130 * compatibility.
131 */
132#define YY_START (((yy_start) - 1) / 2)
133#define YYSTATE YY_START
134
135/* Action number for EOF rule of a given start state. */
136#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
137
138/* Special action meaning "start processing a new file". */
139#define YY_NEW_FILE yyrestart(yyin )
140
141#define YY_END_OF_BUFFER_CHAR 0
142
143/* Size of default input buffer. */
144#ifndef YY_BUF_SIZE
145#ifdef __ia64__
146/* On IA-64, the buffer size is 16k, not 8k.
147 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
148 * Ditto for the __ia64__ case accordingly.
149 */
150#define YY_BUF_SIZE 32768
151#else
152#define YY_BUF_SIZE 16384
153#endif /* __ia64__ */
154#endif
155
156/* The state buf must be large enough to hold one state per character in the main buffer.
157 */
158#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
159
160#ifndef YY_TYPEDEF_YY_BUFFER_STATE
161#define YY_TYPEDEF_YY_BUFFER_STATE
162typedef struct yy_buffer_state *YY_BUFFER_STATE;
163#endif
164
165extern int yyleng;
166
167extern FILE *yyin, *yyout;
168
169#define EOB_ACT_CONTINUE_SCAN 0
170#define EOB_ACT_END_OF_FILE 1
171#define EOB_ACT_LAST_MATCH 2
172
173 #define YY_LESS_LINENO(n)
174
175/* Return all but the first "n" matched characters back to the input stream. */
176#define yyless(n) \
177 do \
178 { \
179 /* Undo effects of setting up yytext. */ \
180 int yyless_macro_arg = (n); \
181 YY_LESS_LINENO(yyless_macro_arg);\
182 *yy_cp = (yy_hold_char); \
183 YY_RESTORE_YY_MORE_OFFSET \
184 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
185 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
186 } \
187 while ( 0 )
188
189#define unput(c) yyunput( c, (yytext_ptr) )
190
191#ifndef YY_TYPEDEF_YY_SIZE_T
192#define YY_TYPEDEF_YY_SIZE_T
193typedef size_t yy_size_t;
194#endif
195
196#ifndef YY_STRUCT_YY_BUFFER_STATE
197#define YY_STRUCT_YY_BUFFER_STATE
198struct yy_buffer_state
199 {
200 FILE *yy_input_file;
201
202 char *yy_ch_buf; /* input buffer */
203 char *yy_buf_pos; /* current position in input buffer */
204
205 /* Size of input buffer in bytes, not including room for EOB
206 * characters.
207 */
208 yy_size_t yy_buf_size;
209
210 /* Number of characters read into yy_ch_buf, not including EOB
211 * characters.
212 */
213 int yy_n_chars;
214
215 /* Whether we "own" the buffer - i.e., we know we created it,
216 * and can realloc() it to grow it, and should free() it to
217 * delete it.
218 */
219 int yy_is_our_buffer;
220
221 /* Whether this is an "interactive" input source; if so, and
222 * if we're using stdio for input, then we want to use getc()
223 * instead of fread(), to make sure we stop fetching input after
224 * each newline.
225 */
226 int yy_is_interactive;
227
228 /* Whether we're considered to be at the beginning of a line.
229 * If so, '^' rules will be active on the next match, otherwise
230 * not.
231 */
232 int yy_at_bol;
233
234 int yy_bs_lineno;
235 int yy_bs_column;
237 /* Whether to try to fill the input buffer when we reach the
238 * end of it.
239 */
240 int yy_fill_buffer;
241
242 int yy_buffer_status;
243
244#define YY_BUFFER_NEW 0
245#define YY_BUFFER_NORMAL 1
246 /* When an EOF's been seen but there's still some text to process
247 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
248 * shouldn't try reading from the input source any more. We might
249 * still have a bunch of tokens to match, though, because of
250 * possible backing-up.
251 *
252 * When we actually see the EOF, we change the status to "new"
253 * (via yyrestart()), so that the user can continue scanning by
254 * just pointing yyin at a new input file.
255 */
256#define YY_BUFFER_EOF_PENDING 2
257
258 };
259#endif /* !YY_STRUCT_YY_BUFFER_STATE */
260
261/* Stack of input buffers. */
262static size_t yy_buffer_stack_top = 0;
263static size_t yy_buffer_stack_max = 0;
264static YY_BUFFER_STATE * yy_buffer_stack = 0;
266/* We provide macros for accessing buffer states in case in the
267 * future we want to put the buffer states in a more general
268 * "scanner state".
269 *
270 * Returns the top of the stack, or NULL.
271 */
272#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
273 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
274 : NULL)
275
276/* Same as previous macro, but useful when we know that the buffer stack is not
277 * NULL or when we need an lvalue. For internal use only.
278 */
279#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
280
281/* yy_hold_char holds the character lost when yytext is formed. */
282static char yy_hold_char;
283static int yy_n_chars; /* number of characters read into yy_ch_buf */
284int yyleng;
285
286/* Points to current character in buffer. */
287static char *yy_c_buf_p = (char *) 0;
288static int yy_init = 0; /* whether we need to initialize */
289static int yy_start = 0; /* start state number */
290
291/* Flag which is used to allow yywrap()'s to do buffer switches
292 * instead of setting up a fresh yyin. A bit of a hack ...
293 */
294static int yy_did_buffer_switch_on_eof;
295
296void yyrestart (FILE *input_file );
297void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer );
298YY_BUFFER_STATE yy_create_buffer (FILE *file,int size );
299void yy_delete_buffer (YY_BUFFER_STATE b );
300void yy_flush_buffer (YY_BUFFER_STATE b );
301void yypush_buffer_state (YY_BUFFER_STATE new_buffer );
302void yypop_buffer_state (void );
303
304static void yyensure_buffer_stack (void );
305static void yy_load_buffer_state (void );
306static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file );
307
308#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
309
310YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size );
311YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str );
312YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len );
313
314void *yyalloc (yy_size_t );
315void *yyrealloc (void *,yy_size_t );
316void yyfree (void * );
317
318#define yy_new_buffer yy_create_buffer
319
320#define yy_set_interactive(is_interactive) \
321 { \
322 if ( ! YY_CURRENT_BUFFER ){ \
323 yyensure_buffer_stack (); \
324 YY_CURRENT_BUFFER_LVALUE = \
325 yy_create_buffer(yyin,YY_BUF_SIZE ); \
326 } \
327 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
328 }
329
330#define yy_set_bol(at_bol) \
331 { \
332 if ( ! YY_CURRENT_BUFFER ){\
333 yyensure_buffer_stack (); \
334 YY_CURRENT_BUFFER_LVALUE = \
335 yy_create_buffer(yyin,YY_BUF_SIZE ); \
336 } \
337 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
338 }
339
340#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
341
342/* Begin user sect3 */
343
344#define yywrap(n) 1
345#define YY_SKIP_YYWRAP
346
347typedef unsigned char YY_CHAR;
348
349FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
350
351typedef int yy_state_type;
352
353extern int yylineno;
354
355int yylineno = 1;
356
357extern char *yytext;
358#define yytext_ptr yytext
359
360static yy_state_type yy_get_previous_state (void );
361static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
362static int yy_get_next_buffer (void );
363static void yy_fatal_error (yyconst char msg[] );
364
365/* Done after the current pattern has been matched and before the
366 * corresponding action - sets up yytext.
367 */
368#define YY_DO_BEFORE_ACTION \
369 (yytext_ptr) = yy_bp; \
370 yyleng = (size_t) (yy_cp - yy_bp); \
371 (yy_hold_char) = *yy_cp; \
372 *yy_cp = '\0'; \
373 (yy_c_buf_p) = yy_cp;
374
375#define YY_NUM_RULES 84
376#define YY_END_OF_BUFFER 85
377/* This struct is not used in this scanner,
378 but its presence is necessary. */
379struct yy_trans_info
380 {
381 flex_int32_t yy_verify;
382 flex_int32_t yy_nxt;
383 };
384static yyconst flex_int16_t yy_acclist[672] =
385 { 0,
386 6, 6, 85, 6, 83, 84, 1, 6, 83, 84,
387 2, 84, 6, 83, 84, 6, 83, 84, 6, 83,
388 84, 6, 23, 83, 84, 6, 83, 84, 6, 14,
389 83, 84, 6, 15, 83, 84, 7, 21, 83, 84,
390 6, 17, 83, 84, 6, 20, 83, 84, 6, 18,
391 83, 84, 6, 28, 83, 84, 6, 83, 84, 6,
392 69, 79, 83, 84, 6, 78, 83, 84, 6, 16,
393 83, 84, 6, 22, 83, 84, 6, 24, 83, 84,
394 6, 27, 83, 84, 6, 25, 83, 84, 6, 72,
395 83, 84, 6, 72, 83, 84, 6, 72, 83, 84,
396
397 6, 72, 83, 84, 6, 72, 83, 84, 6, 30,
398 83, 84, 6, 31, 83, 84, 6, 72, 83, 84,
399 6, 72, 83, 84, 6, 72, 83, 84, 6, 72,
400 83, 84, 6, 72, 83, 84, 6, 72, 83, 84,
401 6, 72, 83, 84, 6, 72, 83, 84, 6, 72,
402 83, 84, 6, 72, 83, 84, 6, 72, 83, 84,
403 6, 72, 83, 84, 6, 72, 83, 84, 6, 72,
404 83, 84, 6, 72, 83, 84, 6, 12, 83, 84,
405 5, 13, 83, 84, 6, 19, 83, 84, 6, 6,
406 34, 6, 6, 82, 6, 6, 11, 6, 9, 6,
407
408 6, 6, 4, 6, 32, 6, 6, 76, 3, 6,
409 8, 6, 6, 79, 6, 6, 6, 69, 6, 80,
410 6, 78, 6, 78, 6, 26, 6, 33, 6, 72,
411 6, 72, 6, 72, 6, 72, 6, 72, 6, 72,
412 6, 72, 6, 72, 6, 72, 6, 72, 6, 72,
413 6, 72, 6, 72, 6, 72, 6, 72, 6, 72,
414 6, 72, 6, 72, 6, 72, 6, 72, 6, 72,
415 6, 72, 6, 72, 6, 72, 6, 72, 6, 72,
416 6, 72, 6, 72, 6, 72, 6, 72, 6, 72,
417 82, 6, 6, 6, 9, 9, 6, 6, 81, 81,
418
419 6, 81, 6, 6, 6, 29, 6, 6, 8, 8,
420 6, 75, 6, 6, 74, 6, 80, 6, 72, 6,
421 72, 6, 72, 6, 72, 6, 72, 6, 72, 6,
422 72, 6, 72, 6, 72, 6, 72, 6, 72, 6,
423 72, 6, 72, 6, 58, 72, 6, 72, 6, 72,
424 6, 72, 6, 72, 6, 72, 6, 72, 6, 72,
425 6, 72, 6, 72, 6, 72, 6, 72, 6, 72,
426 6, 72, 6, 72, 6, 72, 6, 72, 6, 72,
427 6, 72, 6, 72, 6, 6, 6, 6, 6, 6,
428 6, 77, 6, 6, 72, 6, 72, 6, 72, 6,
429
430 72, 6, 61, 72, 6, 59, 72, 6, 72, 6,
431 72, 6, 36, 72, 6, 72, 6, 72, 6, 72,
432 6, 72, 6, 72, 6, 50, 72, 6, 72, 6,
433 72, 6, 72, 6, 72, 6, 72, 6, 72, 6,
434 72, 6, 72, 6, 72, 6, 72, 6, 72, 6,
435 72, 6, 57, 72, 6, 72, 6, 72, 6, 72,
436 6, 72, 6, 6, 6, 6, 6, 6, 73, 6,
437 62, 72, 6, 72, 6, 72, 6, 72, 6, 39,
438 72, 6, 35, 72, 6, 72, 6, 60, 72, 6,
439 72, 6, 72, 6, 72, 6, 72, 6, 72, 6,
440
441 72, 6, 72, 6, 72, 6, 72, 6, 72, 6,
442 49, 72, 6, 72, 6, 72, 6, 56, 72, 6,
443 72, 6, 72, 6, 72, 6, 72, 6, 38, 72,
444 6, 72, 6, 6, 66, 72, 6, 72, 6, 72,
445 6, 72, 6, 51, 72, 6, 44, 72, 6, 63,
446 72, 6, 72, 6, 72, 6, 72, 6, 72, 6,
447 72, 6, 43, 72, 6, 55, 72, 6, 72, 6,
448 47, 72, 6, 45, 72, 6, 40, 72, 6, 72,
449 6, 72, 6, 72, 6, 6, 72, 6, 72, 6,
450 6, 72, 6, 46, 72, 6, 72, 6, 72, 6,
451
452 53, 72, 6, 72, 6, 54, 72, 6, 65, 72,
453 6, 72, 6, 42, 72, 6, 6, 67, 72, 6,
454 72, 6, 70, 6, 70, 6, 72, 6, 72, 6,
455 41, 72, 6, 72, 6, 48, 72, 6, 6, 6,
456 68, 72, 6, 6, 72, 6, 37, 72, 6, 52,
457 72, 6, 11, 6, 6, 71, 6, 72, 10, 11,
458 6, 6, 72, 10, 6, 72, 6, 72, 6, 64,
459 72
460 } ;
461
462static yyconst flex_int16_t yy_accept[320] =
463 { 0,
464 1, 2, 3, 4, 7, 11, 13, 16, 19, 22,
465 26, 29, 33, 37, 41, 45, 49, 53, 57, 60,
466 65, 69, 73, 77, 81, 85, 89, 93, 97, 101,
467 105, 109, 113, 117, 121, 125, 129, 133, 137, 141,
468 145, 149, 153, 157, 161, 165, 169, 173, 177, 181,
469 185, 189, 190, 192, 193, 195, 195, 196, 197, 198,
470 200, 200, 201, 202, 202, 203, 204, 206, 207, 209,
471 210, 212, 213, 215, 216, 217, 219, 221, 223, 225,
472 227, 229, 231, 233, 235, 237, 239, 241, 243, 245,
473 247, 249, 251, 253, 255, 257, 259, 261, 263, 265,
474
475 267, 269, 271, 273, 275, 277, 279, 281, 283, 285,
476 287, 289, 291, 292, 292, 293, 294, 296, 297, 298,
477 300, 301, 303, 304, 305, 307, 308, 310, 311, 313,
478 314, 316, 318, 320, 322, 324, 326, 328, 330, 332,
479 334, 336, 338, 340, 342, 344, 347, 349, 351, 353,
480 355, 357, 359, 361, 363, 365, 367, 369, 371, 373,
481 375, 377, 379, 381, 383, 385, 385, 385, 386, 387,
482 388, 389, 390, 391, 393, 394, 396, 398, 400, 402,
483 405, 408, 410, 412, 415, 417, 419, 421, 423, 425,
484 428, 430, 432, 434, 436, 438, 440, 442, 444, 446,
485
486 448, 450, 452, 455, 457, 459, 461, 463, 463, 463,
487 464, 465, 466, 467, 468, 470, 473, 475, 477, 479,
488 482, 485, 487, 490, 492, 494, 496, 498, 500, 502,
489 504, 506, 508, 510, 513, 515, 517, 520, 522, 524,
490 526, 528, 531, 533, 533, 533, 534, 537, 539, 541,
491 543, 546, 549, 552, 554, 556, 558, 560, 562, 565,
492 568, 570, 573, 576, 579, 581, 583, 585, 586, 588,
493 590, 591, 593, 596, 598, 600, 603, 605, 608, 611,
494 613, 616, 617, 620, 622, 624, 625, 626, 628, 630,
495 633, 635, 638, 639, 640, 643, 644, 646, 649, 652,
496
497 653, 654, 655, 655, 657, 659, 659, 659, 661, 662,
498 662, 664, 665, 665, 665, 667, 669, 672, 672
499 } ;
500
501static yyconst flex_int32_t yy_ec[256] =
502 { 0,
503 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
504 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
505 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
506 1, 4, 5, 6, 7, 1, 1, 8, 9, 10,
507 11, 12, 13, 14, 15, 16, 17, 18, 19, 19,
508 19, 19, 19, 19, 19, 20, 20, 21, 22, 23,
509 24, 25, 26, 1, 27, 28, 29, 30, 31, 32,
510 33, 33, 33, 34, 35, 36, 33, 33, 37, 38,
511 39, 40, 41, 42, 43, 33, 33, 44, 33, 33,
512 45, 46, 47, 1, 48, 1, 49, 50, 51, 52,
513
514 53, 54, 55, 56, 57, 33, 58, 59, 60, 61,
515 62, 63, 33, 64, 65, 66, 67, 68, 33, 69,
516 70, 33, 71, 1, 72, 73, 1, 1, 1, 1,
517 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
518 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
519 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
520 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
521 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
522 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
523 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
524
525 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
526 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
527 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
528 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
529 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
530 1, 1, 1, 1, 1
531 } ;
532
533static yyconst flex_int32_t yy_meta[74] =
534 { 0,
535 1, 2, 3, 4, 1, 5, 1, 1, 5, 1,
536 1, 6, 1, 1, 1, 1, 1, 7, 7, 8,
537 1, 1, 1, 1, 1, 5, 8, 8, 8, 8,
538 8, 8, 4, 4, 4, 4, 4, 4, 4, 4,
539 4, 4, 4, 9, 1, 5, 1, 4, 7, 7,
540 8, 8, 8, 7, 4, 4, 4, 4, 4, 4,
541 9, 4, 4, 9, 4, 9, 4, 9, 9, 4,
542 1, 10, 1
543 } ;
544
545static yyconst flex_int16_t yy_base[337] =
546 { 0,
547 0, 0, 923, 0, 0, 1107, 898, 72, 74, 0,
548 73, 0, 0, 904, 0, 0, 894, 71, 64, 79,
549 85, 894, 0, 69, 890, 82, 148, 221, 61, 69,
550 73, 0, 0, 81, 53, 75, 67, 93, 98, 84,
551 139, 115, 120, 148, 140, 141, 149, 150, 0, 1107,
552 0, 0, 0, 206, 0, 174, 289, 178, 1107, 179,
553 910, 197, 903, 902, 353, 1107, 0, 894, 243, 1107,
554 114, 115, 257, 266, 286, 0, 405, 293, 0, 0,
555 0, 882, 100, 162, 176, 156, 190, 175, 222, 226,
556 188, 213, 230, 233, 264, 189, 232, 237, 212, 227,
557
558 275, 290, 254, 238, 287, 256, 299, 289, 298, 295,
559 294, 300, 1107, 326, 372, 442, 370, 905, 377, 0,
560 1107, 898, 357, 479, 0, 368, 322, 0, 432, 349,
561 386, 0, 229, 320, 102, 304, 365, 301, 350, 366,
562 325, 373, 374, 385, 383, 878, 402, 386, 371, 437,
563 381, 400, 382, 384, 419, 403, 420, 438, 439, 448,
564 449, 450, 455, 452, 451, 508, 0, 532, 603, 477,
565 528, 667, 500, 503, 540, 456, 498, 514, 473, 877,
566 876, 497, 513, 875, 512, 489, 516, 525, 518, 874,
567 534, 529, 536, 538, 530, 539, 537, 540, 542, 543,
568
569 541, 546, 864, 547, 545, 548, 544, 601, 716, 612,
570 634, 578, 881, 607, 619, 862, 555, 457, 583, 848,
571 847, 601, 843, 561, 589, 585, 602, 614, 616, 617,
572 637, 638, 632, 841, 633, 639, 840, 651, 624, 647,
573 640, 839, 654, 662, 663, 660, 838, 644, 680, 700,
574 837, 835, 678, 686, 688, 652, 696, 697, 834, 832,
575 706, 830, 829, 823, 698, 701, 683, 726, 713, 724,
576 798, 723, 814, 729, 714, 809, 704, 808, 800, 731,
577 799, 770, 764, 733, 871, 701, 0, 732, 734, 643,
578 750, 575, 826, 828, 565, 583, 737, 309, 158, 848,
579
580 173, 783, 791, 0, 757, 775, 351, 1107, 834, 782,
581 790, 1107, 787, 793, 774, 798, 56, 1107, 944, 953,
582 963, 973, 983, 992, 1002, 1012, 1022, 1028, 1037, 1047,
583 1051, 1059, 1067, 1076, 1086, 1096
584 } ;
585
586static yyconst flex_int16_t yy_def[337] =
587 { 0,
588 318, 1, 318, 319, 319, 318, 319, 320, 321, 319,
589 322, 319, 319, 318, 319, 319, 319, 319, 319, 319,
590 319, 319, 319, 319, 319, 319, 323, 323, 28, 28,
591 28, 319, 319, 28, 28, 28, 28, 28, 28, 28,
592 28, 28, 28, 28, 28, 28, 28, 28, 319, 318,
593 319, 319, 319, 320, 319, 324, 319, 321, 318, 325,
594 326, 321, 319, 318, 319, 318, 319, 319, 319, 318,
595 327, 319, 319, 319, 319, 319, 319, 319, 319, 319,
596 319, 28, 28, 28, 28, 28, 28, 28, 28, 28,
597 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
598
599 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
600 28, 28, 318, 328, 320, 319, 325, 329, 321, 319,
601 318, 319, 319, 319, 319, 319, 327, 330, 319, 319,
602 319, 77, 28, 28, 28, 28, 28, 28, 28, 28,
603 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
604 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
605 28, 28, 28, 28, 28, 324, 331, 320, 320, 321,
606 319, 319, 319, 319, 319, 28, 28, 28, 28, 28,
607 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
608 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
609
610 28, 28, 28, 28, 28, 28, 28, 324, 324, 320,
611 320, 321, 319, 319, 319, 28, 28, 28, 28, 28,
612 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
613 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
614 28, 28, 28, 324, 324, 321, 28, 28, 28, 28,
615 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
616 28, 28, 28, 28, 28, 28, 28, 321, 28, 28,
617 332, 28, 28, 28, 28, 28, 28, 28, 28, 28,
618 28, 321, 28, 28, 332, 319, 333, 28, 28, 28,
619 28, 28, 321, 334, 28, 319, 28, 28, 28, 334,
620
621 335, 321, 336, 319, 28, 335, 318, 318, 321, 326,
622 28, 318, 318, 326, 28, 28, 28, 0, 318, 318,
623 318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
624 318, 318, 318, 318, 318, 318
625 } ;
626
627static yyconst flex_int16_t yy_nxt[1181] =
628 { 0,
629 4, 5, 6, 5, 7, 8, 9, 10, 11, 12,
630 13, 14, 15, 16, 17, 18, 19, 20, 21, 21,
631 22, 23, 24, 25, 26, 4, 27, 27, 27, 27,
632 27, 28, 27, 27, 29, 27, 27, 27, 30, 27,
633 27, 31, 27, 27, 32, 4, 33, 27, 27, 27,
634 34, 27, 35, 36, 27, 27, 37, 38, 39, 40,
635 41, 42, 43, 44, 45, 46, 47, 48, 27, 27,
636 49, 50, 51, 52, 52, 70, 59, 55, 60, 82,
637 71, 52, 82, 56, 64, 61, 68, 82, 69, 69,
638 69, 81, 53, 82, 72, 82, 73, 73, 74, 82,
639
640 72, 82, 78, 78, 78, 53, 81, 82, 84, 75,
641 82, 86, 87, 91, 76, 75, 85, 57, 65, 82,
642 79, 92, 77, 93, 82, 128, 82, 95, 82, 178,
643 62, 75, 129, 129, 129, 133, 88, 75, 94, 89,
644 96, 82, 90, 56, 64, 61, 82, 77, 52, 52,
645 98, 52, 52, 52, 52, 52, 52, 52, 52, 97,
646 52, 52, 52, 52, 52, 82, 82, 82, 52, 52,
647 52, 52, 52, 52, 82, 82, 82, 100, 307, 113,
648 59, 59, 82, 101, 82, 128, 102, 99, 82, 61,
649 118, 134, 52, 52, 52, 104, 105, 307, 106, 59,
650
651 103, 82, 82, 136, 108, 107, 112, 52, 61, 110,
652 109, 55, 135, 111, 82, 82, 82, 56, 52, 114,
653 52, 52, 52, 138, 52, 52, 52, 52, 52, 52,
654 52, 52, 137, 52, 52, 52, 52, 52, 82, 82,
655 147, 52, 52, 52, 52, 52, 52, 83, 82, 61,
656 118, 57, 82, 82, 141, 82, 82, 119, 82, 82,
657 69, 69, 69, 82, 82, 52, 52, 52, 61, 176,
658 139, 150, 72, 126, 73, 73, 74, 56, 142, 151,
659 82, 72, 82, 74, 74, 74, 140, 75, 143, 144,
660 82, 52, 148, 52, 54, 126, 75, 54, 130, 156,
661
662 130, 82, 149, 131, 131, 131, 115, 115, 72, 75,
663 78, 78, 78, 82, 54, 82, 82, 158, 75, 155,
664 82, 82, 145, 75, 82, 82, 82, 82, 79, 146,
665 82, 152, 116, 128, 54, 82, 153, 54, 54, 154,
666 179, 157, 54, 166, 166, 75, 82, 159, 177, 54,
667 164, 82, 54, 312, 54, 161, 54, 116, 63, 163,
668 162, 122, 160, 165, 181, 120, 131, 131, 131, 167,
669 123, 123, 59, 52, 171, 171, 82, 55, 63, 59,
670 173, 118, 173, 56, 184, 174, 174, 174, 61, 168,
671 168, 82, 82, 128, 167, 180, 124, 82, 63, 82,
672
673 82, 63, 63, 131, 131, 131, 63, 82, 82, 82,
674 82, 82, 82, 63, 182, 313, 63, 57, 63, 191,
675 63, 124, 132, 132, 132, 185, 82, 170, 82, 82,
676 183, 132, 132, 132, 132, 132, 132, 187, 186, 188,
677 190, 118, 196, 56, 193, 82, 82, 195, 61, 129,
678 129, 129, 189, 132, 132, 132, 132, 132, 132, 169,
679 169, 169, 175, 82, 82, 82, 198, 194, 169, 169,
680 169, 169, 169, 169, 82, 82, 82, 82, 82, 59,
681 199, 82, 82, 82, 175, 197, 216, 248, 61, 192,
682 169, 169, 169, 169, 169, 169, 172, 172, 172, 82,
683
684 219, 203, 204, 200, 201, 172, 172, 172, 172, 172,
685 172, 205, 206, 113, 202, 82, 207, 174, 174, 174,
686 174, 174, 174, 82, 82, 208, 208, 172, 172, 172,
687 172, 172, 172, 52, 217, 212, 120, 55, 82, 82,
688 82, 223, 82, 56, 82, 63, 63, 218, 61, 210,
689 210, 82, 214, 114, 214, 82, 82, 215, 215, 215,
690 82, 220, 82, 82, 82, 82, 82, 82, 82, 82,
691 82, 82, 82, 82, 82, 222, 224, 57, 221, 226,
692 59, 82, 231, 227, 229, 225, 230, 82, 304, 61,
693 235, 82, 247, 228, 236, 232, 239, 238, 240, 241,
694
695 233, 82, 242, 56, 52, 234, 113, 237, 55, 82,
696 243, 82, 251, 52, 56, 82, 249, 55, 244, 244,
697 211, 211, 211, 56, 215, 215, 215, 82, 82, 211,
698 211, 211, 211, 211, 211, 52, 215, 215, 215, 55,
699 82, 252, 82, 82, 246, 56, 114, 253, 57, 61,
700 82, 211, 211, 211, 211, 211, 211, 57, 82, 82,
701 254, 250, 59, 82, 82, 82, 82, 113, 113, 82,
702 82, 61, 269, 82, 56, 120, 255, 82, 82, 57,
703 82, 256, 257, 56, 213, 213, 213, 258, 259, 264,
704 262, 261, 260, 213, 213, 213, 213, 213, 213, 265,
705
706 266, 263, 267, 271, 82, 56, 82, 114, 114, 82,
707 270, 268, 82, 275, 82, 213, 213, 213, 213, 213,
708 213, 113, 82, 82, 82, 272, 82, 82, 59, 296,
709 82, 61, 82, 245, 245, 245, 274, 61, 273, 82,
710 82, 281, 245, 245, 245, 245, 245, 245, 276, 82,
711 82, 279, 284, 280, 283, 82, 291, 82, 82, 82,
712 82, 114, 277, 82, 245, 245, 245, 245, 245, 245,
713 278, 293, 59, 293, 295, 294, 82, 290, 282, 289,
714 307, 61, 292, 82, 308, 308, 298, 288, 297, 312,
715 82, 305, 294, 301, 61, 308, 310, 61, 52, 307,
716
717 82, 299, 52, 286, 52, 52, 52, 52, 52, 287,
718 52, 52, 52, 52, 52, 310, 82, 311, 52, 52,
719 52, 52, 52, 52, 82, 82, 82, 293, 59, 293,
720 301, 294, 316, 302, 82, 82, 308, 61, 315, 303,
721 82, 61, 52, 52, 52, 61, 314, 309, 294, 82,
722 301, 313, 302, 302, 61, 82, 82, 314, 82, 303,
723 82, 82, 317, 82, 82, 82, 82, 82, 52, 82,
724 52, 52, 302, 82, 82, 52, 52, 52, 52, 52,
725 52, 52, 287, 52, 52, 52, 52, 52, 82, 120,
726 82, 52, 52, 52, 52, 52, 52, 61, 309, 303,
727
728 82, 82, 82, 82, 82, 61, 120, 59, 82, 125,
729 121, 120, 59, 53, 80, 52, 52, 52, 67, 303,
730 66, 53, 318, 318, 318, 318, 318, 318, 318, 318,
731 318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
732 318, 52, 318, 52, 52, 52, 318, 52, 52, 318,
733 52, 52, 52, 54, 54, 318, 54, 54, 54, 54,
734 54, 54, 54, 58, 58, 58, 58, 58, 58, 58,
735 58, 58, 58, 63, 63, 318, 63, 63, 63, 63,
736 63, 63, 63, 82, 82, 318, 82, 82, 318, 82,
737 82, 82, 56, 318, 318, 56, 56, 56, 56, 56,
738
739 56, 56, 117, 117, 117, 117, 117, 117, 117, 117,
740 117, 117, 61, 61, 61, 61, 61, 61, 61, 61,
741 61, 61, 127, 127, 318, 127, 127, 127, 127, 127,
742 127, 127, 56, 318, 56, 318, 56, 118, 118, 118,
743 118, 118, 118, 118, 118, 118, 118, 128, 128, 318,
744 128, 128, 128, 128, 128, 128, 128, 209, 209, 285,
745 285, 318, 285, 285, 285, 285, 285, 285, 287, 318,
746 287, 318, 287, 287, 287, 287, 300, 300, 300, 300,
747 300, 300, 300, 300, 300, 300, 306, 306, 306, 306,
748 306, 306, 306, 306, 306, 306, 303, 303, 303, 303,
749
750 303, 303, 303, 303, 303, 303, 3, 318, 318, 318,
751 318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
752 318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
753 318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
754 318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
755 318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
756 318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
757 318, 318, 318, 318, 318, 318, 318, 318, 318, 318
758 } ;
759
760static yyconst flex_int16_t yy_chk[1181] =
761 { 0,
762 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
763 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
764 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
765 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
766 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
767 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
768 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
769 1, 1, 1, 8, 11, 19, 9, 8, 9, 35,
770 19, 11, 317, 8, 11, 9, 18, 29, 18, 18,
771 18, 24, 24, 37, 20, 30, 20, 20, 20, 31,
772
773 21, 36, 21, 21, 21, 26, 26, 34, 29, 20,
774 40, 31, 31, 35, 20, 21, 30, 8, 11, 38,
775 21, 35, 20, 36, 39, 71, 83, 37, 135, 135,
776 9, 20, 72, 72, 72, 83, 34, 21, 36, 34,
777 38, 42, 34, 8, 11, 9, 43, 20, 27, 27,
778 40, 27, 27, 27, 27, 27, 27, 27, 27, 39,
779 27, 27, 27, 27, 27, 41, 45, 46, 27, 27,
780 27, 27, 27, 27, 44, 47, 48, 42, 301, 56,
781 58, 60, 86, 43, 299, 71, 43, 41, 84, 58,
782 60, 84, 27, 27, 27, 45, 45, 301, 45, 62,
783
784 44, 88, 85, 86, 46, 45, 48, 54, 62, 47,
785 46, 54, 85, 47, 91, 96, 87, 54, 27, 56,
786 27, 28, 28, 88, 28, 28, 28, 28, 28, 28,
787 28, 28, 87, 28, 28, 28, 28, 28, 99, 92,
788 96, 28, 28, 28, 28, 28, 28, 28, 89, 58,
789 60, 54, 90, 100, 91, 133, 93, 62, 97, 94,
790 69, 69, 69, 98, 104, 28, 28, 28, 62, 133,
791 89, 99, 73, 69, 73, 73, 73, 54, 92, 100,
792 103, 74, 106, 74, 74, 74, 90, 73, 93, 94,
793 95, 28, 97, 28, 57, 69, 74, 57, 75, 104,
794
795 75, 101, 98, 75, 75, 75, 57, 57, 78, 73,
796 78, 78, 78, 105, 57, 108, 102, 106, 74, 103,
797 111, 110, 95, 78, 109, 107, 112, 138, 78, 95,
798 136, 101, 57, 127, 57, 298, 101, 57, 57, 102,
799 136, 105, 57, 114, 114, 78, 134, 107, 134, 57,
800 111, 141, 57, 307, 57, 108, 57, 57, 65, 110,
801 109, 65, 107, 112, 138, 123, 130, 130, 130, 114,
802 65, 65, 117, 115, 123, 123, 139, 115, 65, 119,
803 126, 117, 126, 115, 141, 126, 126, 126, 119, 115,
804 115, 137, 140, 127, 114, 137, 65, 149, 65, 142,
805
806 143, 65, 65, 131, 131, 131, 65, 151, 153, 145,
807 154, 144, 148, 65, 139, 307, 65, 115, 65, 149,
808 65, 65, 77, 77, 77, 142, 152, 119, 147, 156,
809 140, 77, 77, 77, 77, 77, 77, 144, 143, 145,
810 148, 117, 154, 115, 151, 155, 157, 153, 119, 129,
811 129, 129, 147, 77, 77, 77, 77, 77, 77, 116,
812 116, 116, 129, 150, 158, 159, 156, 152, 116, 116,
813 116, 116, 116, 116, 160, 161, 162, 165, 164, 170,
814 157, 163, 176, 218, 129, 155, 176, 218, 170, 150,
815 116, 116, 116, 116, 116, 116, 124, 124, 124, 179,
816
817 179, 161, 162, 158, 159, 124, 124, 124, 124, 124,
818 124, 163, 164, 166, 160, 186, 165, 173, 173, 173,
819 174, 174, 174, 182, 177, 166, 166, 124, 124, 124,
820 124, 124, 124, 168, 177, 170, 171, 168, 185, 183,
821 178, 186, 187, 168, 189, 171, 171, 178, 170, 168,
822 168, 188, 175, 166, 175, 192, 195, 175, 175, 175,
823 191, 182, 193, 197, 194, 196, 198, 201, 199, 200,
824 207, 205, 202, 204, 206, 185, 187, 168, 183, 189,
825 212, 217, 195, 191, 193, 188, 194, 224, 296, 212,
826 199, 295, 217, 192, 199, 196, 202, 201, 204, 205,
827
828 197, 292, 206, 168, 169, 198, 208, 200, 169, 219,
829 207, 226, 224, 210, 169, 225, 219, 210, 208, 208,
830 169, 169, 169, 210, 214, 214, 214, 222, 227, 169,
831 169, 169, 169, 169, 169, 211, 215, 215, 215, 211,
832 228, 225, 229, 230, 212, 211, 208, 226, 169, 212,
833 239, 169, 169, 169, 169, 169, 169, 210, 233, 235,
834 227, 222, 246, 231, 232, 236, 241, 244, 245, 290,
835 248, 246, 248, 240, 169, 172, 228, 238, 256, 211,
836 243, 229, 230, 210, 172, 172, 172, 231, 232, 239,
837 236, 235, 233, 172, 172, 172, 172, 172, 172, 240,
838
839 241, 238, 243, 250, 253, 211, 249, 244, 245, 267,
840 249, 246, 254, 256, 255, 172, 172, 172, 172, 172,
841 172, 209, 257, 258, 265, 253, 250, 266, 268, 286,
842 277, 246, 261, 209, 209, 209, 255, 268, 254, 269,
843 275, 267, 209, 209, 209, 209, 209, 209, 257, 272,
844 270, 265, 270, 266, 269, 274, 277, 280, 288, 284,
845 289, 209, 258, 297, 209, 209, 209, 209, 209, 209,
846 261, 282, 282, 282, 284, 282, 291, 275, 268, 274,
847 306, 282, 280, 305, 310, 302, 289, 272, 288, 313,
848 283, 297, 282, 303, 302, 314, 303, 268, 271, 306,
849
850 315, 291, 271, 271, 271, 271, 271, 271, 271, 271,
851 271, 271, 271, 271, 271, 303, 311, 305, 271, 271,
852 271, 271, 271, 271, 316, 281, 279, 293, 293, 293,
853 294, 293, 315, 294, 278, 276, 309, 293, 311, 294,
854 273, 282, 271, 271, 271, 309, 310, 302, 293, 264,
855 300, 313, 294, 300, 302, 263, 262, 314, 260, 300,
856 259, 252, 316, 251, 247, 242, 237, 234, 271, 223,
857 271, 285, 300, 221, 220, 285, 285, 285, 285, 285,
858 285, 285, 285, 285, 285, 285, 285, 285, 216, 213,
859 203, 285, 285, 285, 285, 285, 285, 293, 309, 294,
860
861 190, 184, 181, 180, 146, 309, 122, 118, 82, 68,
862 64, 63, 61, 25, 22, 285, 285, 285, 17, 300,
863 14, 7, 3, 0, 0, 0, 0, 0, 0, 0,
864 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
865 0, 285, 0, 285, 319, 319, 0, 319, 319, 0,
866 319, 319, 319, 320, 320, 0, 320, 320, 320, 320,
867 320, 320, 320, 321, 321, 321, 321, 321, 321, 321,
868 321, 321, 321, 322, 322, 0, 322, 322, 322, 322,
869 322, 322, 322, 323, 323, 0, 323, 323, 0, 323,
870 323, 323, 324, 0, 0, 324, 324, 324, 324, 324,
871
872 324, 324, 325, 325, 325, 325, 325, 325, 325, 325,
873 325, 325, 326, 326, 326, 326, 326, 326, 326, 326,
874 326, 326, 327, 327, 0, 327, 327, 327, 327, 327,
875 327, 327, 328, 0, 328, 0, 328, 329, 329, 329,
876 329, 329, 329, 329, 329, 329, 329, 330, 330, 0,
877 330, 330, 330, 330, 330, 330, 330, 331, 331, 332,
878 332, 0, 332, 332, 332, 332, 332, 332, 333, 0,
879 333, 0, 333, 333, 333, 333, 334, 334, 334, 334,
880 334, 334, 334, 334, 334, 334, 335, 335, 335, 335,
881 335, 335, 335, 335, 335, 335, 336, 336, 336, 336,
882
883 336, 336, 336, 336, 336, 336, 318, 318, 318, 318,
884 318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
885 318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
886 318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
887 318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
888 318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
889 318, 318, 318, 318, 318, 318, 318, 318, 318, 318,
890 318, 318, 318, 318, 318, 318, 318, 318, 318, 318
891 } ;
892
893extern int yy_flex_debug;
894int yy_flex_debug = 0;
895
896static yy_state_type *yy_state_buf=0, *yy_state_ptr=0;
897static char *yy_full_match;
898static int yy_lp;
899#define REJECT \
900{ \
901*yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ \
902yy_cp = (yy_full_match); /* restore poss. backed-over text */ \
903++(yy_lp); \
904goto find_rule; \
905}
906
907#define yymore() yymore_used_but_not_detected
908#define YY_MORE_ADJ 0
909#define YY_RESTORE_YY_MORE_OFFSET
910char *yytext;
911#line 1 "scanner.ll"
912#line 2 "scanner.ll"
913/*****************************************************************
914Copyright (c) 1999 Torben Weis <weis@kde.org>
915Copyright (c) 2000 Matthias Ettrich <ettrich@kde.org>
916
917Permission is hereby granted, free of charge, to any person obtaining a copy
918of this software and associated documentation files (the "Software"), to deal
919in the Software without restriction, including without limitation the rights
920to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
921copies of the Software, and to permit persons to whom the Software is
922furnished to do so, subject to the following conditions:
923
924The above copyright notice and this permission notice shall be included in
925all copies or substantial portions of the Software.
926
927THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
928IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
929FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
930AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
931AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
932CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
933
934******************************************************************/
935
936#define YY_NO_UNPUT
937#include <stdlib.h>
938#include <ctype.h>
939
940class TQString;
941
942#ifndef KDE_USE_FINAL
943#include "yacc.cpp.h"
944#endif
945
946extern int idl_line_no;
947int comment_mode;
948int function_mode = 0;
949
950#include <tqstring.h>
951#include <tqregexp.h>
952
953static long ascii_to_longlong( long base, const char *s )
954{
955 long ll = 0;
956 while( *s != '\0' ) {
957 char c = *s++;
958 if( c >= 'a' )
959 c -= 'a' - 'A';
960 c -= '0';
961 if( c > 9 )
962 c -= 'A' - '0' - 10;
963 ll = ll * base + c;
964 }
965 return ll;
966}
967
968static double ascii_to_longdouble (const char *s)
969{
970 double d;
971#ifdef HAVE_SCANF_LF
972 sscanf (s, "%Lf", &d);
973#else
974 /*
975 * this is only an approximation and will probably break fixed<>
976 * parameter calculation on systems where
977 * sizeof(double) < sizeof(long double). but fortunately all
978 * systems where scanf("%Lf") is known to be broken (Linux/Alpha
979 * and HPUX) have sizeof(double) == sizeof(long double).
980 */
981 d = strtod (s, NULL);
982#endif
983 return d;
984}
985
986static char translate_char( const char *s )
987{
988 char c = *s++;
989
990 if( c != '\\' )
991 return c;
992 c = *s++;
993 switch( c ) {
994 case 'n':
995 return '\n';
996 case 't':
997 return '\t';
998 case 'v':
999 return '\v';
1000 case 'b':
1001 return '\b';
1002 case 'r':
1003 return '\r';
1004 case 'f':
1005 return '\f';
1006 case 'a':
1007 return '\a';
1008 case '\\':
1009 return '\\';
1010 case '?':
1011 return '\?';
1012 case '\'':
1013 return '\'';
1014 case '"':
1015 return '"';
1016 case 'x':
1017 case 'X':
1018 return (char) ascii_to_longlong( 16, s );
1019 default:
1020 // Gotta be an octal
1021 return (char) ascii_to_longlong( 8, s );
1022 }
1023}
1024
1025
1026/*--------------------------------------------------------------------------*/
1027/*--------------------------------------------------------------------------*/
1028/*--------------------------------------------------------------------------*/
1029#line 1030 "scanner.cpp"
1030
1031#define INITIAL 0
1032
1033#ifndef YY_NO_UNISTD_H
1034/* Special case for "unistd.h", since it is non-ANSI. We include it way
1035 * down here because we want the user's section 1 to have been scanned first.
1036 * The user has a chance to override it with an option.
1037 */
1038#include <unistd.h>
1039#endif
1040
1041#ifndef YY_EXTRA_TYPE
1042#define YY_EXTRA_TYPE void *
1043#endif
1044
1045static int yy_init_globals (void );
1046
1047/* Accessor methods to globals.
1048 These are made visible to non-reentrant scanners for convenience. */
1049
1050int yylex_destroy (void );
1051
1052int yyget_debug (void );
1053
1054void yyset_debug (int debug_flag );
1055
1056YY_EXTRA_TYPE yyget_extra (void );
1057
1058void yyset_extra (YY_EXTRA_TYPE user_defined );
1059
1060FILE *yyget_in (void );
1061
1062void yyset_in (FILE * in_str );
1063
1064FILE *yyget_out (void );
1065
1066void yyset_out (FILE * out_str );
1067
1068int yyget_leng (void );
1069
1070char *yyget_text (void );
1071
1072int yyget_lineno (void );
1073
1074void yyset_lineno (int line_number );
1075
1076/* Macros after this point can all be overridden by user definitions in
1077 * section 1.
1078 */
1079
1080#ifndef YY_SKIP_YYWRAP
1081#ifdef __cplusplus
1082extern "C" int yywrap (void );
1083#else
1084extern int yywrap (void );
1085#endif
1086#endif
1087
1088 static void yyunput (int c,char *buf_ptr );
1089
1090#ifndef yytext_ptr
1091static void yy_flex_strncpy (char *,yyconst char *,int );
1092#endif
1093
1094#ifdef YY_NEED_STRLEN
1095static int yy_flex_strlen (yyconst char * );
1096#endif
1097
1098#ifndef YY_NO_INPUT
1099
1100#ifdef __cplusplus
1101static int yyinput (void );
1102#else
1103static int input (void );
1104#endif
1105
1106#endif
1107
1108/* Amount of stuff to slurp up with each read. */
1109#ifndef YY_READ_BUF_SIZE
1110#ifdef __ia64__
1111/* On IA-64, the buffer size is 16k, not 8k */
1112#define YY_READ_BUF_SIZE 16384
1113#else
1114#define YY_READ_BUF_SIZE 8192
1115#endif /* __ia64__ */
1116#endif
1117
1118/* Copy whatever the last rule matched to the standard output. */
1119#ifndef ECHO
1120/* This used to be an fputs(), but since the string might contain NUL's,
1121 * we now use fwrite().
1122 */
1123#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
1124#endif
1125
1126/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1127 * is returned in "result".
1128 */
1129#ifndef YY_INPUT
1130#define YY_INPUT(buf,result,max_size) \
1131 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1132 { \
1133 int c = '*'; \
1134 size_t n; \
1135 for ( n = 0; n < max_size && \
1136 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1137 buf[n] = (char) c; \
1138 if ( c == '\n' ) \
1139 buf[n++] = (char) c; \
1140 if ( c == EOF && ferror( yyin ) ) \
1141 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1142 result = n; \
1143 } \
1144 else \
1145 { \
1146 errno=0; \
1147 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
1148 { \
1149 if( errno != EINTR) \
1150 { \
1151 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1152 break; \
1153 } \
1154 errno=0; \
1155 clearerr(yyin); \
1156 } \
1157 }\
1158\
1159
1160#endif
1161
1162/* No semi-colon after return; correct usage is to write "yyterminate();" -
1163 * we don't want an extra ';' after the "return" because that will cause
1164 * some compilers to complain about unreachable statements.
1165 */
1166#ifndef yyterminate
1167#define yyterminate() return YY_NULL
1168#endif
1169
1170/* Number of entries by which start-condition stack grows. */
1171#ifndef YY_START_STACK_INCR
1172#define YY_START_STACK_INCR 25
1173#endif
1174
1175/* Report a fatal error. */
1176#ifndef YY_FATAL_ERROR
1177#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1178#endif
1179
1180/* end tables serialization structures and prototypes */
1181
1182/* Default declaration of generated scanner - a define so the user can
1183 * easily add parameters.
1184 */
1185#ifndef YY_DECL
1186#define YY_DECL_IS_OURS 1
1187
1188extern int yylex (void);
1189
1190#define YY_DECL int yylex (void)
1191#endif /* !YY_DECL */
1192
1193/* Code executed at the beginning of each rule, after yytext and yyleng
1194 * have been set up.
1195 */
1196#ifndef YY_USER_ACTION
1197#define YY_USER_ACTION
1198#endif
1199
1200/* Code executed at the end of each rule. */
1201#ifndef YY_BREAK
1202#define YY_BREAK break;
1203#endif
1204
1205#define YY_RULE_SETUP \
1206 YY_USER_ACTION
1207
1210YY_DECL
1211{
1212 yy_state_type yy_current_state;
1213 char *yy_cp, *yy_bp;
1214 int yy_act;
1215
1216#line 148 "scanner.ll"
1217
1218
1219#line 1220 "scanner.cpp"
1220
1221 if ( !(yy_init) )
1222 {
1223 (yy_init) = 1;
1224
1225#ifdef YY_USER_INIT
1226 YY_USER_INIT;
1227#endif
1228
1229 /* Create the reject buffer large enough to save one state per allowed character. */
1230 if ( ! (yy_state_buf) )
1231 (yy_state_buf) = (yy_state_type *)yyalloc(YY_STATE_BUF_SIZE );
1232 if ( ! (yy_state_buf) )
1233 YY_FATAL_ERROR( "out of dynamic memory in yylex()" );
1234
1235 if ( ! (yy_start) )
1236 (yy_start) = 1; /* first start state */
1237
1238 if ( ! yyin )
1239 yyin = stdin;
1240
1241 if ( ! yyout )
1242 yyout = stdout;
1243
1244 if ( ! YY_CURRENT_BUFFER ) {
1245 yyensure_buffer_stack ();
1246 YY_CURRENT_BUFFER_LVALUE =
1247 yy_create_buffer(yyin,YY_BUF_SIZE );
1248 }
1249
1250 yy_load_buffer_state( );
1251 }
1252
1253 while ( 1 ) /* loops until end-of-file is reached */
1254 {
1255 yy_cp = (yy_c_buf_p);
1256
1257 /* Support of yytext. */
1258 *yy_cp = (yy_hold_char);
1259
1260 /* yy_bp points to the position in yy_ch_buf of the start of
1261 * the current run.
1262 */
1263 yy_bp = yy_cp;
1264
1265 yy_current_state = (yy_start);
1266
1267 (yy_state_ptr) = (yy_state_buf);
1268 *(yy_state_ptr)++ = yy_current_state;
1269
1270yy_match:
1271 do
1272 {
1273 YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1274 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1275 {
1276 yy_current_state = (int) yy_def[yy_current_state];
1277 if ( yy_current_state >= 319 )
1278 yy_c = yy_meta[(unsigned int) yy_c];
1279 }
1280 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1281 *(yy_state_ptr)++ = yy_current_state;
1282 ++yy_cp;
1283 }
1284 while ( yy_current_state != 318 );
1285
1286yy_find_action:
1287 yy_current_state = *--(yy_state_ptr);
1288 (yy_lp) = yy_accept[yy_current_state];
1289find_rule: /* we branch to this label when backing up */
1290 for ( ; ; ) /* until we find what rule we matched */
1291 {
1292 if ( (yy_lp) && (yy_lp) < yy_accept[yy_current_state + 1] )
1293 {
1294 yy_act = yy_acclist[(yy_lp)];
1295 {
1296 (yy_full_match) = yy_cp;
1297 break;
1298 }
1299 }
1300 --yy_cp;
1301 yy_current_state = *--(yy_state_ptr);
1302 (yy_lp) = yy_accept[yy_current_state];
1303 }
1304
1305 YY_DO_BEFORE_ACTION;
1306
1307do_action: /* This label is used only to access EOF actions. */
1308
1309 switch ( yy_act )
1310 { /* beginning of action switch */
1311case 1:
1312YY_RULE_SETUP
1313#line 150 "scanner.ll"
1314;
1315 YY_BREAK
1316case 2:
1317/* rule 2 can match eol */
1318YY_RULE_SETUP
1319#line 151 "scanner.ll"
1320{ idl_line_no++; }
1321 YY_BREAK
1322case 3:
1323YY_RULE_SETUP
1324#line 153 "scanner.ll"
1325{ comment_mode = 1; }
1326 YY_BREAK
1327case 4:
1328YY_RULE_SETUP
1329#line 154 "scanner.ll"
1330{ if (!comment_mode) { REJECT; } else { comment_mode = 0; } }
1331 YY_BREAK
1332case 5:
1333YY_RULE_SETUP
1334#line 155 "scanner.ll"
1335{
1336 if (! comment_mode) {
1337 if (!function_mode) { REJECT; } else {
1338 function_mode = 0;
1339 return T_RIGHT_CURLY_BRACKET;
1340 }
1341 }
1342 }
1343 YY_BREAK
1344case 6:
1345YY_RULE_SETUP
1346#line 163 "scanner.ll"
1347{ if (!comment_mode && !function_mode) { REJECT; } }
1348 YY_BREAK
1349case 7:
1350YY_RULE_SETUP
1351#line 164 "scanner.ll"
1352{ if (!comment_mode) { REJECT; } }
1353 YY_BREAK
1354case 8:
1355YY_RULE_SETUP
1356#line 166 "scanner.ll"
1357;
1358 YY_BREAK
1359case 9:
1360YY_RULE_SETUP
1361#line 167 "scanner.ll"
1362{
1363 exit( 1 );
1364 }
1365 YY_BREAK
1366case 10:
1367/* rule 10 can match eol */
1368YY_RULE_SETUP
1369#line 170 "scanner.ll"
1370{
1371 TQString s( yytext );
1372 int i = s.find(TQRegExp("[\"<]"))+1;
1373 int j = s.find(TQRegExp("[\">]"), i);
1374 yylval._str = new TQString( s.mid( i, j - i ) );
1375 idl_line_no++;
1376 return T_INCLUDE;
1377 }
1378 YY_BREAK
1379case 11:
1380/* rule 11 can match eol */
1381YY_RULE_SETUP
1382#line 178 "scanner.ll"
1383{
1384 idl_line_no++;
1385 }
1386 YY_BREAK
1387case 12:
1388YY_RULE_SETUP
1389#line 181 "scanner.ll"
1390return T_LEFT_CURLY_BRACKET;
1391 YY_BREAK
1392case 13:
1393YY_RULE_SETUP
1394#line 182 "scanner.ll"
1395return T_RIGHT_CURLY_BRACKET;
1396 YY_BREAK
1397case 14:
1398YY_RULE_SETUP
1399#line 183 "scanner.ll"
1400return T_LEFT_PARANTHESIS;
1401 YY_BREAK
1402case 15:
1403YY_RULE_SETUP
1404#line 184 "scanner.ll"
1405return T_RIGHT_PARANTHESIS;
1406 YY_BREAK
1407case 16:
1408YY_RULE_SETUP
1409#line 185 "scanner.ll"
1410return T_COLON;
1411 YY_BREAK
1412case 17:
1413YY_RULE_SETUP
1414#line 186 "scanner.ll"
1415return T_PLUS;
1416 YY_BREAK
1417case 18:
1418YY_RULE_SETUP
1419#line 187 "scanner.ll"
1420return T_MINUS;
1421 YY_BREAK
1422case 19:
1423YY_RULE_SETUP
1424#line 188 "scanner.ll"
1425return T_TILDE;
1426 YY_BREAK
1427case 20:
1428YY_RULE_SETUP
1429#line 189 "scanner.ll"
1430return T_COMMA;
1431 YY_BREAK
1432case 21:
1433YY_RULE_SETUP
1434#line 190 "scanner.ll"
1435return T_ASTERISK;
1436 YY_BREAK
1437case 22:
1438YY_RULE_SETUP
1439#line 191 "scanner.ll"
1440return T_SEMICOLON;
1441 YY_BREAK
1442case 23:
1443YY_RULE_SETUP
1444#line 192 "scanner.ll"
1445return T_AMPERSAND;
1446 YY_BREAK
1447case 24:
1448YY_RULE_SETUP
1449#line 193 "scanner.ll"
1450return T_LESS;
1451 YY_BREAK
1452case 25:
1453YY_RULE_SETUP
1454#line 194 "scanner.ll"
1455return T_GREATER;
1456 YY_BREAK
1457case 26:
1458YY_RULE_SETUP
1459#line 195 "scanner.ll"
1460return T_SCOPE;
1461 YY_BREAK
1462case 27:
1463YY_RULE_SETUP
1464#line 196 "scanner.ll"
1465return T_EQUAL;
1466 YY_BREAK
1467case 28:
1468YY_RULE_SETUP
1469#line 197 "scanner.ll"
1470return T_ACCESS;
1471 YY_BREAK
1472case 29:
1473YY_RULE_SETUP
1474#line 198 "scanner.ll"
1475return T_TRIPLE_DOT;
1476 YY_BREAK
1477case 30:
1478YY_RULE_SETUP
1479#line 199 "scanner.ll"
1480return T_ARRAY_OPEN;
1481 YY_BREAK
1482case 31:
1483YY_RULE_SETUP
1484#line 200 "scanner.ll"
1485return T_ARRAY_CLOSE;
1486 YY_BREAK
1487case 32:
1488YY_RULE_SETUP
1489#line 201 "scanner.ll"
1490return T_ACCESS;
1491 YY_BREAK
1492case 33:
1493YY_RULE_SETUP
1494#line 202 "scanner.ll"
1495return T_SHIFT;
1496 YY_BREAK
1497case 34:
1498YY_RULE_SETUP
1499#line 203 "scanner.ll"
1500return T_MISCOPERATOR;
1501 YY_BREAK
1502case 35:
1503YY_RULE_SETUP
1504#line 206 "scanner.ll"
1505return T_CONST;
1506 YY_BREAK
1507case 36:
1508YY_RULE_SETUP
1509#line 207 "scanner.ll"
1510return T_ENUM;
1511 YY_BREAK
1512case 37:
1513YY_RULE_SETUP
1514#line 208 "scanner.ll"
1515return T_NAMESPACE;
1516 YY_BREAK
1517case 38:
1518YY_RULE_SETUP
1519#line 209 "scanner.ll"
1520return T_USING;
1521 YY_BREAK
1522case 39:
1523YY_RULE_SETUP
1524#line 210 "scanner.ll"
1525return T_CLASS;
1526 YY_BREAK
1527case 40:
1528YY_RULE_SETUP
1529#line 211 "scanner.ll"
1530return T_STRUCT;
1531 YY_BREAK
1532case 41:
1533YY_RULE_SETUP
1534#line 212 "scanner.ll"
1535return T_FUNOPERATOR;
1536 YY_BREAK
1537case 42:
1538YY_RULE_SETUP
1539#line 213 "scanner.ll"
1540return T_VIRTUAL;
1541 YY_BREAK
1542case 43:
1543YY_RULE_SETUP
1544#line 214 "scanner.ll"
1545return T_PUBLIC;
1546 YY_BREAK
1547case 44:
1548YY_RULE_SETUP
1549#line 215 "scanner.ll"
1550return T_INLINE;
1551 YY_BREAK
1552case 45:
1553YY_RULE_SETUP
1554#line 216 "scanner.ll"
1555return T_STATIC;
1556 YY_BREAK
1557case 46:
1558YY_RULE_SETUP
1559#line 217 "scanner.ll"
1560return T_MUTABLE;
1561 YY_BREAK
1562case 47:
1563YY_RULE_SETUP
1564#line 218 "scanner.ll"
1565return T_SIGNED;
1566 YY_BREAK
1567case 48:
1568YY_RULE_SETUP
1569#line 219 "scanner.ll"
1570return T_UNSIGNED;
1571 YY_BREAK
1572case 49:
1573YY_RULE_SETUP
1574#line 220 "scanner.ll"
1575return T_SHORT;
1576 YY_BREAK
1577case 50:
1578YY_RULE_SETUP
1579#line 221 "scanner.ll"
1580return T_LONG;
1581 YY_BREAK
1582case 51:
1583YY_RULE_SETUP
1584#line 222 "scanner.ll"
1585return T_FRIEND;
1586 YY_BREAK
1587case 52:
1588YY_RULE_SETUP
1589#line 223 "scanner.ll"
1590return T_PROTECTED;
1591 YY_BREAK
1592case 53:
1593YY_RULE_SETUP
1594#line 224 "scanner.ll"
1595return T_PRIVATE;
1596 YY_BREAK
1597case 54:
1598YY_RULE_SETUP
1599#line 225 "scanner.ll"
1600return T_SIGNAL;
1601 YY_BREAK
1602case 55:
1603YY_RULE_SETUP
1604#line 226 "scanner.ll"
1605return T_RETURN;
1606 YY_BREAK
1607case 56:
1608YY_RULE_SETUP
1609#line 227 "scanner.ll"
1610return T_SLOT;
1611 YY_BREAK
1612case 57:
1613YY_RULE_SETUP
1614#line 228 "scanner.ll"
1615return T_TRUE;
1616 YY_BREAK
1617case 58:
1618YY_RULE_SETUP
1619#line 229 "scanner.ll"
1620return T_INT;
1621 YY_BREAK
1622case 59:
1623YY_RULE_SETUP
1624#line 230 "scanner.ll"
1625return T_CHAR;
1626 YY_BREAK
1627case 60:
1628YY_RULE_SETUP
1629#line 231 "scanner.ll"
1630return T_FALSE;
1631 YY_BREAK
1632case 61:
1633YY_RULE_SETUP
1634#line 232 "scanner.ll"
1635return T_TRUE;
1636 YY_BREAK
1637case 62:
1638YY_RULE_SETUP
1639#line 233 "scanner.ll"
1640return T_FALSE;
1641 YY_BREAK
1642case 63:
1643YY_RULE_SETUP
1644#line 234 "scanner.ll"
1645return T_DCOP_AREA;
1646 YY_BREAK
1647case 64:
1648YY_RULE_SETUP
1649#line 235 "scanner.ll"
1650return T_DCOP_SIGNAL_AREA;
1651 YY_BREAK
1652case 65:
1653YY_RULE_SETUP
1654#line 236 "scanner.ll"
1655return T_TYPEDEF;
1656 YY_BREAK
1657case 66:
1658YY_RULE_SETUP
1659#line 237 "scanner.ll"
1660return T_DCOP;
1661 YY_BREAK
1662case 67:
1663YY_RULE_SETUP
1664#line 238 "scanner.ll"
1665;
1666 YY_BREAK
1667case 68:
1668YY_RULE_SETUP
1669#line 239 "scanner.ll"
1670;
1671 YY_BREAK
1672case 69:
1673YY_RULE_SETUP
1674#line 240 "scanner.ll"
1675return T_NULL;
1676 YY_BREAK
1677case 70:
1678YY_RULE_SETUP
1679#line 241 "scanner.ll"
1680return T_EXTERN;
1681 YY_BREAK
1682case 71:
1683YY_RULE_SETUP
1684#line 242 "scanner.ll"
1685return T_EXTERN_C;
1686 YY_BREAK
1687case 72:
1688YY_RULE_SETUP
1689#line 244 "scanner.ll"
1690{
1691 yylval._str = new TQString( yytext );
1692 return T_IDENTIFIER;
1693 }
1694 YY_BREAK
1695case 73:
1696#line 250 "scanner.ll"
1697case 74:
1698#line 251 "scanner.ll"
1699case 75:
1700#line 252 "scanner.ll"
1701case 76:
1702#line 253 "scanner.ll"
1703case 77:
1704YY_RULE_SETUP
1705#line 253 "scanner.ll"
1706{
1707 yylval._float = ascii_to_longdouble( yytext );
1708 return T_DOUBLE_LITERAL;
1709 }
1710 YY_BREAK
1711case 78:
1712YY_RULE_SETUP
1713#line 257 "scanner.ll"
1714{
1715 yylval._int = ascii_to_longlong( 10, yytext );
1716 return T_INTEGER_LITERAL;
1717 }
1718 YY_BREAK
1719case 79:
1720YY_RULE_SETUP
1721#line 261 "scanner.ll"
1722{
1723 yylval._int = ascii_to_longlong( 8, yytext );
1724 return T_INTEGER_LITERAL;
1725 }
1726 YY_BREAK
1727case 80:
1728YY_RULE_SETUP
1729#line 265 "scanner.ll"
1730{
1731 yylval._int = ascii_to_longlong( 16, yytext + 2 );
1732 return T_INTEGER_LITERAL;
1733 }
1734 YY_BREAK
1735case 81:
1736YY_RULE_SETUP
1737#line 269 "scanner.ll"
1738{
1739 TQCString s( yytext );
1740 s = s.mid( 1, s.length() - 2 );
1741 yylval._char = translate_char( s );
1742 return T_CHARACTER_LITERAL;
1743 }
1744 YY_BREAK
1745case 82:
1746YY_RULE_SETUP
1747#line 275 "scanner.ll"
1748{
1749 TQString s( yytext );
1750 yylval._str = new TQString( s.mid( 1, s.length() - 2 ) );
1751 return T_STRING_LITERAL;
1752 }
1753 YY_BREAK
1754case 83:
1755YY_RULE_SETUP
1756#line 280 "scanner.ll"
1757{
1758 if (function_mode)
1759 return yylex(); // call once again
1760
1761 tqFatal("could not parse %c(%d) at line %d" , yytext[0], yytext[0], idl_line_no);
1762 return T_UNKNOWN;
1763 }
1764 YY_BREAK
1765case 84:
1766YY_RULE_SETUP
1767#line 288 "scanner.ll"
1768ECHO;
1769 YY_BREAK
1770#line 1771 "scanner.cpp"
1771 case YY_STATE_EOF(INITIAL):
1772 yyterminate();
1773
1774 case YY_END_OF_BUFFER:
1775 {
1776 /* Amount of text matched not including the EOB char. */
1777 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
1778
1779 /* Undo the effects of YY_DO_BEFORE_ACTION. */
1780 *yy_cp = (yy_hold_char);
1781 YY_RESTORE_YY_MORE_OFFSET
1782
1783 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
1784 {
1785 /* We're scanning a new file or input source. It's
1786 * possible that this happened because the user
1787 * just pointed yyin at a new source and called
1788 * yylex(). If so, then we have to assure
1789 * consistency between YY_CURRENT_BUFFER and our
1790 * globals. Here is the right place to do so, because
1791 * this is the first action (other than possibly a
1792 * back-up) that will match for the new input source.
1793 */
1794 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
1795 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
1796 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
1797 }
1798
1799 /* Note that here we test for yy_c_buf_p "<=" to the position
1800 * of the first EOB in the buffer, since yy_c_buf_p will
1801 * already have been incremented past the NUL character
1802 * (since all states make transitions on EOB to the
1803 * end-of-buffer state). Contrast this with the test
1804 * in input().
1805 */
1806 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
1807 { /* This was really a NUL. */
1808 yy_state_type yy_next_state;
1809
1810 (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
1811
1812 yy_current_state = yy_get_previous_state( );
1813
1814 /* Okay, we're now positioned to make the NUL
1815 * transition. We couldn't have
1816 * yy_get_previous_state() go ahead and do it
1817 * for us because it doesn't know how to deal
1818 * with the possibility of jamming (and we don't
1819 * want to build jamming into it because then it
1820 * will run more slowly).
1821 */
1822
1823 yy_next_state = yy_try_NUL_trans( yy_current_state );
1824
1825 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
1826
1827 if ( yy_next_state )
1828 {
1829 /* Consume the NUL. */
1830 yy_cp = ++(yy_c_buf_p);
1831 yy_current_state = yy_next_state;
1832 goto yy_match;
1833 }
1834
1835 else
1836 {
1837 yy_cp = (yy_c_buf_p);
1838 goto yy_find_action;
1839 }
1840 }
1841
1842 else switch ( yy_get_next_buffer( ) )
1843 {
1844 case EOB_ACT_END_OF_FILE:
1845 {
1846 (yy_did_buffer_switch_on_eof) = 0;
1847
1848 if ( yywrap( ) )
1849 {
1850 /* Note: because we've taken care in
1851 * yy_get_next_buffer() to have set up
1852 * yytext, we can now set up
1853 * yy_c_buf_p so that if some total
1854 * hoser (like flex itself) wants to
1855 * call the scanner after we return the
1856 * YY_NULL, it'll still work - another
1857 * YY_NULL will get returned.
1858 */
1859 (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
1860
1861 yy_act = YY_STATE_EOF(YY_START);
1862 goto do_action;
1863 }
1864
1865 else
1866 {
1867 if ( ! (yy_did_buffer_switch_on_eof) )
1868 YY_NEW_FILE;
1869 }
1870 break;
1871 }
1872
1873 case EOB_ACT_CONTINUE_SCAN:
1874 (yy_c_buf_p) =
1875 (yytext_ptr) + yy_amount_of_matched_text;
1876
1877 yy_current_state = yy_get_previous_state( );
1878
1879 yy_cp = (yy_c_buf_p);
1880 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
1881 goto yy_match;
1882
1883 case EOB_ACT_LAST_MATCH:
1884 (yy_c_buf_p) =
1885 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
1886
1887 yy_current_state = yy_get_previous_state( );
1888
1889 yy_cp = (yy_c_buf_p);
1890 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
1891 goto yy_find_action;
1892 }
1893 break;
1894 }
1895
1896 default:
1897 YY_FATAL_ERROR(
1898 "fatal flex scanner internal error--no action found" );
1899 } /* end of action switch */
1900 } /* end of scanning one token */
1901} /* end of yylex */
1902
1903/* yy_get_next_buffer - try to read in a new buffer
1904 *
1905 * Returns a code representing an action:
1906 * EOB_ACT_LAST_MATCH -
1907 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
1908 * EOB_ACT_END_OF_FILE - end of file
1909 */
1910static int yy_get_next_buffer (void)
1911{
1912 char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
1913 char *source = (yytext_ptr);
1914 int number_to_move, i;
1915 int ret_val;
1916
1917 if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
1918 YY_FATAL_ERROR(
1919 "fatal flex scanner internal error--end of buffer missed" );
1920
1921 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
1922 { /* Don't try to fill the buffer, so this is an EOF. */
1923 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
1924 {
1925 /* We matched a single character, the EOB, so
1926 * treat this as a final EOF.
1927 */
1928 return EOB_ACT_END_OF_FILE;
1929 }
1930
1931 else
1932 {
1933 /* We matched some text prior to the EOB, first
1934 * process it.
1935 */
1936 return EOB_ACT_LAST_MATCH;
1937 }
1938 }
1939
1940 /* Try to read more data. */
1941
1942 /* First move last chars to start of buffer. */
1943 number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
1944
1945 for ( i = 0; i < number_to_move; ++i )
1946 *(dest++) = *(source++);
1947
1948 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
1949 /* don't do the read, it's not guaranteed to return an EOF,
1950 * just force an EOF
1951 */
1952 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
1953
1954 else
1955 {
1956 int num_to_read =
1957 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
1958
1959 while ( num_to_read <= 0 )
1960 { /* Not enough room in the buffer - grow it. */
1961
1962 YY_FATAL_ERROR(
1963"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
1964
1965 }
1966
1967 if ( num_to_read > YY_READ_BUF_SIZE )
1968 num_to_read = YY_READ_BUF_SIZE;
1969
1970 /* Read in more data. */
1971 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
1972 (yy_n_chars), (size_t) num_to_read );
1973
1974 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
1975 }
1976
1977 if ( (yy_n_chars) == 0 )
1978 {
1979 if ( number_to_move == YY_MORE_ADJ )
1980 {
1981 ret_val = EOB_ACT_END_OF_FILE;
1982 yyrestart(yyin );
1983 }
1984
1985 else
1986 {
1987 ret_val = EOB_ACT_LAST_MATCH;
1988 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
1989 YY_BUFFER_EOF_PENDING;
1990 }
1991 }
1992
1993 else
1994 ret_val = EOB_ACT_CONTINUE_SCAN;
1995
1996 if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
1997 /* Extend the array by 50%, plus the number we really need. */
1998 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
1999 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
2000 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
2001 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
2002 }
2003
2004 (yy_n_chars) += number_to_move;
2005 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
2006 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
2007
2008 (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
2009
2010 return ret_val;
2011}
2012
2013/* yy_get_previous_state - get the state just before the EOB char was reached */
2014
2015 static yy_state_type yy_get_previous_state (void)
2016{
2017 yy_state_type yy_current_state;
2018 char *yy_cp;
2019
2020 yy_current_state = (yy_start);
2021
2022 (yy_state_ptr) = (yy_state_buf);
2023 *(yy_state_ptr)++ = yy_current_state;
2024
2025 for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
2026 {
2027 YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2028 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2029 {
2030 yy_current_state = (int) yy_def[yy_current_state];
2031 if ( yy_current_state >= 319 )
2032 yy_c = yy_meta[(unsigned int) yy_c];
2033 }
2034 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2035 *(yy_state_ptr)++ = yy_current_state;
2036 }
2037
2038 return yy_current_state;
2039}
2040
2041/* yy_try_NUL_trans - try to make a transition on the NUL character
2042 *
2043 * synopsis
2044 * next_state = yy_try_NUL_trans( current_state );
2045 */
2046 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
2047{
2048 int yy_is_jam;
2049
2050 YY_CHAR yy_c = 1;
2051 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2052 {
2053 yy_current_state = (int) yy_def[yy_current_state];
2054 if ( yy_current_state >= 319 )
2055 yy_c = yy_meta[(unsigned int) yy_c];
2056 }
2057 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2058 yy_is_jam = (yy_current_state == 318);
2059 if ( ! yy_is_jam )
2060 *(yy_state_ptr)++ = yy_current_state;
2061
2062 return yy_is_jam ? 0 : yy_current_state;
2063}
2064
2065 static void yyunput (int c, char * yy_bp )
2066{
2067 char *yy_cp;
2068
2069 yy_cp = (yy_c_buf_p);
2070
2071 /* undo effects of setting up yytext */
2072 *yy_cp = (yy_hold_char);
2073
2074 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
2075 { /* need to shift things up to make room */
2076 /* +2 for EOB chars. */
2077 int number_to_move = (yy_n_chars) + 2;
2078 char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
2079 YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
2080 char *source =
2081 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
2082
2083 while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
2084 *--dest = *--source;
2085
2086 yy_cp += (int) (dest - source);
2087 yy_bp += (int) (dest - source);
2088 YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
2089 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
2090
2091 if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
2092 YY_FATAL_ERROR( "flex scanner push-back overflow" );
2093 }
2094
2095 *--yy_cp = (char) c;
2096
2097 (yytext_ptr) = yy_bp;
2098 (yy_hold_char) = *yy_cp;
2099 (yy_c_buf_p) = yy_cp;
2100}
2101
2102#ifndef YY_NO_INPUT
2103#ifdef __cplusplus
2104 static int yyinput (void)
2105#else
2106 static int input (void)
2107#endif
2108
2109{
2110 int c;
2111
2112 *(yy_c_buf_p) = (yy_hold_char);
2113
2114 if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
2115 {
2116 /* yy_c_buf_p now points to the character we want to return.
2117 * If this occurs *before* the EOB characters, then it's a
2118 * valid NUL; if not, then we've hit the end of the buffer.
2119 */
2120 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
2121 /* This was really a NUL. */
2122 *(yy_c_buf_p) = '\0';
2123
2124 else
2125 { /* need more input */
2126 int offset = (yy_c_buf_p) - (yytext_ptr);
2127 ++(yy_c_buf_p);
2128
2129 switch ( yy_get_next_buffer( ) )
2130 {
2131 case EOB_ACT_LAST_MATCH:
2132 /* This happens because yy_g_n_b()
2133 * sees that we've accumulated a
2134 * token and flags that we need to
2135 * try matching the token before
2136 * proceeding. But for input(),
2137 * there's no matching to consider.
2138 * So convert the EOB_ACT_LAST_MATCH
2139 * to EOB_ACT_END_OF_FILE.
2140 */
2141
2142 /* Reset buffer status. */
2143 yyrestart(yyin );
2144
2145 /*FALLTHROUGH*/
2146
2147 case EOB_ACT_END_OF_FILE:
2148 {
2149 if ( yywrap( ) )
2150 return EOF;
2151
2152 if ( ! (yy_did_buffer_switch_on_eof) )
2153 YY_NEW_FILE;
2154#ifdef __cplusplus
2155 return yyinput();
2156#else
2157 return input();
2158#endif
2159 }
2160
2161 case EOB_ACT_CONTINUE_SCAN:
2162 (yy_c_buf_p) = (yytext_ptr) + offset;
2163 break;
2164 }
2165 }
2166 }
2167
2168 c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
2169 *(yy_c_buf_p) = '\0'; /* preserve yytext */
2170 (yy_hold_char) = *++(yy_c_buf_p);
2171
2172 return c;
2173}
2174#endif /* ifndef YY_NO_INPUT */
2175
2181 void yyrestart (FILE * input_file )
2182{
2183
2184 if ( ! YY_CURRENT_BUFFER ){
2185 yyensure_buffer_stack ();
2186 YY_CURRENT_BUFFER_LVALUE =
2187 yy_create_buffer(yyin,YY_BUF_SIZE );
2188 }
2189
2190 yy_init_buffer(YY_CURRENT_BUFFER,input_file );
2191 yy_load_buffer_state( );
2192}
2193
2198 void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
2199{
2200
2201 /* TODO. We should be able to replace this entire function body
2202 * with
2203 * yypop_buffer_state();
2204 * yypush_buffer_state(new_buffer);
2205 */
2206 yyensure_buffer_stack ();
2207 if ( YY_CURRENT_BUFFER == new_buffer )
2208 return;
2209
2210 if ( YY_CURRENT_BUFFER )
2211 {
2212 /* Flush out information for old buffer. */
2213 *(yy_c_buf_p) = (yy_hold_char);
2214 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2215 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2216 }
2217
2218 YY_CURRENT_BUFFER_LVALUE = new_buffer;
2219 yy_load_buffer_state( );
2220
2221 /* We don't actually know whether we did this switch during
2222 * EOF (yywrap()) processing, but the only time this flag
2223 * is looked at is after yywrap() is called, so it's safe
2224 * to go ahead and always set it.
2225 */
2226 (yy_did_buffer_switch_on_eof) = 1;
2227}
2228
2229static void yy_load_buffer_state (void)
2230{
2231 (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2232 (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
2233 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
2234 (yy_hold_char) = *(yy_c_buf_p);
2235}
2236
2243 YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
2244{
2245 YY_BUFFER_STATE b;
2246
2247 b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
2248 if ( ! b )
2249 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2250
2251 b->yy_buf_size = size;
2252
2253 /* yy_ch_buf has to be 2 characters longer than the size given because
2254 * we need to put in 2 end-of-buffer characters.
2255 */
2256 b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 );
2257 if ( ! b->yy_ch_buf )
2258 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2259
2260 b->yy_is_our_buffer = 1;
2261
2262 yy_init_buffer(b,file );
2263
2264 return b;
2265}
2266
2271 void yy_delete_buffer (YY_BUFFER_STATE b )
2272{
2273
2274 if ( ! b )
2275 return;
2276
2277 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
2278 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
2279
2280 if ( b->yy_is_our_buffer )
2281 yyfree((void *) b->yy_ch_buf );
2282
2283 yyfree((void *) b );
2284}
2285
2286/* Initializes or reinitializes a buffer.
2287 * This function is sometimes called more than once on the same buffer,
2288 * such as during a yyrestart() or at EOF.
2289 */
2290 static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
2291
2292{
2293 int oerrno = errno;
2294
2295 yy_flush_buffer(b );
2296
2297 b->yy_input_file = file;
2298 b->yy_fill_buffer = 1;
2299
2300 /* If b is the current buffer, then yy_init_buffer was _probably_
2301 * called from yyrestart() or through yy_get_next_buffer.
2302 * In that case, we don't want to reset the lineno or column.
2303 */
2304 if (b != YY_CURRENT_BUFFER){
2305 b->yy_bs_lineno = 1;
2306 b->yy_bs_column = 0;
2307 }
2308
2309 b->yy_is_interactive = 0;
2310
2311 errno = oerrno;
2312}
2313
2318 void yy_flush_buffer (YY_BUFFER_STATE b )
2319{
2320 if ( ! b )
2321 return;
2322
2323 b->yy_n_chars = 0;
2324
2325 /* We always need two end-of-buffer characters. The first causes
2326 * a transition to the end-of-buffer state. The second causes
2327 * a jam in that state.
2328 */
2329 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2330 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2331
2332 b->yy_buf_pos = &b->yy_ch_buf[0];
2333
2334 b->yy_at_bol = 1;
2335 b->yy_buffer_status = YY_BUFFER_NEW;
2336
2337 if ( b == YY_CURRENT_BUFFER )
2338 yy_load_buffer_state( );
2339}
2340
2347void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
2348{
2349 if (new_buffer == NULL)
2350 return;
2351
2352 yyensure_buffer_stack();
2353
2354 /* This block is copied from yy_switch_to_buffer. */
2355 if ( YY_CURRENT_BUFFER )
2356 {
2357 /* Flush out information for old buffer. */
2358 *(yy_c_buf_p) = (yy_hold_char);
2359 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
2360 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
2361 }
2362
2363 /* Only push if top exists. Otherwise, replace top. */
2364 if (YY_CURRENT_BUFFER)
2365 (yy_buffer_stack_top)++;
2366 YY_CURRENT_BUFFER_LVALUE = new_buffer;
2367
2368 /* copied from yy_switch_to_buffer. */
2369 yy_load_buffer_state( );
2370 (yy_did_buffer_switch_on_eof) = 1;
2371}
2372
2377void yypop_buffer_state (void)
2378{
2379 if (!YY_CURRENT_BUFFER)
2380 return;
2381
2382 yy_delete_buffer(YY_CURRENT_BUFFER );
2383 YY_CURRENT_BUFFER_LVALUE = NULL;
2384 if ((yy_buffer_stack_top) > 0)
2385 --(yy_buffer_stack_top);
2386
2387 if (YY_CURRENT_BUFFER) {
2388 yy_load_buffer_state( );
2389 (yy_did_buffer_switch_on_eof) = 1;
2390 }
2391}
2392
2393/* Allocates the stack if it does not exist.
2394 * Guarantees space for at least one push.
2395 */
2396static void yyensure_buffer_stack (void)
2397{
2398 int num_to_alloc;
2399
2400 if (!(yy_buffer_stack)) {
2401
2402 /* First allocation is just for 2 elements, since we don't know if this
2403 * scanner will even need a stack. We use 2 instead of 1 to avoid an
2404 * immediate realloc on the next call.
2405 */
2406 num_to_alloc = 1;
2407 (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
2408 (num_to_alloc * sizeof(struct yy_buffer_state*)
2409 );
2410 if ( ! (yy_buffer_stack) )
2411 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
2412
2413 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
2414
2415 (yy_buffer_stack_max) = num_to_alloc;
2416 (yy_buffer_stack_top) = 0;
2417 return;
2418 }
2419
2420 if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
2421
2422 /* Increase the buffer to prepare for a possible push. */
2423 int grow_size = 8 /* arbitrary grow size */;
2424
2425 num_to_alloc = (yy_buffer_stack_max) + grow_size;
2426 (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
2427 ((yy_buffer_stack),
2428 num_to_alloc * sizeof(struct yy_buffer_state*)
2429 );
2430 if ( ! (yy_buffer_stack) )
2431 YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
2432
2433 /* zero only the new slots.*/
2434 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
2435 (yy_buffer_stack_max) = num_to_alloc;
2436 }
2437}
2438
2445YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
2446{
2447 YY_BUFFER_STATE b;
2448
2449 if ( size < 2 ||
2450 base[size-2] != YY_END_OF_BUFFER_CHAR ||
2451 base[size-1] != YY_END_OF_BUFFER_CHAR )
2452 /* They forgot to leave room for the EOB's. */
2453 return 0;
2454
2455 b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
2456 if ( ! b )
2457 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
2458
2459 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2460 b->yy_buf_pos = b->yy_ch_buf = base;
2461 b->yy_is_our_buffer = 0;
2462 b->yy_input_file = 0;
2463 b->yy_n_chars = b->yy_buf_size;
2464 b->yy_is_interactive = 0;
2465 b->yy_at_bol = 1;
2466 b->yy_fill_buffer = 0;
2467 b->yy_buffer_status = YY_BUFFER_NEW;
2468
2469 yy_switch_to_buffer(b );
2470
2471 return b;
2472}
2473
2482YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
2483{
2484
2485 return yy_scan_bytes(yystr,strlen(yystr) );
2486}
2487
2495YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len )
2496{
2497 YY_BUFFER_STATE b;
2498 char *buf;
2499 yy_size_t n;
2500 int i;
2501
2502 /* Get memory for full buffer, including space for trailing EOB's. */
2503 n = _yybytes_len + 2;
2504 buf = (char *) yyalloc(n );
2505 if ( ! buf )
2506 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
2507
2508 for ( i = 0; i < _yybytes_len; ++i )
2509 buf[i] = yybytes[i];
2510
2511 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
2512
2513 b = yy_scan_buffer(buf,n );
2514 if ( ! b )
2515 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
2516
2517 /* It's okay to grow etc. this buffer, and we should throw it
2518 * away when we're done.
2519 */
2520 b->yy_is_our_buffer = 1;
2521
2522 return b;
2523}
2524
2525#ifndef YY_EXIT_FAILURE
2526#define YY_EXIT_FAILURE 2
2527#endif
2528
2529static void yy_fatal_error (yyconst char* msg )
2530{
2531 (void) fprintf( stderr, "[dcopidl-scanner] %s\n", msg );
2532 exit( YY_EXIT_FAILURE );
2533}
2534
2535/* Redefine yyless() so it works in section 3 code. */
2536
2537#undef yyless
2538#define yyless(n) \
2539 do \
2540 { \
2541 /* Undo effects of setting up yytext. */ \
2542 int yyless_macro_arg = (n); \
2543 YY_LESS_LINENO(yyless_macro_arg);\
2544 yytext[yyleng] = (yy_hold_char); \
2545 (yy_c_buf_p) = yytext + yyless_macro_arg; \
2546 (yy_hold_char) = *(yy_c_buf_p); \
2547 *(yy_c_buf_p) = '\0'; \
2548 yyleng = yyless_macro_arg; \
2549 } \
2550 while ( 0 )
2551
2552/* Accessor methods (get/set functions) to struct members. */
2553
2557int yyget_lineno (void)
2558{
2559
2560 return yylineno;
2561}
2562
2566FILE *yyget_in (void)
2567{
2568 return yyin;
2569}
2570
2574FILE *yyget_out (void)
2575{
2576 return yyout;
2577}
2578
2582int yyget_leng (void)
2583{
2584 return yyleng;
2585}
2586
2591char *yyget_text (void)
2592{
2593 return yytext;
2594}
2595
2600void yyset_lineno (int line_number )
2601{
2602
2603 yylineno = line_number;
2604}
2605
2612void yyset_in (FILE * in_str )
2613{
2614 yyin = in_str ;
2615}
2616
2617void yyset_out (FILE * out_str )
2618{
2619 yyout = out_str ;
2620}
2621
2622int yyget_debug (void)
2623{
2624 return yy_flex_debug;
2625}
2626
2627void yyset_debug (int bdebug )
2628{
2629 yy_flex_debug = bdebug ;
2630}
2631
2632static int yy_init_globals (void)
2633{
2634 /* Initialization is the same as for the non-reentrant scanner.
2635 * This function is called from yylex_destroy(), so don't allocate here.
2636 */
2637
2638 (yy_buffer_stack) = 0;
2639 (yy_buffer_stack_top) = 0;
2640 (yy_buffer_stack_max) = 0;
2641 (yy_c_buf_p) = (char *) 0;
2642 (yy_init) = 0;
2643 (yy_start) = 0;
2644
2645 (yy_state_buf) = 0;
2646 (yy_state_ptr) = 0;
2647 (yy_full_match) = 0;
2648 (yy_lp) = 0;
2649
2650/* Defined in main.c */
2651#ifdef YY_STDINIT
2652 yyin = stdin;
2653 yyout = stdout;
2654#else
2655 yyin = (FILE *) 0;
2656 yyout = (FILE *) 0;
2657#endif
2658
2659 /* For future reference: Set errno on error, since we are called by
2660 * yylex_init()
2661 */
2662 return 0;
2663}
2664
2665/* yylex_destroy is for both reentrant and non-reentrant scanners. */
2666int yylex_destroy (void)
2667{
2668
2669 /* Pop the buffer stack, destroying each element. */
2670 while(YY_CURRENT_BUFFER){
2671 yy_delete_buffer(YY_CURRENT_BUFFER );
2672 YY_CURRENT_BUFFER_LVALUE = NULL;
2673 yypop_buffer_state();
2674 }
2675
2676 /* Destroy the stack itself. */
2677 yyfree((yy_buffer_stack) );
2678 (yy_buffer_stack) = NULL;
2679
2680 yyfree ( (yy_state_buf) );
2681 (yy_state_buf) = NULL;
2682
2683 /* Reset the globals. This is important in a non-reentrant scanner so the next time
2684 * yylex() is called, initialization will occur. */
2685 yy_init_globals( );
2686
2687 return 0;
2688}
2689
2690/*
2691 * Internal utility routines.
2692 */
2693
2694#ifndef yytext_ptr
2695static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
2696{
2697 int i;
2698 for ( i = 0; i < n; ++i )
2699 s1[i] = s2[i];
2700}
2701#endif
2702
2703#ifdef YY_NEED_STRLEN
2704static int yy_flex_strlen (yyconst char * s )
2705{
2706 int n;
2707 for ( n = 0; s[n]; ++n )
2708 ;
2709
2710 return n;
2711}
2712#endif
2713
2714void *yyalloc (yy_size_t size )
2715{
2716 return (void *) malloc( size );
2717}
2718
2719void *yyrealloc (void * ptr, yy_size_t size )
2720{
2721 /* The cast to (char *) in the following accommodates both
2722 * implementations that use char* generic pointers, and those
2723 * that use void* generic pointers. It works with the latter
2724 * because both ANSI C and C++ allow castless assignment from
2725 * any pointer type to void*, and deal with argument conversions
2726 * as though doing an assignment.
2727 */
2728 return (void *) realloc( (char *) ptr, size );
2729}
2730
2731void yyfree (void * ptr )
2732{
2733 free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
2734}
2735
2736#define YYTABLES_NAME "yytables"
2737
2738#line 288 "scanner.ll"
2739
2740
2741
2742void dcopidlInitFlex( const char *_code )
2743{
2744 comment_mode = 0;
2745 yy_switch_to_buffer(yy_scan_string(_code ) );
2746}
2747

dcop

Skip menu "dcop"
  • Main Page
  • Modules
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Class Members
  • Related Pages

dcop

Skip menu "dcop"
  • arts
  • dcop
  • dnssd
  • interfaces
  •   kspeech
  •     interface
  •     library
  •   tdetexteditor
  • kate
  • kded
  • kdoctools
  • kimgio
  • kjs
  • libtdemid
  • libtdescreensaver
  • tdeabc
  • tdecmshell
  • tdecore
  • tdefx
  • tdehtml
  • tdeinit
  • tdeio
  •   bookmarks
  •   httpfilter
  •   kpasswdserver
  •   kssl
  •   tdefile
  •   tdeio
  •   tdeioexec
  • tdeioslave
  •   http
  • tdemdi
  •   tdemdi
  • tdenewstuff
  • tdeparts
  • tdeprint
  • tderandr
  • tderesources
  • tdespell2
  • tdesu
  • tdeui
  • tdeunittest
  • tdeutils
  • tdewallet
Generated for dcop by doxygen 1.9.4
This website is maintained by Timothy Pearson.