1 /* A lexical scanner generated by flex */
3 /* Scanner skeleton version:
7 #define ACE_CC_YY_FLEX_MAJOR_VERSION 2
8 #define ACE_CC_YY_FLEX_MINOR_VERSION 5
10 #include "ace/OS_NS_string.h"
13 /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
23 #include /**/ <stdlib.h>
25 /* Use prototypes in function declarations. */
26 #define ACE_CC_YY_USE_PROTOS
28 /* The "const" storage-class-modifier is valid. */
29 #define ACE_CC_YY_USE_CONST
31 #else /* ! __cplusplus */
35 #define ACE_CC_YY_USE_PROTOS
36 #define ACE_CC_YY_USE_CONST
39 #endif /* ! __cplusplus */
45 #include /**/ <stdlib.h>
46 #define ACE_CC_YY_USE_CONST
47 #define ACE_CC_YY_USE_PROTOS
50 #ifdef ACE_CC_YY_USE_CONST
51 #define ace_cc_yyconst const
53 #define ace_cc_yyconst
57 #ifdef ACE_CC_YY_USE_PROTOS
58 #define ACE_CC_YY_PROTO(proto) proto
60 #define ACE_CC_YY_PROTO(proto) ()
63 /* Returned upon end-of-file. */
64 #define ACE_CC_YY_NULL 0
66 /* Promotes a possibly negative, possibly signed char to an unsigned
67 * integer for use as an array index. If the signed char is negative,
68 * we want to instead treat it as an 8-bit unsigned char, hence the
71 #define ACE_CC_YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
73 /* Enter a start condition. This macro really ought to take a parameter,
74 * but we do it the disgusting crufty way forced on us by the ()-less
75 * definition of BEGIN.
77 #define BEGIN ace_cc_yy_start = 1 + 2 *
79 /* Translate the current start state into a value that can be later handed
80 * to BEGIN to return to the state. The ACE_CC_YYSTATE alias is for lex
83 #define ACE_CC_YY_START ((ace_cc_yy_start - 1) / 2)
84 #define ACE_CC_YYSTATE ACE_CC_YY_START
86 /* Action number for EOF rule of a given start state. */
87 #define ACE_CC_YY_STATE_EOF(state) (ACE_CC_YY_END_OF_BUFFER + state + 1)
89 /* Special action meaning "start processing a new file". */
90 #define ACE_CC_YY_NEW_FILE ace_cc_yyrestart( ace_cc_yyin )
92 #define ACE_CC_YY_END_OF_BUFFER_CHAR 0
94 /* Size of default input buffer. */
95 #define ACE_CC_YY_BUF_SIZE 16384
97 typedef struct ace_cc_yy_buffer_state
*ACE_CC_YY_BUFFER_STATE
;
99 extern int ace_cc_yyleng
;
100 extern FILE *ace_cc_yyin
, *ace_cc_yyout
;
102 #define EOB_ACT_CONTINUE_SCAN 0
103 #define EOB_ACT_END_OF_FILE 1
104 #define EOB_ACT_LAST_MATCH 2
106 /* The funky do-while in the following #define is used to turn the definition
107 * int a single C statement (which needs a semi-colon terminator). This
108 * avoids problems with code like:
110 * if ( condition_holds )
111 * ace_cc_yyless( 5 );
113 * do_something_else();
115 * Prior to using the do-while the compiler would get upset at the
116 * "else" because it interpreted the "if" statement as being all
117 * done when it reached the ';' after the ace_cc_yyless() call.
120 /* Return all but the first 'n' matched characters back to the input stream. */
122 #define ace_cc_yyless(n) \
125 /* Undo effects of setting up ace_cc_yytext. */ \
126 *ace_cc_yy_cp = ace_cc_yy_hold_char; \
127 ACE_CC_YY_RESTORE_ACE_CC_YY_MORE_OFFSET \
128 ace_cc_yy_c_buf_p = ace_cc_yy_cp = ace_cc_yy_bp + n - ACE_CC_YY_MORE_ADJ; \
129 ACE_CC_YY_DO_BEFORE_ACTION; /* set up ace_cc_yytext again */ \
133 #define unput(c) ace_cc_yyunput( c, ace_cc_yytext_ptr )
135 /* The following is because we cannot portably get our hands on size_t
136 * (without autoconf's help, which isn't available because we want
137 * flex-generated scanners to compile on their own).
139 typedef unsigned int ace_cc_yy_size_t
;
142 struct ace_cc_yy_buffer_state
144 FILE *ace_cc_yy_input_file
;
146 char *ace_cc_yy_ch_buf
; /* input buffer */
147 char *ace_cc_yy_buf_pos
; /* current position in input buffer */
149 /* Size of input buffer in bytes, not including room for EOB
152 ace_cc_yy_size_t ace_cc_yy_buf_size
;
154 /* Number of characters read into ace_cc_yy_ch_buf, not including EOB
157 int ace_cc_yy_n_chars
;
159 /* Whether we "own" the buffer - i.e., we know we created it,
160 * and can realloc() it to grow it, and should free() it to
163 int ace_cc_yy_is_our_buffer
;
165 /* Whether this is an "interactive" input source; if so, and
166 * if we're using stdio for input, then we want to use getc()
167 * instead of fread(), to make sure we stop fetching input after
170 int ace_cc_yy_is_interactive
;
172 /* Whether we're considered to be at the beginning of a line.
173 * If so, '^' rules will be active on the next match, otherwise
176 int ace_cc_yy_at_bol
;
178 /* Whether to try to fill the input buffer when we reach the
181 int ace_cc_yy_fill_buffer
;
183 int ace_cc_yy_buffer_status
;
184 #define ACE_CC_YY_BUFFER_NEW 0
185 #define ACE_CC_YY_BUFFER_NORMAL 1
186 /* When an EOF's been seen but there's still some text to process
187 * then we mark the buffer as ACE_CC_YY_EOF_PENDING, to indicate that we
188 * shouldn't try reading from the input source any more. We might
189 * still have a bunch of tokens to match, though, because of
190 * possible backing-up.
192 * When we actually see the EOF, we change the status to "new"
193 * (via ace_cc_yyrestart()), so that the user can continue scanning by
194 * just pointing ace_cc_yyin at a new input file.
196 #define ACE_CC_YY_BUFFER_EOF_PENDING 2
199 static ACE_CC_YY_BUFFER_STATE ace_cc_yy_current_buffer
= 0;
201 /* We provide macros for accessing buffer states in case in the
202 * future we want to put the buffer states in a more general
205 #define ACE_CC_YY_CURRENT_BUFFER ace_cc_yy_current_buffer
208 /* ace_cc_yy_hold_char holds the character lost when ace_cc_yytext is formed. */
209 static char ace_cc_yy_hold_char
;
211 static int ace_cc_yy_n_chars
; /* number of characters read into ace_cc_yy_ch_buf */
216 /* Points to current character in buffer. */
217 static char *ace_cc_yy_c_buf_p
= (char *) 0;
218 static int ace_cc_yy_init
= 1; /* whether we need to initialize */
219 static int ace_cc_yy_start
= 0; /* start state number */
221 #define ace_cc_yywrap() 1
222 /* Flag which is used to allow ace_cc_yywrap()'s to do buffer switches
223 * instead of setting up a fresh ace_cc_yyin. A bit of a hack ...
225 #if (ace_cc_yywrap() != 1)
226 static int ace_cc_yy_did_buffer_switch_on_eof
;
229 void ace_cc_yyrestart
ACE_CC_YY_PROTO(( FILE *input_file
));
231 void ace_cc_yy_switch_to_buffer
ACE_CC_YY_PROTO(( ACE_CC_YY_BUFFER_STATE new_buffer
));
232 void ace_cc_yy_load_buffer_state
ACE_CC_YY_PROTO(( void ));
233 ACE_CC_YY_BUFFER_STATE ace_cc_yy_create_buffer
ACE_CC_YY_PROTO(( FILE *file
, int size
));
234 void ace_cc_yy_delete_buffer
ACE_CC_YY_PROTO(( ACE_CC_YY_BUFFER_STATE b
));
235 void ace_cc_yy_init_buffer
ACE_CC_YY_PROTO(( ACE_CC_YY_BUFFER_STATE b
, FILE *file
));
236 void ace_cc_yy_flush_buffer
ACE_CC_YY_PROTO(( ACE_CC_YY_BUFFER_STATE b
));
237 #define ACE_CC_YY_FLUSH_BUFFER ace_cc_yy_flush_buffer( ace_cc_yy_current_buffer )
239 ACE_CC_YY_BUFFER_STATE ace_cc_yy_scan_buffer
ACE_CC_YY_PROTO(( char *base
, ace_cc_yy_size_t size
));
240 ACE_CC_YY_BUFFER_STATE ace_cc_yy_scan_string
ACE_CC_YY_PROTO(( ace_cc_yyconst
char *ace_cc_yy_str
));
241 ACE_CC_YY_BUFFER_STATE ace_cc_yy_scan_bytes
ACE_CC_YY_PROTO(( ace_cc_yyconst
char *bytes
, int len
));
243 static void *ace_cc_yy_flex_alloc
ACE_CC_YY_PROTO(( ace_cc_yy_size_t
));
244 static void *ace_cc_yy_flex_realloc
ACE_CC_YY_PROTO(( void *, ace_cc_yy_size_t
));
245 static void ace_cc_yy_flex_free
ACE_CC_YY_PROTO(( void * ));
247 #define ace_cc_yy_new_buffer ace_cc_yy_create_buffer
249 #define ace_cc_yy_set_interactive(is_interactive) \
251 if ( ! ace_cc_yy_current_buffer ) \
252 ace_cc_yy_current_buffer = ace_cc_yy_create_buffer( ace_cc_yyin, ACE_CC_YY_BUF_SIZE ); \
253 ace_cc_yy_current_buffer->ace_cc_yy_is_interactive = is_interactive; \
256 #define ace_cc_yy_set_bol(at_bol) \
258 if ( ! ace_cc_yy_current_buffer ) \
259 ace_cc_yy_current_buffer = ace_cc_yy_create_buffer( ace_cc_yyin, ACE_CC_YY_BUF_SIZE ); \
260 ace_cc_yy_current_buffer->ace_cc_yy_at_bol = at_bol; \
263 #define ACE_CC_YY_AT_BOL() (ace_cc_yy_current_buffer->ace_cc_yy_at_bol)
266 #define ACE_CC_YY_SKIP_ACE_CC_YYWRAP
267 typedef unsigned char ACE_CC_YY_CHAR
;
268 FILE *ace_cc_yyin
= (FILE *) 0, *ace_cc_yyout
= (FILE *) 0;
269 typedef int ace_cc_yy_state_type
;
270 extern char *ace_cc_yytext
;
271 #define ace_cc_yytext_ptr ace_cc_yytext
273 static ace_cc_yy_state_type ace_cc_yy_get_previous_state
ACE_CC_YY_PROTO(( void ));
274 static ace_cc_yy_state_type ace_cc_yy_try_NUL_trans
ACE_CC_YY_PROTO(( ace_cc_yy_state_type current_state
));
275 static int ace_cc_yy_get_next_buffer
ACE_CC_YY_PROTO(( void ));
276 static void ace_cc_yy_fatal_error
ACE_CC_YY_PROTO(( ace_cc_yyconst
char msg
[] ));
278 /* Done after the current pattern has been matched and before the
279 * corresponding action - sets up ace_cc_yytext.
281 #define ACE_CC_YY_DO_BEFORE_ACTION \
282 ace_cc_yytext_ptr = ace_cc_yy_bp; \
283 ace_cc_yyleng = (int) (ace_cc_yy_cp - ace_cc_yy_bp); \
284 ace_cc_yy_hold_char = *ace_cc_yy_cp; \
285 *ace_cc_yy_cp = '\0'; \
286 ace_cc_yy_c_buf_p = ace_cc_yy_cp;
288 #define ACE_CC_YY_NUM_RULES 25
289 #define ACE_CC_YY_END_OF_BUFFER 26
290 static ace_cc_yyconst
short int ace_cc_yy_accept
[124] =
292 0, 0, 26, 25, 24, 23, 25, 20, 1, 21,
293 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
294 25, 24, 23, 0, 19, 20, 21, 21, 21, 21,
295 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
296 21, 0, 21, 21, 21, 21, 21, 21, 21, 21,
297 21, 21, 21, 21, 21, 21, 21, 21, 0, 22,
298 21, 21, 21, 21, 4, 21, 21, 14, 21, 21,
299 21, 21, 21, 21, 9, 21, 21, 21, 21, 21,
300 21, 10, 21, 8, 2, 21, 21, 21, 17, 21,
301 3, 21, 21, 13, 11, 21, 5, 21, 21, 21,
303 21, 21, 16, 21, 21, 21, 6, 21, 12, 21,
304 21, 21, 7, 21, 21, 21, 21, 21, 21, 15,
308 static ace_cc_yyconst
int ace_cc_yy_ec
[256] =
310 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
311 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
312 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
313 1, 3, 1, 4, 1, 1, 1, 1, 1, 1,
314 1, 1, 1, 1, 1, 5, 6, 7, 7, 7,
315 7, 7, 7, 7, 7, 7, 7, 5, 8, 1,
316 1, 1, 1, 1, 9, 9, 9, 9, 9, 9,
317 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
318 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
319 1, 1, 1, 1, 10, 1, 11, 9, 12, 13,
321 14, 9, 15, 16, 17, 9, 18, 19, 20, 21,
322 22, 23, 9, 24, 25, 26, 27, 9, 28, 29,
323 30, 9, 1, 1, 1, 1, 1, 1, 1, 1,
324 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
325 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
326 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
327 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
328 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
329 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
330 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
332 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
333 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
334 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
335 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
336 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
340 static ace_cc_yyconst
int ace_cc_yy_meta
[31] =
342 1, 2, 1, 1, 3, 3, 3, 1, 3, 3,
343 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
344 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
347 static ace_cc_yyconst
short int ace_cc_yy_base
[128] =
349 0, 136, 141, 143, 0, 137, 135, 131, 143, 0,
350 15, 108, 115, 113, 110, 119, 14, 108, 11, 24,
351 125, 0, 127, 125, 124, 120, 0, 115, 111, 112,
352 97, 24, 105, 26, 107, 109, 89, 99, 102, 99,
353 98, 112, 92, 101, 97, 96, 91, 90, 86, 93,
354 91, 90, 79, 92, 79, 76, 73, 72, 95, 143,
355 81, 69, 71, 72, 0, 65, 65, 0, 79, 66,
356 62, 68, 74, 74, 0, 70, 69, 68, 55, 54,
357 56, 0, 52, 0, 0, 55, 58, 62, 0, 64,
358 0, 56, 55, 0, 0, 59, 0, 56, 49, 46,
360 45, 48, 0, 43, 43, 42, 0, 49, 0, 51,
361 46, 14, 0, 45, 30, 40, 30, 32, 18, 0,
362 29, 0, 143, 49, 52, 38, 55
365 static ace_cc_yyconst
short int ace_cc_yy_def
[128] =
367 123, 1, 123, 123, 124, 123, 125, 123, 123, 126,
368 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
369 123, 124, 123, 125, 125, 123, 126, 126, 126, 126,
370 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
371 126, 127, 126, 126, 126, 126, 126, 126, 126, 126,
372 126, 126, 126, 126, 126, 126, 126, 126, 127, 123,
373 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
374 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
375 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
376 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
378 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
379 126, 126, 126, 126, 126, 126, 126, 126, 126, 126,
380 126, 126, 0, 123, 123, 123, 123
383 static ace_cc_yyconst
short int ace_cc_yy_nxt
[174] =
385 4, 5, 6, 7, 4, 4, 8, 9, 10, 4,
386 10, 11, 10, 12, 10, 10, 13, 10, 14, 10,
387 10, 10, 15, 16, 17, 18, 19, 20, 10, 10,
388 28, 38, 35, 39, 40, 47, 50, 114, 29, 36,
389 27, 115, 122, 121, 120, 48, 119, 41, 51, 22,
390 118, 22, 24, 117, 24, 59, 59, 59, 116, 113,
391 112, 111, 110, 109, 108, 107, 106, 105, 104, 103,
392 102, 101, 100, 99, 98, 97, 96, 95, 94, 93,
393 92, 91, 90, 89, 88, 87, 86, 85, 84, 83,
394 82, 81, 80, 79, 78, 77, 60, 76, 75, 74,
396 73, 72, 71, 70, 69, 68, 67, 66, 65, 64,
397 63, 62, 61, 60, 58, 57, 56, 55, 54, 53,
398 52, 49, 46, 45, 44, 43, 26, 25, 25, 23,
399 42, 37, 34, 33, 32, 31, 30, 26, 25, 23,
400 123, 21, 3, 123, 123, 123, 123, 123, 123, 123,
401 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
402 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
406 static ace_cc_yyconst
short int ace_cc_yy_chk
[174] =
408 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
409 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
410 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
411 11, 19, 17, 19, 20, 32, 34, 112, 11, 17,
412 126, 112, 121, 119, 118, 32, 117, 20, 34, 124,
413 116, 124, 125, 115, 125, 127, 127, 127, 114, 111,
414 110, 108, 106, 105, 104, 102, 101, 100, 99, 98,
415 96, 93, 92, 90, 88, 87, 86, 83, 81, 80,
416 79, 78, 77, 76, 74, 73, 72, 71, 70, 69,
417 67, 66, 64, 63, 62, 61, 59, 58, 57, 56,
419 55, 54, 53, 52, 51, 50, 49, 48, 47, 46,
420 45, 44, 43, 42, 41, 40, 39, 38, 37, 36,
421 35, 33, 31, 30, 29, 28, 26, 25, 24, 23,
422 21, 18, 16, 15, 14, 13, 12, 8, 7, 6,
423 3, 2, 123, 123, 123, 123, 123, 123, 123, 123,
424 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
425 123, 123, 123, 123, 123, 123, 123, 123, 123, 123,
429 static ace_cc_yy_state_type ace_cc_yy_last_accepting_state
;
430 static char *ace_cc_yy_last_accepting_cpos
;
432 /* The intent behind this definition is that it'll catch
433 * any uses of REJECT which flex missed.
435 #define REJECT reject_used_but_not_detected
436 #define ace_cc_yymore() ace_cc_yymore_used_but_not_detected
437 #define ACE_CC_YY_MORE_ADJ 0
438 #define ACE_CC_YY_RESTORE_ACE_CC_YY_MORE_OFFSET
441 //=============================================================================
443 * This is the lex file for the concurrency service script language.
445 //=============================================================================
447 #define ACE_CC_YY_NO_UNPUT 1
448 #define ACE_CC_YY_NO_INPUT 1
449 #define ACE_CC_YY_ALWAYS_INTERACTIVE 1
450 #include "CC_command.h"
451 #include "CC_command.tab.h"
455 extern char line_buf
[500];
457 /* Macros after this point can all be overridden by user definitions in
461 #ifndef ACE_CC_YY_SKIP_ACE_CC_YYWRAP
463 extern "C" int ace_cc_yywrap
ACE_CC_YY_PROTO(( void ));
465 extern int ace_cc_yywrap
ACE_CC_YY_PROTO(( void ));
469 #ifndef ACE_CC_YY_NO_UNPUT
470 static void ace_cc_yyunput
ACE_CC_YY_PROTO(( int c
, char *buf_ptr
));
473 #ifndef ace_cc_yytext_ptr
474 static void ace_cc_yy_flex_strncpy
ACE_CC_YY_PROTO(( char *, ace_cc_yyconst
char *, int ));
477 #ifdef ACE_CC_YY_NEED_STRLEN
478 static int ace_cc_yy_flex_strlen
ACE_CC_YY_PROTO(( ace_cc_yyconst
char * ));
481 #ifndef ACE_CC_YY_NO_INPUT
483 static int ace_cc_yyinput
ACE_CC_YY_PROTO(( void ));
485 static int input
ACE_CC_YY_PROTO(( void ));
489 #if ACE_CC_YY_STACK_USED
490 static int ace_cc_yy_start_stack_ptr
= 0;
491 static int ace_cc_yy_start_stack_depth
= 0;
492 static int *ace_cc_yy_start_stack
= 0;
493 #ifndef ACE_CC_YY_NO_PUSH_STATE
494 static void ace_cc_yy_push_state
ACE_CC_YY_PROTO(( int new_state
));
496 #ifndef ACE_CC_YY_NO_POP_STATE
497 static void ace_cc_yy_pop_state
ACE_CC_YY_PROTO(( void ));
499 #ifndef ACE_CC_YY_NO_TOP_STATE
500 static int ace_cc_yy_top_state
ACE_CC_YY_PROTO(( void ));
504 #define ACE_CC_YY_NO_PUSH_STATE 1
505 #define ACE_CC_YY_NO_POP_STATE 1
506 #define ACE_CC_YY_NO_TOP_STATE 1
509 #ifdef ACE_CC_YY_MALLOC_DECL
510 ACE_CC_YY_MALLOC_DECL
514 #include /**/ <stdlib.h>
517 /* Just try to get by without declaring the routines. This will fail
518 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
519 * or sizeof(void*) != sizeof(int).
524 /* Amount of stuff to slurp up with each read. */
525 #ifndef ACE_CC_YY_READ_BUF_SIZE
526 #define ACE_CC_YY_READ_BUF_SIZE 8192
529 /* Copy whatever the last rule matched to the standard output. */
531 //FUZZ: disable check_for_lack_ACE_OS
533 /* This used to be an fputs(), but since the string might contain NUL's,
534 * we now use fwrite().
536 #define ACE_CC_ECHO { size_t __dum_ret = fwrite( ace_cc_yytext, ace_cc_yyleng, 1, ace_cc_yyout ); (void) __dum_ret; }
538 //FUZZ: enable check_for_lack_ACE_OS
540 /* Gets input and stuffs it into "buf". number of characters read, or ACE_CC_YY_NULL,
541 * is returned in "result".
543 #ifndef ACE_CC_YY_INPUT
544 #define ACE_CC_YY_INPUT(buf,result,max_size) \
545 if ( ace_cc_yy_current_buffer->ace_cc_yy_is_interactive ) \
548 for ( n = 0; n < max_size && \
549 (c = ACE_OS::getc( ace_cc_yyin )) != EOF && c != '\n'; ++n ) \
552 buf[n++] = (char) c; \
553 if ( c == EOF && ferror( ace_cc_yyin ) ) \
554 ACE_CC_YY_FATAL_ERROR( "input in flex scanner failed" ); \
557 else if ( ((result = ACE_OS::fread( buf, 1, max_size, ace_cc_yyin )) == 0) \
558 && ferror( ace_cc_yyin ) ) \
559 ACE_CC_YY_FATAL_ERROR( "input in flex scanner failed" );
562 /* No semi-colon after return; correct usage is to write "ace_cc_yyterminate();" -
563 * we don't want an extra ';' after the "return" because that will cause
564 * some compilers to complain about unreachable statements.
566 #ifndef ace_cc_yyterminate
567 #define ace_cc_yyterminate() return ACE_CC_YY_NULL
570 /* Number of entries by which start-condition stack grows. */
571 #ifndef ACE_CC_YY_START_STACK_INCR
572 #define ACE_CC_YY_START_STACK_INCR 25
575 /* Report a fatal error. */
576 #ifndef ACE_CC_YY_FATAL_ERROR
577 #define ACE_CC_YY_FATAL_ERROR(msg) ace_cc_yy_fatal_error( msg )
580 /* Default declaration of generated scanner - a define so the user can
581 * easily add parameters.
583 #ifndef ACE_CC_YY_DECL
584 #define ACE_CC_YY_DECL int ace_cc_yylex ACE_CC_YY_PROTO(( void ))
587 /* Code executed at the beginning of each rule, after ace_cc_yytext and ace_cc_yyleng
590 #ifndef ACE_CC_YY_USER_ACTION
591 #define ACE_CC_YY_USER_ACTION
594 /* Code executed at the end of each rule. */
595 #ifndef ACE_CC_YY_BREAK
596 #define ACE_CC_YY_BREAK break;
599 #define ACE_CC_YY_RULE_SETUP \
600 if ( ace_cc_yyleng > 0 ) \
601 ace_cc_yy_current_buffer->ace_cc_yy_at_bol = \
602 (ace_cc_yytext[ace_cc_yyleng - 1] == '\n'); \
603 ACE_CC_YY_USER_ACTION
607 ace_cc_yy_state_type ace_cc_yy_current_state
;
608 char *ace_cc_yy_cp
= 0, *ace_cc_yy_bp
= 0;
613 if ( ace_cc_yy_init
)
617 #ifdef ACE_CC_YY_USER_INIT
621 if ( ! ace_cc_yy_start
)
622 ace_cc_yy_start
= 1; /* first start state */
627 if ( ! ace_cc_yyout
)
628 ace_cc_yyout
= stdout
;
630 if ( ! ace_cc_yy_current_buffer
)
631 ace_cc_yy_current_buffer
=
632 ace_cc_yy_create_buffer( ace_cc_yyin
, ACE_CC_YY_BUF_SIZE
);
634 ace_cc_yy_load_buffer_state();
637 ace_cc_yy_cp
= ace_cc_yy_bp
= 0; /* To avoid g++ warning about
638 possible uninitialized use. */
639 while ( 1 ) /* loops until end-of-file is reached */
641 ace_cc_yy_cp
= ace_cc_yy_c_buf_p
;
643 /* Support of ace_cc_yytext. */
644 *ace_cc_yy_cp
= ace_cc_yy_hold_char
;
646 /* ace_cc_yy_bp points to the position in ace_cc_yy_ch_buf of the start of
649 ace_cc_yy_bp
= ace_cc_yy_cp
;
651 ace_cc_yy_current_state
= ace_cc_yy_start
;
652 ace_cc_yy_current_state
+= ACE_CC_YY_AT_BOL();
656 ACE_CC_YY_CHAR ace_cc_yy_c
= ace_cc_yy_ec
[ACE_CC_YY_SC_TO_UI(*ace_cc_yy_cp
)];
657 if ( ace_cc_yy_accept
[ace_cc_yy_current_state
] )
659 ace_cc_yy_last_accepting_state
= ace_cc_yy_current_state
;
660 ace_cc_yy_last_accepting_cpos
= ace_cc_yy_cp
;
662 while ( ace_cc_yy_chk
[ace_cc_yy_base
[ace_cc_yy_current_state
] + ace_cc_yy_c
] != ace_cc_yy_current_state
)
664 ace_cc_yy_current_state
= (int) ace_cc_yy_def
[ace_cc_yy_current_state
];
665 if ( ace_cc_yy_current_state
>= 124 )
666 ace_cc_yy_c
= ace_cc_yy_meta
[(unsigned int) ace_cc_yy_c
];
668 ace_cc_yy_current_state
= ace_cc_yy_nxt
[ace_cc_yy_base
[ace_cc_yy_current_state
] + (unsigned int) ace_cc_yy_c
];
671 while ( ace_cc_yy_base
[ace_cc_yy_current_state
] != 143 );
673 ace_cc_yy_find_action
:
674 ace_cc_yy_act
= ace_cc_yy_accept
[ace_cc_yy_current_state
];
675 if ( ace_cc_yy_act
== 0 )
676 { /* have to back up */
677 ace_cc_yy_cp
= ace_cc_yy_last_accepting_cpos
;
678 ace_cc_yy_current_state
= ace_cc_yy_last_accepting_state
;
679 ace_cc_yy_act
= ace_cc_yy_accept
[ace_cc_yy_current_state
];
682 ACE_CC_YY_DO_BEFORE_ACTION
;
685 do_action
: /* This label is used only to access EOF actions. */
688 switch ( ace_cc_yy_act
)
689 { /* beginning of action switch */
690 case 0: /* must back up */
691 /* undo the effects of ACE_CC_YY_DO_BEFORE_ACTION */
692 *ace_cc_yy_cp
= ace_cc_yy_hold_char
;
693 ace_cc_yy_cp
= ace_cc_yy_last_accepting_cpos
;
694 ace_cc_yy_current_state
= ace_cc_yy_last_accepting_state
;
695 goto ace_cc_yy_find_action
;
700 /* ACE_CC_YY_BREAK */
704 /* ACE_CC_YY_BREAK */
708 /* ACE_CC_YY_BREAK */
712 /* ACE_CC_YY_BREAK */
716 /* ACE_CC_YY_BREAK */
719 return T_TRYLOCK_CMD
;
720 /* ACE_CC_YY_BREAK */
723 return T_CHANGEMODE_CMD
;
724 /* ACE_CC_YY_BREAK */
728 /* ACE_CC_YY_BREAK */
732 /* ACE_CC_YY_BREAK */
736 /* ACE_CC_YY_BREAK */
740 /* ACE_CC_YY_BREAK */
744 /* ACE_CC_YY_BREAK */
748 /* ACE_CC_YY_BREAK */
752 /* ACE_CC_YY_BREAK */
756 /* ACE_CC_YY_BREAK */
760 /* ACE_CC_YY_BREAK */
764 /* ACE_CC_YY_BREAK */
768 /* ACE_CC_YY_BREAK */
771 { ace_cc_yylval
.id
= ACE_OS::strdup(&ace_cc_yytext
[1]);
772 ace_cc_yylval
.id
[ace_cc_yyleng
-2]='\0';
774 /* ACE_CC_YY_BREAK */
777 { ace_cc_yylval
.num
= ACE_OS::atoi(ace_cc_yytext
); return T_NUM
; }
778 /* ACE_CC_YY_BREAK */
781 { ace_cc_yylval
.id
= ACE_OS::strdup(ace_cc_yytext
);
783 /* ACE_CC_YY_BREAK */
795 ACE_OS::strcpy(line_buf
, ace_cc_yytext
+1);
802 case ACE_CC_YY_STATE_EOF(INITIAL
):
803 ace_cc_yyterminate();
805 case ACE_CC_YY_END_OF_BUFFER
:
807 /* Amount of text matched not including the EOB char. */
808 int ace_cc_yy_amount_of_matched_text
= (int) (ace_cc_yy_cp
- ace_cc_yytext_ptr
) - 1;
810 /* Undo the effects of ACE_CC_YY_DO_BEFORE_ACTION. */
811 *ace_cc_yy_cp
= ace_cc_yy_hold_char
;
812 ACE_CC_YY_RESTORE_ACE_CC_YY_MORE_OFFSET
814 if ( ace_cc_yy_current_buffer
->ace_cc_yy_buffer_status
== ACE_CC_YY_BUFFER_NEW
)
816 /* We're scanning a new file or input source. It's
817 * possible that this happened because the user
818 * just pointed ace_cc_yyin at a new source and called
819 * ace_cc_yylex(). If so, then we have to assure
820 * consistency between ace_cc_yy_current_buffer and our
821 * globals. Here is the right place to do so, because
822 * this is the first action (other than possibly a
823 * back-up) that will match for the new input source.
825 ace_cc_yy_n_chars
= ace_cc_yy_current_buffer
->ace_cc_yy_n_chars
;
826 ace_cc_yy_current_buffer
->ace_cc_yy_input_file
= ace_cc_yyin
;
827 ace_cc_yy_current_buffer
->ace_cc_yy_buffer_status
= ACE_CC_YY_BUFFER_NORMAL
;
830 /* Note that here we test for ace_cc_yy_c_buf_p "<=" to the position
831 * of the first EOB in the buffer, since ace_cc_yy_c_buf_p will
832 * already have been incremented past the NUL character
833 * (since all states make transitions on EOB to the
834 * end-of-buffer state). Contrast this with the test
837 if ( ace_cc_yy_c_buf_p
<= &ace_cc_yy_current_buffer
->ace_cc_yy_ch_buf
[ace_cc_yy_n_chars
] )
838 { /* This was really a NUL. */
839 ace_cc_yy_state_type ace_cc_yy_next_state
;
841 ace_cc_yy_c_buf_p
= ace_cc_yytext_ptr
+ ace_cc_yy_amount_of_matched_text
;
843 ace_cc_yy_current_state
= ace_cc_yy_get_previous_state();
845 /* Okay, we're now positioned to make the NUL
846 * transition. We couldn't have
847 * ace_cc_yy_get_previous_state() go ahead and do it
848 * for us because it doesn't know how to deal
849 * with the possibility of jamming (and we don't
850 * want to build jamming into it because then it
851 * will run more slowly).
854 ace_cc_yy_next_state
= ace_cc_yy_try_NUL_trans( ace_cc_yy_current_state
);
856 ace_cc_yy_bp
= ace_cc_yytext_ptr
+ ACE_CC_YY_MORE_ADJ
;
858 if ( ace_cc_yy_next_state
)
860 /* Consume the NUL. */
861 ace_cc_yy_cp
= ++ace_cc_yy_c_buf_p
;
862 ace_cc_yy_current_state
= ace_cc_yy_next_state
;
863 goto ace_cc_yy_match
;
868 ace_cc_yy_cp
= ace_cc_yy_c_buf_p
;
869 goto ace_cc_yy_find_action
;
873 else switch ( ace_cc_yy_get_next_buffer() )
875 case EOB_ACT_END_OF_FILE
:
877 #if (ace_cc_yywrap() != 1)
878 ace_cc_yy_did_buffer_switch_on_eof
= 0;
881 if ( ace_cc_yywrap() )
883 /* Note: because we've taken care in
884 * ace_cc_yy_get_next_buffer() to have set up
885 * ace_cc_yytext, we can now set up
886 * ace_cc_yy_c_buf_p so that if some total
887 * hoser (like flex itself) wants to
888 * call the scanner after we return the
889 * ACE_CC_YY_NULL, it'll still work - another
890 * ACE_CC_YY_NULL will get returned.
892 ace_cc_yy_c_buf_p
= ace_cc_yytext_ptr
+ ACE_CC_YY_MORE_ADJ
;
894 ace_cc_yy_act
= ACE_CC_YY_STATE_EOF(ACE_CC_YY_START
);
900 #if (ace_cc_yywrap() != 1)
901 if ( ! ace_cc_yy_did_buffer_switch_on_eof
)
908 case EOB_ACT_CONTINUE_SCAN
:
910 ace_cc_yytext_ptr
+ ace_cc_yy_amount_of_matched_text
;
912 ace_cc_yy_current_state
= ace_cc_yy_get_previous_state();
914 ace_cc_yy_cp
= ace_cc_yy_c_buf_p
;
915 ace_cc_yy_bp
= ace_cc_yytext_ptr
+ ACE_CC_YY_MORE_ADJ
;
916 goto ace_cc_yy_match
;
918 case EOB_ACT_LAST_MATCH
:
920 &ace_cc_yy_current_buffer
->ace_cc_yy_ch_buf
[ace_cc_yy_n_chars
];
922 ace_cc_yy_current_state
= ace_cc_yy_get_previous_state();
924 ace_cc_yy_cp
= ace_cc_yy_c_buf_p
;
925 ace_cc_yy_bp
= ace_cc_yytext_ptr
+ ACE_CC_YY_MORE_ADJ
;
926 goto ace_cc_yy_find_action
;
932 ACE_CC_YY_FATAL_ERROR(
933 "fatal flex scanner internal error--no action found" );
934 } /* end of action switch */
935 } /* end of scanning one token */
936 } /* end of ace_cc_yylex */
939 /* ace_cc_yy_get_next_buffer - try to read in a new buffer
941 * Returns a code representing an action:
942 * EOB_ACT_LAST_MATCH -
943 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
944 * EOB_ACT_END_OF_FILE - end of file
947 static int ace_cc_yy_get_next_buffer()
949 char *dest
= ace_cc_yy_current_buffer
->ace_cc_yy_ch_buf
;
950 char *source
= ace_cc_yytext_ptr
;
951 int number_to_move
, i
;
954 if ( ace_cc_yy_c_buf_p
> &ace_cc_yy_current_buffer
->ace_cc_yy_ch_buf
[ace_cc_yy_n_chars
+ 1] )
955 ACE_CC_YY_FATAL_ERROR(
956 "fatal flex scanner internal error--end of buffer missed" );
958 if ( ace_cc_yy_current_buffer
->ace_cc_yy_fill_buffer
== 0 )
959 { /* Don't try to fill the buffer, so this is an EOF. */
960 if ( ace_cc_yy_c_buf_p
- ace_cc_yytext_ptr
- ACE_CC_YY_MORE_ADJ
== 1 )
962 /* We matched a single character, the EOB, so
963 * treat this as a final EOF.
965 return EOB_ACT_END_OF_FILE
;
970 /* We matched some text prior to the EOB, first
973 return EOB_ACT_LAST_MATCH
;
977 /* Try to read more data. */
979 /* First move last chars to start of buffer. */
980 number_to_move
= (int) (ace_cc_yy_c_buf_p
- ace_cc_yytext_ptr
) - 1;
982 for ( i
= 0; i
< number_to_move
; ++i
)
983 *(dest
++) = *(source
++);
985 if ( ace_cc_yy_current_buffer
->ace_cc_yy_buffer_status
== ACE_CC_YY_BUFFER_EOF_PENDING
)
986 /* don't do the read, it's not guaranteed to return an EOF,
989 ace_cc_yy_current_buffer
->ace_cc_yy_n_chars
= ace_cc_yy_n_chars
= 0;
994 ace_cc_yy_current_buffer
->ace_cc_yy_buf_size
- number_to_move
- 1;
996 while ( num_to_read
<= 0 )
997 { /* Not enough room in the buffer - grow it. */
998 #ifdef ACE_CC_YY_USES_REJECT
999 ACE_CC_YY_FATAL_ERROR(
1000 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
1003 /* just a shorter name for the current buffer */
1004 ACE_CC_YY_BUFFER_STATE b
= ace_cc_yy_current_buffer
;
1006 int ace_cc_yy_c_buf_p_offset
=
1007 (int) (ace_cc_yy_c_buf_p
- b
->ace_cc_yy_ch_buf
);
1009 if ( b
->ace_cc_yy_is_our_buffer
)
1011 int new_size
= b
->ace_cc_yy_buf_size
* 2;
1013 if ( new_size
<= 0 )
1014 b
->ace_cc_yy_buf_size
+= b
->ace_cc_yy_buf_size
/ 8;
1016 b
->ace_cc_yy_buf_size
*= 2;
1018 b
->ace_cc_yy_ch_buf
= (char *)
1019 /* Include room in for 2 EOB chars. */
1020 ace_cc_yy_flex_realloc( (void *) b
->ace_cc_yy_ch_buf
,
1021 b
->ace_cc_yy_buf_size
+ 2 );
1024 /* Can't grow it, we don't own it. */
1025 b
->ace_cc_yy_ch_buf
= 0;
1027 if ( ! b
->ace_cc_yy_ch_buf
)
1028 ACE_CC_YY_FATAL_ERROR(
1029 "fatal error - scanner input buffer overflow" );
1031 ace_cc_yy_c_buf_p
= &b
->ace_cc_yy_ch_buf
[ace_cc_yy_c_buf_p_offset
];
1033 num_to_read
= ace_cc_yy_current_buffer
->ace_cc_yy_buf_size
-
1038 if ( num_to_read
> ACE_CC_YY_READ_BUF_SIZE
)
1039 num_to_read
= ACE_CC_YY_READ_BUF_SIZE
;
1041 /* Read in more data. */
1042 ACE_CC_YY_INPUT( (&ace_cc_yy_current_buffer
->ace_cc_yy_ch_buf
[number_to_move
]),
1043 ace_cc_yy_n_chars
, num_to_read
);
1045 ace_cc_yy_current_buffer
->ace_cc_yy_n_chars
= ace_cc_yy_n_chars
;
1048 if ( ace_cc_yy_n_chars
== 0 )
1050 if ( number_to_move
== ACE_CC_YY_MORE_ADJ
)
1052 ret_val
= EOB_ACT_END_OF_FILE
;
1053 ace_cc_yyrestart( ace_cc_yyin
);
1058 ret_val
= EOB_ACT_LAST_MATCH
;
1059 ace_cc_yy_current_buffer
->ace_cc_yy_buffer_status
=
1060 ACE_CC_YY_BUFFER_EOF_PENDING
;
1065 ret_val
= EOB_ACT_CONTINUE_SCAN
;
1067 ace_cc_yy_n_chars
+= number_to_move
;
1068 ace_cc_yy_current_buffer
->ace_cc_yy_ch_buf
[ace_cc_yy_n_chars
] = ACE_CC_YY_END_OF_BUFFER_CHAR
;
1069 ace_cc_yy_current_buffer
->ace_cc_yy_ch_buf
[ace_cc_yy_n_chars
+ 1] = ACE_CC_YY_END_OF_BUFFER_CHAR
;
1071 ace_cc_yytext_ptr
= &ace_cc_yy_current_buffer
->ace_cc_yy_ch_buf
[0];
1077 /* ace_cc_yy_get_previous_state - get the state just before the EOB char was reached */
1079 static ace_cc_yy_state_type
ace_cc_yy_get_previous_state()
1081 ace_cc_yy_state_type ace_cc_yy_current_state
;
1084 ace_cc_yy_current_state
= ace_cc_yy_start
;
1085 ace_cc_yy_current_state
+= ACE_CC_YY_AT_BOL();
1087 for ( ace_cc_yy_cp
= ace_cc_yytext_ptr
+ ACE_CC_YY_MORE_ADJ
; ace_cc_yy_cp
< ace_cc_yy_c_buf_p
; ++ace_cc_yy_cp
)
1089 ACE_CC_YY_CHAR ace_cc_yy_c
= (*ace_cc_yy_cp
? ace_cc_yy_ec
[ACE_CC_YY_SC_TO_UI(*ace_cc_yy_cp
)] : 1);
1090 if ( ace_cc_yy_accept
[ace_cc_yy_current_state
] )
1092 ace_cc_yy_last_accepting_state
= ace_cc_yy_current_state
;
1093 ace_cc_yy_last_accepting_cpos
= ace_cc_yy_cp
;
1095 while ( ace_cc_yy_chk
[ace_cc_yy_base
[ace_cc_yy_current_state
] + ace_cc_yy_c
] != ace_cc_yy_current_state
)
1097 ace_cc_yy_current_state
= (int) ace_cc_yy_def
[ace_cc_yy_current_state
];
1098 if ( ace_cc_yy_current_state
>= 124 )
1099 ace_cc_yy_c
= ace_cc_yy_meta
[(unsigned int) ace_cc_yy_c
];
1101 ace_cc_yy_current_state
= ace_cc_yy_nxt
[ace_cc_yy_base
[ace_cc_yy_current_state
] + (unsigned int) ace_cc_yy_c
];
1104 return ace_cc_yy_current_state
;
1108 /* ace_cc_yy_try_NUL_trans - try to make a transition on the NUL character
1111 * next_state = ace_cc_yy_try_NUL_trans( current_state );
1114 #ifdef ACE_CC_YY_USE_PROTOS
1115 static ace_cc_yy_state_type
ace_cc_yy_try_NUL_trans( ace_cc_yy_state_type ace_cc_yy_current_state
)
1117 static ace_cc_yy_state_type
ace_cc_yy_try_NUL_trans( ace_cc_yy_current_state
)
1118 ace_cc_yy_state_type ace_cc_yy_current_state
;
1121 int ace_cc_yy_is_jam
;
1122 char *ace_cc_yy_cp
= ace_cc_yy_c_buf_p
;
1124 ACE_CC_YY_CHAR ace_cc_yy_c
= 1;
1125 if ( ace_cc_yy_accept
[ace_cc_yy_current_state
] )
1127 ace_cc_yy_last_accepting_state
= ace_cc_yy_current_state
;
1128 ace_cc_yy_last_accepting_cpos
= ace_cc_yy_cp
;
1130 while ( ace_cc_yy_chk
[ace_cc_yy_base
[ace_cc_yy_current_state
] + ace_cc_yy_c
] != ace_cc_yy_current_state
)
1132 ace_cc_yy_current_state
= (int) ace_cc_yy_def
[ace_cc_yy_current_state
];
1133 if ( ace_cc_yy_current_state
>= 124 )
1134 ace_cc_yy_c
= ace_cc_yy_meta
[(unsigned int) ace_cc_yy_c
];
1136 ace_cc_yy_current_state
= ace_cc_yy_nxt
[ace_cc_yy_base
[ace_cc_yy_current_state
] + (unsigned int) ace_cc_yy_c
];
1137 ace_cc_yy_is_jam
= (ace_cc_yy_current_state
== 123);
1139 return ace_cc_yy_is_jam
? 0 : ace_cc_yy_current_state
;
1143 #ifndef ACE_CC_YY_NO_UNPUT
1144 #ifdef ACE_CC_YY_USE_PROTOS
1145 static void ace_cc_yyunput( int c
, char *ace_cc_yy_bp
)
1147 static void ace_cc_yyunput( c
, ace_cc_yy_bp
)
1152 char *ace_cc_yy_cp
= ace_cc_yy_c_buf_p
;
1154 /* undo effects of setting up ace_cc_yytext */
1155 *ace_cc_yy_cp
= ace_cc_yy_hold_char
;
1157 if ( ace_cc_yy_cp
< ace_cc_yy_current_buffer
->ace_cc_yy_ch_buf
+ 2 )
1158 { /* need to shift things up to make room */
1159 /* +2 for EOB chars. */
1160 int number_to_move
= ace_cc_yy_n_chars
+ 2;
1161 char *dest
= &ace_cc_yy_current_buffer
->ace_cc_yy_ch_buf
[
1162 ace_cc_yy_current_buffer
->ace_cc_yy_buf_size
+ 2];
1164 &ace_cc_yy_current_buffer
->ace_cc_yy_ch_buf
[number_to_move
];
1166 while ( source
> ace_cc_yy_current_buffer
->ace_cc_yy_ch_buf
)
1167 *--dest
= *--source
;
1169 ace_cc_yy_cp
+= (int) (dest
- source
);
1170 ace_cc_yy_bp
+= (int) (dest
- source
);
1171 ace_cc_yy_current_buffer
->ace_cc_yy_n_chars
=
1172 ace_cc_yy_n_chars
= ace_cc_yy_current_buffer
->ace_cc_yy_buf_size
;
1174 if ( ace_cc_yy_cp
< ace_cc_yy_current_buffer
->ace_cc_yy_ch_buf
+ 2 )
1175 ACE_CC_YY_FATAL_ERROR( "flex scanner push-back overflow" );
1178 *--ace_cc_yy_cp
= (char) c
;
1181 ace_cc_yytext_ptr
= ace_cc_yy_bp
;
1182 ace_cc_yy_hold_char
= *ace_cc_yy_cp
;
1183 ace_cc_yy_c_buf_p
= ace_cc_yy_cp
;
1185 #endif /* ifndef ACE_CC_YY_NO_UNPUT */
1187 #ifndef ACE_CC_YY_NO_INPUT
1189 static int ace_cc_yyinput()
1196 *ace_cc_yy_c_buf_p
= ace_cc_yy_hold_char
;
1198 if ( *ace_cc_yy_c_buf_p
== ACE_CC_YY_END_OF_BUFFER_CHAR
)
1200 /* ace_cc_yy_c_buf_p now points to the character we want to return.
1201 * If this occurs *before* the EOB characters, then it's a
1202 * valid NUL; if not, then we've hit the end of the buffer.
1204 if ( ace_cc_yy_c_buf_p
< &ace_cc_yy_current_buffer
->ace_cc_yy_ch_buf
[ace_cc_yy_n_chars
] )
1205 /* This was really a NUL. */
1206 *ace_cc_yy_c_buf_p
= '\0';
1209 { /* need more input */
1210 int offset
= ace_cc_yy_c_buf_p
- ace_cc_yytext_ptr
;
1211 ++ace_cc_yy_c_buf_p
;
1213 switch ( ace_cc_yy_get_next_buffer() )
1215 case EOB_ACT_LAST_MATCH
:
1216 /* This happens because ace_cc_yy_g_n_b()
1217 * sees that we've accumulated a
1218 * token and flags that we need to
1219 * try matching the token before
1220 * proceeding. But for input(),
1221 * there's no matching to consider.
1222 * So convert the EOB_ACT_LAST_MATCH
1223 * to EOB_ACT_END_OF_FILE.
1226 /* Reset buffer status. */
1227 ace_cc_yyrestart( ace_cc_yyin
);
1231 case EOB_ACT_END_OF_FILE
:
1233 if ( ace_cc_yywrap() )
1236 /* if ( ! ace_cc_yy_did_buffer_switch_on_eof )
1239 return ace_cc_yyinput();
1245 case EOB_ACT_CONTINUE_SCAN
:
1246 ace_cc_yy_c_buf_p
= ace_cc_yytext_ptr
+ offset
;
1252 c
= *(unsigned char *) ace_cc_yy_c_buf_p
; /* cast for 8-bit char's */
1253 *ace_cc_yy_c_buf_p
= '\0'; /* preserve ace_cc_yytext */
1254 ace_cc_yy_hold_char
= *++ace_cc_yy_c_buf_p
;
1256 ace_cc_yy_current_buffer
->ace_cc_yy_at_bol
= (c
== '\n');
1260 #endif /* ! ACE_CC_YY_NO_INPUT */
1263 #ifdef ACE_CC_YY_USE_PROTOS
1264 void ace_cc_yyrestart( FILE *input_file
)
1266 void ace_cc_yyrestart( input_file
)
1270 if ( ! ace_cc_yy_current_buffer
)
1271 ace_cc_yy_current_buffer
= ace_cc_yy_create_buffer( ace_cc_yyin
, ACE_CC_YY_BUF_SIZE
);
1273 ace_cc_yy_init_buffer( ace_cc_yy_current_buffer
, input_file
);
1274 ace_cc_yy_load_buffer_state();
1278 #ifdef ACE_CC_YY_USE_PROTOS
1279 void ace_cc_yy_switch_to_buffer( ACE_CC_YY_BUFFER_STATE new_buffer
)
1281 void ace_cc_yy_switch_to_buffer( new_buffer
)
1282 ACE_CC_YY_BUFFER_STATE new_buffer
;
1285 if ( ace_cc_yy_current_buffer
== new_buffer
)
1288 if ( ace_cc_yy_current_buffer
)
1290 /* Flush out information for old buffer. */
1291 *ace_cc_yy_c_buf_p
= ace_cc_yy_hold_char
;
1292 ace_cc_yy_current_buffer
->ace_cc_yy_buf_pos
= ace_cc_yy_c_buf_p
;
1293 ace_cc_yy_current_buffer
->ace_cc_yy_n_chars
= ace_cc_yy_n_chars
;
1296 ace_cc_yy_current_buffer
= new_buffer
;
1297 ace_cc_yy_load_buffer_state();
1299 /* We don't actually know whether we did this switch during
1300 * EOF (ace_cc_yywrap()) processing, but the only time this flag
1301 * is looked at is after ace_cc_yywrap() is called, so it's safe
1302 * to go ahead and always set it.
1304 #if (ace_cc_yywrap() != 1)
1305 ace_cc_yy_did_buffer_switch_on_eof
= 1;
1310 #ifdef ACE_CC_YY_USE_PROTOS
1311 void ace_cc_yy_load_buffer_state()
1313 void ace_cc_yy_load_buffer_state()
1316 ace_cc_yy_n_chars
= ace_cc_yy_current_buffer
->ace_cc_yy_n_chars
;
1317 ace_cc_yytext_ptr
= ace_cc_yy_c_buf_p
= ace_cc_yy_current_buffer
->ace_cc_yy_buf_pos
;
1318 ace_cc_yyin
= ace_cc_yy_current_buffer
->ace_cc_yy_input_file
;
1319 ace_cc_yy_hold_char
= *ace_cc_yy_c_buf_p
;
1323 #ifdef ACE_CC_YY_USE_PROTOS
1324 ACE_CC_YY_BUFFER_STATE
ace_cc_yy_create_buffer( FILE *file
, int size
)
1326 ACE_CC_YY_BUFFER_STATE
ace_cc_yy_create_buffer( file
, size
)
1331 ACE_CC_YY_BUFFER_STATE b
;
1333 b
= (ACE_CC_YY_BUFFER_STATE
) ace_cc_yy_flex_alloc( sizeof( struct ace_cc_yy_buffer_state
) );
1335 ACE_CC_YY_FATAL_ERROR( "out of dynamic memory in ace_cc_yy_create_buffer()" );
1337 b
->ace_cc_yy_buf_size
= size
;
1339 /* ace_cc_yy_ch_buf has to be 2 characters longer than the size given because
1340 * we need to put in 2 end-of-buffer characters.
1342 b
->ace_cc_yy_ch_buf
= (char *) ace_cc_yy_flex_alloc( b
->ace_cc_yy_buf_size
+ 2 );
1343 if ( ! b
->ace_cc_yy_ch_buf
)
1344 ACE_CC_YY_FATAL_ERROR( "out of dynamic memory in ace_cc_yy_create_buffer()" );
1346 b
->ace_cc_yy_is_our_buffer
= 1;
1348 ace_cc_yy_init_buffer( b
, file
);
1354 #ifdef ACE_CC_YY_USE_PROTOS
1355 void ace_cc_yy_delete_buffer( ACE_CC_YY_BUFFER_STATE b
)
1357 void ace_cc_yy_delete_buffer( b
)
1358 ACE_CC_YY_BUFFER_STATE b
;
1364 if ( b
== ace_cc_yy_current_buffer
)
1365 ace_cc_yy_current_buffer
= (ACE_CC_YY_BUFFER_STATE
) 0;
1367 if ( b
->ace_cc_yy_is_our_buffer
)
1368 ace_cc_yy_flex_free( (void *) b
->ace_cc_yy_ch_buf
);
1370 ace_cc_yy_flex_free( (void *) b
);
1374 #ifdef ACE_CC_YY_USE_PROTOS
1375 void ace_cc_yy_init_buffer( ACE_CC_YY_BUFFER_STATE b
, FILE *file
)
1377 void ace_cc_yy_init_buffer( b
, file
)
1378 ACE_CC_YY_BUFFER_STATE b
;
1384 ace_cc_yy_flush_buffer( b
);
1386 b
->ace_cc_yy_input_file
= file
;
1387 b
->ace_cc_yy_fill_buffer
= 1;
1389 #if ACE_CC_YY_ALWAYS_INTERACTIVE
1390 b
->ace_cc_yy_is_interactive
= 1;
1392 #if ACE_CC_YY_NEVER_INTERACTIVE
1393 b
->ace_cc_yy_is_interactive
= 0;
1395 b
->ace_cc_yy_is_interactive
= file
? (ACE_OS::ace_isatty( fileno(file
) ) > 0) : 0;
1401 #ifdef ACE_CC_YY_USE_PROTOS
1402 void ace_cc_yy_flush_buffer( ACE_CC_YY_BUFFER_STATE b
)
1404 void ace_cc_yy_flush_buffer( b
)
1405 ACE_CC_YY_BUFFER_STATE b
;
1412 b
->ace_cc_yy_n_chars
= 0;
1414 /* We always need two end-of-buffer characters. The first causes
1415 * a transition to the end-of-buffer state. The second causes
1416 * a jam in that state.
1418 b
->ace_cc_yy_ch_buf
[0] = ACE_CC_YY_END_OF_BUFFER_CHAR
;
1419 b
->ace_cc_yy_ch_buf
[1] = ACE_CC_YY_END_OF_BUFFER_CHAR
;
1421 b
->ace_cc_yy_buf_pos
= &b
->ace_cc_yy_ch_buf
[0];
1423 b
->ace_cc_yy_at_bol
= 1;
1424 b
->ace_cc_yy_buffer_status
= ACE_CC_YY_BUFFER_NEW
;
1426 if ( b
== ace_cc_yy_current_buffer
)
1427 ace_cc_yy_load_buffer_state();
1431 #ifndef ACE_CC_YY_NO_SCAN_BUFFER
1432 #ifdef ACE_CC_YY_USE_PROTOS
1433 ACE_CC_YY_BUFFER_STATE
ace_cc_yy_scan_buffer( char *base
, ace_cc_yy_size_t size
)
1435 ACE_CC_YY_BUFFER_STATE
ace_cc_yy_scan_buffer( base
, size
)
1437 ace_cc_yy_size_t size
;
1440 ACE_CC_YY_BUFFER_STATE b
;
1443 base
[size
-2] != ACE_CC_YY_END_OF_BUFFER_CHAR
||
1444 base
[size
-1] != ACE_CC_YY_END_OF_BUFFER_CHAR
)
1445 /* They forgot to leave room for the EOB's. */
1448 b
= (ACE_CC_YY_BUFFER_STATE
) ace_cc_yy_flex_alloc( sizeof( struct ace_cc_yy_buffer_state
) );
1450 ACE_CC_YY_FATAL_ERROR( "out of dynamic memory in ace_cc_yy_scan_buffer()" );
1452 b
->ace_cc_yy_buf_size
= size
- 2; /* "- 2" to take care of EOB's */
1453 b
->ace_cc_yy_buf_pos
= b
->ace_cc_yy_ch_buf
= base
;
1454 b
->ace_cc_yy_is_our_buffer
= 0;
1455 b
->ace_cc_yy_input_file
= 0;
1456 b
->ace_cc_yy_n_chars
= b
->ace_cc_yy_buf_size
;
1457 b
->ace_cc_yy_is_interactive
= 0;
1458 b
->ace_cc_yy_at_bol
= 1;
1459 b
->ace_cc_yy_fill_buffer
= 0;
1460 b
->ace_cc_yy_buffer_status
= ACE_CC_YY_BUFFER_NEW
;
1462 ace_cc_yy_switch_to_buffer( b
);
1469 #ifndef ACE_CC_YY_NO_SCAN_STRING
1470 #ifdef ACE_CC_YY_USE_PROTOS
1471 ACE_CC_YY_BUFFER_STATE
ace_cc_yy_scan_string( ace_cc_yyconst
char *ace_cc_yy_str
)
1473 ACE_CC_YY_BUFFER_STATE
ace_cc_yy_scan_string( ace_cc_yy_str
)
1474 ace_cc_yyconst
char *ace_cc_yy_str
;
1478 for ( len
= 0; ace_cc_yy_str
[len
]; ++len
)
1481 return ace_cc_yy_scan_bytes( ace_cc_yy_str
, len
);
1486 #ifndef ACE_CC_YY_NO_SCAN_BYTES
1487 #ifdef ACE_CC_YY_USE_PROTOS
1488 ACE_CC_YY_BUFFER_STATE
ace_cc_yy_scan_bytes( ace_cc_yyconst
char *bytes
, int len
)
1490 ACE_CC_YY_BUFFER_STATE
ace_cc_yy_scan_bytes( bytes
, len
)
1491 ace_cc_yyconst
char *bytes
;
1495 ACE_CC_YY_BUFFER_STATE b
;
1500 /* Get memory for full buffer, including space for trailing EOB's. */
1502 buf
= (char *) ace_cc_yy_flex_alloc( n
);
1504 ACE_CC_YY_FATAL_ERROR( "out of dynamic memory in ace_cc_yy_scan_bytes()" );
1506 for ( i
= 0; i
< len
; ++i
)
1509 buf
[len
] = buf
[len
+1] = ACE_CC_YY_END_OF_BUFFER_CHAR
;
1511 b
= ace_cc_yy_scan_buffer( buf
, n
);
1513 ACE_CC_YY_FATAL_ERROR( "bad buffer in ace_cc_yy_scan_bytes()" );
1515 /* It's okay to grow etc. this buffer, and we should throw it
1516 * away when we're done.
1518 b
->ace_cc_yy_is_our_buffer
= 1;
1525 #ifndef ACE_CC_YY_NO_PUSH_STATE
1526 #ifdef ACE_CC_YY_USE_PROTOS
1527 static void ace_cc_yy_push_state( int new_state
)
1529 static void ace_cc_yy_push_state( new_state
)
1533 if ( ace_cc_yy_start_stack_ptr
>= ace_cc_yy_start_stack_depth
)
1535 ace_cc_yy_size_t new_size
;
1537 ace_cc_yy_start_stack_depth
+= ACE_CC_YY_START_STACK_INCR
;
1538 new_size
= ace_cc_yy_start_stack_depth
* sizeof( int );
1540 if ( ! ace_cc_yy_start_stack
)
1541 ace_cc_yy_start_stack
= (int *) ace_cc_yy_flex_alloc( new_size
);
1544 ace_cc_yy_start_stack
= (int *) ace_cc_yy_flex_realloc(
1545 (void *) ace_cc_yy_start_stack
, new_size
);
1547 if ( ! ace_cc_yy_start_stack
)
1548 ACE_CC_YY_FATAL_ERROR(
1549 "out of memory expanding start-condition stack" );
1552 ace_cc_yy_start_stack
[ace_cc_yy_start_stack_ptr
++] = ACE_CC_YY_START
;
1559 #ifndef ACE_CC_YY_NO_POP_STATE
1560 static void ace_cc_yy_pop_state()
1562 if ( --ace_cc_yy_start_stack_ptr
< 0 )
1563 ACE_CC_YY_FATAL_ERROR( "start-condition stack underflow" );
1565 BEGIN(ace_cc_yy_start_stack
[ace_cc_yy_start_stack_ptr
]);
1570 #ifndef ACE_CC_YY_NO_TOP_STATE
1571 static int ace_cc_yy_top_state()
1573 return ace_cc_yy_start_stack
[ace_cc_yy_start_stack_ptr
- 1];
1577 #ifndef ACE_CC_YY_EXIT_FAILURE
1578 #define ACE_CC_YY_EXIT_FAILURE 2
1581 #ifdef ACE_CC_YY_USE_PROTOS
1582 static void ace_cc_yy_fatal_error( ace_cc_yyconst
char msg
[] )
1584 static void ace_cc_yy_fatal_error( msg
)
1588 (void) ACE_OS::fprintf( stderr
, "%s\n", msg
);
1589 ACE_OS::exit( ACE_CC_YY_EXIT_FAILURE
);
1593 /* Redefine ace_cc_yyless() so it works in section 3 code. */
1595 #undef ace_cc_yyless
1596 #define ace_cc_yyless(n) \
1599 /* Undo effects of setting up ace_cc_yytext. */ \
1600 ace_cc_yytext[ace_cc_yyleng] = ace_cc_yy_hold_char; \
1601 ace_cc_yy_c_buf_p = ace_cc_yytext + n; \
1602 ace_cc_yy_hold_char = *ace_cc_yy_c_buf_p; \
1603 *ace_cc_yy_c_buf_p = '\0'; \
1604 ace_cc_yyleng = n; \
1609 /* Internal utility routines. */
1611 #ifndef ace_cc_yytext_ptr
1612 #ifdef ACE_CC_YY_USE_PROTOS
1613 static void ace_cc_yy_flex_strncpy( char *s1
, ace_cc_yyconst
char *s2
, int n
)
1615 static void ace_cc_yy_flex_strncpy( s1
, s2
, n
)
1617 ace_cc_yyconst
char *s2
;
1622 for ( i
= 0; i
< n
; ++i
)
1627 #ifdef ACE_CC_YY_NEED_STRLEN
1628 #ifdef ACE_CC_YY_USE_PROTOS
1629 static int ace_cc_yy_flex_strlen( ace_cc_yyconst
char *s
)
1631 static int ace_cc_yy_flex_strlen( s
)
1632 ace_cc_yyconst
char *s
;
1636 for ( n
= 0; s
[n
]; ++n
)
1644 #ifdef ACE_CC_YY_USE_PROTOS
1645 static void *ace_cc_yy_flex_alloc( ace_cc_yy_size_t size
)
1647 static void *ace_cc_yy_flex_alloc( size
)
1648 ace_cc_yy_size_t size
;
1651 return (void *) ACE_OS::malloc( size
);
1654 #ifdef ACE_CC_YY_USE_PROTOS
1655 static void *ace_cc_yy_flex_realloc( void *ptr
, ace_cc_yy_size_t size
)
1657 static void *ace_cc_yy_flex_realloc( ptr
, size
)
1659 ace_cc_yy_size_t size
;
1662 /* The cast to (char *) in the following accommodates both
1663 * implementations that use char* generic pointers, and those
1664 * that use void* generic pointers. It works with the latter
1665 * because both ANSI C and C++ allow castless assignment from
1666 * any pointer type to void*, and deal with argument conversions
1667 * as though doing an assignment.
1669 return (void *) ACE_OS::realloc( (char *) ptr
, size
);
1672 #ifdef ACE_CC_YY_USE_PROTOS
1673 static void ace_cc_yy_flex_free( void *ptr
)
1675 static void ace_cc_yy_flex_free( ptr
)
1679 ACE_OS::free( ACE_MALLOC_T (ptr
) );