constexp.cpp
Go to the documentation of this file.
1 #line 2 "/nova/app/home/novasoft/doxygen/doxygen-1.8.11/build/generated_src/constexp.cpp"
2 
3 #line 4 "/nova/app/home/novasoft/doxygen/doxygen-1.8.11/build/generated_src/constexp.cpp"
4 
5 #define YY_INT_ALIGNED short int
6 
7 /* A lexical scanner generated by flex */
8 
9 #define yy_create_buffer constexpYY_create_buffer
10 #define yy_delete_buffer constexpYY_delete_buffer
11 #define yy_flex_debug constexpYY_flex_debug
12 #define yy_init_buffer constexpYY_init_buffer
13 #define yy_flush_buffer constexpYY_flush_buffer
14 #define yy_load_buffer_state constexpYY_load_buffer_state
15 #define yy_switch_to_buffer constexpYY_switch_to_buffer
16 #define yyin constexpYYin
17 #define yyleng constexpYYleng
18 #define yylex constexpYYlex
19 #define yylineno constexpYYlineno
20 #define yyout constexpYYout
21 #define yyrestart constexpYYrestart
22 #define yytext constexpYYtext
23 #define yywrap constexpYYwrap
24 #define yyalloc constexpYYalloc
25 #define yyrealloc constexpYYrealloc
26 #define yyfree constexpYYfree
27 
28 #define FLEX_SCANNER
29 #define YY_FLEX_MAJOR_VERSION 2
30 #define YY_FLEX_MINOR_VERSION 5
31 #define YY_FLEX_SUBMINOR_VERSION 35
32 #if YY_FLEX_SUBMINOR_VERSION > 0
33 #define FLEX_BETA
34 #endif
35 
36 /* First, we deal with platform-specific or compiler-specific issues. */
37 
38 /* begin standard C headers. */
39 #include <stdio.h>
40 #include <string.h>
41 #include <errno.h>
42 #include <stdlib.h>
43 
44 /* end standard C headers. */
45 
46 /* flex integer type definitions */
47 
48 #ifndef FLEXINT_H
49 #define FLEXINT_H
50 
51 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
52 
53 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
54 
55 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
56  * if you want the limit (max/min) macros for int types.
57  */
58 #ifndef __STDC_LIMIT_MACROS
59 #define __STDC_LIMIT_MACROS 1
60 #endif
61 
62 #include <inttypes.h>
63 typedef int8_t flex_int8_t;
64 typedef uint8_t flex_uint8_t;
65 typedef int16_t flex_int16_t;
66 typedef uint16_t flex_uint16_t;
67 typedef int32_t flex_int32_t;
68 typedef uint32_t flex_uint32_t;
69 #else
70 typedef signed char flex_int8_t;
71 typedef short int flex_int16_t;
72 typedef int flex_int32_t;
73 typedef unsigned char flex_uint8_t;
74 typedef unsigned short int flex_uint16_t;
75 typedef unsigned int flex_uint32_t;
76 #endif /* ! C99 */
77 
78 /* Limits of integral types. */
79 #ifndef INT8_MIN
80 #define INT8_MIN (-128)
81 #endif
82 #ifndef INT16_MIN
83 #define INT16_MIN (-32767-1)
84 #endif
85 #ifndef INT32_MIN
86 #define INT32_MIN (-2147483647-1)
87 #endif
88 #ifndef INT8_MAX
89 #define INT8_MAX (127)
90 #endif
91 #ifndef INT16_MAX
92 #define INT16_MAX (32767)
93 #endif
94 #ifndef INT32_MAX
95 #define INT32_MAX (2147483647)
96 #endif
97 #ifndef UINT8_MAX
98 #define UINT8_MAX (255U)
99 #endif
100 #ifndef UINT16_MAX
101 #define UINT16_MAX (65535U)
102 #endif
103 #ifndef UINT32_MAX
104 #define UINT32_MAX (4294967295U)
105 #endif
106 
107 #endif /* ! FLEXINT_H */
108 
109 #ifdef __cplusplus
110 
111 /* The "const" storage-class-modifier is valid. */
112 #define YY_USE_CONST
113 
114 #else /* ! __cplusplus */
115 
116 /* C99 requires __STDC__ to be defined as 1. */
117 #if defined (__STDC__)
118 
119 #define YY_USE_CONST
120 
121 #endif /* defined (__STDC__) */
122 #endif /* ! __cplusplus */
123 
124 #ifdef YY_USE_CONST
125 #define yyconst const
126 #else
127 #define yyconst
128 #endif
129 
130 /* Returned upon end-of-file. */
131 #define YY_NULL 0
132 
133 /* Promotes a possibly negative, possibly signed char to an unsigned
134  * integer for use as an array index. If the signed char is negative,
135  * we want to instead treat it as an 8-bit unsigned char, hence the
136  * double cast.
137  */
138 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
139 
140 /* Enter a start condition. This macro really ought to take a parameter,
141  * but we do it the disgusting crufty way forced on us by the ()-less
142  * definition of BEGIN.
143  */
144 #define BEGIN (yy_start) = 1 + 2 *
145 
146 /* Translate the current start state into a value that can be later handed
147  * to BEGIN to return to the state. The YYSTATE alias is for lex
148  * compatibility.
149  */
150 #define YY_START (((yy_start) - 1) / 2)
151 #define YYSTATE YY_START
152 
153 /* Action number for EOF rule of a given start state. */
154 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
155 
156 /* Special action meaning "start processing a new file". */
157 #define YY_NEW_FILE constexpYYrestart(constexpYYin )
158 
159 #define YY_END_OF_BUFFER_CHAR 0
160 
161 /* Size of default input buffer. */
162 #ifndef YY_BUF_SIZE
163 #define YY_BUF_SIZE 16384
164 #endif
165 
166 /* The state buf must be large enough to hold one state per character in the main buffer.
167  */
168 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
169 
170 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
171 #define YY_TYPEDEF_YY_BUFFER_STATE
173 #endif
174 
175 extern int constexpYYleng;
176 
177 extern FILE *constexpYYin, *constexpYYout;
178 
179 #define EOB_ACT_CONTINUE_SCAN 0
180 #define EOB_ACT_END_OF_FILE 1
181 #define EOB_ACT_LAST_MATCH 2
182 
183  #define YY_LESS_LINENO(n)
184 
185 /* Return all but the first "n" matched characters back to the input stream. */
186 #define yyless(n) \
187  do \
188  { \
189  /* Undo effects of setting up constexpYYtext. */ \
190  int yyless_macro_arg = (n); \
191  YY_LESS_LINENO(yyless_macro_arg);\
192  *yy_cp = (yy_hold_char); \
193  YY_RESTORE_YY_MORE_OFFSET \
194  (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
195  YY_DO_BEFORE_ACTION; /* set up constexpYYtext again */ \
196  } \
197  while ( 0 )
198 
199 #define unput(c) yyunput( c, (yytext_ptr) )
200 
201 #ifndef YY_TYPEDEF_YY_SIZE_T
202 #define YY_TYPEDEF_YY_SIZE_T
203 typedef size_t yy_size_t;
204 #endif
205 
206 #ifndef YY_STRUCT_YY_BUFFER_STATE
207 #define YY_STRUCT_YY_BUFFER_STATE
208 struct yy_buffer_state
209  {
210  FILE *yy_input_file;
211 
212  char *yy_ch_buf; /* input buffer */
213  char *yy_buf_pos; /* current position in input buffer */
214 
215  /* Size of input buffer in bytes, not including room for EOB
216  * characters.
217  */
219 
220  /* Number of characters read into yy_ch_buf, not including EOB
221  * characters.
222  */
223  int yy_n_chars;
224 
225  /* Whether we "own" the buffer - i.e., we know we created it,
226  * and can realloc() it to grow it, and should free() it to
227  * delete it.
228  */
229  int yy_is_our_buffer;
230 
231  /* Whether this is an "interactive" input source; if so, and
232  * if we're using stdio for input, then we want to use getc()
233  * instead of fread(), to make sure we stop fetching input after
234  * each newline.
235  */
236  int yy_is_interactive;
237 
238  /* Whether we're considered to be at the beginning of a line.
239  * If so, '^' rules will be active on the next match, otherwise
240  * not.
241  */
242  int yy_at_bol;
243 
244  int yy_bs_lineno; /**< The line count. */
245  int yy_bs_column; /**< The column count. */
246 
247  /* Whether to try to fill the input buffer when we reach the
248  * end of it.
249  */
250  int yy_fill_buffer;
251 
252  int yy_buffer_status;
253 
254 #define YY_BUFFER_NEW 0
255 #define YY_BUFFER_NORMAL 1
256  /* When an EOF's been seen but there's still some text to process
257  * then we mark the buffer as YY_EOF_PENDING, to indicate that we
258  * shouldn't try reading from the input source any more. We might
259  * still have a bunch of tokens to match, though, because of
260  * possible backing-up.
261  *
262  * When we actually see the EOF, we change the status to "new"
263  * (via constexpYYrestart()), so that the user can continue scanning by
264  * just pointing constexpYYin at a new input file.
265  */
266 #define YY_BUFFER_EOF_PENDING 2
267 
268  };
269 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
270 
271 /* Stack of input buffers. */
272 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
273 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
274 static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
275 
276 /* We provide macros for accessing buffer states in case in the
277  * future we want to put the buffer states in a more general
278  * "scanner state".
279  *
280  * Returns the top of the stack, or NULL.
281  */
282 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
283  ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
284  : NULL)
285 
286 /* Same as previous macro, but useful when we know that the buffer stack is not
287  * NULL or when we need an lvalue. For internal use only.
288  */
289 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
290 
291 /* yy_hold_char holds the character lost when constexpYYtext is formed. */
292 static char yy_hold_char;
293 static int yy_n_chars; /* number of characters read into yy_ch_buf */
295 
296 /* Points to current character in buffer. */
297 static char *yy_c_buf_p = (char *) 0;
298 static int yy_init = 0; /* whether we need to initialize */
299 static int yy_start = 0; /* start state number */
300 
301 /* Flag which is used to allow constexpYYwrap()'s to do buffer switches
302  * instead of setting up a fresh constexpYYin. A bit of a hack ...
303  */
305 
306 void constexpYYrestart (FILE *input_file );
307 void constexpYY_switch_to_buffer (YY_BUFFER_STATE new_buffer );
308 YY_BUFFER_STATE constexpYY_create_buffer (FILE *file,int size );
309 void constexpYY_delete_buffer (YY_BUFFER_STATE b );
310 void constexpYY_flush_buffer (YY_BUFFER_STATE b );
311 void constexpYYpush_buffer_state (YY_BUFFER_STATE new_buffer );
312 void constexpYYpop_buffer_state (void );
313 
314 static void constexpYYensure_buffer_stack (void );
315 static void constexpYY_load_buffer_state (void );
316 static void constexpYY_init_buffer (YY_BUFFER_STATE b,FILE *file );
317 
318 #define YY_FLUSH_BUFFER constexpYY_flush_buffer(YY_CURRENT_BUFFER )
319 
320 YY_BUFFER_STATE constexpYY_scan_buffer (char *base,yy_size_t size );
321 YY_BUFFER_STATE constexpYY_scan_string (yyconst char *yy_str );
322 YY_BUFFER_STATE constexpYY_scan_bytes (yyconst char *bytes,int len );
323 
324 void *constexpYYalloc (yy_size_t );
325 void *constexpYYrealloc (void *,yy_size_t );
326 void constexpYYfree (void * );
327 
328 #define yy_new_buffer constexpYY_create_buffer
329 
330 #define yy_set_interactive(is_interactive) \
331  { \
332  if ( ! YY_CURRENT_BUFFER ){ \
333  constexpYYensure_buffer_stack (); \
334  YY_CURRENT_BUFFER_LVALUE = \
335  constexpYY_create_buffer(constexpYYin,YY_BUF_SIZE ); \
336  } \
337  YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
338  }
339 
340 #define yy_set_bol(at_bol) \
341  { \
342  if ( ! YY_CURRENT_BUFFER ){\
343  constexpYYensure_buffer_stack (); \
344  YY_CURRENT_BUFFER_LVALUE = \
345  constexpYY_create_buffer(constexpYYin,YY_BUF_SIZE ); \
346  } \
347  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
348  }
349 
350 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
351 
352 /* Begin user sect3 */
353 
354 typedef unsigned char YY_CHAR;
355 
356 FILE *constexpYYin = (FILE *) 0, *constexpYYout = (FILE *) 0;
357 
358 typedef int yy_state_type;
359 
360 extern int constexpYYlineno;
361 
362 int constexpYYlineno = 1;
363 
364 extern char *constexpYYtext;
365 #define yytext_ptr constexpYYtext
366 
367 static yy_state_type yy_get_previous_state (void );
368 static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
369 static int yy_get_next_buffer (void );
370 static void yy_fatal_error (yyconst char msg[] );
371 
372 /* Done after the current pattern has been matched and before the
373  * corresponding action - sets up constexpYYtext.
374  */
375 #define YY_DO_BEFORE_ACTION \
376  (yytext_ptr) = yy_bp; \
377  constexpYYleng = (size_t) (yy_cp - yy_bp); \
378  (yy_hold_char) = *yy_cp; \
379  *yy_cp = '\0'; \
380  (yy_c_buf_p) = yy_cp;
381 
382 #define YY_NUM_RULES 33
383 #define YY_END_OF_BUFFER 34
384 /* This struct is not used in this scanner,
385  but its presence is necessary. */
386 struct yy_trans_info
387  {
388  flex_int32_t yy_verify;
390  };
392  { 0,
393  0, 0, 34, 31, 32, 22, 20, 7, 31, 23,
394  24, 18, 16, 17, 31, 19, 26, 27, 2, 10,
395  31, 11, 1, 6, 5, 21, 8, 4, 0, 0,
396  29, 29, 26, 0, 0, 26, 26, 0, 27, 27,
397  27, 14, 12, 9, 13, 15, 3, 25, 0, 0,
398  0, 0, 29, 29, 0, 30, 26, 26, 26, 28,
399  27, 27, 27, 0, 0, 29, 30, 26, 28, 28,
400  27, 28, 28, 28, 28, 0
401  } ;
402 
404  { 0,
405  1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
406  1, 1, 3, 1, 1, 1, 1, 1, 1, 1,
407  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
408  1, 1, 4, 5, 1, 1, 6, 7, 8, 9,
409  10, 11, 12, 1, 13, 14, 15, 16, 17, 17,
410  17, 17, 17, 17, 17, 18, 18, 19, 1, 20,
411  21, 22, 23, 1, 24, 24, 24, 24, 25, 26,
412  1, 1, 1, 1, 1, 27, 1, 1, 1, 1,
413  1, 1, 1, 1, 28, 1, 1, 29, 1, 1,
414  1, 30, 1, 31, 1, 1, 32, 32, 24, 24,
415 
416  25, 33, 1, 1, 1, 1, 1, 27, 1, 5,
417  1, 1, 1, 5, 1, 5, 28, 5, 1, 34,
418  1, 1, 1, 35, 1, 36, 1, 1, 1, 1,
419  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
420  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
421  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
422  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
423  1, 1, 1, 1, 1, 1, 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 
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  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
432  1, 1, 1, 1, 1
433  } ;
434 
436  { 0,
437  1, 2, 2, 1, 1, 1, 1, 2, 1, 1,
438  1, 1, 1, 1, 1, 3, 3, 3, 1, 1,
439  1, 1, 1, 3, 3, 3, 1, 1, 1, 1,
440  1, 3, 3, 1, 1, 1
441  } ;
442 
444  { 0,
445  0, 0, 145, 163, 163, 119, 163, 132, 108, 163,
446  163, 163, 163, 163, 21, 163, 26, 47, 163, 25,
447  116, 26, 163, 163, 101, 163, 163, 163, 41, 71,
448  90, 40, 33, 52, 68, 55, 106, 0, 0, 63,
449  105, 163, 163, 163, 163, 163, 163, 163, 123, 94,
450  0, 80, 163, 0, 102, 108, 102, 163, 82, 86,
451  71, 163, 68, 70, 111, 126, 163, 163, 94, 46,
452  163, 31, 163, 25, 163, 163, 159, 47, 38
453  } ;
454 
456  { 0,
457  76, 1, 76, 76, 76, 76, 76, 76, 77, 76,
458  76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
459  76, 76, 76, 76, 76, 76, 76, 76, 77, 76,
460  76, 31, 17, 76, 76, 76, 76, 78, 18, 76,
461  76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
462  79, 76, 76, 32, 76, 76, 76, 76, 76, 78,
463  76, 76, 76, 79, 76, 76, 76, 76, 76, 76,
464  76, 76, 76, 76, 76, 0, 76, 76, 76
465  } ;
466 
468  { 0,
469  4, 5, 4, 6, 4, 7, 8, 9, 10, 11,
470  12, 13, 14, 15, 16, 17, 18, 18, 19, 20,
471  21, 22, 23, 4, 4, 4, 4, 4, 4, 4,
472  24, 4, 4, 4, 25, 26, 31, 31, 31, 32,
473  64, 33, 33, 34, 42, 43, 45, 46, 48, 60,
474  35, 75, 36, 37, 38, 54, 54, 54, 73, 38,
475  32, 76, 39, 39, 39, 32, 76, 34, 34, 34,
476  76, 35, 74, 40, 41, 49, 35, 48, 49, 55,
477  55, 57, 58, 56, 56, 56, 50, 50, 50, 61,
478  62, 65, 65, 49, 71, 66, 66, 66, 62, 51,
479 
480  49, 48, 49, 49, 51, 31, 31, 31, 68, 50,
481  50, 50, 69, 70, 52, 53, 53, 56, 56, 56,
482  72, 73, 53, 56, 56, 56, 66, 66, 66, 58,
483  48, 63, 59, 67, 67, 47, 44, 30, 28, 27,
484  67, 66, 66, 66, 76, 76, 76, 76, 76, 76,
485  76, 53, 53, 76, 76, 76, 76, 76, 53, 29,
486  76, 29, 3, 76, 76, 76, 76, 76, 76, 76,
487  76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
488  76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
489  76, 76, 76, 76, 76, 76, 76, 76, 76
490 
491  } ;
492 
494  { 0,
495  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
496  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
497  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
498  1, 1, 1, 1, 1, 1, 15, 15, 15, 17,
499  79, 17, 17, 17, 20, 20, 22, 22, 29, 78,
500  17, 74, 17, 17, 17, 32, 32, 32, 72, 17,
501  18, 33, 18, 18, 18, 34, 33, 34, 34, 34,
502  29, 18, 70, 18, 18, 30, 34, 64, 30, 35,
503  35, 36, 36, 35, 35, 35, 30, 30, 30, 40,
504  40, 52, 52, 30, 63, 52, 52, 52, 61, 30,
505 
506  30, 50, 30, 30, 30, 31, 31, 31, 59, 50,
507  50, 50, 60, 60, 31, 31, 31, 55, 55, 55,
508  69, 69, 31, 56, 56, 56, 65, 65, 65, 57,
509  49, 41, 37, 56, 56, 25, 21, 9, 8, 6,
510  56, 66, 66, 66, 3, 0, 0, 0, 0, 0,
511  0, 66, 66, 0, 0, 0, 0, 0, 66, 77,
512  0, 77, 76, 76, 76, 76, 76, 76, 76, 76,
513  76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
514  76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
515  76, 76, 76, 76, 76, 76, 76, 76, 76
516 
517  } ;
518 
519 static yy_state_type yy_last_accepting_state;
521 
522 extern int constexpYY_flex_debug;
523 int constexpYY_flex_debug = 0;
524 
525 /* The intent behind this definition is that it'll catch
526  * any uses of REJECT which flex missed.
527  */
528 #define REJECT reject_used_but_not_detected
529 #define yymore() yymore_used_but_not_detected
530 #define YY_MORE_ADJ 0
531 #define YY_RESTORE_YY_MORE_OFFSET
533 #line 1 "constexp.l"
534 /******************************************************************************
535  *
536  *
537  *
538  *
539  * Copyright (C) 1997-2015 by Dimitri van Heesch.
540  *
541  * Permission to use, copy, modify, and distribute this software and its
542  * documentation under the terms of the GNU General Public License is hereby
543  * granted. No representations are made about the suitability of this software
544  * for any purpose. It is provided "as is" without express or implied warranty.
545  * See the GNU General Public License for more details.
546  *
547  * Documents produced by Doxygen are derivative works derived from the
548  * input used in their production; they are not affected by this license.
549  *
550  */
551 #line 20 "constexp.l"
552 
553 #include "constexp.h"
554 #include "cppvalue.h"
555 #include "ce_parse.h" // generated header file
556 #include "message.h"
557 
558 #define YY_NO_INPUT 1
559 #define YY_NO_UNISTD_H 1
560 
565 
566 static const char *g_inputString;
567 static int g_inputPosition;
568 
569 #undef YY_INPUT
570 #define YY_INPUT(buf,result,max_size) result=yyread(buf,max_size);
571 
572 static int yyread(char *buf,int max_size)
573 {
574  int c=0;
575  while( c < max_size && g_inputString[g_inputPosition] )
576  {
577  *buf = g_inputString[g_inputPosition++] ;
578  c++; buf++;
579  }
580  return c;
581 }
582 
583 #line 584 "/nova/app/home/novasoft/doxygen/doxygen-1.8.11/build/generated_src/constexp.cpp"
584 
585 #define INITIAL 0
586 
587 #ifndef YY_NO_UNISTD_H
588 /* Special case for "unistd.h", since it is non-ANSI. We include it way
589  * down here because we want the user's section 1 to have been scanned first.
590  * The user has a chance to override it with an option.
591  */
592 #include <unistd.h>
593 #endif
594 
595 #ifndef YY_EXTRA_TYPE
596 #define YY_EXTRA_TYPE void *
597 #endif
598 
599 static int yy_init_globals (void );
600 
601 /* Accessor methods to globals.
602  These are made visible to non-reentrant scanners for convenience. */
603 
604 int constexpYYlex_destroy (void );
605 
606 int constexpYYget_debug (void );
607 
608 void constexpYYset_debug (int debug_flag );
609 
611 
612 void constexpYYset_extra (YY_EXTRA_TYPE user_defined );
613 
614 FILE *constexpYYget_in (void );
615 
616 void constexpYYset_in (FILE * in_str );
617 
618 FILE *constexpYYget_out (void );
619 
620 void constexpYYset_out (FILE * out_str );
621 
622 int constexpYYget_leng (void );
623 
624 char *constexpYYget_text (void );
625 
626 int constexpYYget_lineno (void );
627 
628 void constexpYYset_lineno (int line_number );
629 
630 /* Macros after this point can all be overridden by user definitions in
631  * section 1.
632  */
633 
634 #ifndef YY_SKIP_YYWRAP
635 #ifdef __cplusplus
636 extern "C" int constexpYYwrap (void );
637 #else
638 extern int constexpYYwrap (void );
639 #endif
640 #endif
641 
642 #ifndef yytext_ptr
643 static void yy_flex_strncpy (char *,yyconst char *,int );
644 #endif
645 
646 #ifdef YY_NEED_STRLEN
647 static int yy_flex_strlen (yyconst char * );
648 #endif
649 
650 #ifndef YY_NO_INPUT
651 
652 #ifdef __cplusplus
653 static int yyinput (void );
654 #else
655 static int input (void );
656 #endif
657 
658 #endif
659 
660 /* Amount of stuff to slurp up with each read. */
661 #ifndef YY_READ_BUF_SIZE
662 #define YY_READ_BUF_SIZE 8192
663 #endif
664 
665 /* Copy whatever the last rule matched to the standard output. */
666 #ifndef ECHO
667 /* This used to be an fputs(), but since the string might contain NUL's,
668  * we now use fwrite().
669  */
670 #define ECHO do { if (fwrite( constexpYYtext, constexpYYleng, 1, constexpYYout )) {} } while (0)
671 #endif
672 
673 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
674  * is returned in "result".
675  */
676 #ifndef YY_INPUT
677 #define YY_INPUT(buf,result,max_size) \
678  if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
679  { \
680  int c = '*'; \
681  unsigned n; \
682  for ( n = 0; n < max_size && \
683  (c = getc( constexpYYin )) != EOF && c != '\n'; ++n ) \
684  buf[n] = (char) c; \
685  if ( c == '\n' ) \
686  buf[n++] = (char) c; \
687  if ( c == EOF && ferror( constexpYYin ) ) \
688  YY_FATAL_ERROR( "input in flex scanner failed" ); \
689  result = n; \
690  } \
691  else \
692  { \
693  errno=0; \
694  while ( (result = fread(buf, 1, max_size, constexpYYin))==0 && ferror(constexpYYin)) \
695  { \
696  if( errno != EINTR) \
697  { \
698  YY_FATAL_ERROR( "input in flex scanner failed" ); \
699  break; \
700  } \
701  errno=0; \
702  clearerr(constexpYYin); \
703  } \
704  }\
705 \
706 
707 #endif
708 
709 /* No semi-colon after return; correct usage is to write "yyterminate();" -
710  * we don't want an extra ';' after the "return" because that will cause
711  * some compilers to complain about unreachable statements.
712  */
713 #ifndef yyterminate
714 #define yyterminate() return YY_NULL
715 #endif
716 
717 /* Number of entries by which start-condition stack grows. */
718 #ifndef YY_START_STACK_INCR
719 #define YY_START_STACK_INCR 25
720 #endif
721 
722 /* Report a fatal error. */
723 #ifndef YY_FATAL_ERROR
724 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
725 #endif
726 
727 /* end tables serialization structures and prototypes */
728 
729 /* Default declaration of generated scanner - a define so the user can
730  * easily add parameters.
731  */
732 #ifndef YY_DECL
733 #define YY_DECL_IS_OURS 1
734 
735 extern int constexpYYlex (void);
736 
737 #define YY_DECL int constexpYYlex (void)
738 #endif /* !YY_DECL */
739 
740 /* Code executed at the beginning of each rule, after constexpYYtext and constexpYYleng
741  * have been set up.
742  */
743 #ifndef YY_USER_ACTION
744 #define YY_USER_ACTION
745 #endif
746 
747 /* Code executed at the end of each rule. */
748 #ifndef YY_BREAK
749 #define YY_BREAK break;
750 #endif
751 
752 #define YY_RULE_SETUP \
753  YY_USER_ACTION
754 
755 /** The main scanner function which does all the work.
756  */
757 YY_DECL
758 {
759  register yy_state_type yy_current_state;
760  register char *yy_cp, *yy_bp;
761  register int yy_act;
762 
763 #line 57 "constexp.l"
764 
765 
766 #line 767 "/nova/app/home/novasoft/doxygen/doxygen-1.8.11/build/generated_src/constexp.cpp"
767 
768  if ( !(yy_init) )
769  {
770  (yy_init) = 1;
771 
772 #ifdef YY_USER_INIT
773  YY_USER_INIT;
774 #endif
775 
776  if ( ! (yy_start) )
777  (yy_start) = 1; /* first start state */
778 
779  if ( ! constexpYYin )
780  constexpYYin = stdin;
781 
782  if ( ! constexpYYout )
784 
785  if ( ! YY_CURRENT_BUFFER ) {
789  }
790 
792  }
793 
794  while ( 1 ) /* loops until end-of-file is reached */
795  {
796  yy_cp = (yy_c_buf_p);
797 
798  /* Support of constexpYYtext. */
799  *yy_cp = (yy_hold_char);
800 
801  /* yy_bp points to the position in yy_ch_buf of the start of
802  * the current run.
803  */
804  yy_bp = yy_cp;
805 
806  yy_current_state = (yy_start);
807 yy_match:
808  do
809  {
810  register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
811  if ( yy_accept[yy_current_state] )
812  {
813  (yy_last_accepting_state) = yy_current_state;
814  (yy_last_accepting_cpos) = yy_cp;
815  }
816  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
817  {
818  yy_current_state = (int) yy_def[yy_current_state];
819  if ( yy_current_state >= 77 )
820  yy_c = yy_meta[(unsigned int) yy_c];
821  }
822  yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
823  ++yy_cp;
824  }
825  while ( yy_current_state != 76 );
826  yy_cp = (yy_last_accepting_cpos);
827  yy_current_state = (yy_last_accepting_state);
828 
829 yy_find_action:
830  yy_act = yy_accept[yy_current_state];
831 
833 
834 do_action: /* This label is used only to access EOF actions. */
835 
836  switch ( yy_act )
837  { /* beginning of action switch */
838  case 0: /* must back up */
839  /* undo the effects of YY_DO_BEFORE_ACTION */
840  *yy_cp = (yy_hold_char);
841  yy_cp = (yy_last_accepting_cpos);
842  yy_current_state = (yy_last_accepting_state);
843  goto yy_find_action;
844 
845 case 1:
847 #line 59 "constexp.l"
848 { return TOK_QUESTIONMARK; }
849  YY_BREAK
850 case 2:
852 #line 60 "constexp.l"
853 { return TOK_COLON; }
854  YY_BREAK
855 case 3:
857 #line 61 "constexp.l"
858 { return TOK_OR; }
859  YY_BREAK
860 case 4:
862 #line 62 "constexp.l"
863 { return TOK_AND; }
864  YY_BREAK
865 case 5:
867 #line 63 "constexp.l"
868 { return TOK_BITWISEOR; }
869  YY_BREAK
870 case 6:
872 #line 64 "constexp.l"
873 { return TOK_BITWISEXOR; }
874  YY_BREAK
875 case 7:
877 #line 65 "constexp.l"
878 { return TOK_AMPERSAND; }
879  YY_BREAK
880 case 8:
882 #line 66 "constexp.l"
883 { return TOK_NOTEQUAL; }
884  YY_BREAK
885 case 9:
887 #line 67 "constexp.l"
888 { return TOK_EQUAL; }
889  YY_BREAK
890 case 10:
892 #line 68 "constexp.l"
893 { return TOK_LESSTHAN; }
894  YY_BREAK
895 case 11:
897 #line 69 "constexp.l"
898 { return TOK_GREATERTHAN; }
899  YY_BREAK
900 case 12:
902 #line 70 "constexp.l"
903 { return TOK_LESSTHANOREQUALTO; }
904  YY_BREAK
905 case 13:
907 #line 71 "constexp.l"
908 { return TOK_GREATERTHANOREQUALTO; }
909  YY_BREAK
910 case 14:
912 #line 72 "constexp.l"
913 { return TOK_SHIFTLEFT; }
914  YY_BREAK
915 case 15:
917 #line 73 "constexp.l"
918 { return TOK_SHIFTRIGHT; }
919  YY_BREAK
920 case 16:
922 #line 74 "constexp.l"
923 { return TOK_PLUS; }
924  YY_BREAK
925 case 17:
927 #line 75 "constexp.l"
928 { return TOK_MINUS; }
929  YY_BREAK
930 case 18:
932 #line 76 "constexp.l"
933 { return TOK_STAR; }
934  YY_BREAK
935 case 19:
937 #line 77 "constexp.l"
938 { return TOK_DIVIDE; }
939  YY_BREAK
940 case 20:
942 #line 78 "constexp.l"
943 { return TOK_MOD; }
944  YY_BREAK
945 case 21:
947 #line 79 "constexp.l"
948 { return TOK_TILDE; }
949  YY_BREAK
950 case 22:
952 #line 80 "constexp.l"
953 { return TOK_NOT; }
954  YY_BREAK
955 case 23:
957 #line 81 "constexp.l"
958 { return TOK_LPAREN; }
959  YY_BREAK
960 case 24:
962 #line 82 "constexp.l"
963 { return TOK_RPAREN; }
964  YY_BREAK
965 case 25:
967 #line 83 "constexp.l"
968 {
969  g_strToken=constexpYYtext;
970  return TOK_CHARACTER;
971  }
972  YY_BREAK
973 case 26:
975 #line 87 "constexp.l"
976 { g_strToken=constexpYYtext;
977  return TOK_OCTALINT;
978  }
979  YY_BREAK
980 case 27:
982 #line 90 "constexp.l"
983 { g_strToken=constexpYYtext;
984  return TOK_DECIMALINT;
985  }
986  YY_BREAK
987 case 28:
989 #line 93 "constexp.l"
990 { g_strToken=constexpYYtext+2;
991  return TOK_HEXADECIMALINT;
992  }
993  YY_BREAK
994 case 29:
996 #line 96 "constexp.l"
997 {
998  g_strToken=constexpYYtext; return TOK_FLOAT;
999  }
1000  YY_BREAK
1001 case 30:
1003 #line 99 "constexp.l"
1004 {
1005  g_strToken=constexpYYtext; return TOK_FLOAT;
1006  }
1007  YY_BREAK
1008 case 31:
1010 #line 102 "constexp.l"
1011 
1012  YY_BREAK
1013 case 32:
1014 /* rule 32 can match eol */
1016 #line 103 "constexp.l"
1017 
1018  YY_BREAK
1019 case 33:
1021 #line 105 "constexp.l"
1022 ECHO;
1023  YY_BREAK
1024 #line 1025 "/nova/app/home/novasoft/doxygen/doxygen-1.8.11/build/generated_src/constexp.cpp"
1025 case YY_STATE_EOF(INITIAL):
1026  yyterminate();
1027 
1028  case YY_END_OF_BUFFER:
1029  {
1030  /* Amount of text matched not including the EOB char. */
1031  int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
1032 
1033  /* Undo the effects of YY_DO_BEFORE_ACTION. */
1034  *yy_cp = (yy_hold_char);
1036 
1037  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
1038  {
1039  /* We're scanning a new file or input source. It's
1040  * possible that this happened because the user
1041  * just pointed constexpYYin at a new source and called
1042  * constexpYYlex(). If so, then we have to assure
1043  * consistency between YY_CURRENT_BUFFER and our
1044  * globals. Here is the right place to do so, because
1045  * this is the first action (other than possibly a
1046  * back-up) that will match for the new input source.
1047  */
1048  (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
1049  YY_CURRENT_BUFFER_LVALUE->yy_input_file = constexpYYin;
1050  YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
1051  }
1052 
1053  /* Note that here we test for yy_c_buf_p "<=" to the position
1054  * of the first EOB in the buffer, since yy_c_buf_p will
1055  * already have been incremented past the NUL character
1056  * (since all states make transitions on EOB to the
1057  * end-of-buffer state). Contrast this with the test
1058  * in input().
1059  */
1060  if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
1061  { /* This was really a NUL. */
1062  yy_state_type yy_next_state;
1063 
1064  (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
1065 
1066  yy_current_state = yy_get_previous_state( );
1067 
1068  /* Okay, we're now positioned to make the NUL
1069  * transition. We couldn't have
1070  * yy_get_previous_state() go ahead and do it
1071  * for us because it doesn't know how to deal
1072  * with the possibility of jamming (and we don't
1073  * want to build jamming into it because then it
1074  * will run more slowly).
1075  */
1076 
1077  yy_next_state = yy_try_NUL_trans( yy_current_state );
1078 
1079  yy_bp = (yytext_ptr) + YY_MORE_ADJ;
1080 
1081  if ( yy_next_state )
1082  {
1083  /* Consume the NUL. */
1084  yy_cp = ++(yy_c_buf_p);
1085  yy_current_state = yy_next_state;
1086  goto yy_match;
1087  }
1088 
1089  else
1090  {
1091  yy_cp = (yy_last_accepting_cpos);
1092  yy_current_state = (yy_last_accepting_state);
1093  goto yy_find_action;
1094  }
1095  }
1096 
1097  else switch ( yy_get_next_buffer( ) )
1098  {
1099  case EOB_ACT_END_OF_FILE:
1100  {
1102 
1103  if ( constexpYYwrap( ) )
1104  {
1105  /* Note: because we've taken care in
1106  * yy_get_next_buffer() to have set up
1107  * constexpYYtext, we can now set up
1108  * yy_c_buf_p so that if some total
1109  * hoser (like flex itself) wants to
1110  * call the scanner after we return the
1111  * YY_NULL, it'll still work - another
1112  * YY_NULL will get returned.
1113  */
1115 
1116  yy_act = YY_STATE_EOF(YY_START);
1117  goto do_action;
1118  }
1119 
1120  else
1121  {
1122  if ( ! (yy_did_buffer_switch_on_eof) )
1123  YY_NEW_FILE;
1124  }
1125  break;
1126  }
1127 
1128  case EOB_ACT_CONTINUE_SCAN:
1129  (yy_c_buf_p) =
1130  (yytext_ptr) + yy_amount_of_matched_text;
1131 
1132  yy_current_state = yy_get_previous_state( );
1133 
1134  yy_cp = (yy_c_buf_p);
1135  yy_bp = (yytext_ptr) + YY_MORE_ADJ;
1136  goto yy_match;
1137 
1138  case EOB_ACT_LAST_MATCH:
1139  (yy_c_buf_p) =
1140  &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
1141 
1142  yy_current_state = yy_get_previous_state( );
1143 
1144  yy_cp = (yy_c_buf_p);
1145  yy_bp = (yytext_ptr) + YY_MORE_ADJ;
1146  goto yy_find_action;
1147  }
1148  break;
1149  }
1150 
1151  default:
1153  "fatal flex scanner internal error--no action found" );
1154  } /* end of action switch */
1155  } /* end of scanning one token */
1156 } /* end of constexpYYlex */
1157 
1158 /* yy_get_next_buffer - try to read in a new buffer
1159  *
1160  * Returns a code representing an action:
1161  * EOB_ACT_LAST_MATCH -
1162  * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
1163  * EOB_ACT_END_OF_FILE - end of file
1164  */
1165 static int yy_get_next_buffer (void)
1166 {
1167  register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
1168  register char *source = (yytext_ptr);
1169  register int number_to_move, i;
1170  int ret_val;
1171 
1172  if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
1174  "fatal flex scanner internal error--end of buffer missed" );
1175 
1176  if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
1177  { /* Don't try to fill the buffer, so this is an EOF. */
1178  if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
1179  {
1180  /* We matched a single character, the EOB, so
1181  * treat this as a final EOF.
1182  */
1183  return EOB_ACT_END_OF_FILE;
1184  }
1185 
1186  else
1187  {
1188  /* We matched some text prior to the EOB, first
1189  * process it.
1190  */
1191  return EOB_ACT_LAST_MATCH;
1192  }
1193  }
1194 
1195  /* Try to read more data. */
1196 
1197  /* First move last chars to start of buffer. */
1198  number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
1199 
1200  for ( i = 0; i < number_to_move; ++i )
1201  *(dest++) = *(source++);
1202 
1203  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
1204  /* don't do the read, it's not guaranteed to return an EOF,
1205  * just force an EOF
1206  */
1207  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
1208 
1209  else
1210  {
1211  int num_to_read =
1212  YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
1213 
1214  while ( num_to_read <= 0 )
1215  { /* Not enough room in the buffer - grow it. */
1216 
1217  /* just a shorter name for the current buffer */
1218  YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
1219 
1220  int yy_c_buf_p_offset =
1221  (int) ((yy_c_buf_p) - b->yy_ch_buf);
1222 
1223  if ( b->yy_is_our_buffer )
1224  {
1225  int new_size = b->yy_buf_size * 2;
1226 
1227  if ( new_size <= 0 )
1228  b->yy_buf_size += b->yy_buf_size / 8;
1229  else
1230  b->yy_buf_size *= 2;
1231 
1232  b->yy_ch_buf = (char *)
1233  /* Include room in for 2 EOB chars. */
1234  constexpYYrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
1235  }
1236  else
1237  /* Can't grow it, we don't own it. */
1238  b->yy_ch_buf = 0;
1239 
1240  if ( ! b->yy_ch_buf )
1242  "fatal error - scanner input buffer overflow" );
1243 
1244  (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
1245 
1246  num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
1247  number_to_move - 1;
1248 
1249  }
1250 
1251  if ( num_to_read > YY_READ_BUF_SIZE )
1252  num_to_read = YY_READ_BUF_SIZE;
1253 
1254  /* Read in more data. */
1255  YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
1256  (yy_n_chars), (size_t) num_to_read );
1257 
1258  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
1259  }
1260 
1261  if ( (yy_n_chars) == 0 )
1262  {
1263  if ( number_to_move == YY_MORE_ADJ )
1264  {
1265  ret_val = EOB_ACT_END_OF_FILE;
1267  }
1268 
1269  else
1270  {
1271  ret_val = EOB_ACT_LAST_MATCH;
1272  YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
1274  }
1275  }
1276 
1277  else
1278  ret_val = EOB_ACT_CONTINUE_SCAN;
1279 
1280  if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
1281  /* Extend the array by 50%, plus the number we really need. */
1282  yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
1283  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) constexpYYrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
1284  if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
1285  YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
1286  }
1287 
1288  (yy_n_chars) += number_to_move;
1291 
1292  (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
1293 
1294  return ret_val;
1295 }
1296 
1297 /* yy_get_previous_state - get the state just before the EOB char was reached */
1298 
1299  static yy_state_type yy_get_previous_state (void)
1300 {
1301  register yy_state_type yy_current_state;
1302  register char *yy_cp;
1303 
1304  yy_current_state = (yy_start);
1305 
1306  for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
1307  {
1308  register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
1309  if ( yy_accept[yy_current_state] )
1310  {
1311  (yy_last_accepting_state) = yy_current_state;
1312  (yy_last_accepting_cpos) = yy_cp;
1313  }
1314  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1315  {
1316  yy_current_state = (int) yy_def[yy_current_state];
1317  if ( yy_current_state >= 77 )
1318  yy_c = yy_meta[(unsigned int) yy_c];
1319  }
1320  yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1321  }
1322 
1323  return yy_current_state;
1324 }
1325 
1326 /* yy_try_NUL_trans - try to make a transition on the NUL character
1327  *
1328  * synopsis
1329  * next_state = yy_try_NUL_trans( current_state );
1330  */
1331  static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
1332 {
1333  register int yy_is_jam;
1334  register char *yy_cp = (yy_c_buf_p);
1335 
1336  register YY_CHAR yy_c = 1;
1337  if ( yy_accept[yy_current_state] )
1338  {
1339  (yy_last_accepting_state) = yy_current_state;
1340  (yy_last_accepting_cpos) = yy_cp;
1341  }
1342  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1343  {
1344  yy_current_state = (int) yy_def[yy_current_state];
1345  if ( yy_current_state >= 77 )
1346  yy_c = yy_meta[(unsigned int) yy_c];
1347  }
1348  yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1349  yy_is_jam = (yy_current_state == 76);
1350 
1351  return yy_is_jam ? 0 : yy_current_state;
1352 }
1353 
1354 #ifndef YY_NO_INPUT
1355 #ifdef __cplusplus
1356  static int yyinput (void)
1357 #else
1358  static int input (void)
1359 #endif
1360 
1361 {
1362  int c;
1363 
1364  *(yy_c_buf_p) = (yy_hold_char);
1365 
1366  if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
1367  {
1368  /* yy_c_buf_p now points to the character we want to return.
1369  * If this occurs *before* the EOB characters, then it's a
1370  * valid NUL; if not, then we've hit the end of the buffer.
1371  */
1372  if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
1373  /* This was really a NUL. */
1374  *(yy_c_buf_p) = '\0';
1375 
1376  else
1377  { /* need more input */
1378  int offset = (yy_c_buf_p) - (yytext_ptr);
1379  ++(yy_c_buf_p);
1380 
1381  switch ( yy_get_next_buffer( ) )
1382  {
1383  case EOB_ACT_LAST_MATCH:
1384  /* This happens because yy_g_n_b()
1385  * sees that we've accumulated a
1386  * token and flags that we need to
1387  * try matching the token before
1388  * proceeding. But for input(),
1389  * there's no matching to consider.
1390  * So convert the EOB_ACT_LAST_MATCH
1391  * to EOB_ACT_END_OF_FILE.
1392  */
1393 
1394  /* Reset buffer status. */
1396 
1397  /*FALLTHROUGH*/
1398 
1399  case EOB_ACT_END_OF_FILE:
1400  {
1401  if ( constexpYYwrap( ) )
1402  return EOF;
1403 
1404  if ( ! (yy_did_buffer_switch_on_eof) )
1405  YY_NEW_FILE;
1406 #ifdef __cplusplus
1407  return yyinput();
1408 #else
1409  return input();
1410 #endif
1411  }
1412 
1413  case EOB_ACT_CONTINUE_SCAN:
1414  (yy_c_buf_p) = (yytext_ptr) + offset;
1415  break;
1416  }
1417  }
1418  }
1419 
1420  c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
1421  *(yy_c_buf_p) = '\0'; /* preserve constexpYYtext */
1422  (yy_hold_char) = *++(yy_c_buf_p);
1423 
1424  return c;
1425 }
1426 #endif /* ifndef YY_NO_INPUT */
1427 
1428 /** Immediately switch to a different input stream.
1429  * @param input_file A readable stream.
1430  *
1431  * @note This function does not reset the start condition to @c INITIAL .
1432  */
1434 {
1435 
1436  if ( ! YY_CURRENT_BUFFER ){
1440  }
1441 
1444 }
1445 
1446 /** Switch to a different input buffer.
1447  * @param new_buffer The new input buffer.
1448  *
1449  */
1450  void constexpYY_switch_to_buffer (YY_BUFFER_STATE new_buffer )
1451 {
1452 
1453  /* TODO. We should be able to replace this entire function body
1454  * with
1455  * constexpYYpop_buffer_state();
1456  * constexpYYpush_buffer_state(new_buffer);
1457  */
1459  if ( YY_CURRENT_BUFFER == new_buffer )
1460  return;
1461 
1462  if ( YY_CURRENT_BUFFER )
1463  {
1464  /* Flush out information for old buffer. */
1465  *(yy_c_buf_p) = (yy_hold_char);
1466  YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
1467  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
1468  }
1469 
1470  YY_CURRENT_BUFFER_LVALUE = new_buffer;
1472 
1473  /* We don't actually know whether we did this switch during
1474  * EOF (constexpYYwrap()) processing, but the only time this flag
1475  * is looked at is after constexpYYwrap() is called, so it's safe
1476  * to go ahead and always set it.
1477  */
1479 }
1480 
1482 {
1483  (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
1484  (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
1485  constexpYYin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
1486  (yy_hold_char) = *(yy_c_buf_p);
1487 }
1488 
1489 /** Allocate and initialize an input buffer state.
1490  * @param file A readable stream.
1491  * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
1492  *
1493  * @return the allocated buffer state.
1494  */
1495  YY_BUFFER_STATE constexpYY_create_buffer (FILE * file, int size )
1496 {
1497  YY_BUFFER_STATE b;
1498 
1499  b = (YY_BUFFER_STATE) constexpYYalloc(sizeof( struct yy_buffer_state ) );
1500  if ( ! b )
1501  YY_FATAL_ERROR( "out of dynamic memory in constexpYY_create_buffer()" );
1502 
1503  b->yy_buf_size = size;
1504 
1505  /* yy_ch_buf has to be 2 characters longer than the size given because
1506  * we need to put in 2 end-of-buffer characters.
1507  */
1508  b->yy_ch_buf = (char *) constexpYYalloc(b->yy_buf_size + 2 );
1509  if ( ! b->yy_ch_buf )
1510  YY_FATAL_ERROR( "out of dynamic memory in constexpYY_create_buffer()" );
1511 
1512  b->yy_is_our_buffer = 1;
1513 
1514  constexpYY_init_buffer(b,file );
1515 
1516  return b;
1517 }
1518 
1519 /** Destroy the buffer.
1520  * @param b a buffer created with constexpYY_create_buffer()
1521  *
1522  */
1523  void constexpYY_delete_buffer (YY_BUFFER_STATE b )
1524 {
1525 
1526  if ( ! b )
1527  return;
1528 
1529  if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
1531 
1532  if ( b->yy_is_our_buffer )
1533  constexpYYfree((void *) b->yy_ch_buf );
1534 
1535  constexpYYfree((void *) b );
1536 }
1537 
1538 /* Initializes or reinitializes a buffer.
1539  * This function is sometimes called more than once on the same buffer,
1540  * such as during a constexpYYrestart() or at EOF.
1541  */
1542  static void constexpYY_init_buffer (YY_BUFFER_STATE b, FILE * file )
1543 
1544 {
1545  int oerrno = errno;
1546 
1548 
1549  b->yy_input_file = file;
1550  b->yy_fill_buffer = 1;
1551 
1552  /* If b is the current buffer, then constexpYY_init_buffer was _probably_
1553  * called from constexpYYrestart() or through yy_get_next_buffer.
1554  * In that case, we don't want to reset the lineno or column.
1555  */
1556  if (b != YY_CURRENT_BUFFER){
1557  b->yy_bs_lineno = 1;
1558  b->yy_bs_column = 0;
1559  }
1560 
1561  b->yy_is_interactive = 0;
1562 
1563  errno = oerrno;
1564 }
1565 
1566 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
1567  * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
1568  *
1569  */
1570  void constexpYY_flush_buffer (YY_BUFFER_STATE b )
1571 {
1572  if ( ! b )
1573  return;
1574 
1575  b->yy_n_chars = 0;
1576 
1577  /* We always need two end-of-buffer characters. The first causes
1578  * a transition to the end-of-buffer state. The second causes
1579  * a jam in that state.
1580  */
1583 
1584  b->yy_buf_pos = &b->yy_ch_buf[0];
1585 
1586  b->yy_at_bol = 1;
1588 
1589  if ( b == YY_CURRENT_BUFFER )
1591 }
1592 
1593 /** Pushes the new state onto the stack. The new state becomes
1594  * the current state. This function will allocate the stack
1595  * if necessary.
1596  * @param new_buffer The new state.
1597  *
1598  */
1599 void constexpYYpush_buffer_state (YY_BUFFER_STATE new_buffer )
1600 {
1601  if (new_buffer == NULL)
1602  return;
1603 
1605 
1606  /* This block is copied from constexpYY_switch_to_buffer. */
1607  if ( YY_CURRENT_BUFFER )
1608  {
1609  /* Flush out information for old buffer. */
1610  *(yy_c_buf_p) = (yy_hold_char);
1611  YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
1612  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
1613  }
1614 
1615  /* Only push if top exists. Otherwise, replace top. */
1616  if (YY_CURRENT_BUFFER)
1617  (yy_buffer_stack_top)++;
1618  YY_CURRENT_BUFFER_LVALUE = new_buffer;
1619 
1620  /* copied from constexpYY_switch_to_buffer. */
1623 }
1624 
1625 /** Removes and deletes the top of the stack, if present.
1626  * The next element becomes the new top.
1627  *
1628  */
1630 {
1631  if (!YY_CURRENT_BUFFER)
1632  return;
1633 
1635  YY_CURRENT_BUFFER_LVALUE = NULL;
1636  if ((yy_buffer_stack_top) > 0)
1637  --(yy_buffer_stack_top);
1638 
1639  if (YY_CURRENT_BUFFER) {
1642  }
1643 }
1644 
1645 /* Allocates the stack if it does not exist.
1646  * Guarantees space for at least one push.
1647  */
1649 {
1650  int num_to_alloc;
1651 
1652  if (!(yy_buffer_stack)) {
1653 
1654  /* First allocation is just for 2 elements, since we don't know if this
1655  * scanner will even need a stack. We use 2 instead of 1 to avoid an
1656  * immediate realloc on the next call.
1657  */
1658  num_to_alloc = 1;
1660  (num_to_alloc * sizeof(struct yy_buffer_state*)
1661  );
1662  if ( ! (yy_buffer_stack) )
1663  YY_FATAL_ERROR( "out of dynamic memory in constexpYYensure_buffer_stack()" );
1664 
1665  memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
1666 
1667  (yy_buffer_stack_max) = num_to_alloc;
1668  (yy_buffer_stack_top) = 0;
1669  return;
1670  }
1671 
1672  if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
1673 
1674  /* Increase the buffer to prepare for a possible push. */
1675  int grow_size = 8 /* arbitrary grow size */;
1676 
1677  num_to_alloc = (yy_buffer_stack_max) + grow_size;
1679  ((yy_buffer_stack),
1680  num_to_alloc * sizeof(struct yy_buffer_state*)
1681  );
1682  if ( ! (yy_buffer_stack) )
1683  YY_FATAL_ERROR( "out of dynamic memory in constexpYYensure_buffer_stack()" );
1684 
1685  /* zero only the new slots.*/
1686  memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
1687  (yy_buffer_stack_max) = num_to_alloc;
1688  }
1689 }
1690 
1691 /** Setup the input buffer state to scan directly from a user-specified character buffer.
1692  * @param base the character buffer
1693  * @param size the size in bytes of the character buffer
1694  *
1695  * @return the newly allocated buffer state object.
1696  */
1697 YY_BUFFER_STATE constexpYY_scan_buffer (char * base, yy_size_t size )
1698 {
1699  YY_BUFFER_STATE b;
1700 
1701  if ( size < 2 ||
1702  base[size-2] != YY_END_OF_BUFFER_CHAR ||
1703  base[size-1] != YY_END_OF_BUFFER_CHAR )
1704  /* They forgot to leave room for the EOB's. */
1705  return 0;
1706 
1707  b = (YY_BUFFER_STATE) constexpYYalloc(sizeof( struct yy_buffer_state ) );
1708  if ( ! b )
1709  YY_FATAL_ERROR( "out of dynamic memory in constexpYY_scan_buffer()" );
1710 
1711  b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
1712  b->yy_buf_pos = b->yy_ch_buf = base;
1713  b->yy_is_our_buffer = 0;
1714  b->yy_input_file = 0;
1715  b->yy_n_chars = b->yy_buf_size;
1716  b->yy_is_interactive = 0;
1717  b->yy_at_bol = 1;
1718  b->yy_fill_buffer = 0;
1720 
1722 
1723  return b;
1724 }
1725 
1726 /** Setup the input buffer state to scan a string. The next call to constexpYYlex() will
1727  * scan from a @e copy of @a str.
1728  * @param yystr a NUL-terminated string to scan
1729  *
1730  * @return the newly allocated buffer state object.
1731  * @note If you want to scan bytes that may contain NUL values, then use
1732  * constexpYY_scan_bytes() instead.
1733  */
1734 YY_BUFFER_STATE constexpYY_scan_string (yyconst char * yystr )
1735 {
1736 
1737  return constexpYY_scan_bytes(yystr,strlen(yystr) );
1738 }
1739 
1740 /** Setup the input buffer state to scan the given bytes. The next call to constexpYYlex() will
1741  * scan from a @e copy of @a bytes.
1742  * @param bytes the byte buffer to scan
1743  * @param len the number of bytes in the buffer pointed to by @a bytes.
1744  *
1745  * @return the newly allocated buffer state object.
1746  */
1747 YY_BUFFER_STATE constexpYY_scan_bytes (yyconst char * yybytes, int _yybytes_len )
1748 {
1749  YY_BUFFER_STATE b;
1750  char *buf;
1751  yy_size_t n;
1752  int i;
1753 
1754  /* Get memory for full buffer, including space for trailing EOB's. */
1755  n = _yybytes_len + 2;
1756  buf = (char *) constexpYYalloc(n );
1757  if ( ! buf )
1758  YY_FATAL_ERROR( "out of dynamic memory in constexpYY_scan_bytes()" );
1759 
1760  for ( i = 0; i < _yybytes_len; ++i )
1761  buf[i] = yybytes[i];
1762 
1763  buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
1764 
1765  b = constexpYY_scan_buffer(buf,n );
1766  if ( ! b )
1767  YY_FATAL_ERROR( "bad buffer in constexpYY_scan_bytes()" );
1768 
1769  /* It's okay to grow etc. this buffer, and we should throw it
1770  * away when we're done.
1771  */
1772  b->yy_is_our_buffer = 1;
1773 
1774  return b;
1775 }
1776 
1777 #ifndef YY_EXIT_FAILURE
1778 #define YY_EXIT_FAILURE 2
1779 #endif
1780 
1781 static void yy_fatal_error (yyconst char* msg )
1782 {
1783  (void) fprintf( stderr, "%s\n", msg );
1784  exit( YY_EXIT_FAILURE );
1785 }
1786 
1787 /* Redefine yyless() so it works in section 3 code. */
1788 
1789 #undef yyless
1790 #define yyless(n) \
1791  do \
1792  { \
1793  /* Undo effects of setting up constexpYYtext. */ \
1794  int yyless_macro_arg = (n); \
1795  YY_LESS_LINENO(yyless_macro_arg);\
1796  constexpYYtext[constexpYYleng] = (yy_hold_char); \
1797  (yy_c_buf_p) = constexpYYtext + yyless_macro_arg; \
1798  (yy_hold_char) = *(yy_c_buf_p); \
1799  *(yy_c_buf_p) = '\0'; \
1800  constexpYYleng = yyless_macro_arg; \
1801  } \
1802  while ( 0 )
1803 
1804 /* Accessor methods (get/set functions) to struct members. */
1805 
1806 /** Get the current line number.
1807  *
1808  */
1810 {
1811 
1812  return constexpYYlineno;
1813 }
1814 
1815 /** Get the input stream.
1816  *
1817  */
1818 FILE *constexpYYget_in (void)
1819 {
1820  return constexpYYin;
1821 }
1822 
1823 /** Get the output stream.
1824  *
1825  */
1826 FILE *constexpYYget_out (void)
1827 {
1828  return constexpYYout;
1829 }
1830 
1831 /** Get the length of the current token.
1832  *
1833  */
1835 {
1836  return constexpYYleng;
1837 }
1838 
1839 /** Get the current token.
1840  *
1841  */
1842 
1844 {
1845  return constexpYYtext;
1846 }
1847 
1848 /** Set the current line number.
1849  * @param line_number
1850  *
1851  */
1852 void constexpYYset_lineno (int line_number )
1853 {
1854 
1855  constexpYYlineno = line_number;
1856 }
1857 
1858 /** Set the input stream. This does not discard the current
1859  * input buffer.
1860  * @param in_str A readable stream.
1861  *
1862  * @see constexpYY_switch_to_buffer
1863  */
1864 void constexpYYset_in (FILE * in_str )
1865 {
1866  constexpYYin = in_str ;
1867 }
1868 
1869 void constexpYYset_out (FILE * out_str )
1870 {
1871  constexpYYout = out_str ;
1872 }
1873 
1875 {
1876  return constexpYY_flex_debug;
1877 }
1878 
1879 void constexpYYset_debug (int bdebug )
1880 {
1881  constexpYY_flex_debug = bdebug ;
1882 }
1883 
1884 static int yy_init_globals (void)
1885 {
1886  /* Initialization is the same as for the non-reentrant scanner.
1887  * This function is called from constexpYYlex_destroy(), so don't allocate here.
1888  */
1889 
1890  (yy_buffer_stack) = 0;
1891  (yy_buffer_stack_top) = 0;
1892  (yy_buffer_stack_max) = 0;
1893  (yy_c_buf_p) = (char *) 0;
1894  (yy_init) = 0;
1895  (yy_start) = 0;
1896 
1897 /* Defined in main.c */
1898 #ifdef YY_STDINIT
1899  constexpYYin = stdin;
1901 #else
1902  constexpYYin = (FILE *) 0;
1903  constexpYYout = (FILE *) 0;
1904 #endif
1905 
1906  /* For future reference: Set errno on error, since we are called by
1907  * constexpYYlex_init()
1908  */
1909  return 0;
1910 }
1911 
1912 /* constexpYYlex_destroy is for both reentrant and non-reentrant scanners. */
1914 {
1915 
1916  /* Pop the buffer stack, destroying each element. */
1917  while(YY_CURRENT_BUFFER){
1919  YY_CURRENT_BUFFER_LVALUE = NULL;
1921  }
1922 
1923  /* Destroy the stack itself. */
1924  constexpYYfree((yy_buffer_stack) );
1925  (yy_buffer_stack) = NULL;
1926 
1927  /* Reset the globals. This is important in a non-reentrant scanner so the next time
1928  * constexpYYlex() is called, initialization will occur. */
1929  yy_init_globals( );
1930 
1931  return 0;
1932 }
1933 
1934 /*
1935  * Internal utility routines.
1936  */
1937 
1938 #ifndef yytext_ptr
1939 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
1940 {
1941  register int i;
1942  for ( i = 0; i < n; ++i )
1943  s1[i] = s2[i];
1944 }
1945 #endif
1946 
1947 #ifdef YY_NEED_STRLEN
1948 static int yy_flex_strlen (yyconst char * s )
1949 {
1950  register int n;
1951  for ( n = 0; s[n]; ++n )
1952  ;
1953 
1954  return n;
1955 }
1956 #endif
1957 
1959 {
1960  return (void *) malloc( size );
1961 }
1962 
1963 void *constexpYYrealloc (void * ptr, yy_size_t size )
1964 {
1965  /* The cast to (char *) in the following accommodates both
1966  * implementations that use char* generic pointers, and those
1967  * that use void* generic pointers. It works with the latter
1968  * because both ANSI C and C++ allow castless assignment from
1969  * any pointer type to void*, and deal with argument conversions
1970  * as though doing an assignment.
1971  */
1972  return (void *) realloc( (char *) ptr, size );
1973 }
1974 
1975 void constexpYYfree (void * ptr )
1976 {
1977  free( (char *) ptr ); /* see constexpYYrealloc() for (char *) cast */
1978 }
1979 
1980 #define YYTABLES_NAME "yytables"
1981 
1982 #line 105 "constexp.l"
1983 
1984 
1985 
1986 bool parseconstexp(const char *fileName,int lineNr,const QCString &s)
1987 {
1988  printlex(constexpYY_flex_debug, TRUE, __FILE__, fileName);
1989  //printf("Expression: `%s'\n",s.data());
1990  g_constExpFileName = fileName;
1991  g_constExpLineNr = lineNr;
1992  g_inputString = s;
1993  g_inputPosition = 0;
1995  constexpYYparse();
1996  //printf("Result: %ld\n",(long)g_resultValue);
1997  printlex(constexpYY_flex_debug, FALSE, __FILE__, fileName);
1998  return (long)g_resultValue!=0;
1999 }
2000 
2001 extern "C" {
2002  int constexpYYwrap() { return 1; }
2003 }
2004 
signed char flex_int8_t
Definition: constexp.cpp:70
#define YY_RESTORE_YY_MORE_OFFSET
Definition: constexp.cpp:531
#define YY_FATAL_ERROR(msg)
Definition: constexp.cpp:724
static int yy_get_next_buffer(void)
Definition: constexp.cpp:1165
char * yy_buf_pos
Definition: code.cpp:213
unsigned char YY_CHAR
Definition: constexp.cpp:354
FILE * yy_input_file
Definition: code.cpp:210
short int flex_int16_t
Definition: code.cpp:71
int yy_n_chars
Definition: code.cpp:223
int constexpYYget_debug(void)
Definition: constexp.cpp:1874
#define YY_CURRENT_BUFFER_LVALUE
Definition: constexp.cpp:289
static yy_state_type yy_get_previous_state(void)
Definition: constexp.cpp:1299
static yyconst flex_int32_t yy_ec[256]
Definition: constexp.cpp:403
static size_t yy_buffer_stack_max
Definition: constexp.cpp:273
void msg(const char *fmt,...)
Definition: message.cpp:107
static void constexpYYensure_buffer_stack(void)
Definition: constexp.cpp:1648
void printlex(int dbg, bool enter, const char *lexName, const char *fileName)
Definition: message.cpp:242
int yy_fill_buffer
Definition: code.cpp:250
#define YY_BREAK
Definition: constexp.cpp:749
void constexpYYpop_buffer_state(void)
Definition: constexp.cpp:1629
#define yyterminate()
Definition: constexp.cpp:714
void * constexpYYrealloc(void *, yy_size_t)
Definition: constexp.cpp:1963
short int flex_int16_t
Definition: constexp.cpp:71
unsigned short int flex_uint16_t
Definition: constexp.cpp:74
static yyconst flex_int16_t yy_def[80]
Definition: constexp.cpp:455
YY_BUFFER_STATE constexpYY_scan_buffer(char *base, yy_size_t size)
Definition: constexp.cpp:1697
#define YY_SC_TO_UI(c)
Definition: constexp.cpp:138
static yyconst flex_int32_t yy_meta[37]
Definition: constexp.cpp:435
YY_BUFFER_STATE constexpYY_scan_string(yyconst char *yy_str)
Definition: constexp.cpp:1734
const bool FALSE
Definition: qglobal.h:370
int constexpYYlineno
Definition: constexp.cpp:362
int yy_bs_lineno
Definition: code.cpp:244
int constexpYYlex(void)
#define YY_EXIT_FAILURE
Definition: constexp.cpp:1778
static size_t yy_buffer_stack_top
Definition: constexp.cpp:272
register char * yy_cp
Definition: constexp.cpp:760
unsigned int flex_uint32_t
Definition: constexp.cpp:75
int errno
Contains the last error code.
Definition: structcmd.h:53
FILE * constexpYYin
Definition: constexp.cpp:356
static yy_state_type yy_try_NUL_trans(yy_state_type current_state)
Definition: constexp.cpp:1331
yy_size_t yy_buf_size
Definition: code.cpp:218
void constexpYYset_debug(int debug_flag)
Definition: constexp.cpp:1879
void constexpYY_flush_buffer(YY_BUFFER_STATE b)
Definition: constexp.cpp:1570
QCString g_strToken
Definition: constexp.cpp:561
void * constexpYYalloc(yy_size_t)
Definition: constexp.cpp:1958
static void yy_fatal_error(yyconst char msg[])
static yyconst flex_int16_t yy_base[80]
Definition: constexp.cpp:443
#define yytext_ptr
Definition: constexp.cpp:365
void constexpYYpush_buffer_state(YY_BUFFER_STATE new_buffer)
Definition: constexp.cpp:1599
FILE * constexpYYout
Definition: constexp.cpp:356
struct yy_buffer_state * YY_BUFFER_STATE
Definition: constexp.cpp:172
#define yyconst
Definition: constexp.cpp:127
#define INITIAL
Definition: constexp.cpp:585
#define YY_MORE_ADJ
Definition: constexp.cpp:530
#define YY_END_OF_BUFFER
Definition: constexp.cpp:383
int g_constExpLineNr
Definition: constexp.cpp:563
#define YY_BUF_SIZE
Definition: constexp.cpp:163
static int yy_did_buffer_switch_on_eof
Definition: constexp.cpp:304
void constexpYYfree(void *)
Definition: constexp.cpp:1975
#define YY_INPUT(buf, result, max_size)
Definition: constexp.cpp:570
static int g_inputPosition
Definition: constexp.cpp:567
decltype(auto) constexpr size(T &&obj)
ADL-aware version of std::size.
Definition: StdUtils.h:92
static int yy_init
Definition: constexp.cpp:298
#define YY_NEW_FILE
Definition: constexp.cpp:157
void constexpYY_switch_to_buffer(YY_BUFFER_STATE new_buffer)
Definition: constexp.cpp:1450
int flex_int32_t
Definition: constexp.cpp:72
#define YY_READ_BUF_SIZE
Definition: constexp.cpp:662
#define YY_STATE_EOF(state)
Definition: constexp.cpp:154
int constexpYYparse()
int yy_bs_column
Definition: code.cpp:245
static int input(void)
Definition: code.cpp:15695
fileName
Definition: dumpTree.py:9
#define YY_START
Definition: constexp.cpp:150
int constexpYY_flex_debug
Definition: constexp.cpp:523
int constexpYYget_lineno(void)
Definition: constexp.cpp:1809
#define ECHO
Definition: constexp.cpp:670
std::void_t< T > n
#define YY_RULE_SETUP
Definition: constexp.cpp:752
#define EOB_ACT_CONTINUE_SCAN
Definition: constexp.cpp:179
YY_EXTRA_TYPE constexpYYget_extra(void)
static int yy_init_globals(void)
Definition: constexp.cpp:1884
FILE * constexpYYget_in(void)
Definition: constexp.cpp:1818
register int yy_act
Definition: constexp.cpp:761
int constexpYYleng
Definition: constexp.cpp:294
char * constexpYYget_text(void)
Definition: constexp.cpp:1843
#define EOB_ACT_END_OF_FILE
Definition: constexp.cpp:180
char * yy_ch_buf
Definition: code.cpp:212
#define YY_BUFFER_EOF_PENDING
Definition: constexp.cpp:266
#define YY_BUFFER_NORMAL
Definition: constexp.cpp:255
unsigned char YY_CHAR
Definition: code.cpp:357
static char * yy_c_buf_p
Definition: constexp.cpp:297
#define YY_END_OF_BUFFER_CHAR
Definition: constexp.cpp:159
int flex_int32_t
Definition: code.cpp:72
#define YY_CURRENT_BUFFER
Definition: constexp.cpp:282
int yy_is_our_buffer
Definition: code.cpp:229
static int yy_start
Definition: constexp.cpp:299
bool parseconstexp(const char *fileName, int lineNr, const QCString &s)
Definition: constexp.cpp:1986
CPPValue g_resultValue
Definition: constexp.cpp:562
int constexpYYwrap(void)
Definition: constexp.cpp:2002
unsigned char flex_uint8_t
Definition: constexp.cpp:73
void constexpYYset_extra(YY_EXTRA_TYPE user_defined)
register char * yy_bp
Definition: constexp.cpp:760
YY_BUFFER_STATE constexpYY_scan_bytes(yyconst char *bytes, int len)
Definition: constexp.cpp:1747
int constexpYYget_leng(void)
Definition: constexp.cpp:1834
int yy_state_type
Definition: constexp.cpp:358
#define YY_BUFFER_NEW
Definition: constexp.cpp:254
#define EOB_ACT_LAST_MATCH
Definition: constexp.cpp:181
static int yyread(char *buf, int max_size)
Definition: constexp.cpp:572
#define YY_DECL
Definition: constexp.cpp:737
static yyconst flex_int16_t yy_chk[200]
Definition: constexp.cpp:493
static char * yy_last_accepting_cpos
Definition: constexp.cpp:520
int constexpYYlex_destroy(void)
Definition: constexp.cpp:1913
char * constexpYYtext
Definition: constexp.cpp:532
void constexpYYset_out(FILE *out_str)
Definition: constexp.cpp:1869
void constexpYY_delete_buffer(YY_BUFFER_STATE b)
Definition: constexp.cpp:1523
static yy_state_type yy_last_accepting_state
Definition: constexp.cpp:519
static bool * b
Definition: config.cpp:1043
static void constexpYY_init_buffer(YY_BUFFER_STATE b, FILE *file)
Definition: constexp.cpp:1542
static YY_BUFFER_STATE * yy_buffer_stack
Definition: constexp.cpp:274
int yy_is_interactive
Definition: code.cpp:236
#define YY_DO_BEFORE_ACTION
Definition: constexp.cpp:375
size_t yy_size_t
Definition: constexp.cpp:203
static yyconst flex_int16_t yy_accept[77]
Definition: constexp.cpp:391
void constexpYYset_lineno(int line_number)
Definition: constexp.cpp:1852
byte bytes
Alias for common language habits.
Definition: datasize.h:101
static void constexpYY_load_buffer_state(void)
Definition: constexp.cpp:1481
size_t yy_size_t
Definition: code.cpp:203
void constexpYYset_in(FILE *in_str)
Definition: constexp.cpp:1864
YY_BUFFER_STATE constexpYY_create_buffer(FILE *file, int size)
Definition: constexp.cpp:1495
int yy_buffer_status
Definition: code.cpp:252
static QCString * s
Definition: config.cpp:1042
FILE * constexpYYget_out(void)
Definition: constexp.cpp:1826
const bool TRUE
Definition: qglobal.h:371
static const char * g_inputString
Definition: constexp.cpp:566
void constexpYYrestart(FILE *input_file)
Definition: constexp.cpp:1433
QCString g_constExpFileName
Definition: constexp.cpp:564
static char yy_hold_char
Definition: constexp.cpp:292
#define YY_EXTRA_TYPE
Definition: constexp.cpp:596
static yyconst flex_int16_t yy_nxt[200]
Definition: constexp.cpp:467