00001 #define YY_NO_UNPUT
00002
00003
00004
00005
00006
00007
00008 #define FLEX_SCANNER
00009 #define YY_FLEX_MAJOR_VERSION 2
00010 #define YY_FLEX_MINOR_VERSION 5
00011
00012 #include "ace/os_include/os_stdio.h"
00013 #include "ace/OS_NS_unistd.h"
00014 #include "tao/Versioned_Namespace.h"
00015
00016
00017
00018 #ifdef c_plusplus
00019 #ifndef __cplusplus
00020 #define __cplusplus
00021 #endif
00022 #endif
00023
00024
00025 #ifdef __cplusplus
00026
00027
00028
00029 #define YY_USE_PROTOS
00030
00031
00032 #define YY_USE_CONST
00033
00034 #else
00035
00036 #if __STDC__
00037
00038 #define YY_USE_PROTOS
00039 #define YY_USE_CONST
00040
00041 #endif
00042 #endif
00043
00044 #ifdef __TURBOC__
00045 #pragma warn -rch
00046 #pragma warn -use
00047 #define YY_USE_CONST
00048 #define YY_USE_PROTOS
00049 #endif
00050
00051 #ifdef YY_USE_CONST
00052 #define yyconst const
00053 #else
00054 #define yyconst
00055 #endif
00056
00057
00058 #ifdef YY_USE_PROTOS
00059 #define YY_PROTO(proto) proto
00060 #else
00061 #define YY_PROTO(proto) ()
00062 #endif
00063
00064
00065 #define YY_NULL 0
00066
00067
00068
00069
00070
00071
00072 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
00073
00074
00075
00076
00077
00078 #define BEGIN yy_start = 1 + 2 *
00079
00080
00081
00082
00083
00084 #define YY_START ((yy_start - 1) / 2)
00085 #define YYSTATE YY_START
00086
00087
00088 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
00089
00090
00091 #define YY_NEW_FILE yyrestart( yyin )
00092
00093 #define YY_END_OF_BUFFER_CHAR 0
00094
00095
00096 #define YY_BUF_SIZE 16384
00097
00098 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00099
00100 typedef struct yy_buffer_state *YY_BUFFER_STATE;
00101
00102 extern int yyleng;
00103 extern FILE *yyin, *yyout;
00104
00105 #define EOB_ACT_CONTINUE_SCAN 0
00106 #define EOB_ACT_END_OF_FILE 1
00107 #define EOB_ACT_LAST_MATCH 2
00108
00109
00110
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125 #define yyless(n) \
00126 do \
00127 { \
00128 \
00129 *yy_cp = yy_hold_char; \
00130 YY_RESTORE_YY_MORE_OFFSET \
00131 yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
00132 YY_DO_BEFORE_ACTION; \
00133 } \
00134 while ( 0 )
00135
00136 #define unput(c) yyunput( c, yytext_ptr )
00137
00138
00139
00140
00141
00142 typedef unsigned int yy_size_t;
00143
00144
00145 struct yy_buffer_state
00146 {
00147 FILE *yy_input_file;
00148
00149 char *yy_ch_buf;
00150 char *yy_buf_pos;
00151
00152
00153
00154
00155 yy_size_t yy_buf_size;
00156
00157
00158
00159
00160 int yy_n_chars;
00161
00162
00163
00164
00165
00166 int yy_is_our_buffer;
00167
00168
00169
00170
00171
00172
00173 int yy_is_interactive;
00174
00175
00176
00177
00178
00179 int yy_at_bol;
00180
00181
00182
00183
00184 int yy_fill_buffer;
00185
00186 int yy_buffer_status;
00187 #define YY_BUFFER_NEW 0
00188 #define YY_BUFFER_NORMAL 1
00189
00190
00191
00192
00193
00194
00195
00196
00197
00198
00199 #define YY_BUFFER_EOF_PENDING 2
00200 };
00201
00202 static YY_BUFFER_STATE yy_current_buffer = 0;
00203
00204
00205
00206
00207
00208 #define YY_CURRENT_BUFFER yy_current_buffer
00209
00210
00211
00212 static char yy_hold_char;
00213
00214 static int yy_n_chars;
00215
00216
00217 int yyleng;
00218
00219
00220 static char *yy_c_buf_p = (char *) 0;
00221 static int yy_init = 1;
00222 static int yy_start = 0;
00223
00224
00225
00226
00227 static int yy_did_buffer_switch_on_eof;
00228
00229 void yyrestart YY_PROTO(( FILE *input_file ));
00230
00231 void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
00232 void yy_load_buffer_state YY_PROTO(( void ));
00233 YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
00234 void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
00235 void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
00236 void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
00237 #define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
00238
00239 YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
00240 YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
00241 YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
00242
00243 static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
00244 static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
00245 static void yy_flex_free YY_PROTO(( void * ));
00246
00247 #define yy_new_buffer yy_create_buffer
00248
00249 #define yy_set_interactive(is_interactive) \
00250 { \
00251 if ( ! yy_current_buffer ) \
00252 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
00253 yy_current_buffer->yy_is_interactive = is_interactive; \
00254 }
00255
00256 #define yy_set_bol(at_bol) \
00257 { \
00258 if ( ! yy_current_buffer ) \
00259 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
00260 yy_current_buffer->yy_at_bol = at_bol; \
00261 }
00262
00263 #define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
00264
00265 typedef unsigned char YY_CHAR;
00266 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
00267 typedef int yy_state_type;
00268 extern char *yytext;
00269 #define yytext_ptr yytext
00270
00271 static yy_state_type yy_get_previous_state YY_PROTO(( void ));
00272 static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
00273 static int yy_get_next_buffer YY_PROTO(( void ));
00274 static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
00275
00276
00277
00278
00279 #define YY_DO_BEFORE_ACTION \
00280 yytext_ptr = yy_bp; \
00281 yyleng = (int) (yy_cp - yy_bp); \
00282 yy_hold_char = *yy_cp; \
00283 *yy_cp = '\0'; \
00284 yy_c_buf_p = yy_cp;
00285
00286 #define YY_NUM_RULES 32
00287 #define YY_END_OF_BUFFER 33
00288 static yyconst short int yy_accept[81] =
00289 { 0,
00290 0, 0, 33, 31, 30, 31, 31, 22, 23, 14,
00291 12, 13, 31, 15, 26, 16, 31, 18, 29, 29,
00292 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
00293 11, 21, 0, 28, 0, 0, 26, 27, 17, 20,
00294 19, 29, 29, 29, 29, 29, 29, 10, 29, 29,
00295 29, 9, 29, 29, 0, 0, 29, 29, 8, 29,
00296 29, 2, 1, 7, 29, 29, 0, 27, 29, 24,
00297 29, 29, 29, 5, 25, 6, 3, 29, 4, 0
00298 } ;
00299
00300 static yyconst int yy_ec[256] =
00301 { 0,
00302 1, 1, 1, 1, 1, 1, 1, 1, 2, 1,
00303 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00304 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00305 1, 2, 3, 1, 1, 1, 1, 1, 4, 5,
00306 6, 7, 8, 1, 9, 10, 11, 12, 12, 12,
00307 12, 12, 12, 12, 12, 12, 12, 1, 1, 13,
00308 14, 15, 1, 1, 16, 17, 17, 17, 18, 19,
00309 17, 17, 17, 17, 17, 20, 17, 17, 17, 17,
00310 17, 21, 22, 23, 24, 17, 17, 17, 17, 17,
00311 1, 25, 1, 1, 26, 1, 27, 17, 17, 28,
00312
00313 29, 30, 17, 31, 32, 17, 17, 17, 33, 34,
00314 35, 17, 17, 36, 37, 38, 17, 17, 39, 40,
00315 17, 17, 1, 1, 1, 41, 1, 1, 1, 1,
00316 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00317 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00318 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00319 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00320 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00321 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00322 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00323
00324 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00325 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00326 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00327 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00328 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00329 1, 1, 1, 1, 1
00330 } ;
00331
00332 static yyconst int yy_meta[42] =
00333 { 0,
00334 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00335 1, 2, 1, 1, 1, 2, 2, 2, 2, 2,
00336 2, 2, 2, 2, 1, 2, 2, 2, 2, 2,
00337 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
00338 1
00339 } ;
00340
00341 static yyconst short int yy_base[83] =
00342 { 0,
00343 0, 0, 108, 109, 109, 93, 38, 109, 109, 109,
00344 33, 34, 94, 109, 37, 91, 90, 89, 0, 86,
00345 80, 66, 59, 66, 63, 21, 61, 59, 67, 61,
00346 109, 109, 46, 109, 47, 80, 42, 44, 109, 109,
00347 109, 0, 71, 66, 61, 56, 51, 0, 46, 51,
00348 46, 0, 49, 44, 51, 49, 59, 62, 0, 42,
00349 38, 0, 0, 0, 46, 39, 57, 56, 49, 0,
00350 28, 27, 29, 0, 0, 0, 0, 27, 0, 109,
00351 76, 57
00352 } ;
00353
00354 static yyconst short int yy_def[83] =
00355 { 0,
00356 80, 1, 80, 80, 80, 80, 81, 80, 80, 80,
00357 80, 80, 80, 80, 80, 80, 80, 80, 82, 82,
00358 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
00359 80, 80, 81, 80, 80, 80, 80, 80, 80, 80,
00360 80, 82, 82, 82, 82, 82, 82, 82, 82, 82,
00361 82, 82, 82, 82, 81, 80, 82, 82, 82, 82,
00362 82, 82, 82, 82, 82, 82, 80, 80, 82, 82,
00363 82, 82, 82, 82, 82, 82, 82, 82, 82, 0,
00364 80, 80
00365 } ;
00366
00367 static yyconst short int yy_nxt[151] =
00368 { 0,
00369 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
00370 14, 15, 16, 17, 18, 19, 19, 19, 20, 19,
00371 19, 19, 21, 19, 4, 4, 22, 19, 23, 24,
00372 19, 25, 26, 27, 28, 29, 19, 19, 30, 19,
00373 31, 34, 36, 36, 37, 37, 36, 49, 37, 34,
00374 55, 36, 50, 37, 34, 38, 67, 67, 42, 79,
00375 68, 56, 35, 78, 77, 76, 75, 68, 68, 74,
00376 35, 55, 56, 73, 72, 35, 33, 33, 71, 70,
00377 69, 66, 65, 64, 63, 62, 61, 60, 59, 58,
00378 57, 38, 54, 53, 52, 51, 48, 47, 46, 45,
00379
00380 44, 43, 41, 40, 39, 38, 32, 80, 3, 80,
00381 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
00382 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
00383 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
00384 80, 80, 80, 80, 80, 80, 80, 80, 80, 80
00385 } ;
00386
00387 static yyconst short int yy_chk[151] =
00388 { 0,
00389 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00390 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00391 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00392 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
00393 1, 7, 11, 12, 11, 12, 15, 26, 15, 33,
00394 35, 37, 26, 37, 55, 38, 56, 56, 82, 78,
00395 56, 38, 7, 73, 72, 71, 69, 68, 67, 66,
00396 33, 35, 38, 65, 61, 55, 81, 81, 60, 58,
00397 57, 54, 53, 51, 50, 49, 47, 46, 45, 44,
00398 43, 36, 30, 29, 28, 27, 25, 24, 23, 22,
00399
00400 21, 20, 18, 17, 16, 13, 6, 3, 80, 80,
00401 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
00402 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
00403 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
00404 80, 80, 80, 80, 80, 80, 80, 80, 80, 80
00405 } ;
00406
00407 static yy_state_type yy_last_accepting_state;
00408 static char *yy_last_accepting_cpos;
00409
00410
00411
00412
00413 #define REJECT reject_used_but_not_detected
00414 #define yymore() yymore_used_but_not_detected
00415 #define YY_MORE_ADJ 0
00416 #define YY_RESTORE_YY_MORE_OFFSET
00417 char *yytext;
00418 #define INITIAL 0
00419 TAO_END_VERSIONED_NAMESPACE_DECL
00420
00421
00422
00423
00424
00425
00426
00427
00428
00429
00430
00431
00432
00433
00434
00435 #include "orbsvcs/Trader/Constraint_Interpreter.h"
00436 #include "orbsvcs/Trader/Constraint_Nodes.h"
00437 #include "orbsvcs/Trader/Constraint_Tokens.h"
00438
00439 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00440
00441 static TAO_Literal_Constraint* extract_string(const char*);
00442 static CORBA::LongLong trader_strtoll(const char* str, unsigned int base);
00443 static CORBA::ULongLong trader_strtoull(const char* str, unsigned int base);
00444
00445 #define TAO_YY_LEX_DEBUG
00446
00447 #ifdef TAO_CONSTRAINT_DEBUG
00448 #define TAO_YY_LEX_DEBUG ACE_OS::fprintf(stderr, "%s\n", yytext)
00449 #endif
00450
00451
00452
00453
00454
00455
00456
00457 #ifndef YY_SKIP_YYWRAP
00458 #ifdef __cplusplus
00459 extern "C" int yywrap YY_PROTO(( void ));
00460 #else
00461 extern int yywrap YY_PROTO(( void ));
00462 #endif
00463 #endif
00464
00465 #ifndef YY_NO_UNPUT
00466 static void yyunput YY_PROTO(( int c, char *buf_ptr ));
00467 #endif
00468
00469 #ifndef yytext_ptr
00470 static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
00471 #endif
00472
00473 #ifdef YY_NEED_STRLEN
00474 static int yy_flex_strlen YY_PROTO(( yyconst char * ));
00475 #endif
00476
00477 #ifndef YY_NO_INPUT
00478 #ifdef __cplusplus
00479 static int yyinput YY_PROTO(( void ));
00480 #else
00481 static int input YY_PROTO(( void ));
00482 #endif
00483 #endif
00484
00485 #if YY_STACK_USED
00486 static int yy_start_stack_ptr = 0;
00487 static int yy_start_stack_depth = 0;
00488 static int *yy_start_stack = 0;
00489 #ifndef YY_NO_PUSH_STATE
00490 static void yy_push_state YY_PROTO(( int new_state ));
00491 #endif
00492 #ifndef YY_NO_POP_STATE
00493 static void yy_pop_state YY_PROTO(( void ));
00494 #endif
00495 #ifndef YY_NO_TOP_STATE
00496 static int yy_top_state YY_PROTO(( void ));
00497 #endif
00498
00499 #else
00500 #define YY_NO_PUSH_STATE 1
00501 #define YY_NO_POP_STATE 1
00502 #define YY_NO_TOP_STATE 1
00503 #endif
00504
00505 TAO_END_VERSIONED_NAMESPACE_DECL
00506
00507 #ifdef YY_MALLOC_DECL
00508 YY_MALLOC_DECL
00509 #else
00510 #if __STDC__
00511 #ifndef __cplusplus
00512 #endif
00513 #else
00514
00515
00516
00517
00518 #endif
00519 #endif
00520
00521
00522 #ifndef YY_READ_BUF_SIZE
00523 #define YY_READ_BUF_SIZE 8192
00524 #endif
00525
00526
00527
00528
00529 #ifndef TAO_TRADER_ECHO
00530
00531
00532
00533 #define TAO_TRADER_ECHO (void) fwrite( yytext, yyleng, 1, yyout )
00534 #endif
00535
00536
00537
00538
00539
00540 #ifndef YY_INPUT
00541 #define YY_INPUT(buf,result,max_size) \
00542 if ( yy_current_buffer->yy_is_interactive ) \
00543 { \
00544 int c = '*', n; \
00545 for ( n = 0; n < max_size && \
00546 (c = ACE_OS::getc( yyin )) != EOF && c != '\n'; ++n ) \
00547 buf[n] = (char) c; \
00548 if ( c == '\n' ) \
00549 buf[n++] = (char) c; \
00550 if ( c == EOF && ferror( yyin ) ) \
00551 YY_FATAL_ERROR( "input in flex scanner failed" ); \
00552 result = n; \
00553 } \
00554 else if ( ((result = ACE_OS::fread( buf, 1, max_size, yyin )) == 0) \
00555 && ferror( yyin ) ) \
00556 YY_FATAL_ERROR( "input in flex scanner failed" );
00557 #endif
00558
00559
00560
00561
00562
00563 #ifndef yyterminate
00564 #define yyterminate() return YY_NULL
00565 #endif
00566
00567
00568 #ifndef YY_START_STACK_INCR
00569 #define YY_START_STACK_INCR 25
00570 #endif
00571
00572
00573 #ifndef YY_FATAL_ERROR
00574 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
00575 #endif
00576
00577
00578
00579
00580 #ifndef YY_DECL
00581 #define YY_DECL int yylex YY_PROTO(( void ))
00582 #endif
00583
00584
00585
00586
00587 #ifndef YY_USER_ACTION
00588 #define YY_USER_ACTION
00589 #endif
00590
00591
00592 #ifndef YY_BREAK
00593 #define YY_BREAK ACE_NOTREACHED (break;)
00594 #endif
00595
00596 #define YY_RULE_SETUP \
00597 YY_USER_ACTION
00598
00599 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00600
00601 YY_DECL
00602 {
00603 register yy_state_type yy_current_state;
00604 register char *yy_cp = 0, *yy_bp = 0;
00605 register int yy_act;
00606
00607
00608
00609
00610 if ( yy_init )
00611 {
00612 yy_init = 0;
00613
00614 #ifdef YY_USER_INIT
00615 YY_USER_INIT;
00616 #endif
00617
00618 if ( ! yy_start )
00619 yy_start = 1;
00620
00621 if ( ! yyin )
00622 yyin = stdin;
00623
00624 if ( ! yyout )
00625 yyout = stdout;
00626
00627 if ( ! yy_current_buffer )
00628 yy_current_buffer =
00629 yy_create_buffer( yyin, YY_BUF_SIZE );
00630
00631 yy_load_buffer_state();
00632 }
00633
00634 while ( 1 )
00635 {
00636 yy_cp = yy_c_buf_p;
00637
00638
00639 *yy_cp = yy_hold_char;
00640
00641
00642
00643
00644 yy_bp = yy_cp;
00645
00646 yy_current_state = yy_start;
00647 yy_match:
00648 do
00649 {
00650 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
00651 if ( yy_accept[yy_current_state] )
00652 {
00653 yy_last_accepting_state = yy_current_state;
00654 yy_last_accepting_cpos = yy_cp;
00655 }
00656 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
00657 {
00658 yy_current_state = (int) yy_def[yy_current_state];
00659 if ( yy_current_state >= 81 )
00660 yy_c = yy_meta[(unsigned int) yy_c];
00661 }
00662 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
00663 ++yy_cp;
00664 }
00665 while ( yy_base[yy_current_state] != 109 );
00666
00667 yy_find_action:
00668 yy_act = yy_accept[yy_current_state];
00669 if ( yy_act == 0 )
00670 {
00671 yy_cp = yy_last_accepting_cpos;
00672 yy_current_state = yy_last_accepting_state;
00673 yy_act = yy_accept[yy_current_state];
00674 }
00675
00676 YY_DO_BEFORE_ACTION;
00677
00678
00679 do_action:
00680
00681
00682 switch ( yy_act )
00683 {
00684 case 0:
00685
00686 *yy_cp = yy_hold_char;
00687 yy_cp = yy_last_accepting_cpos;
00688 yy_current_state = yy_last_accepting_state;
00689 goto yy_find_action;
00690
00691 case 1:
00692 YY_RULE_SETUP
00693 { TAO_YY_LEX_DEBUG; return TAO_MIN; }
00694 YY_BREAK
00695 case 2:
00696 YY_RULE_SETUP
00697 { TAO_YY_LEX_DEBUG; return TAO_MAX; }
00698 YY_BREAK
00699 case 3:
00700 YY_RULE_SETUP
00701 { TAO_YY_LEX_DEBUG; return TAO_FIRST; }
00702 YY_BREAK
00703 case 4:
00704 YY_RULE_SETUP
00705 { TAO_YY_LEX_DEBUG; return TAO_RANDOM; }
00706 YY_BREAK
00707 case 5:
00708 YY_RULE_SETUP
00709 { TAO_YY_LEX_DEBUG; return TAO_WITH; }
00710 YY_BREAK
00711 case 6:
00712 YY_RULE_SETUP
00713 { TAO_YY_LEX_DEBUG; return TAO_EXIST; }
00714 YY_BREAK
00715 case 7:
00716 YY_RULE_SETUP
00717 { TAO_YY_LEX_DEBUG; return TAO_NOT; }
00718 YY_BREAK
00719 case 8:
00720 YY_RULE_SETUP
00721 { TAO_YY_LEX_DEBUG; return TAO_AND; }
00722 YY_BREAK
00723 case 9:
00724 YY_RULE_SETUP
00725 { TAO_YY_LEX_DEBUG; return TAO_OR; }
00726 YY_BREAK
00727 case 10:
00728 YY_RULE_SETUP
00729 { TAO_YY_LEX_DEBUG; return TAO_IN; }
00730 YY_BREAK
00731 case 11:
00732 YY_RULE_SETUP
00733 { TAO_YY_LEX_DEBUG; return TAO_TWIDDLE; }
00734 YY_BREAK
00735 case 12:
00736 YY_RULE_SETUP
00737 { TAO_YY_LEX_DEBUG; return TAO_PLUS; }
00738 YY_BREAK
00739 case 13:
00740 YY_RULE_SETUP
00741 { TAO_YY_LEX_DEBUG; return TAO_MINUS; }
00742 YY_BREAK
00743 case 14:
00744 YY_RULE_SETUP
00745 { TAO_YY_LEX_DEBUG; return TAO_MULT; }
00746 YY_BREAK
00747 case 15:
00748 YY_RULE_SETUP
00749 { TAO_YY_LEX_DEBUG; return TAO_DIV; }
00750 YY_BREAK
00751 case 16:
00752 YY_RULE_SETUP
00753 { TAO_YY_LEX_DEBUG; return TAO_LT; }
00754 YY_BREAK
00755 case 17:
00756 YY_RULE_SETUP
00757 { TAO_YY_LEX_DEBUG; return TAO_LE; }
00758 YY_BREAK
00759 case 18:
00760 YY_RULE_SETUP
00761 { TAO_YY_LEX_DEBUG; return TAO_GT; }
00762 YY_BREAK
00763 case 19:
00764 YY_RULE_SETUP
00765 { TAO_YY_LEX_DEBUG; return TAO_GE; }
00766 YY_BREAK
00767 case 20:
00768 YY_RULE_SETUP
00769 { TAO_YY_LEX_DEBUG; return TAO_EQ; }
00770 YY_BREAK
00771 case 21:
00772 YY_RULE_SETUP
00773 { TAO_YY_LEX_DEBUG; return TAO_NE; }
00774 YY_BREAK
00775 case 22:
00776 YY_RULE_SETUP
00777 { TAO_YY_LEX_DEBUG; return TAO_LPAREN; }
00778 YY_BREAK
00779 case 23:
00780 YY_RULE_SETUP
00781 { TAO_YY_LEX_DEBUG; return TAO_RPAREN; }
00782 YY_BREAK
00783 case 24:
00784 YY_RULE_SETUP
00785 {
00786 yylval.constraint_ =
00787 new TAO_Literal_Constraint(true);
00788 TAO_YY_LEX_DEBUG; return TAO_BOOLEAN;
00789 }
00790 YY_BREAK
00791 case 25:
00792 YY_RULE_SETUP
00793 {
00794 yylval.constraint_ =
00795 new TAO_Literal_Constraint(false);
00796 TAO_YY_LEX_DEBUG; return TAO_BOOLEAN;
00797 }
00798 YY_BREAK
00799 case 26:
00800 YY_RULE_SETUP
00801 {
00802 if (yytext[0] == '-')
00803 {
00804 yylval.constraint_ =
00805 new TAO_Literal_Constraint(
00806 trader_strtoll(yytext, 0));
00807 }
00808 else
00809 {
00810 yylval.constraint_ =
00811 new TAO_Literal_Constraint(
00812 trader_strtoull(yytext, 0));
00813 }
00814 TAO_YY_LEX_DEBUG; return TAO_NUMBER;
00815 }
00816 YY_BREAK
00817 case 27:
00818 YY_RULE_SETUP
00819 {
00820 yylval.constraint_ =
00821 new TAO_Literal_Constraint(ACE_OS::strtod(yytext, 0));
00822 TAO_YY_LEX_DEBUG; return TAO_NUMBER;
00823 }
00824 YY_BREAK
00825 case 28:
00826 YY_RULE_SETUP
00827 {
00828 yylval.constraint_ = extract_string(yytext);
00829 TAO_YY_LEX_DEBUG; return TAO_STRING;
00830 }
00831 YY_BREAK
00832 case 29:
00833 YY_RULE_SETUP
00834 {
00835 yylval.constraint_ =
00836 new TAO_Property_Constraint(yytext);
00837 TAO_YY_LEX_DEBUG; return TAO_IDENT;
00838 }
00839 YY_BREAK
00840 case 30:
00841 YY_RULE_SETUP
00842 {}
00843 break;
00844 case 31:
00845 YY_RULE_SETUP
00846 {
00847 TAO_YY_LEX_DEBUG; return TAO_UNKNOWN;
00848 }
00849 YY_BREAK
00850 case 32:
00851 YY_RULE_SETUP
00852 TAO_TRADER_ECHO;
00853 break;
00854 case YY_STATE_EOF(INITIAL):
00855 yyterminate();
00856
00857 case YY_END_OF_BUFFER:
00858 {
00859
00860 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
00861
00862
00863 *yy_cp = yy_hold_char;
00864 YY_RESTORE_YY_MORE_OFFSET
00865
00866 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
00867 {
00868
00869
00870
00871
00872
00873
00874
00875
00876
00877 yy_n_chars = yy_current_buffer->yy_n_chars;
00878 yy_current_buffer->yy_input_file = yyin;
00879 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
00880 }
00881
00882
00883
00884
00885
00886
00887
00888
00889 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
00890 {
00891 yy_state_type yy_next_state;
00892
00893 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
00894
00895 yy_current_state = yy_get_previous_state();
00896
00897
00898
00899
00900
00901
00902
00903
00904
00905
00906 yy_next_state = yy_try_NUL_trans( yy_current_state );
00907
00908 yy_bp = yytext_ptr + YY_MORE_ADJ;
00909
00910 if ( yy_next_state )
00911 {
00912
00913 yy_cp = ++yy_c_buf_p;
00914 yy_current_state = yy_next_state;
00915 goto yy_match;
00916 }
00917
00918 else
00919 {
00920 yy_cp = yy_c_buf_p;
00921 goto yy_find_action;
00922 }
00923 }
00924
00925 else switch ( yy_get_next_buffer() )
00926 {
00927 case EOB_ACT_END_OF_FILE:
00928 {
00929 yy_did_buffer_switch_on_eof = 0;
00930
00931 if ( yywrap() )
00932 {
00933
00934
00935
00936
00937
00938
00939
00940
00941
00942 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
00943
00944 yy_act = YY_STATE_EOF(YY_START);
00945 goto do_action;
00946 }
00947
00948 else
00949 {
00950 if ( ! yy_did_buffer_switch_on_eof )
00951 YY_NEW_FILE;
00952 }
00953 break;
00954 }
00955
00956 case EOB_ACT_CONTINUE_SCAN:
00957 yy_c_buf_p =
00958 yytext_ptr + yy_amount_of_matched_text;
00959
00960 yy_current_state = yy_get_previous_state();
00961
00962 yy_cp = yy_c_buf_p;
00963 yy_bp = yytext_ptr + YY_MORE_ADJ;
00964 goto yy_match;
00965
00966 case EOB_ACT_LAST_MATCH:
00967 yy_c_buf_p =
00968 &yy_current_buffer->yy_ch_buf[yy_n_chars];
00969
00970 yy_current_state = yy_get_previous_state();
00971
00972 yy_cp = yy_c_buf_p;
00973 yy_bp = yytext_ptr + YY_MORE_ADJ;
00974 goto yy_find_action;
00975 }
00976 break;
00977 }
00978
00979 default:
00980 YY_FATAL_ERROR(
00981 "fatal flex scanner internal error--no action found" );
00982 }
00983 }
00984 }
00985
00986
00987
00988
00989
00990
00991
00992
00993
00994
00995 static int yy_get_next_buffer()
00996 {
00997 register char *dest = yy_current_buffer->yy_ch_buf;
00998 register char *source = yytext_ptr;
00999 register int number_to_move, i;
01000 int ret_val;
01001
01002 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
01003 YY_FATAL_ERROR(
01004 "fatal flex scanner internal error--end of buffer missed" );
01005
01006 if ( yy_current_buffer->yy_fill_buffer == 0 )
01007 {
01008 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
01009 {
01010
01011
01012
01013 return EOB_ACT_END_OF_FILE;
01014 }
01015
01016 else
01017 {
01018
01019
01020
01021 return EOB_ACT_LAST_MATCH;
01022 }
01023 }
01024
01025
01026
01027
01028 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
01029
01030 for ( i = 0; i < number_to_move; ++i )
01031 *(dest++) = *(source++);
01032
01033 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
01034
01035
01036
01037 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
01038
01039 else
01040 {
01041 int num_to_read =
01042 yy_current_buffer->yy_buf_size - number_to_move - 1;
01043
01044 while ( num_to_read <= 0 )
01045 {
01046 #ifdef YY_USES_REJECT
01047 YY_FATAL_ERROR(
01048 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
01049 #else
01050
01051
01052 YY_BUFFER_STATE b = yy_current_buffer;
01053
01054 int yy_c_buf_p_offset =
01055 (int) (yy_c_buf_p - b->yy_ch_buf);
01056
01057 if ( b->yy_is_our_buffer )
01058 {
01059 int new_size = b->yy_buf_size * 2;
01060
01061 if ( new_size <= 0 )
01062 b->yy_buf_size += b->yy_buf_size / 8;
01063 else
01064 b->yy_buf_size *= 2;
01065
01066 b->yy_ch_buf = (char *)
01067
01068 yy_flex_realloc( (void *) b->yy_ch_buf,
01069 b->yy_buf_size + 2 );
01070 }
01071 else
01072
01073 b->yy_ch_buf = 0;
01074
01075 if ( ! b->yy_ch_buf )
01076 YY_FATAL_ERROR(
01077 "fatal error - scanner input buffer overflow" );
01078
01079 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
01080
01081 num_to_read = yy_current_buffer->yy_buf_size -
01082 number_to_move - 1;
01083 #endif
01084 }
01085
01086 if ( num_to_read > YY_READ_BUF_SIZE )
01087 num_to_read = YY_READ_BUF_SIZE;
01088
01089
01090 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
01091 yy_n_chars, num_to_read );
01092
01093 yy_current_buffer->yy_n_chars = yy_n_chars;
01094 }
01095
01096 if ( yy_n_chars == 0 )
01097 {
01098 if ( number_to_move == YY_MORE_ADJ )
01099 {
01100 ret_val = EOB_ACT_END_OF_FILE;
01101 yyrestart( yyin );
01102 }
01103
01104 else
01105 {
01106 ret_val = EOB_ACT_LAST_MATCH;
01107 yy_current_buffer->yy_buffer_status =
01108 YY_BUFFER_EOF_PENDING;
01109 }
01110 }
01111
01112 else
01113 ret_val = EOB_ACT_CONTINUE_SCAN;
01114
01115 yy_n_chars += number_to_move;
01116 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
01117 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
01118
01119 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
01120
01121 return ret_val;
01122 }
01123
01124
01125
01126
01127 static yy_state_type yy_get_previous_state()
01128 {
01129 register yy_state_type yy_current_state;
01130 register char *yy_cp;
01131
01132 yy_current_state = yy_start;
01133
01134 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
01135 {
01136 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
01137 if ( yy_accept[yy_current_state] )
01138 {
01139 yy_last_accepting_state = yy_current_state;
01140 yy_last_accepting_cpos = yy_cp;
01141 }
01142 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
01143 {
01144 yy_current_state = (int) yy_def[yy_current_state];
01145 if ( yy_current_state >= 81 )
01146 yy_c = yy_meta[(unsigned int) yy_c];
01147 }
01148 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
01149 }
01150
01151 return yy_current_state;
01152 }
01153
01154
01155
01156
01157
01158
01159
01160
01161 #ifdef YY_USE_PROTOS
01162 static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
01163 #else
01164 static yy_state_type yy_try_NUL_trans( yy_current_state )
01165 yy_state_type yy_current_state;
01166 #endif
01167 {
01168 register int yy_is_jam;
01169 register char *yy_cp = yy_c_buf_p;
01170
01171 register YY_CHAR yy_c = 1;
01172 if ( yy_accept[yy_current_state] )
01173 {
01174 yy_last_accepting_state = yy_current_state;
01175 yy_last_accepting_cpos = yy_cp;
01176 }
01177 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
01178 {
01179 yy_current_state = (int) yy_def[yy_current_state];
01180 if ( yy_current_state >= 81 )
01181 yy_c = yy_meta[(unsigned int) yy_c];
01182 }
01183 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
01184 yy_is_jam = (yy_current_state == 80);
01185
01186 return yy_is_jam ? 0 : yy_current_state;
01187 }
01188
01189
01190 #ifndef YY_NO_UNPUT
01191 #ifdef YY_USE_PROTOS
01192 static void yyunput( int c, register char *yy_bp )
01193 #else
01194 static void yyunput( c, yy_bp )
01195 int c;
01196 register char *yy_bp;
01197 #endif
01198 {
01199 register char *yy_cp = yy_c_buf_p;
01200
01201
01202 *yy_cp = yy_hold_char;
01203
01204 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
01205 {
01206
01207 register int number_to_move = yy_n_chars + 2;
01208 register char *dest = &yy_current_buffer->yy_ch_buf[
01209 yy_current_buffer->yy_buf_size + 2];
01210 register char *source =
01211 &yy_current_buffer->yy_ch_buf[number_to_move];
01212
01213 while ( source > yy_current_buffer->yy_ch_buf )
01214 *--dest = *--source;
01215
01216 yy_cp += (int) (dest - source);
01217 yy_bp += (int) (dest - source);
01218 yy_current_buffer->yy_n_chars =
01219 yy_n_chars = yy_current_buffer->yy_buf_size;
01220
01221 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
01222 YY_FATAL_ERROR( "flex scanner push-back overflow" );
01223 }
01224
01225 *--yy_cp = (char) c;
01226
01227
01228 yytext_ptr = yy_bp;
01229 yy_hold_char = *yy_cp;
01230 yy_c_buf_p = yy_cp;
01231 }
01232 #endif
01233
01234
01235 #ifndef YY_NO_INPUT
01236 #ifdef __cplusplus
01237 static int yyinput()
01238 #else
01239 static int input()
01240 #endif
01241 {
01242 int c;
01243
01244 *yy_c_buf_p = yy_hold_char;
01245
01246 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
01247 {
01248
01249
01250
01251
01252 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
01253
01254 *yy_c_buf_p = '\0';
01255
01256 else
01257 {
01258 size_t offset = yy_c_buf_p - yytext_ptr;
01259 ++yy_c_buf_p;
01260
01261 switch ( yy_get_next_buffer() )
01262 {
01263 case EOB_ACT_LAST_MATCH:
01264
01265
01266
01267
01268
01269
01270
01271
01272
01273
01274
01275 yyrestart( yyin );
01276
01277
01278
01279 case EOB_ACT_END_OF_FILE:
01280 {
01281 if ( yywrap() )
01282 return EOF;
01283
01284 if ( ! yy_did_buffer_switch_on_eof )
01285 YY_NEW_FILE;
01286 #ifdef __cplusplus
01287 return yyinput();
01288 #else
01289 return input();
01290 #endif
01291 }
01292
01293 case EOB_ACT_CONTINUE_SCAN:
01294 yy_c_buf_p = yytext_ptr + offset;
01295 break;
01296 }
01297 }
01298 }
01299
01300 c = *(unsigned char *) yy_c_buf_p;
01301 *yy_c_buf_p = '\0';
01302 yy_hold_char = *++yy_c_buf_p;
01303
01304
01305 return c;
01306 }
01307 #endif
01308
01309 #ifdef YY_USE_PROTOS
01310 void yyrestart( FILE *input_file )
01311 #else
01312 void yyrestart( input_file )
01313 FILE *input_file;
01314 #endif
01315 {
01316 if ( ! yy_current_buffer )
01317 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
01318
01319 yy_init_buffer( yy_current_buffer, input_file );
01320 yy_load_buffer_state();
01321 }
01322
01323
01324 #ifdef YY_USE_PROTOS
01325 void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
01326 #else
01327 void yy_switch_to_buffer( new_buffer )
01328 YY_BUFFER_STATE new_buffer;
01329 #endif
01330 {
01331 if ( yy_current_buffer == new_buffer )
01332 return;
01333
01334 if ( yy_current_buffer )
01335 {
01336
01337 *yy_c_buf_p = yy_hold_char;
01338 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
01339 yy_current_buffer->yy_n_chars = yy_n_chars;
01340 }
01341
01342 yy_current_buffer = new_buffer;
01343 yy_load_buffer_state();
01344
01345
01346
01347
01348
01349
01350 yy_did_buffer_switch_on_eof = 1;
01351 }
01352
01353
01354 #ifdef YY_USE_PROTOS
01355 void yy_load_buffer_state( void )
01356 #else
01357 void yy_load_buffer_state()
01358 #endif
01359 {
01360 yy_n_chars = yy_current_buffer->yy_n_chars;
01361 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
01362 yyin = yy_current_buffer->yy_input_file;
01363 yy_hold_char = *yy_c_buf_p;
01364 }
01365
01366
01367 #ifdef YY_USE_PROTOS
01368 YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
01369 #else
01370 YY_BUFFER_STATE yy_create_buffer( file, size )
01371 FILE *file;
01372 int size;
01373 #endif
01374 {
01375 YY_BUFFER_STATE b;
01376
01377 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
01378 if ( ! b )
01379 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
01380
01381 b->yy_buf_size = size;
01382
01383
01384
01385
01386 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
01387 if ( ! b->yy_ch_buf )
01388 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
01389
01390 b->yy_is_our_buffer = 1;
01391
01392 yy_init_buffer( b, file );
01393
01394 return b;
01395 }
01396
01397
01398 #ifdef YY_USE_PROTOS
01399 void yy_delete_buffer( YY_BUFFER_STATE b )
01400 #else
01401 void yy_delete_buffer( b )
01402 YY_BUFFER_STATE b;
01403 #endif
01404 {
01405 if ( ! b )
01406 return;
01407
01408 if ( b == yy_current_buffer )
01409 yy_current_buffer = (YY_BUFFER_STATE) 0;
01410
01411 if ( b->yy_is_our_buffer )
01412 yy_flex_free( (void *) b->yy_ch_buf );
01413
01414 yy_flex_free( (void *) b );
01415 }
01416
01417
01418
01419 #ifdef YY_USE_PROTOS
01420 void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
01421 #else
01422 void yy_init_buffer( b, file )
01423 YY_BUFFER_STATE b;
01424 FILE *file;
01425 #endif
01426
01427
01428 {
01429 yy_flush_buffer( b );
01430
01431 b->yy_input_file = file;
01432 b->yy_fill_buffer = 1;
01433
01434 #if YY_ALWAYS_INTERACTIVE
01435 b->yy_is_interactive = 1;
01436 #else
01437 #if YY_NEVER_INTERACTIVE
01438 b->yy_is_interactive = 0;
01439 #else
01440 b->yy_is_interactive = file ? (ACE_OS::isatty( fileno(file) ) > 0) : 0;
01441 #endif
01442 #endif
01443 }
01444
01445
01446 #ifdef YY_USE_PROTOS
01447 void yy_flush_buffer( YY_BUFFER_STATE b )
01448 #else
01449 void yy_flush_buffer( b )
01450 YY_BUFFER_STATE b;
01451 #endif
01452
01453 {
01454 if ( ! b )
01455 return;
01456
01457 b->yy_n_chars = 0;
01458
01459
01460
01461
01462
01463 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
01464 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
01465
01466 b->yy_buf_pos = &b->yy_ch_buf[0];
01467
01468 b->yy_at_bol = 1;
01469 b->yy_buffer_status = YY_BUFFER_NEW;
01470
01471 if ( b == yy_current_buffer )
01472 yy_load_buffer_state();
01473 }
01474
01475
01476 #ifndef YY_NO_SCAN_BUFFER
01477 #ifdef YY_USE_PROTOS
01478 YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
01479 #else
01480 YY_BUFFER_STATE yy_scan_buffer( base, size )
01481 char *base;
01482 yy_size_t size;
01483 #endif
01484 {
01485 YY_BUFFER_STATE b;
01486
01487 if ( size < 2 ||
01488 base[size-2] != YY_END_OF_BUFFER_CHAR ||
01489 base[size-1] != YY_END_OF_BUFFER_CHAR )
01490
01491 return 0;
01492
01493 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
01494 if ( ! b )
01495 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
01496
01497 b->yy_buf_size = size - 2;
01498 b->yy_buf_pos = b->yy_ch_buf = base;
01499 b->yy_is_our_buffer = 0;
01500 b->yy_input_file = 0;
01501 b->yy_n_chars = b->yy_buf_size;
01502 b->yy_is_interactive = 0;
01503 b->yy_at_bol = 1;
01504 b->yy_fill_buffer = 0;
01505 b->yy_buffer_status = YY_BUFFER_NEW;
01506
01507 yy_switch_to_buffer( b );
01508
01509 return b;
01510 }
01511 #endif
01512
01513
01514 #ifndef YY_NO_SCAN_STRING
01515 #ifdef YY_USE_PROTOS
01516 YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
01517 #else
01518 YY_BUFFER_STATE yy_scan_string( yy_str )
01519 yyconst char *yy_str;
01520 #endif
01521 {
01522 int len;
01523 for ( len = 0; yy_str[len]; ++len )
01524 ;
01525
01526 return yy_scan_bytes( yy_str, len );
01527 }
01528 #endif
01529
01530
01531 #ifndef YY_NO_SCAN_BYTES
01532 #ifdef YY_USE_PROTOS
01533 YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
01534 #else
01535 YY_BUFFER_STATE yy_scan_bytes( bytes, len )
01536 yyconst char *bytes;
01537 int len;
01538 #endif
01539 {
01540 YY_BUFFER_STATE b;
01541 char *buf;
01542 yy_size_t n;
01543 int i;
01544
01545
01546 n = len + 2;
01547 buf = (char *) yy_flex_alloc( n );
01548 if ( ! buf )
01549 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
01550
01551 for ( i = 0; i < len; ++i )
01552 buf[i] = bytes[i];
01553
01554 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
01555
01556 b = yy_scan_buffer( buf, n );
01557 if ( ! b )
01558 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
01559
01560
01561
01562
01563 b->yy_is_our_buffer = 1;
01564
01565 return b;
01566 }
01567 #endif
01568
01569
01570 #ifndef YY_NO_PUSH_STATE
01571 #ifdef YY_USE_PROTOS
01572 static void yy_push_state( int new_state )
01573 #else
01574 static void yy_push_state( new_state )
01575 int new_state;
01576 #endif
01577 {
01578 if ( yy_start_stack_ptr >= yy_start_stack_depth )
01579 {
01580 yy_size_t new_size;
01581
01582 yy_start_stack_depth += YY_START_STACK_INCR;
01583 new_size = yy_start_stack_depth * sizeof( int );
01584
01585 if ( ! yy_start_stack )
01586 yy_start_stack = (int *) yy_flex_alloc( new_size );
01587
01588 else
01589 yy_start_stack = (int *) yy_flex_realloc(
01590 (void *) yy_start_stack, new_size );
01591
01592 if ( ! yy_start_stack )
01593 YY_FATAL_ERROR(
01594 "out of memory expanding start-condition stack" );
01595 }
01596
01597 yy_start_stack[yy_start_stack_ptr++] = YY_START;
01598
01599 BEGIN(new_state);
01600 }
01601 #endif
01602
01603
01604 #ifndef YY_NO_POP_STATE
01605 static void yy_pop_state()
01606 {
01607 if ( --yy_start_stack_ptr < 0 )
01608 YY_FATAL_ERROR( "start-condition stack underflow" );
01609
01610 BEGIN(yy_start_stack[yy_start_stack_ptr]);
01611 }
01612 #endif
01613
01614
01615 #ifndef YY_NO_TOP_STATE
01616 static int yy_top_state()
01617 {
01618 return yy_start_stack[yy_start_stack_ptr - 1];
01619 }
01620 #endif
01621
01622 #ifndef YY_EXIT_FAILURE
01623 #define YY_EXIT_FAILURE 2
01624 #endif
01625
01626 #ifdef YY_USE_PROTOS
01627 static void yy_fatal_error( yyconst char msg[] )
01628 #else
01629 static void yy_fatal_error( msg )
01630 char msg[];
01631 #endif
01632 {
01633 (void) ACE_OS::fprintf( stderr, "%s\n", msg );
01634 ACE_OS::exit( YY_EXIT_FAILURE );
01635 }
01636
01637
01638
01639
01640
01641 #undef yyless
01642 #define yyless(n) \
01643 do \
01644 { \
01645 \
01646 yytext[yyleng] = yy_hold_char; \
01647 yy_c_buf_p = yytext + n; \
01648 yy_hold_char = *yy_c_buf_p; \
01649 *yy_c_buf_p = '\0'; \
01650 yyleng = n; \
01651 } \
01652 while ( 0 )
01653
01654
01655
01656
01657 #ifndef yytext_ptr
01658 #ifdef YY_USE_PROTOS
01659 static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
01660 #else
01661 static void yy_flex_strncpy( s1, s2, n )
01662 char *s1;
01663 yyconst char *s2;
01664 int n;
01665 #endif
01666 {
01667 register int i;
01668 for ( i = 0; i < n; ++i )
01669 s1[i] = s2[i];
01670 }
01671 #endif
01672
01673 #ifdef YY_NEED_STRLEN
01674 #ifdef YY_USE_PROTOS
01675 static int yy_flex_strlen( yyconst char *s )
01676 #else
01677 static int yy_flex_strlen( s )
01678 yyconst char *s;
01679 #endif
01680 {
01681 register int n;
01682 for ( n = 0; s[n]; ++n )
01683 ;
01684
01685 return n;
01686 }
01687 #endif
01688
01689
01690 #ifdef YY_USE_PROTOS
01691 static void *yy_flex_alloc( yy_size_t size )
01692 #else
01693 static void *yy_flex_alloc( size )
01694 yy_size_t size;
01695 #endif
01696 {
01697 return (void *) ACE_OS::malloc( size );
01698 }
01699
01700 #ifdef YY_USE_PROTOS
01701 static void *yy_flex_realloc( void *ptr, yy_size_t size )
01702 #else
01703 static void *yy_flex_realloc( ptr, size )
01704 void *ptr;
01705 yy_size_t size;
01706 #endif
01707 {
01708
01709
01710
01711
01712
01713
01714
01715 return (void *) ACE_OS::realloc( (char *) ptr, size );
01716 }
01717
01718 #ifdef YY_USE_PROTOS
01719 static void yy_flex_free( void *ptr )
01720 #else
01721 static void yy_flex_free( ptr )
01722 void *ptr;
01723 #endif
01724 {
01725 ACE_OS::free( ptr );
01726 }
01727
01728 #if YY_MAIN
01729 int main()
01730 {
01731 yylex();
01732 return 0;
01733 }
01734 #endif
01735
01736
01737 TAO_Literal_Constraint*
01738 extract_string(const char* total)
01739 {
01740 int prev_slash = 0,
01741 ctr = 0;
01742 char str[BUFSIZ],
01743 *tmp = (char*) total + 1;
01744
01745 while (*tmp != '\0')
01746 {
01747 if (*tmp == '\\')
01748 {
01749 if (prev_slash)
01750 prev_slash = 0;
01751 else
01752 {
01753 prev_slash = 1;
01754 continue;
01755 }
01756 }
01757 else if (*tmp == '\'')
01758 prev_slash = 0;
01759
01760 str[ctr++] = *tmp;
01761 tmp++;
01762 }
01763
01764 str[ctr - 1] = '\0';
01765 return new TAO_Literal_Constraint(str);
01766 }
01767
01768 CORBA::ULongLong
01769 trader_strtoull(const char* s, unsigned int base)
01770 {
01771 CORBA::ULongLong result = 0;
01772 CORBA::ULongLong previous = 0;
01773
01774
01775 if (!(base == 0 || base == 8 || base == 10 || base == 16))
01776 {
01777 errno = EINVAL;
01778 return result;
01779 }
01780
01781 if (*s == '+')
01782 {
01783 s++;
01784 }
01785
01786 if ((base == 0 || base == 16) &&
01787 *s == '0' && (*(s + 1) == 'x' || *(s + 1) == 'X'))
01788 {
01789 s += 2;
01790 base = 16;
01791 }
01792 else if ((base == 0 || base == 8) && *s == '0')
01793 {
01794 s++;
01795 base = 8;
01796 }
01797 else
01798 {
01799 base = 10;
01800 }
01801
01802 for (; *s; ++s)
01803 {
01804 if (base == 8 && *s <= '7' && *s >= '0')
01805 {
01806 result = (result * base) + (*s - '0');
01807 }
01808 else if (base > 8 && *s <= '9' && *s >= '0')
01809 {
01810 result = (result * base) + (*s - '0');
01811 }
01812 else if (base > 10 && *s <= 'f' && *s >= 'a')
01813 {
01814 result = (result * base) + (*s - 'a' + 10);
01815 }
01816 else if (base > 10 && *s <= 'F' && *s >= 'A')
01817 {
01818 result = (result * base) + (*s - 'A' + 10);
01819 }
01820 else
01821 {
01822 break;
01823 }
01824
01825
01826
01827
01828 if (previous > result)
01829 {
01830 errno = ERANGE;
01831 result = ACE_UINT64_MAX;
01832 break;
01833 }
01834 previous = result;
01835 }
01836
01837 return result;
01838 }
01839
01840 CORBA::LongLong
01841 trader_strtoll(const char* s, unsigned int base)
01842 {
01843
01844 bool negative = false;
01845 if (*s == '-')
01846 {
01847 negative = true;
01848 s++;
01849 }
01850
01851
01852 CORBA::LongLong result = static_cast<CORBA::LongLong> (
01853 trader_strtoull(s, base));
01854
01855
01856
01857 if (result < 0)
01858 {
01859 errno = ERANGE;
01860 return (negative ? ACE_INT64_MIN : ACE_INT64_MAX);
01861 }
01862
01863 return (negative ? -result : result);
01864 }
01865
01866 int
01867 yywrap (void)
01868 {
01869 return 1;
01870 }
01871
01872 TAO_END_VERSIONED_NAMESPACE_DECL