PSDL_l.cpp

Go to the documentation of this file.
00001 #define yy_create_buffer TAO_PSDL_yy_create_buffer
00002 #define yy_delete_buffer TAO_PSDL_yy_delete_buffer
00003 #define yy_scan_buffer TAO_PSDL_yy_scan_buffer
00004 #define yy_scan_string TAO_PSDL_yy_scan_string
00005 #define yy_scan_bytes TAO_PSDL_yy_scan_bytes
00006 #define yy_flex_debug TAO_PSDL_yy_flex_debug
00007 #define yy_init_buffer TAO_PSDL_yy_init_buffer
00008 #define yy_flush_buffer TAO_PSDL_yy_flush_buffer
00009 #define yy_load_buffer_state TAO_PSDL_yy_load_buffer_state
00010 #define yy_switch_to_buffer TAO_PSDL_yy_switch_to_buffer
00011 #define yyin TAO_PSDL_yyin
00012 #define yyleng TAO_PSDL_yyleng
00013 #define yylex TAO_PSDL_yylex
00014 #define yyout TAO_PSDL_yyout
00015 #define yyrestart TAO_PSDL_yyrestart
00016 #define yytext TAO_PSDL_yytext
00017 
00018 /* A lexical scanner generated by flex */
00019 
00020 /* Scanner skeleton version:
00021  * $Id: PSDL_l.cpp 78858 2007-07-12 23:24:55Z sowayaa $
00022  */
00023 
00024 #define FLEX_SCANNER
00025 #define YY_FLEX_MAJOR_VERSION 2
00026 #define YY_FLEX_MINOR_VERSION 5
00027 
00028 #include "ace/OS.h"
00029 
00030 #include <stdio.h>
00031 #include <errno.h>
00032 
00033 /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
00034 #ifdef c_plusplus
00035 #ifndef __cplusplus
00036 #define __cplusplus
00037 #endif
00038 #endif
00039 
00040 
00041 #ifdef __cplusplus
00042 
00043 #include <stdlib.h>
00044 #ifndef _Win32
00045 #include "ace/Synch.h"
00046 #else
00047 #ifndef YY_ALWAYS_INTERACTIVE
00048 #ifndef YY_NEVER_INTERACTIVE
00049 extern int isatty YY_PROTO(( int ));
00050 #endif
00051 #endif
00052 #endif
00053 
00054 /* Use prototypes in function declarations. */
00055 #define YY_USE_PROTOS
00056 
00057 /* The "const" storage-class-modifier is valid. */
00058 #define YY_USE_CONST
00059 
00060 #else   /* ! __cplusplus */
00061 
00062 #if __STDC__
00063 
00064 #define YY_USE_PROTOS
00065 #define YY_USE_CONST
00066 
00067 #endif  /* __STDC__ */
00068 #endif  /* ! __cplusplus */
00069 
00070 #ifdef __TURBOC__
00071  #pragma warn -rch
00072  #pragma warn -use
00073 #include <io.h>
00074 #include <stdlib.h>
00075 #define YY_USE_CONST
00076 #define YY_USE_PROTOS
00077 #endif
00078 
00079 #ifdef YY_USE_CONST
00080 #define yyconst const
00081 #else
00082 #define yyconst
00083 #endif
00084 
00085 
00086 #ifdef YY_USE_PROTOS
00087 #define YY_PROTO(proto) proto
00088 #else
00089 #define YY_PROTO(proto) ()
00090 #endif
00091 
00092 /* Returned upon end-of-file. */
00093 #define YY_NULL 0
00094 
00095 /* Promotes a possibly negative, possibly signed char to an unsigned
00096  * integer for use as an array index.  If the signed char is negative,
00097  * we want to instead treat it as an 8-bit unsigned char, hence the
00098  * double cast.
00099  */
00100 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
00101 
00102 /* Enter a start condition.  This macro really ought to take a parameter,
00103  * but we do it the disgusting crufty way forced on us by the ()-less
00104  * definition of BEGIN.
00105  */
00106 #define BEGIN yy_start = 1 + 2 *
00107 
00108 /* Translate the current start state into a value that can be later handed
00109  * to BEGIN to return to the state.  The YYSTATE alias is for lex
00110  * compatibility.
00111  */
00112 #define YY_START ((yy_start - 1) / 2)
00113 #define YYSTATE YY_START
00114 
00115 /* Action number for EOF rule of a given start state. */
00116 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
00117 
00118 /* Special action meaning "start processing a new file". */
00119 #define YY_NEW_FILE yyrestart( yyin )
00120 
00121 #define YY_END_OF_BUFFER_CHAR 0
00122 
00123 /* Size of default input buffer. */
00124 #define YY_BUF_SIZE 16384
00125 
00126 typedef struct yy_buffer_state *YY_BUFFER_STATE;
00127 
00128 extern int yyleng;
00129 extern FILE *yyin, *yyout;
00130 
00131 #define EOB_ACT_CONTINUE_SCAN 0
00132 #define EOB_ACT_END_OF_FILE 1
00133 #define EOB_ACT_LAST_MATCH 2
00134 
00135 /* The funky do-while in the following #define is used to turn the definition
00136  * int a single C statement (which needs a semi-colon terminator).  This
00137  * avoids problems with code like:
00138  *
00139  *  if ( condition_holds )
00140  *      yyless( 5 );
00141  *  else
00142  *      do_something_else();
00143  *
00144  * Prior to using the do-while the compiler would get upset at the
00145  * "else" because it interpreted the "if" statement as being all
00146  * done when it reached the ';' after the yyless() call.
00147  */
00148 
00149 /* Return all but the first 'n' matched characters back to the input stream. */
00150 
00151 #define yyless(n) \
00152     do \
00153         { \
00154         /* Undo effects of setting up yytext. */ \
00155         *yy_cp = yy_hold_char; \
00156         YY_RESTORE_YY_MORE_OFFSET \
00157         yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
00158         YY_DO_BEFORE_ACTION; /* set up yytext again */ \
00159         } \
00160     while ( 0 )
00161 
00162 #define unput(c) yyunput( c, yytext_ptr )
00163 
00164 /* The following is because we cannot portably get our hands on size_t
00165  * (without autoconf's help, which isn't available because we want
00166  * flex-generated scanners to compile on their own).
00167  */
00168 typedef unsigned int yy_size_t;
00169 
00170 
00171 struct yy_buffer_state
00172 {
00173   FILE *yy_input_file;
00174 
00175   char *yy_ch_buf;      /* input buffer */
00176   char *yy_buf_pos;     /* current position in input buffer */
00177 
00178   /* Size of input buffer in bytes, not including room for EOB
00179    * characters.
00180    */
00181   yy_size_t yy_buf_size;
00182 
00183   /* Number of characters read into yy_ch_buf, not including EOB
00184    * characters.
00185    */
00186   int yy_n_chars;
00187 
00188   /* Whether we "own" the buffer - i.e., we know we created it,
00189    * and can realloc() it to grow it, and should free() it to
00190    * delete it.
00191    */
00192   int yy_is_our_buffer;
00193 
00194   /* Whether this is an "interactive" input source; if so, and
00195    * if we're using stdio for input, then we want to use getc()
00196    * instead of fread(), to make sure we stop fetching input after
00197    * each newline.
00198    */
00199   int yy_is_interactive;
00200 
00201   /* Whether we're considered to be at the beginning of a line.
00202    * If so, '^' rules will be active on the next match, otherwise
00203    * not.
00204    */
00205   int yy_at_bol;
00206 
00207   /* Whether to try to fill the input buffer when we reach the
00208    * end of it.
00209    */
00210   int yy_fill_buffer;
00211 
00212   int yy_buffer_status;
00213 #define YY_BUFFER_NEW 0
00214 #define YY_BUFFER_NORMAL 1
00215   /* When an EOF's been seen but there's still some text to process
00216    * then we mark the buffer as YY_EOF_PENDING, to indicate that we
00217    * shouldn't try reading from the input source any more.  We might
00218    * still have a bunch of tokens to match, though, because of
00219    * possible backing-up.
00220    *
00221    * When we actually see the EOF, we change the status to "new"
00222    * (via yyrestart()), so that the user can continue scanning by
00223    * just pointing yyin at a new input file.
00224    */
00225 #define YY_BUFFER_EOF_PENDING 2
00226 };
00227 
00228 static YY_BUFFER_STATE yy_current_buffer = 0;
00229 
00230 /* We provide macros for accessing buffer states in case in the
00231  * future we want to put the buffer states in a more general
00232  * "scanner state".
00233  */
00234 #define YY_CURRENT_BUFFER yy_current_buffer
00235 
00236 
00237 /* yy_hold_char holds the character lost when yytext is formed. */
00238 static char yy_hold_char;
00239 
00240 static int yy_n_chars;      /* number of characters read into yy_ch_buf */
00241 
00242 
00243 int yyleng;
00244 
00245 /* Points to current character in buffer. */
00246 static char *yy_c_buf_p = (char *) 0;
00247 static int yy_init = 1;     /* whether we need to initialize */
00248 static int yy_start = 0;    /* start state number */
00249 
00250 /* Flag which is used to allow yywrap()'s to do buffer switches
00251  * instead of setting up a fresh yyin.  A bit of a hack ...
00252  */
00253 static int yy_did_buffer_switch_on_eof;
00254 
00255 void yyrestart YY_PROTO(( FILE *input_file ));
00256 
00257 void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
00258 void yy_load_buffer_state YY_PROTO(( void ));
00259 YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
00260 void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
00261 void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
00262 void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
00263 #define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
00264 
00265 YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
00266 YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
00267 YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
00268 
00269 static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
00270 static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
00271 static void yy_flex_free YY_PROTO(( void * ));
00272 
00273 #define yy_new_buffer yy_create_buffer
00274 
00275 #define yy_set_interactive(is_interactive) \
00276     { \
00277     if ( ! yy_current_buffer ) \
00278         yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
00279     yy_current_buffer->yy_is_interactive = is_interactive; \
00280     }
00281 
00282 #define yy_set_bol(at_bol) \
00283     { \
00284     if ( ! yy_current_buffer ) \
00285         yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
00286     yy_current_buffer->yy_at_bol = at_bol; \
00287     }
00288 
00289 #define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
00290 
00291 
00292 // #define yywrap() 1
00293 // #define YY_SKIP_YYWRAP
00294 typedef unsigned char YY_CHAR;
00295 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
00296 typedef int yy_state_type;
00297 extern char *yytext;
00298 #define yytext_ptr yytext
00299 
00300 static yy_state_type yy_get_previous_state YY_PROTO(( void ));
00301 static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
00302 static int yy_get_next_buffer YY_PROTO(( void ));
00303 static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
00304 
00305 /* Done after the current pattern has been matched and before the
00306  * corresponding action - sets up yytext.
00307  */
00308 #define YY_DO_BEFORE_ACTION \
00309     yytext_ptr = yy_bp; \
00310     yyleng = (int) (yy_cp - yy_bp); \
00311     yy_hold_char = *yy_cp; \
00312     *yy_cp = '\0'; \
00313     yy_c_buf_p = yy_cp;
00314 
00315 #define YY_NUM_RULES 94
00316 #define YY_END_OF_BUFFER 95
00317 static yyconst short int yy_accept[364] =
00318     {   0,
00319         0,    0,   95,   93,   91,   92,   18,   13,   93,    5,
00320         6,   14,   10,    9,   11,   93,   17,   87,    2,    1,
00321         7,   20,    8,   89,   89,   89,   89,   89,   23,   93,
00322        24,   12,   89,   89,   89,   89,   89,   89,   89,   89,
00323        89,   89,   89,   89,   89,   89,   89,   89,   89,   89,
00324        89,    3,   21,    4,   19,    0,   90,    0,   88,    0,
00325        87,   22,   16,   15,   89,   89,   89,   89,   89,   89,
00326        89,   89,   26,   89,   89,   89,   89,   89,   89,   89,
00327        89,   89,   89,   89,   89,   89,   89,   25,   89,   89,
00328        89,   89,   89,   27,   89,   89,   89,   89,   89,   89,
00329 
00330        89,   89,   89,   89,   89,   89,   89,   89,   89,   89,
00331        89,   89,   89,    0,    0,   89,   89,   89,   89,   89,
00332        89,   30,   89,   89,   89,   89,   89,   89,   89,   89,
00333        89,   89,   89,   89,   89,   89,   89,   89,   89,   28,
00334        89,   89,   89,   89,   89,   89,   31,   89,   89,   89,
00335        89,   89,   29,   89,   89,   89,   89,   89,   89,   89,
00336        89,   89,   89,   89,   89,   89,   89,   89,   89,    0,
00337        88,   89,   89,   85,   89,   89,   89,   89,   32,   89,
00338        36,   89,   89,   89,   89,   89,   80,   89,   89,   89,
00339        89,   89,   89,   89,   89,   57,   89,   89,   89,   89,
00340 
00341        89,   89,   89,   89,   89,   89,   89,   89,   89,   89,
00342        89,   89,   89,   89,   89,   89,   89,   89,   89,   89,
00343        89,   65,   89,   89,   86,   89,   89,   89,   89,   89,
00344        89,   64,   89,   89,   89,   89,   89,   89,   68,   55,
00345        89,   33,   89,   72,   89,   89,   51,   89,   89,   89,
00346        89,   89,   89,   89,   38,   89,   58,   40,   89,   89,
00347        89,   89,   89,   89,   89,   89,   89,   47,   89,   89,
00348        49,   89,   52,   89,   89,   89,   89,   89,   89,   74,
00349        89,   56,   89,   89,   89,   89,   62,   61,   63,   89,
00350        89,   89,   83,   66,   89,   89,   89,   39,   77,   44,
00351 
00352        53,   89,   48,   89,   89,   89,   89,   89,   89,   89,
00353        89,   50,   34,   67,   54,   89,   84,   89,   89,   45,
00354        82,   89,   89,   89,   89,   89,   89,   60,   89,   89,
00355        78,   89,   41,   89,   89,   89,   89,   35,   46,   81,
00356        89,   89,   76,   89,   59,   89,   69,   79,   70,   89,
00357        71,   89,   89,   89,   73,   37,   89,   89,   89,   43,
00358        42,   75,    0
00359     } ;
00360 
00361 static yyconst int yy_ec[256] =
00362     {   0,
00363         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
00364         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00365         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00366         1,    1,    1,    1,    1,    1,    4,    5,    6,    7,
00367         8,    9,   10,   11,   12,   13,   14,   15,   15,   15,
00368        15,   15,   15,   15,   15,   15,   15,   16,   17,   18,
00369        19,   20,    1,    1,   21,   22,   23,   23,   24,   25,
00370        23,   23,   23,   23,   23,   26,   23,   23,   27,   23,
00371        23,   28,   29,   30,   31,   32,   23,   23,   23,   23,
00372        33,   34,   35,   36,   37,    1,   38,   39,   40,   41,
00373 
00374        42,   43,   44,   45,   46,   47,   48,   49,   50,   51,
00375        52,   53,   54,   55,   56,   57,   58,   59,   60,   61,
00376        62,   23,   63,   64,   65,   66,    1,    1,    1,    1,
00377         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00378         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00379         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00380         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00381         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00382         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00383         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00384 
00385         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00386         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00387         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00388         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00389         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00390         1,    1,    1,    1,    1
00391     } ;
00392 
00393 static yyconst int yy_meta[67] =
00394     {   0,
00395         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00396         1,    1,    1,    1,    2,    1,    1,    1,    1,    1,
00397         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
00398         3,    3,    1,    1,    1,    1,    2,    3,    3,    3,
00399         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
00400         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
00401         3,    3,    1,    1,    1,    1
00402     } ;
00403 
00404 static yyconst short int yy_base[368] =
00405     {   0,
00406         0,    0,  391,  392,  392,  392,  392,  392,   61,  392,
00407       392,  392,  392,  392,  392,  375,  392,   55,  373,  392,
00408       370,  392,  367,    0,  365,  346,  356,  345,  392,    0,
00409       392,  392,   30,  330,   33,   30,   22,   50,   24,  339,
00410       328,  327,  340,   49,   21,   42,   61,   35,  326,   56,
00411        37,  392,  392,  392,  392,   92,  392,   96,   89,  361,
00412        96,  392,  392,  392,    0,  349,  327,  342,  323,    0,
00413       315,  308,    0,  312,  316,   58,  329,  315,  309,  321,
00414       305,  304,  321,  320,  298,  306,  304,   53,  294,   72,
00415       314,  297,  296,    0,  310,  294,   70,  311,  303,   82,
00416 
00417       296,  293,  294,   86,  292,  298,  285,  289,   71,  292,
00418       294,  294,  281,  122,  122,  308,  294,  311,  276,    0,
00419       276,    0,  277,  282,  288,  291,  273,   79,  270,  288,
00420       286,  274,  281,  265,  279,  282,  270,  260,  275,    0,
00421       278,  271,  256,  267,  270,  251,    0,   83,  251,  260,
00422       252,  266,    0,  253,  247,  249,  246,  247,   93,  248,
00423       243,  248,  256,  245,  250,  237,  253,  255,  237,  276,
00424       275,  265,  248,    0,  245,  231,  239,  242,    0,  234,
00425         0,  225,  239,  228,  221,  229,    0,  224,  224,  234,
00426       217,  231,  215,  216,  221,    0,  220,  209,  210,  228,
00427 
00428       227,  226,  217,  216,  219,  208,  217,  216,  200,  214,
00429       102,  204,  203,  213,  200,  211,  210,  208,  197,  203,
00430       204,    0,  190,  198,    0,  186,  220,  203,  201,  201,
00431       186,    0,  176,  186,  186,  192,  176,  177,    0,    0,
00432       181,    0,  187,    0,  187,  186,    0,  165,  171,  168,
00433       183,  183,  166,  170,    0,  169,    0,    0,  175,  162,
00434       173,  172,  158,  159,  168,  174,  169,    0,  159,  152,
00435         0,  157,    0,  169,  166,  147,  153,  159,  145,    0,
00436       144,    0,  154,  137,  156,  159,    0,    0,    0,  134,
00437       153,  152,    0,    0,  144,  152,  149,    0,    0,    0,
00438 
00439         0,  133,    0,  132,  145,  145,  124,  141,  128,  126,
00440       125,    0,    0,    0,    0,  129,    0,  129,  139,    0,
00441         0,  122,  115,  134,   98,  119,  136,    0,  132,  119,
00442         0,  129,    0,  128,  118,  111,  125,    0,    0,    0,
00443       114,  103,    0,  125,    0,  112,    0,    0,    0,   97,
00444         0,  102,   97,  100,    0,    0,  106,  105,  104,    0,
00445         0,    0,  392,  156,  158,  126,  160
00446     } ;
00447 
00448 static yyconst short int yy_def[368] =
00449     {   0,
00450       363,    1,  363,  363,  363,  363,  363,  363,  364,  363,
00451       363,  363,  363,  363,  363,  363,  363,  363,  363,  363,
00452       363,  363,  363,  365,  365,  365,  365,  365,  363,  366,
00453       363,  363,  365,  365,  365,  365,  365,  365,  365,  365,
00454       365,  365,  365,  365,  365,  365,  365,  365,  365,  365,
00455       365,  363,  363,  363,  363,  364,  363,  363,  363,  363,
00456       363,  363,  363,  363,  365,  365,  365,  365,  365,  367,
00457       365,  365,  365,  365,  365,  365,  365,  365,  365,  365,
00458       365,  365,  365,  365,  365,  365,  365,  365,  365,  365,
00459       365,  365,  365,  365,  365,  365,  365,  365,  365,  365,
00460 
00461       365,  365,  365,  365,  365,  365,  365,  365,  365,  365,
00462       365,  365,  365,  364,  363,  365,  365,  365,  365,  367,
00463       365,  365,  365,  365,  365,  365,  365,  365,  365,  365,
00464       365,  365,  365,  365,  365,  365,  365,  365,  365,  365,
00465       365,  365,  365,  365,  365,  365,  365,  365,  365,  365,
00466       365,  365,  365,  365,  365,  365,  365,  365,  365,  365,
00467       365,  365,  365,  365,  365,  365,  365,  365,  365,  363,
00468       363,  365,  365,  365,  365,  365,  365,  365,  365,  365,
00469       365,  365,  365,  365,  365,  365,  365,  365,  365,  365,
00470       365,  365,  365,  365,  365,  365,  365,  365,  365,  365,
00471 
00472       365,  365,  365,  365,  365,  365,  365,  365,  365,  365,
00473       365,  365,  365,  365,  365,  365,  365,  365,  365,  365,
00474       365,  365,  365,  365,  365,  365,  365,  365,  365,  365,
00475       365,  365,  365,  365,  365,  365,  365,  365,  365,  365,
00476       365,  365,  365,  365,  365,  365,  365,  365,  365,  365,
00477       365,  365,  365,  365,  365,  365,  365,  365,  365,  365,
00478       365,  365,  365,  365,  365,  365,  365,  365,  365,  365,
00479       365,  365,  365,  365,  365,  365,  365,  365,  365,  365,
00480       365,  365,  365,  365,  365,  365,  365,  365,  365,  365,
00481       365,  365,  365,  365,  365,  365,  365,  365,  365,  365,
00482 
00483       365,  365,  365,  365,  365,  365,  365,  365,  365,  365,
00484       365,  365,  365,  365,  365,  365,  365,  365,  365,  365,
00485       365,  365,  365,  365,  365,  365,  365,  365,  365,  365,
00486       365,  365,  365,  365,  365,  365,  365,  365,  365,  365,
00487       365,  365,  365,  365,  365,  365,  365,  365,  365,  365,
00488       365,  365,  365,  365,  365,  365,  365,  365,  365,  365,
00489       365,  365,    0,  363,  363,  363,  363
00490     } ;
00491 
00492 static yyconst short int yy_nxt[459] =
00493     {   0,
00494         4,    5,    6,    7,    8,    9,   10,   11,   12,   13,
00495        14,   15,   16,   17,   18,   19,   20,   21,   22,   23,
00496        24,   24,   24,   24,   25,   24,   26,   24,   24,   27,
00497        24,   28,   29,   30,   31,   32,    4,   33,   34,   35,
00498        36,   37,   38,   24,   24,   39,   24,   40,   41,   42,
00499        43,   44,   45,   24,   46,   47,   48,   49,   50,   51,
00500        24,   24,   52,   53,   54,   55,   57,   60,   71,   61,
00501        76,   80,   82,   87,   88,   97,  112,   77,   98,   99,
00502        72,   81,   83,  100,   78,   73,   74,   84,   93,  107,
00503        79,   94,  113,  110,   58,   85,  108,   57,   86,   95,
00504 
00505       101,  114,  102,   59,  138,  103,   96,  111,   60,  139,
00506        61,  141,  115,  125,  126,  148,  164,  104,  105,  152,
00507       106,  149,  142,  157,  153,   58,  165,   57,   70,  114,
00508       115,  170,  201,  170,  182,  183,  171,  158,  212,  259,
00509       159,  202,  341,  260,  213,  362,  361,  360,  359,  358,
00510       214,  357,  356,  355,  342,   58,   56,   56,   56,   65,
00511        65,  120,  120,  354,  353,  352,  351,  350,  349,  348,
00512       347,  346,  345,  344,  343,  340,  339,  338,  337,  336,
00513       335,  334,  333,  332,  331,  330,  329,  328,  327,  326,
00514       325,  324,  323,  322,  321,  320,  319,  318,  317,  316,
00515 
00516       315,  314,  313,  312,  311,  310,  309,  308,  307,  306,
00517       305,  304,  303,  302,  301,  300,  299,  298,  297,  296,
00518       295,  294,  293,  292,  291,  290,  289,  288,  287,  286,
00519       285,  284,  283,  282,  281,  280,  279,  278,  277,  276,
00520       275,  274,  273,  272,  271,  270,  269,  268,  267,  266,
00521       265,  264,  263,  262,  261,  258,  257,  256,  255,  254,
00522       253,  252,  251,  250,  249,  248,  247,  246,  245,  244,
00523       243,  242,  241,  240,  239,  238,  237,  236,  235,  234,
00524       233,  232,  231,  230,  229,  228,  227,  226,  225,  171,
00525       171,  224,  223,  222,  221,  220,  219,  218,  217,  216,
00526 
00527       215,  211,  210,  209,  208,  207,  206,  205,  204,  203,
00528       200,  199,  198,  197,  196,  195,  194,  193,  192,  191,
00529       190,  189,  188,  187,  186,  185,  184,  181,  180,  179,
00530       178,  177,  176,  175,  174,  173,  172,  169,  168,  167,
00531       166,  163,  162,  161,  160,  156,  155,  154,  151,  150,
00532       147,  146,  145,  144,  143,  140,  137,  136,  135,  134,
00533       133,  132,  131,  130,  129,  128,  127,  124,  123,  122,
00534       121,  119,  118,  117,  116,   59,  109,   92,   91,   90,
00535        89,   75,   69,   68,   67,   66,   64,   63,   62,   59,
00536       363,    3,  363,  363,  363,  363,  363,  363,  363,  363,
00537 
00538       363,  363,  363,  363,  363,  363,  363,  363,  363,  363,
00539       363,  363,  363,  363,  363,  363,  363,  363,  363,  363,
00540       363,  363,  363,  363,  363,  363,  363,  363,  363,  363,
00541       363,  363,  363,  363,  363,  363,  363,  363,  363,  363,
00542       363,  363,  363,  363,  363,  363,  363,  363,  363,  363,
00543       363,  363,  363,  363,  363,  363,  363,  363
00544     } ;
00545 
00546 static yyconst short int yy_chk[459] =
00547     {   0,
00548         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00549         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00550         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00551         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00552         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00553         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00554         1,    1,    1,    1,    1,    1,    9,   18,   33,   18,
00555        35,   36,   37,   39,   39,   45,   51,   35,   45,   46,
00556        33,   36,   37,   46,   35,   33,   33,   38,   44,   48,
00557        35,   44,   51,   50,    9,   38,   48,   56,   38,   44,
00558 
00559        47,   58,   47,   59,   88,   47,   44,   50,   61,   88,
00560        61,   90,   59,   76,   76,   97,  109,   47,   47,  100,
00561        47,   97,   90,  104,  100,   56,  109,  114,  366,   58,
00562        59,  115,  148,  115,  128,  128,  115,  104,  159,  211,
00563       104,  148,  325,  211,  159,  359,  358,  357,  354,  353,
00564       159,  352,  350,  346,  325,  114,  364,  364,  364,  365,
00565       365,  367,  367,  344,  342,  341,  337,  336,  335,  334,
00566       332,  330,  329,  327,  326,  324,  323,  322,  319,  318,
00567       316,  311,  310,  309,  308,  307,  306,  305,  304,  302,
00568       297,  296,  295,  292,  291,  290,  286,  285,  284,  283,
00569 
00570       281,  279,  278,  277,  276,  275,  274,  272,  270,  269,
00571       267,  266,  265,  264,  263,  262,  261,  260,  259,  256,
00572       254,  253,  252,  251,  250,  249,  248,  246,  245,  243,
00573       241,  238,  237,  236,  235,  234,  233,  231,  230,  229,
00574       228,  227,  226,  224,  223,  221,  220,  219,  218,  217,
00575       216,  215,  214,  213,  212,  210,  209,  208,  207,  206,
00576       205,  204,  203,  202,  201,  200,  199,  198,  197,  195,
00577       194,  193,  192,  191,  190,  189,  188,  186,  185,  184,
00578       183,  182,  180,  178,  177,  176,  175,  173,  172,  171,
00579       170,  169,  168,  167,  166,  165,  164,  163,  162,  161,
00580 
00581       160,  158,  157,  156,  155,  154,  152,  151,  150,  149,
00582       146,  145,  144,  143,  142,  141,  139,  138,  137,  136,
00583       135,  134,  133,  132,  131,  130,  129,  127,  126,  125,
00584       124,  123,  121,  119,  118,  117,  116,  113,  112,  111,
00585       110,  108,  107,  106,  105,  103,  102,  101,   99,   98,
00586        96,   95,   93,   92,   91,   89,   87,   86,   85,   84,
00587        83,   82,   81,   80,   79,   78,   77,   75,   74,   72,
00588        71,   69,   68,   67,   66,   60,   49,   43,   42,   41,
00589        40,   34,   28,   27,   26,   25,   23,   21,   19,   16,
00590         3,  363,  363,  363,  363,  363,  363,  363,  363,  363,
00591 
00592       363,  363,  363,  363,  363,  363,  363,  363,  363,  363,
00593       363,  363,  363,  363,  363,  363,  363,  363,  363,  363,
00594       363,  363,  363,  363,  363,  363,  363,  363,  363,  363,
00595       363,  363,  363,  363,  363,  363,  363,  363,  363,  363,
00596       363,  363,  363,  363,  363,  363,  363,  363,  363,  363,
00597       363,  363,  363,  363,  363,  363,  363,  363
00598     } ;
00599 
00600 static yy_state_type yy_last_accepting_state;
00601 static char *yy_last_accepting_cpos;
00602 
00603 /* The intent behind this definition is that it'll catch
00604  * any uses of REJECT which flex missed.
00605  */
00606 #define REJECT reject_used_but_not_detected
00607 #define yymore() yymore_used_but_not_detected
00608 #define YY_MORE_ADJ 0
00609 #define YY_RESTORE_YY_MORE_OFFSET
00610 char *yytext;
00611 #line 1 "PSDL.ll"
00612 #define INITIAL 0
00613 #line 4 "PSDL.ll"
00614 // $Id: PSDL_l.cpp 78858 2007-07-12 23:24:55Z sowayaa $
00615 // ========================================================================
00616 //
00617 // = LIBRARY
00618 //   orbsvcs/PSS
00619 //
00620 // = FILENAME
00621 //   PSDL.ll
00622 //
00623 // = AUTHOR
00624 //   Priyanka Gontla <gontla_p@ociweb.com>
00625 // ========================================================================
00626 
00627 #include "ace/OS.h"
00628 
00629 #include "PSDL_Interpreter.h"
00630 #include "PSDL_Node.h"
00631 #include "PSDL_y.h"
00632 
00633 static const char * extract_string(char*);
00634 
00635 #define TAO_YY_LEX_DEBUG
00636 
00637 //#define TAO_YY_LEX_DEBUG ACE_OS::fprintf(stderr, "%s\n", yytext)
00638 
00639 #define YY_DECL int TAO_PSDL_yylex (TAO_PSDL_Node **lvalp, void* )
00640 
00641 #define YY_BREAK
00642 #define YY_NO_UNPUT
00643 
00644 
00645 /* Macros after this point can all be overridden by user definitions in
00646  * section 1.
00647  */
00648 
00649 #ifndef YY_SKIP_YYWRAP
00650 #ifdef __cplusplus
00651 extern "C" int yywrap YY_PROTO(( void ));
00652 #else
00653 extern int yywrap YY_PROTO(( void ));
00654 #endif
00655 #endif
00656 
00657 #ifndef YY_NO_UNPUT
00658 static void yyunput YY_PROTO(( int c, char *buf_ptr ));
00659 #endif
00660 
00661 #ifndef yytext_ptr
00662 static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
00663 #endif
00664 
00665 #ifdef YY_NEED_STRLEN
00666 static int yy_flex_strlen YY_PROTO(( yyconst char * ));
00667 #endif
00668 
00669 #ifndef YY_NO_INPUT
00670 #ifdef __cplusplus
00671 static int yyinput YY_PROTO(( void ));
00672 #else
00673 static int input YY_PROTO(( void ));
00674 #endif
00675 #endif
00676 
00677 #if YY_STACK_USED
00678 static int yy_start_stack_ptr = 0;
00679 static int yy_start_stack_depth = 0;
00680 static int *yy_start_stack = 0;
00681 #ifndef YY_NO_PUSH_STATE
00682 static void yy_push_state YY_PROTO(( int new_state ));
00683 #endif
00684 #ifndef YY_NO_POP_STATE
00685 static void yy_pop_state YY_PROTO(( void ));
00686 #endif
00687 #ifndef YY_NO_TOP_STATE
00688 static int yy_top_state YY_PROTO(( void ));
00689 #endif
00690 
00691 #else
00692 #define YY_NO_PUSH_STATE 1
00693 #define YY_NO_POP_STATE 1
00694 #define YY_NO_TOP_STATE 1
00695 #endif
00696 
00697 #ifdef YY_MALLOC_DECL
00698 YY_MALLOC_DECL
00699 #else
00700 #if __STDC__
00701 #ifndef __cplusplus
00702 #include <stdlib.h>
00703 #endif
00704 #else
00705 /* Just try to get by without declaring the routines.  This will fail
00706  * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
00707  * or sizeof(void*) != sizeof(int).
00708  */
00709 #endif
00710 #endif
00711 
00712 /* Amount of stuff to slurp up with each read. */
00713 #ifndef YY_READ_BUF_SIZE
00714 #define YY_READ_BUF_SIZE 8192
00715 #endif
00716 
00717 /* Copy whatever the last rule matched to the standard output. */
00718 
00719 //FUZZ: disable check_for_lack_ACE_OS
00720 #ifndef TAO_PSDL_ECHO
00721 /* This used to be an fputs(), but since the string might contain NUL's,
00722  * we now use fwrite().
00723  */
00724 #define TAO_PSDL_ECHO (void) fwrite( yytext, yyleng, 1, yyout )
00725 #endif
00726 //FUZZ: enable check_for_lack_ACE_OS
00727 
00728 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
00729  * is returned in "result".
00730  */
00731 #ifndef YY_INPUT
00732 #define YY_INPUT(buf,result,max_size) \
00733     if ( yy_current_buffer->yy_is_interactive ) \
00734         { \
00735         int c = '*', n; \
00736         for ( n = 0; n < max_size && \
00737          (c = ACE_OS:getc( yyin )) != EOF && c != '\n'; ++n ) \
00738             buf[n] = (char) c; \
00739         if ( c == '\n' ) \
00740             buf[n++] = (char) c; \
00741         if ( c == EOF && ferror( yyin ) ) \
00742             YY_FATAL_ERROR( "input in flex scanner failed" ); \
00743         result = n; \
00744         } \
00745     else \
00746         { \
00747         errno=0; \
00748     while ( (result = ACE_OS::fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
00749             { \
00750             if( errno != EINTR) \
00751                 { \
00752                 YY_FATAL_ERROR( "input in flex scanner failed" ); \
00753                 break; \
00754                 } \
00755             errno=0; \
00756       ACE_OS::clearerr(yyin); \
00757             } \
00758         }
00759 #endif
00760 
00761 /* No semi-colon after return; correct usage is to write "yyterminate();" -
00762  * we don't want an extra ';' after the "return" because that will cause
00763  * some compilers to complain about unreachable statements.
00764  */
00765 #ifndef yyterminate
00766 #define yyterminate() return YY_NULL
00767 #endif
00768 
00769 /* Number of entries by which start-condition stack grows. */
00770 #ifndef YY_START_STACK_INCR
00771 #define YY_START_STACK_INCR 25
00772 #endif
00773 
00774 /* Report a fatal error. */
00775 #ifndef YY_FATAL_ERROR
00776 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
00777 #endif
00778 
00779 /* Default declaration of generated scanner - a define so the user can
00780  * easily add parameters.
00781  */
00782 #ifndef YY_DECL
00783 #define YY_DECL int yylex YY_PROTO(( void ))
00784 #endif
00785 
00786 /* Code executed at the beginning of each rule, after yytext and yyleng
00787  * have been set up.
00788  */
00789 #ifndef YY_USER_ACTION
00790 #define YY_USER_ACTION
00791 #endif
00792 
00793 /* Code executed at the end of each rule. */
00794 #ifndef YY_BREAK
00795 #define YY_BREAK break;
00796 #endif
00797 
00798 #define YY_RULE_SETUP \
00799     YY_USER_ACTION
00800 
00801 YY_DECL
00802     {
00803     register yy_state_type yy_current_state;
00804     register char *yy_cp, *yy_bp;
00805     register int yy_act;
00806 
00807 #line 47 "PSDL.ll"
00808 
00809 
00810 
00811     if ( yy_init )
00812         {
00813         yy_init = 0;
00814 
00815 #ifdef YY_USER_INIT
00816         YY_USER_INIT;
00817 #endif
00818 
00819         if ( ! yy_start )
00820             yy_start = 1;   /* first start state */
00821 
00822         if ( ! yyin )
00823             yyin = stdin;
00824 
00825         if ( ! yyout )
00826             yyout = stdout;
00827 
00828         if ( ! yy_current_buffer )
00829             yy_current_buffer =
00830                 yy_create_buffer( yyin, YY_BUF_SIZE );
00831 
00832         yy_load_buffer_state();
00833         }
00834 
00835     while ( 1 )     /* loops until end-of-file is reached */
00836         {
00837         yy_cp = yy_c_buf_p;
00838 
00839         /* Support of yytext. */
00840         *yy_cp = yy_hold_char;
00841 
00842         /* yy_bp points to the position in yy_ch_buf of the start of
00843          * the current run.
00844          */
00845         yy_bp = yy_cp;
00846 
00847         yy_current_state = yy_start;
00848 yy_match:
00849         do
00850             {
00851             register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
00852             if ( yy_accept[yy_current_state] )
00853                 {
00854                 yy_last_accepting_state = yy_current_state;
00855                 yy_last_accepting_cpos = yy_cp;
00856                 }
00857             while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
00858                 {
00859                 yy_current_state = (int) yy_def[yy_current_state];
00860                 if ( yy_current_state >= 364 )
00861                     yy_c = yy_meta[(unsigned int) yy_c];
00862                 }
00863             yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
00864             ++yy_cp;
00865             }
00866         while ( yy_base[yy_current_state] != 392 );
00867 
00868 yy_find_action:
00869         yy_act = yy_accept[yy_current_state];
00870         if ( yy_act == 0 )
00871             { /* have to back up */
00872             yy_cp = yy_last_accepting_cpos;
00873             yy_current_state = yy_last_accepting_state;
00874             yy_act = yy_accept[yy_current_state];
00875             }
00876 
00877         YY_DO_BEFORE_ACTION;
00878 
00879 
00880 do_action:  /* This label is used only to access EOF actions. */
00881 
00882 
00883         switch ( yy_act )
00884     { /* beginning of action switch */
00885             case 0: /* must back up */
00886             /* undo the effects of YY_DO_BEFORE_ACTION */
00887             *yy_cp = yy_hold_char;
00888             yy_cp = yy_last_accepting_cpos;
00889             yy_current_state = yy_last_accepting_state;
00890             goto yy_find_action;
00891 
00892 case 1:
00893 YY_RULE_SETUP
00894 #line 49 "PSDL.ll"
00895 { TAO_YY_LEX_DEBUG; return TAO_PSDL_SEMI; }
00896     YY_BREAK
00897 case 2:
00898 YY_RULE_SETUP
00899 #line 50 "PSDL.ll"
00900 { TAO_YY_LEX_DEBUG; return TAO_PSDL_COLON; }
00901     YY_BREAK
00902 case 3:
00903 YY_RULE_SETUP
00904 #line 51 "PSDL.ll"
00905 { TAO_YY_LEX_DEBUG; return TAO_PSDL_OPEN_CURLY_BRACE; }
00906     YY_BREAK
00907 case 4:
00908 YY_RULE_SETUP
00909 #line 52 "PSDL.ll"
00910 { TAO_YY_LEX_DEBUG; return TAO_PSDL_CLOSE_CURLY_BRACE; }
00911     YY_BREAK
00912 case 5:
00913 YY_RULE_SETUP
00914 #line 53 "PSDL.ll"
00915 { TAO_YY_LEX_DEBUG; return TAO_PSDL_OPEN_BRACE; }
00916     YY_BREAK
00917 case 6:
00918 YY_RULE_SETUP
00919 #line 54 "PSDL.ll"
00920 { TAO_YY_LEX_DEBUG; return TAO_PSDL_CLOSE_BRACE; }
00921     YY_BREAK
00922 case 7:
00923 YY_RULE_SETUP
00924 #line 55 "PSDL.ll"
00925 { TAO_YY_LEX_DEBUG; return TAO_PSDL_OPEN_ANGULAR_BRACE; }
00926     YY_BREAK
00927 case 8:
00928 YY_RULE_SETUP
00929 #line 56 "PSDL.ll"
00930 { TAO_YY_LEX_DEBUG; return TAO_PSDL_CLOSE_ANGULAR_BRACE; }
00931     YY_BREAK
00932 case 9:
00933 YY_RULE_SETUP
00934 #line 57 "PSDL.ll"
00935 { TAO_YY_LEX_DEBUG; return TAO_PSDL_COMMA; }
00936     YY_BREAK
00937 case 10:
00938 YY_RULE_SETUP
00939 #line 58 "PSDL.ll"
00940 { TAO_YY_LEX_DEBUG; return TAO_PSDL_PLUS; }
00941     YY_BREAK
00942 case 11:
00943 YY_RULE_SETUP
00944 #line 59 "PSDL.ll"
00945 { TAO_YY_LEX_DEBUG; return TAO_PSDL_MINUS; }
00946     YY_BREAK
00947 case 12:
00948 YY_RULE_SETUP
00949 #line 60 "PSDL.ll"
00950 { TAO_YY_LEX_DEBUG; return TAO_PSDL_XOR; }
00951     YY_BREAK
00952 case 13:
00953 YY_RULE_SETUP
00954 #line 61 "PSDL.ll"
00955 { TAO_YY_LEX_DEBUG; return TAO_PSDL_AND; }
00956     YY_BREAK
00957 case 14:
00958 YY_RULE_SETUP
00959 #line 62 "PSDL.ll"
00960 { TAO_YY_LEX_DEBUG; return TAO_PSDL_MULT; }
00961     YY_BREAK
00962 case 15:
00963 YY_RULE_SETUP
00964 #line 63 "PSDL.ll"
00965 { TAO_YY_LEX_DEBUG; return TAO_PSDL_RIGHT_SHIFT; }
00966     YY_BREAK
00967 case 16:
00968 YY_RULE_SETUP
00969 #line 64 "PSDL.ll"
00970 { TAO_YY_LEX_DEBUG; return TAO_PSDL_LEFT_SHIFT; }
00971     YY_BREAK
00972 case 17:
00973 YY_RULE_SETUP
00974 #line 65 "PSDL.ll"
00975 { TAO_YY_LEX_DEBUG; return TAO_PSDL_DIV; }
00976     YY_BREAK
00977 case 18:
00978 YY_RULE_SETUP
00979 #line 66 "PSDL.ll"
00980 { TAO_YY_LEX_DEBUG; return TAO_PSDL_PERCENT; }
00981     YY_BREAK
00982 case 19:
00983 YY_RULE_SETUP
00984 #line 67 "PSDL.ll"
00985 { TAO_YY_LEX_DEBUG; return TAO_PSDL_TILDA; }
00986     YY_BREAK
00987 case 20:
00988 YY_RULE_SETUP
00989 #line 68 "PSDL.ll"
00990 { TAO_YY_LEX_DEBUG; return TAO_PSDL_EQUAL; }
00991     YY_BREAK
00992 case 21:
00993 YY_RULE_SETUP
00994 #line 69 "PSDL.ll"
00995 { TAO_YY_LEX_DEBUG; return TAO_PSDL_OR; }
00996     YY_BREAK
00997 case 22:
00998 YY_RULE_SETUP
00999 #line 70 "PSDL.ll"
01000 { TAO_YY_LEX_DEBUG; return TAO_PSDL_DOUBLE_COLON; }
01001     YY_BREAK
01002 case 23:
01003 YY_RULE_SETUP
01004 #line 71 "PSDL.ll"
01005 { TAO_YY_LEX_DEBUG; return TAO_PSDL_OPEN_SQUARE_BRACE; }
01006     YY_BREAK
01007 case 24:
01008 YY_RULE_SETUP
01009 #line 72 "PSDL.ll"
01010 { TAO_YY_LEX_DEBUG; return TAO_PSDL_CLOSE_SQUARE_BRACE; }
01011     YY_BREAK
01012 case 25:
01013 YY_RULE_SETUP
01014 #line 73 "PSDL.ll"
01015 { TAO_YY_LEX_DEBUG; return TAO_PSDL_IN; }
01016     YY_BREAK
01017 case 26:
01018 YY_RULE_SETUP
01019 #line 74 "PSDL.ll"
01020 { TAO_YY_LEX_DEBUG; return TAO_PSDL_AS; }
01021     YY_BREAK
01022 case 27:
01023 YY_RULE_SETUP
01024 #line 75 "PSDL.ll"
01025 { TAO_YY_LEX_DEBUG; return TAO_PSDL_OF; }
01026     YY_BREAK
01027 case 28:
01028 YY_RULE_SETUP
01029 #line 76 "PSDL.ll"
01030 { TAO_YY_LEX_DEBUG; return TAO_PSDL_KEY; }
01031     YY_BREAK
01032 case 29:
01033 YY_RULE_SETUP
01034 #line 77 "PSDL.ll"
01035 { TAO_YY_LEX_DEBUG; return TAO_PSDL_REF; }
01036     YY_BREAK
01037 case 30:
01038 YY_RULE_SETUP
01039 #line 78 "PSDL.ll"
01040 { TAO_YY_LEX_DEBUG; return TAO_PSDL_ANY; }
01041     YY_BREAK
01042 case 31:
01043 YY_RULE_SETUP
01044 #line 79 "PSDL.ll"
01045 { TAO_YY_LEX_DEBUG; return TAO_PSDL_OUT; }
01046     YY_BREAK
01047 case 32:
01048 YY_RULE_SETUP
01049 #line 80 "PSDL.ll"
01050 { TAO_YY_LEX_DEBUG; return TAO_PSDL_CASE; }
01051     YY_BREAK
01052 case 33:
01053 YY_RULE_SETUP
01054 #line 81 "PSDL.ll"
01055 { TAO_YY_LEX_DEBUG; return TAO_PSDL_INOUT; }
01056     YY_BREAK
01057 case 34:
01058 YY_RULE_SETUP
01059 #line 82 "PSDL.ll"
01060 { TAO_YY_LEX_DEBUG; return TAO_PSDL_CATALOG; }
01061     YY_BREAK
01062 case 35:
01063 YY_RULE_SETUP
01064 #line 83 "PSDL.ll"
01065 { TAO_YY_LEX_DEBUG; return TAO_PSDL_PROVIDES; }
01066     YY_BREAK
01067 case 36:
01068 YY_RULE_SETUP
01069 #line 84 "PSDL.ll"
01070 { TAO_YY_LEX_DEBUG; return TAO_PSDL_CHAR; }
01071     YY_BREAK
01072 case 37:
01073 YY_RULE_SETUP
01074 #line 85 "PSDL.ll"
01075 { TAO_YY_LEX_DEBUG; return TAO_PSDL_IMPLEMENTS; }
01076     YY_BREAK
01077 case 38:
01078 YY_RULE_SETUP
01079 #line 86 "PSDL.ll"
01080 { TAO_YY_LEX_DEBUG; return TAO_PSDL_SCOPE; }
01081     YY_BREAK
01082 case 39:
01083 YY_RULE_SETUP
01084 #line 87 "PSDL.ll"
01085 { TAO_YY_LEX_DEBUG; return TAO_PSDL_STORES; }
01086     YY_BREAK
01087 case 40:
01088 YY_RULE_SETUP
01089 #line 88 "PSDL.ll"
01090 { TAO_YY_LEX_DEBUG; return TAO_PSDL_STATE; }
01091     YY_BREAK
01092 case 41:
01093 YY_RULE_SETUP
01094 #line 89 "PSDL.ll"
01095 { TAO_YY_LEX_DEBUG; return TAO_PSDL_ABSTRACT; }
01096     YY_BREAK
01097 case 42:
01098 YY_RULE_SETUP
01099 #line 90 "PSDL.ll"
01100 { TAO_YY_LEX_DEBUG; return TAO_PSDL_STORAGETYPE; }
01101     YY_BREAK
01102 case 43:
01103 YY_RULE_SETUP
01104 #line 91 "PSDL.ll"
01105 { TAO_YY_LEX_DEBUG; return TAO_PSDL_STORAGEHOME; }
01106     YY_BREAK
01107 case 44:
01108 YY_RULE_SETUP
01109 #line 92 "PSDL.ll"
01110 { TAO_YY_LEX_DEBUG; return TAO_PSDL_STRONG; }
01111     YY_BREAK
01112 case 45:
01113 YY_RULE_SETUP
01114 #line 93 "PSDL.ll"
01115 { TAO_YY_LEX_DEBUG; return TAO_PSDL_PRIMARY; }
01116     YY_BREAK
01117 case 46:
01118 YY_RULE_SETUP
01119 #line 94 "PSDL.ll"
01120 { TAO_YY_LEX_DEBUG; return TAO_PSDL_READONLY; }
01121     YY_BREAK
01122 case 47:
01123 YY_RULE_SETUP
01124 #line 95 "PSDL.ll"
01125 { TAO_YY_LEX_DEBUG; return TAO_PSDL_UNION; }
01126     YY_BREAK
01127 case 48:
01128 YY_RULE_SETUP
01129 #line 96 "PSDL.ll"
01130 { TAO_YY_LEX_DEBUG; return TAO_PSDL_SWITCH; }
01131     YY_BREAK
01132 case 49:
01133 YY_RULE_SETUP
01134 #line 97 "PSDL.ll"
01135 { TAO_YY_LEX_DEBUG; return TAO_PSDL_WCHAR; }
01136     YY_BREAK
01137 case 50:
01138 YY_RULE_SETUP
01139 #line 98 "PSDL.ll"
01140 { TAO_YY_LEX_DEBUG; return TAO_PSDL_BOOLEAN; }
01141     YY_BREAK
01142 case 51:
01143 YY_RULE_SETUP
01144 #line 99 "PSDL.ll"
01145 { TAO_YY_LEX_DEBUG; return TAO_PSDL_OCTET; }
01146     YY_BREAK
01147 case 52:
01148 YY_RULE_SETUP
01149 #line 100 "PSDL.ll"
01150 { TAO_YY_LEX_DEBUG; return TAO_PSDL_OBJECT; }
01151     YY_BREAK
01152 case 53:
01153 YY_RULE_SETUP
01154 #line 101 "PSDL.ll"
01155 { TAO_YY_LEX_DEBUG; return TAO_PSDL_STRUCT; }
01156     YY_BREAK
01157 case 54:
01158 YY_RULE_SETUP
01159 #line 102 "PSDL.ll"
01160 { TAO_YY_LEX_DEBUG; return TAO_PSDL_DEFAULT; }
01161     YY_BREAK
01162 case 55:
01163 YY_RULE_SETUP
01164 #line 103 "PSDL.ll"
01165 { TAO_YY_LEX_DEBUG; return TAO_PSDL_FLOAT; }
01166     YY_BREAK
01167 case 56:
01168 YY_RULE_SETUP
01169 #line 104 "PSDL.ll"
01170 { TAO_YY_LEX_DEBUG; return TAO_PSDL_DOUBLE; }
01171     YY_BREAK
01172 case 57:
01173 YY_RULE_SETUP
01174 #line 105 "PSDL.ll"
01175 { TAO_YY_LEX_DEBUG; return TAO_PSDL_LONG; }
01176     YY_BREAK
01177 case 58:
01178 YY_RULE_SETUP
01179 #line 106 "PSDL.ll"
01180 { TAO_YY_LEX_DEBUG; return TAO_PSDL_SHORT; }
01181     YY_BREAK
01182 case 59:
01183 YY_RULE_SETUP
01184 #line 107 "PSDL.ll"
01185 { TAO_YY_LEX_DEBUG; return TAO_PSDL_UNSIGNED; }
01186     YY_BREAK
01187 case 60:
01188 YY_RULE_SETUP
01189 #line 108 "PSDL.ll"
01190 { TAO_YY_LEX_DEBUG; return TAO_PSDL_TYPEDEF; }
01191     YY_BREAK
01192 case 61:
01193 YY_RULE_SETUP
01194 #line 109 "PSDL.ll"
01195 { TAO_YY_LEX_DEBUG; return TAO_PSDL_NATIVE; }
01196     YY_BREAK
01197 case 62:
01198 YY_RULE_SETUP
01199 #line 110 "PSDL.ll"
01200 { TAO_YY_LEX_DEBUG; return TAO_PSDL_MODULE; }
01201     YY_BREAK
01202 case 63:
01203 YY_RULE_SETUP
01204 #line 111 "PSDL.ll"
01205 { TAO_YY_LEX_DEBUG; return TAO_PSDL_ONEWAY; }
01206     YY_BREAK
01207 case 64:
01208 YY_RULE_SETUP
01209 #line 112 "PSDL.ll"
01210 { TAO_YY_LEX_DEBUG; return TAO_PSDL_CONST; }
01211     YY_BREAK
01212 case 65:
01213 YY_RULE_SETUP
01214 #line 113 "PSDL.ll"
01215 { TAO_YY_LEX_DEBUG; return TAO_PSDL_VOID; }
01216     YY_BREAK
01217 case 66:
01218 YY_RULE_SETUP
01219 #line 114 "PSDL.ll"
01220 { TAO_YY_LEX_DEBUG; return TAO_PSDL_RAISES; }
01221     YY_BREAK
01222 case 67:
01223 YY_RULE_SETUP
01224 #line 115 "PSDL.ll"
01225 { TAO_YY_LEX_DEBUG; return TAO_PSDL_CONTEXT; }
01226     YY_BREAK
01227 case 68:
01228 YY_RULE_SETUP
01229 #line 116 "PSDL.ll"
01230 { TAO_YY_LEX_DEBUG; return TAO_PSDL_FIXED; }
01231     YY_BREAK
01232 case 69:
01233 YY_RULE_SETUP
01234 #line 117 "PSDL.ll"
01235 { TAO_YY_LEX_DEBUG; return TAO_PSDL_VALUEBASE; }
01236     YY_BREAK
01237 case 70:
01238 YY_RULE_SETUP
01239 #line 118 "PSDL.ll"
01240 { TAO_YY_LEX_DEBUG; return TAO_PSDL_EXCEPTION; }
01241     YY_BREAK
01242 case 71:
01243 YY_RULE_SETUP
01244 #line 119 "PSDL.ll"
01245 { TAO_YY_LEX_DEBUG; return TAO_PSDL_INTERFACE; }
01246     YY_BREAK
01247 case 72:
01248 YY_RULE_SETUP
01249 #line 120 "PSDL.ll"
01250 { TAO_YY_LEX_DEBUG; return TAO_PSDL_LOCAL; }
01251     YY_BREAK
01252 case 73:
01253 YY_RULE_SETUP
01254 #line 121 "PSDL.ll"
01255 { TAO_YY_LEX_DEBUG; return TAO_PSDL_VALUETYPE; }
01256     YY_BREAK
01257 case 74:
01258 YY_RULE_SETUP
01259 #line 122 "PSDL.ll"
01260 { TAO_YY_LEX_DEBUG; return TAO_PSDL_CUSTOM; }
01261     YY_BREAK
01262 case 75:
01263 YY_RULE_SETUP
01264 #line 123 "PSDL.ll"
01265 { TAO_YY_LEX_DEBUG; return TAO_PSDL_TRUNCATABLE; }
01266     YY_BREAK
01267 case 76:
01268 YY_RULE_SETUP
01269 #line 124 "PSDL.ll"
01270 { TAO_YY_LEX_DEBUG; return TAO_PSDL_SUPPORTS; }
01271     YY_BREAK
01272 case 77:
01273 YY_RULE_SETUP
01274 #line 125 "PSDL.ll"
01275 { TAO_YY_LEX_DEBUG; return TAO_PSDL_STRING; }
01276     YY_BREAK
01277 case 78:
01278 YY_RULE_SETUP
01279 #line 126 "PSDL.ll"
01280 { TAO_YY_LEX_DEBUG; return TAO_PSDL_WSTRING; }
01281     YY_BREAK
01282 case 79:
01283 YY_RULE_SETUP
01284 #line 127 "PSDL.ll"
01285 { TAO_YY_LEX_DEBUG; return TAO_PSDL_ATTRIBUTE; }
01286     YY_BREAK
01287 case 80:
01288 YY_RULE_SETUP
01289 #line 128 "PSDL.ll"
01290 { TAO_YY_LEX_DEBUG; return TAO_PSDL_ENUM; }
01291     YY_BREAK
01292 case 81:
01293 YY_RULE_SETUP
01294 #line 129 "PSDL.ll"
01295 { TAO_YY_LEX_DEBUG; return TAO_PSDL_SEQUENCE; }
01296     YY_BREAK
01297 case 82:
01298 YY_RULE_SETUP
01299 #line 130 "PSDL.ll"
01300 { TAO_YY_LEX_DEBUG; return TAO_PSDL_PRIVATE; }
01301     YY_BREAK
01302 case 83:
01303 YY_RULE_SETUP
01304 #line 131 "PSDL.ll"
01305 { TAO_YY_LEX_DEBUG; return TAO_PSDL_PUBLIC; }
01306     YY_BREAK
01307 case 84:
01308 YY_RULE_SETUP
01309 #line 132 "PSDL.ll"
01310 { TAO_YY_LEX_DEBUG; return TAO_PSDL_FACTORY; }
01311     YY_BREAK
01312 case 85:
01313 YY_RULE_SETUP
01314 #line 133 "PSDL.ll"
01315 {
01316           *lvalp =
01317             new TAO_PSDL_Literal ((CORBA::Boolean) 1);
01318           TAO_YY_LEX_DEBUG; return TAO_PSDL_TRUE;
01319         }
01320     YY_BREAK
01321 case 86:
01322 YY_RULE_SETUP
01323 #line 138 "PSDL.ll"
01324 {
01325           *lvalp =
01326             new TAO_PSDL_Literal ((CORBA::Boolean) 0);
01327           TAO_YY_LEX_DEBUG; return TAO_PSDL_FALSE;
01328         }
01329     YY_BREAK
01330 case 87:
01331 YY_RULE_SETUP
01332 #line 143 "PSDL.ll"
01333 {
01334           *lvalp =
01335             new TAO_PSDL_Literal (ACE_OS::atoi (yytext));
01336           TAO_YY_LEX_DEBUG; return TAO_PSDL_INTEGER;
01337         }
01338     YY_BREAK
01339 case 88:
01340 YY_RULE_SETUP
01341 #line 148 "PSDL.ll"
01342 {
01343           double v;
01344           sscanf (yytext, "%lf", &v);
01345           *lvalp =
01346             new TAO_PSDL_Literal (v);
01347           TAO_YY_LEX_DEBUG; return TAO_PSDL_FLOATING_PT;
01348         }
01349     YY_BREAK
01350 case 89:
01351 YY_RULE_SETUP
01352 #line 155 "PSDL.ll"
01353 {
01354           *lvalp =
01355             new TAO_PSDL_Identifier (yytext);
01356           TAO_YY_LEX_DEBUG; return TAO_PSDL_IDENT;
01357         }
01358     YY_BREAK
01359 case 90:
01360 YY_RULE_SETUP
01361 #line 160 "PSDL.ll"
01362 {
01363           *lvalp =
01364             new TAO_PSDL_Literal (extract_string (yytext));
01365           TAO_YY_LEX_DEBUG; return TAO_PSDL_STRING;
01366         }
01367     YY_BREAK
01368 case 91:
01369 YY_RULE_SETUP
01370 #line 165 "PSDL.ll"
01371 {
01372                   TAO_YY_LEX_DEBUG; break; // Ignore
01373                 }
01374     YY_BREAK
01375 case 92:
01376 YY_RULE_SETUP
01377 #line 168 "PSDL.ll"
01378 {
01379           TAO_YY_LEX_DEBUG; break; // Ignore
01380         }
01381     YY_BREAK
01382 case 93:
01383 YY_RULE_SETUP
01384 #line 171 "PSDL.ll"
01385 {
01386                   TAO_YY_LEX_DEBUG; break; // @@ TODO
01387                 }
01388     YY_BREAK
01389 case 94:
01390 YY_RULE_SETUP
01391 #line 174 "PSDL.ll"
01392 TAO_PSDL_ECHO;
01393     YY_BREAK
01394 case YY_STATE_EOF(INITIAL):
01395     yyterminate();
01396 
01397     case YY_END_OF_BUFFER:
01398         {
01399         /* Amount of text matched not including the EOB char. */
01400         int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
01401 
01402         /* Undo the effects of YY_DO_BEFORE_ACTION. */
01403         *yy_cp = yy_hold_char;
01404         YY_RESTORE_YY_MORE_OFFSET
01405 
01406         if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
01407             {
01408             /* We're scanning a new file or input source.  It's
01409              * possible that this happened because the user
01410              * just pointed yyin at a new source and called
01411              * yylex().  If so, then we have to assure
01412              * consistency between yy_current_buffer and our
01413              * globals.  Here is the right place to do so, because
01414              * this is the first action (other than possibly a
01415              * back-up) that will match for the new input source.
01416              */
01417             yy_n_chars = yy_current_buffer->yy_n_chars;
01418             yy_current_buffer->yy_input_file = yyin;
01419             yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
01420             }
01421 
01422         /* Note that here we test for yy_c_buf_p "<=" to the position
01423          * of the first EOB in the buffer, since yy_c_buf_p will
01424          * already have been incremented past the NUL character
01425          * (since all states make transitions on EOB to the
01426          * end-of-buffer state).  Contrast this with the test
01427          * in input().
01428          */
01429         if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
01430             { /* This was really a NUL. */
01431             yy_state_type yy_next_state;
01432 
01433             yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
01434 
01435             yy_current_state = yy_get_previous_state();
01436 
01437             /* Okay, we're now positioned to make the NUL
01438              * transition.  We couldn't have
01439              * yy_get_previous_state() go ahead and do it
01440              * for us because it doesn't know how to deal
01441              * with the possibility of jamming (and we don't
01442              * want to build jamming into it because then it
01443              * will run more slowly).
01444              */
01445 
01446             yy_next_state = yy_try_NUL_trans( yy_current_state );
01447 
01448             yy_bp = yytext_ptr + YY_MORE_ADJ;
01449 
01450             if ( yy_next_state )
01451                 {
01452                 /* Consume the NUL. */
01453                 yy_cp = ++yy_c_buf_p;
01454                 yy_current_state = yy_next_state;
01455                 goto yy_match;
01456                 }
01457 
01458             else
01459                 {
01460                 yy_cp = yy_c_buf_p;
01461                 goto yy_find_action;
01462                 }
01463             }
01464 
01465         else switch ( yy_get_next_buffer() )
01466             {
01467             case EOB_ACT_END_OF_FILE:
01468                 {
01469                 yy_did_buffer_switch_on_eof = 0;
01470 
01471                 if ( yywrap() )
01472                     {
01473                     /* Note: because we've taken care in
01474                      * yy_get_next_buffer() to have set up
01475                      * yytext, we can now set up
01476                      * yy_c_buf_p so that if some total
01477                      * hoser (like flex itself) wants to
01478                      * call the scanner after we return the
01479                      * YY_NULL, it'll still work - another
01480                      * YY_NULL will get returned.
01481                      */
01482                     yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
01483 
01484                     yy_act = YY_STATE_EOF(YY_START);
01485                     goto do_action;
01486                     }
01487 
01488                 else
01489                     {
01490                     if ( ! yy_did_buffer_switch_on_eof )
01491                         YY_NEW_FILE;
01492                     }
01493                 break;
01494                 }
01495 
01496             case EOB_ACT_CONTINUE_SCAN:
01497                 yy_c_buf_p =
01498                     yytext_ptr + yy_amount_of_matched_text;
01499 
01500                 yy_current_state = yy_get_previous_state();
01501 
01502                 yy_cp = yy_c_buf_p;
01503                 yy_bp = yytext_ptr + YY_MORE_ADJ;
01504                 goto yy_match;
01505 
01506             case EOB_ACT_LAST_MATCH:
01507                 yy_c_buf_p =
01508                 &yy_current_buffer->yy_ch_buf[yy_n_chars];
01509 
01510                 yy_current_state = yy_get_previous_state();
01511 
01512                 yy_cp = yy_c_buf_p;
01513                 yy_bp = yytext_ptr + YY_MORE_ADJ;
01514                 goto yy_find_action;
01515             }
01516         break;
01517         }
01518 
01519     default:
01520         YY_FATAL_ERROR(
01521             "fatal flex scanner internal error--no action found" );
01522     } /* end of action switch */
01523         } /* end of scanning one token */
01524     } /* end of yylex */
01525 
01526 
01527 /* yy_get_next_buffer - try to read in a new buffer
01528  *
01529  * Returns a code representing an action:
01530  *  EOB_ACT_LAST_MATCH -
01531  *  EOB_ACT_CONTINUE_SCAN - continue scanning from current position
01532  *  EOB_ACT_END_OF_FILE - end of file
01533  */
01534 
01535 static int yy_get_next_buffer()
01536     {
01537     register char *dest = yy_current_buffer->yy_ch_buf;
01538     register char *source = yytext_ptr;
01539     register int number_to_move, i;
01540     int ret_val;
01541 
01542     if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
01543         YY_FATAL_ERROR(
01544         "fatal flex scanner internal error--end of buffer missed" );
01545 
01546     if ( yy_current_buffer->yy_fill_buffer == 0 )
01547         { /* Don't try to fill the buffer, so this is an EOF. */
01548         if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
01549             {
01550             /* We matched a single character, the EOB, so
01551              * treat this as a final EOF.
01552              */
01553             return EOB_ACT_END_OF_FILE;
01554             }
01555 
01556         else
01557             {
01558             /* We matched some text prior to the EOB, first
01559              * process it.
01560              */
01561             return EOB_ACT_LAST_MATCH;
01562             }
01563         }
01564 
01565     /* Try to read more data. */
01566 
01567     /* First move last chars to start of buffer. */
01568     number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
01569 
01570     for ( i = 0; i < number_to_move; ++i )
01571         *(dest++) = *(source++);
01572 
01573     if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
01574         /* don't do the read, it's not guaranteed to return an EOF,
01575          * just force an EOF
01576          */
01577         yy_current_buffer->yy_n_chars = yy_n_chars = 0;
01578 
01579     else
01580         {
01581         int num_to_read =
01582             yy_current_buffer->yy_buf_size - number_to_move - 1;
01583 
01584         while ( num_to_read <= 0 )
01585             { /* Not enough room in the buffer - grow it. */
01586 #ifdef YY_USES_REJECT
01587             YY_FATAL_ERROR(
01588 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
01589 #else
01590 
01591             /* just a shorter name for the current buffer */
01592             YY_BUFFER_STATE b = yy_current_buffer;
01593 
01594             int yy_c_buf_p_offset =
01595                 (int) (yy_c_buf_p - b->yy_ch_buf);
01596 
01597             if ( b->yy_is_our_buffer )
01598                 {
01599                 int new_size = b->yy_buf_size * 2;
01600 
01601                 if ( new_size <= 0 )
01602                     b->yy_buf_size += b->yy_buf_size / 8;
01603                 else
01604                     b->yy_buf_size *= 2;
01605 
01606                 b->yy_ch_buf = (char *)
01607                     /* Include room in for 2 EOB chars. */
01608                     yy_flex_realloc( (void *) b->yy_ch_buf,
01609                              b->yy_buf_size + 2 );
01610                 }
01611             else
01612                 /* Can't grow it, we don't own it. */
01613                 b->yy_ch_buf = 0;
01614 
01615             if ( ! b->yy_ch_buf )
01616                 YY_FATAL_ERROR(
01617                 "fatal error - scanner input buffer overflow" );
01618 
01619             yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
01620 
01621             num_to_read = yy_current_buffer->yy_buf_size -
01622                         number_to_move - 1;
01623 #endif
01624             }
01625 
01626         if ( num_to_read > YY_READ_BUF_SIZE )
01627             num_to_read = YY_READ_BUF_SIZE;
01628 
01629         /* Read in more data. */
01630         YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
01631             yy_n_chars, num_to_read );
01632 
01633         yy_current_buffer->yy_n_chars = yy_n_chars;
01634         }
01635 
01636     if ( yy_n_chars == 0 )
01637         {
01638         if ( number_to_move == YY_MORE_ADJ )
01639             {
01640             ret_val = EOB_ACT_END_OF_FILE;
01641             yyrestart( yyin );
01642             }
01643 
01644         else
01645             {
01646             ret_val = EOB_ACT_LAST_MATCH;
01647             yy_current_buffer->yy_buffer_status =
01648                 YY_BUFFER_EOF_PENDING;
01649             }
01650         }
01651 
01652     else
01653         ret_val = EOB_ACT_CONTINUE_SCAN;
01654 
01655     yy_n_chars += number_to_move;
01656     yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
01657     yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
01658 
01659     yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
01660 
01661     return ret_val;
01662     }
01663 
01664 
01665 /* yy_get_previous_state - get the state just before the EOB char was reached */
01666 
01667 static yy_state_type yy_get_previous_state()
01668     {
01669     register yy_state_type yy_current_state;
01670     register char *yy_cp;
01671 
01672     yy_current_state = yy_start;
01673 
01674     for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
01675         {
01676         register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
01677         if ( yy_accept[yy_current_state] )
01678             {
01679             yy_last_accepting_state = yy_current_state;
01680             yy_last_accepting_cpos = yy_cp;
01681             }
01682         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
01683             {
01684             yy_current_state = (int) yy_def[yy_current_state];
01685             if ( yy_current_state >= 364 )
01686                 yy_c = yy_meta[(unsigned int) yy_c];
01687             }
01688         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
01689         }
01690 
01691     return yy_current_state;
01692     }
01693 
01694 
01695 /* yy_try_NUL_trans - try to make a transition on the NUL character
01696  *
01697  * synopsis
01698  *  next_state = yy_try_NUL_trans( current_state );
01699  */
01700 
01701 #ifdef YY_USE_PROTOS
01702 static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
01703 #else
01704 static yy_state_type yy_try_NUL_trans( yy_current_state )
01705 yy_state_type yy_current_state;
01706 #endif
01707     {
01708     register int yy_is_jam;
01709     register char *yy_cp = yy_c_buf_p;
01710 
01711     register YY_CHAR yy_c = 1;
01712     if ( yy_accept[yy_current_state] )
01713         {
01714         yy_last_accepting_state = yy_current_state;
01715         yy_last_accepting_cpos = yy_cp;
01716         }
01717     while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
01718         {
01719         yy_current_state = (int) yy_def[yy_current_state];
01720         if ( yy_current_state >= 364 )
01721             yy_c = yy_meta[(unsigned int) yy_c];
01722         }
01723     yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
01724     yy_is_jam = (yy_current_state == 363);
01725 
01726     return yy_is_jam ? 0 : yy_current_state;
01727     }
01728 
01729 
01730 #ifndef YY_NO_UNPUT
01731 #ifdef YY_USE_PROTOS
01732 static void yyunput( int c, register char *yy_bp )
01733 #else
01734 static void yyunput( c, yy_bp )
01735 int c;
01736 register char *yy_bp;
01737 #endif
01738     {
01739     register char *yy_cp = yy_c_buf_p;
01740 
01741     /* undo effects of setting up yytext */
01742     *yy_cp = yy_hold_char;
01743 
01744     if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
01745         { /* need to shift things up to make room */
01746         /* +2 for EOB chars. */
01747         register int number_to_move = yy_n_chars + 2;
01748         register char *dest = &yy_current_buffer->yy_ch_buf[
01749                     yy_current_buffer->yy_buf_size + 2];
01750         register char *source =
01751                 &yy_current_buffer->yy_ch_buf[number_to_move];
01752 
01753         while ( source > yy_current_buffer->yy_ch_buf )
01754             *--dest = *--source;
01755 
01756         yy_cp += (int) (dest - source);
01757         yy_bp += (int) (dest - source);
01758         yy_current_buffer->yy_n_chars =
01759             yy_n_chars = yy_current_buffer->yy_buf_size;
01760 
01761         if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
01762             YY_FATAL_ERROR( "flex scanner push-back overflow" );
01763         }
01764 
01765     *--yy_cp = (char) c;
01766 
01767 
01768     yytext_ptr = yy_bp;
01769     yy_hold_char = *yy_cp;
01770     yy_c_buf_p = yy_cp;
01771     }
01772 #endif  /* ifndef YY_NO_UNPUT */
01773 
01774 
01775 #ifdef __cplusplus
01776 static int yyinput()
01777 #else
01778 static int input()
01779 #endif
01780     {
01781     int c;
01782 
01783     *yy_c_buf_p = yy_hold_char;
01784 
01785     if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
01786         {
01787         /* yy_c_buf_p now points to the character we want to return.
01788          * If this occurs *before* the EOB characters, then it's a
01789          * valid NUL; if not, then we've hit the end of the buffer.
01790          */
01791         if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
01792             /* This was really a NUL. */
01793             *yy_c_buf_p = '\0';
01794 
01795         else
01796             { /* need more input */
01797             int offset = yy_c_buf_p - yytext_ptr;
01798             ++yy_c_buf_p;
01799 
01800             switch ( yy_get_next_buffer() )
01801                 {
01802                 case EOB_ACT_LAST_MATCH:
01803                     /* This happens because yy_g_n_b()
01804                      * sees that we've accumulated a
01805                      * token and flags that we need to
01806                      * try matching the token before
01807                      * proceeding.  But for input(),
01808                      * there's no matching to consider.
01809                      * So convert the EOB_ACT_LAST_MATCH
01810                      * to EOB_ACT_END_OF_FILE.
01811                      */
01812 
01813                     /* Reset buffer status. */
01814                     yyrestart( yyin );
01815 
01816                     /* fall through */
01817 
01818                 case EOB_ACT_END_OF_FILE:
01819                     {
01820                     if ( yywrap() )
01821                         return EOF;
01822 
01823                     if ( ! yy_did_buffer_switch_on_eof )
01824                         YY_NEW_FILE;
01825 #ifdef __cplusplus
01826                     return yyinput();
01827 #else
01828                     return input();
01829 #endif
01830                     }
01831 
01832                 case EOB_ACT_CONTINUE_SCAN:
01833                     yy_c_buf_p = yytext_ptr + offset;
01834                     break;
01835                 }
01836             }
01837         }
01838 
01839     c = *(unsigned char *) yy_c_buf_p;  /* cast for 8-bit char's */
01840     *yy_c_buf_p = '\0'; /* preserve yytext */
01841     yy_hold_char = *++yy_c_buf_p;
01842 
01843 
01844     return c;
01845     }
01846 
01847 
01848 #ifdef YY_USE_PROTOS
01849 void yyrestart( FILE *input_file )
01850 #else
01851 void yyrestart( input_file )
01852 FILE *input_file;
01853 #endif
01854     {
01855     if ( ! yy_current_buffer )
01856         yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
01857 
01858     yy_init_buffer( yy_current_buffer, input_file );
01859     yy_load_buffer_state();
01860     }
01861 
01862 
01863 #ifdef YY_USE_PROTOS
01864 void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
01865 #else
01866 void yy_switch_to_buffer( new_buffer )
01867 YY_BUFFER_STATE new_buffer;
01868 #endif
01869     {
01870     if ( yy_current_buffer == new_buffer )
01871         return;
01872 
01873     if ( yy_current_buffer )
01874         {
01875         /* Flush out information for old buffer. */
01876         *yy_c_buf_p = yy_hold_char;
01877         yy_current_buffer->yy_buf_pos = yy_c_buf_p;
01878         yy_current_buffer->yy_n_chars = yy_n_chars;
01879         }
01880 
01881     yy_current_buffer = new_buffer;
01882     yy_load_buffer_state();
01883 
01884     /* We don't actually know whether we did this switch during
01885      * EOF (yywrap()) processing, but the only time this flag
01886      * is looked at is after yywrap() is called, so it's safe
01887      * to go ahead and always set it.
01888      */
01889     yy_did_buffer_switch_on_eof = 1;
01890     }
01891 
01892 
01893 #ifdef YY_USE_PROTOS
01894 void yy_load_buffer_state( void )
01895 #else
01896 void yy_load_buffer_state()
01897 #endif
01898     {
01899     yy_n_chars = yy_current_buffer->yy_n_chars;
01900     yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
01901     yyin = yy_current_buffer->yy_input_file;
01902     yy_hold_char = *yy_c_buf_p;
01903     }
01904 
01905 
01906 #ifdef YY_USE_PROTOS
01907 YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
01908 #else
01909 YY_BUFFER_STATE yy_create_buffer( file, size )
01910 FILE *file;
01911 int size;
01912 #endif
01913     {
01914     YY_BUFFER_STATE b;
01915 
01916     b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
01917     if ( ! b )
01918         YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
01919 
01920     b->yy_buf_size = size;
01921 
01922     /* yy_ch_buf has to be 2 characters longer than the size given because
01923      * we need to put in 2 end-of-buffer characters.
01924      */
01925     b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
01926     if ( ! b->yy_ch_buf )
01927         YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
01928 
01929     b->yy_is_our_buffer = 1;
01930 
01931     yy_init_buffer( b, file );
01932 
01933     return b;
01934     }
01935 
01936 
01937 #ifdef YY_USE_PROTOS
01938 void yy_delete_buffer( YY_BUFFER_STATE b )
01939 #else
01940 void yy_delete_buffer( b )
01941 YY_BUFFER_STATE b;
01942 #endif
01943     {
01944     if ( ! b )
01945         return;
01946 
01947     if ( b == yy_current_buffer )
01948         yy_current_buffer = (YY_BUFFER_STATE) 0;
01949 
01950     if ( b->yy_is_our_buffer )
01951         yy_flex_free( (void *) b->yy_ch_buf );
01952 
01953     yy_flex_free( (void *) b );
01954     }
01955 
01956 
01957 #ifndef _Win32
01958 #include "ace/Synch.h"
01959 #else
01960 #ifndef YY_ALWAYS_INTERACTIVE
01961 #ifndef YY_NEVER_INTERACTIVE
01962 extern int isatty YY_PROTO(( int ));
01963 #endif
01964 #endif
01965 #endif
01966 
01967 #ifdef YY_USE_PROTOS
01968 void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
01969 #else
01970 void yy_init_buffer( b, file )
01971 YY_BUFFER_STATE b;
01972 FILE *file;
01973 #endif
01974 
01975 
01976     {
01977     yy_flush_buffer( b );
01978 
01979     b->yy_input_file = file;
01980     b->yy_fill_buffer = 1;
01981 
01982 #if YY_ALWAYS_INTERACTIVE
01983     b->yy_is_interactive = 1;
01984 #else
01985 #if YY_NEVER_INTERACTIVE
01986     b->yy_is_interactive = 0;
01987 #else
01988   b->yy_is_interactive = file ? (ACE_OS::ace_isatty( fileno(file) ) > 0) : 0;
01989 #endif
01990 #endif
01991     }
01992 
01993 
01994 #ifdef YY_USE_PROTOS
01995 void yy_flush_buffer( YY_BUFFER_STATE b )
01996 #else
01997 void yy_flush_buffer( b )
01998 YY_BUFFER_STATE b;
01999 #endif
02000 
02001     {
02002     if ( ! b )
02003         return;
02004 
02005     b->yy_n_chars = 0;
02006 
02007     /* We always need two end-of-buffer characters.  The first causes
02008      * a transition to the end-of-buffer state.  The second causes
02009      * a jam in that state.
02010      */
02011     b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
02012     b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
02013 
02014     b->yy_buf_pos = &b->yy_ch_buf[0];
02015 
02016     b->yy_at_bol = 1;
02017     b->yy_buffer_status = YY_BUFFER_NEW;
02018 
02019     if ( b == yy_current_buffer )
02020         yy_load_buffer_state();
02021     }
02022 
02023 
02024 #ifndef YY_NO_SCAN_BUFFER
02025 #ifdef YY_USE_PROTOS
02026 YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
02027 #else
02028 YY_BUFFER_STATE yy_scan_buffer( base, size )
02029 char *base;
02030 yy_size_t size;
02031 #endif
02032     {
02033     YY_BUFFER_STATE b;
02034 
02035     if ( size < 2 ||
02036          base[size-2] != YY_END_OF_BUFFER_CHAR ||
02037          base[size-1] != YY_END_OF_BUFFER_CHAR )
02038         /* They forgot to leave room for the EOB's. */
02039         return 0;
02040 
02041     b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
02042     if ( ! b )
02043         YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
02044 
02045     b->yy_buf_size = size - 2;  /* "- 2" to take care of EOB's */
02046     b->yy_buf_pos = b->yy_ch_buf = base;
02047     b->yy_is_our_buffer = 0;
02048     b->yy_input_file = 0;
02049     b->yy_n_chars = b->yy_buf_size;
02050     b->yy_is_interactive = 0;
02051     b->yy_at_bol = 1;
02052     b->yy_fill_buffer = 0;
02053     b->yy_buffer_status = YY_BUFFER_NEW;
02054 
02055     yy_switch_to_buffer( b );
02056 
02057     return b;
02058     }
02059 #endif
02060 
02061 
02062 #ifndef YY_NO_SCAN_STRING
02063 #ifdef YY_USE_PROTOS
02064 YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
02065 #else
02066 YY_BUFFER_STATE yy_scan_string( yy_str )
02067 yyconst char *yy_str;
02068 #endif
02069     {
02070     int len;
02071     for ( len = 0; yy_str[len]; ++len )
02072         ;
02073 
02074     return yy_scan_bytes( yy_str, len );
02075     }
02076 #endif
02077 
02078 
02079 #ifndef YY_NO_SCAN_BYTES
02080 #ifdef YY_USE_PROTOS
02081 YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
02082 #else
02083 YY_BUFFER_STATE yy_scan_bytes( bytes, len )
02084 yyconst char *bytes;
02085 int len;
02086 #endif
02087     {
02088     YY_BUFFER_STATE b;
02089     char *buf;
02090     yy_size_t n;
02091     int i;
02092 
02093     /* Get memory for full buffer, including space for trailing EOB's. */
02094     n = len + 2;
02095     buf = (char *) yy_flex_alloc( n );
02096     if ( ! buf )
02097         YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
02098 
02099     for ( i = 0; i < len; ++i )
02100         buf[i] = bytes[i];
02101 
02102     buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
02103 
02104     b = yy_scan_buffer( buf, n );
02105     if ( ! b )
02106         YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
02107 
02108     /* It's okay to grow etc. this buffer, and we should throw it
02109      * away when we're done.
02110      */
02111     b->yy_is_our_buffer = 1;
02112 
02113     return b;
02114     }
02115 #endif
02116 
02117 
02118 #ifndef YY_NO_PUSH_STATE
02119 #ifdef YY_USE_PROTOS
02120 static void yy_push_state( int new_state )
02121 #else
02122 static void yy_push_state( new_state )
02123 int new_state;
02124 #endif
02125     {
02126     if ( yy_start_stack_ptr >= yy_start_stack_depth )
02127         {
02128         yy_size_t new_size;
02129 
02130         yy_start_stack_depth += YY_START_STACK_INCR;
02131         new_size = yy_start_stack_depth * sizeof( int );
02132 
02133         if ( ! yy_start_stack )
02134             yy_start_stack = (int *) yy_flex_alloc( new_size );
02135 
02136         else
02137             yy_start_stack = (int *) yy_flex_realloc(
02138                     (void *) yy_start_stack, new_size );
02139 
02140         if ( ! yy_start_stack )
02141             YY_FATAL_ERROR(
02142             "out of memory expanding start-condition stack" );
02143         }
02144 
02145     yy_start_stack[yy_start_stack_ptr++] = YY_START;
02146 
02147     BEGIN(new_state);
02148     }
02149 #endif
02150 
02151 
02152 #ifndef YY_NO_POP_STATE
02153 static void yy_pop_state()
02154     {
02155     if ( --yy_start_stack_ptr < 0 )
02156         YY_FATAL_ERROR( "start-condition stack underflow" );
02157 
02158     BEGIN(yy_start_stack[yy_start_stack_ptr]);
02159     }
02160 #endif
02161 
02162 
02163 #ifndef YY_NO_TOP_STATE
02164 static int yy_top_state()
02165     {
02166     return yy_start_stack[yy_start_stack_ptr - 1];
02167     }
02168 #endif
02169 
02170 #ifndef YY_EXIT_FAILURE
02171 #define YY_EXIT_FAILURE 2
02172 #endif
02173 
02174 #ifdef YY_USE_PROTOS
02175 static void yy_fatal_error( yyconst char msg[] )
02176 #else
02177 static void yy_fatal_error( msg )
02178 char msg[];
02179 #endif
02180     {
02181   (void) ACE_OS::fprintf( stderr, "%s\n", msg );
02182   ACE_OS::exit( YY_EXIT_FAILURE );
02183     }
02184 
02185 
02186 
02187 /* Redefine yyless() so it works in section 3 code. */
02188 
02189 #undef yyless
02190 #define yyless(n) \
02191     do \
02192         { \
02193         /* Undo effects of setting up yytext. */ \
02194         yytext[yyleng] = yy_hold_char; \
02195         yy_c_buf_p = yytext + n; \
02196         yy_hold_char = *yy_c_buf_p; \
02197         *yy_c_buf_p = '\0'; \
02198         yyleng = n; \
02199         } \
02200     while ( 0 )
02201 
02202 
02203 /* Internal utility routines. */
02204 
02205 #ifndef yytext_ptr
02206 #ifdef YY_USE_PROTOS
02207 static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
02208 #else
02209 static void yy_flex_strncpy( s1, s2, n )
02210 char *s1;
02211 yyconst char *s2;
02212 int n;
02213 #endif
02214     {
02215     register int i;
02216     for ( i = 0; i < n; ++i )
02217         s1[i] = s2[i];
02218     }
02219 #endif
02220 
02221 #ifdef YY_NEED_STRLEN
02222 #ifdef YY_USE_PROTOS
02223 static int yy_flex_strlen( yyconst char *s )
02224 #else
02225 static int yy_flex_strlen( s )
02226 yyconst char *s;
02227 #endif
02228     {
02229     register int n;
02230     for ( n = 0; s[n]; ++n )
02231         ;
02232 
02233     return n;
02234     }
02235 #endif
02236 
02237 
02238 #ifdef YY_USE_PROTOS
02239 static void *yy_flex_alloc( yy_size_t size )
02240 #else
02241 static void *yy_flex_alloc( size )
02242 yy_size_t size;
02243 #endif
02244     {
02245   return (void *) ACE_OS::malloc( size );
02246     }
02247 
02248 #ifdef YY_USE_PROTOS
02249 static void *yy_flex_realloc( void *ptr, yy_size_t size )
02250 #else
02251 static void *yy_flex_realloc( ptr, size )
02252 void *ptr;
02253 yy_size_t size;
02254 #endif
02255     {
02256     /* The cast to (char *) in the following accommodates both
02257      * implementations that use char* generic pointers, and those
02258      * that use void* generic pointers.  It works with the latter
02259      * because both ANSI C and C++ allow castless assignment from
02260      * any pointer type to void*, and deal with argument conversions
02261      * as though doing an assignment.
02262      */
02263    return (void *) ACE_OS::realloc( (char *) ptr, size );
02264     }
02265 
02266 #ifdef YY_USE_PROTOS
02267 static void yy_flex_free( void *ptr )
02268 #else
02269 static void yy_flex_free( ptr )
02270 void *ptr;
02271 #endif
02272     {
02273   ACE_OS::free( ptr );
02274     }
02275 
02276 #if YY_MAIN
02277 int main()
02278     {
02279     yylex();
02280     return 0;
02281     }
02282 #endif
02283 #line 174 "PSDL.ll"
02284 
02285 
02286 const char*
02287 extract_string(char* str)
02288 {
02289   char *t = str;
02290   for (char * i = str + 1; *i != '\''; ++i, ++t)
02291     {
02292       if (*i == '\\')
02293         {
02294           ++i;
02295           if (*i == 0)
02296             return 0;
02297           else if (*i == 't')
02298             *t = '\t';
02299           else if (*i == 'n')
02300             *t = '\n';
02301           else if (*i == '\\')
02302             *t = '\\';
02303           else
02304             *t = *i;
02305           continue;
02306         }
02307 
02308       *t = *i;
02309     }
02310 
02311   *t = '\0';
02312   return str;
02313 }
02314 
02315 int
02316 yywrap ()
02317 {
02318   return 1;
02319 }

Generated on Tue Feb 2 17:50:13 2010 for TAO_PSS by  doxygen 1.4.7