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

dcop

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

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
  •     interface
  •     library
  •   kspeech
  •   ktexteditor
  • kabc
  • kate
  • kcmshell
  • kdecore
  • kded
  • kdefx
  • kdeprint
  • kdesu
  • kdeui
  • kdoctools
  • khtml
  • kimgio
  • kinit
  • kio
  •   bookmarks
  •   httpfilter
  •   kfile
  •   kio
  •   kioexec
  •   kpasswdserver
  •   kssl
  • kioslave
  •   http
  • kjs
  • kmdi
  •   kmdi
  • knewstuff
  • kparts
  • krandr
  • kresources
  • kspell2
  • kunittest
  • kutils
  • kwallet
  • libkmid
  • libkscreensaver
Generated for dcop by doxygen 1.8.3.1
This website is maintained by Timothy Pearson.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. |