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  * PSDL_l.cpp,v 1.2 2002/08/05 14:33:36 pgontla Exp
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 // PSDL_l.cpp,v 1.2 2002/08/05 14:33:36 pgontla Exp
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 #ifndef TAO_PSDL_ECHO
00720 /* This used to be an fputs(), but since the string might contain NUL's,
00721  * we now use fwrite().
00722  */
00723 #define TAO_PSDL_ECHO (void) fwrite( yytext, yyleng, 1, yyout )
00724 #endif
00725 
00726 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
00727  * is returned in "result".
00728  */
00729 #ifndef YY_INPUT
00730 #define YY_INPUT(buf,result,max_size) \
00731         if ( yy_current_buffer->yy_is_interactive ) \
00732                 { \
00733                 int c = '*', n; \
00734                 for ( n = 0; n < max_size && \
00735                              (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
00736                         buf[n] = (char) c; \
00737                 if ( c == '\n' ) \
00738                         buf[n++] = (char) c; \
00739                 if ( c == EOF && ferror( yyin ) ) \
00740                         YY_FATAL_ERROR( "input in flex scanner failed" ); \
00741                 result = n; \
00742                 } \
00743         else \
00744                 { \
00745                 errno=0; \
00746                 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
00747                         { \
00748                         if( errno != EINTR) \
00749                                 { \
00750                                 YY_FATAL_ERROR( "input in flex scanner failed" ); \
00751                                 break; \
00752                                 } \
00753                         errno=0; \
00754                         clearerr(yyin); \
00755                         } \
00756                 }
00757 #endif
00758 
00759 /* No semi-colon after return; correct usage is to write "yyterminate();" -
00760  * we don't want an extra ';' after the "return" because that will cause
00761  * some compilers to complain about unreachable statements.
00762  */
00763 #ifndef yyterminate
00764 #define yyterminate() return YY_NULL
00765 #endif
00766 
00767 /* Number of entries by which start-condition stack grows. */
00768 #ifndef YY_START_STACK_INCR
00769 #define YY_START_STACK_INCR 25
00770 #endif
00771 
00772 /* Report a fatal error. */
00773 #ifndef YY_FATAL_ERROR
00774 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
00775 #endif
00776 
00777 /* Default declaration of generated scanner - a define so the user can
00778  * easily add parameters.
00779  */
00780 #ifndef YY_DECL
00781 #define YY_DECL int yylex YY_PROTO(( void ))
00782 #endif
00783 
00784 /* Code executed at the beginning of each rule, after yytext and yyleng
00785  * have been set up.
00786  */
00787 #ifndef YY_USER_ACTION
00788 #define YY_USER_ACTION
00789 #endif
00790 
00791 /* Code executed at the end of each rule. */
00792 #ifndef YY_BREAK
00793 #define YY_BREAK break;
00794 #endif
00795 
00796 #define YY_RULE_SETUP \
00797         YY_USER_ACTION
00798 
00799 YY_DECL
00800         {
00801         register yy_state_type yy_current_state;
00802         register char *yy_cp, *yy_bp;
00803         register int yy_act;
00804 
00805 #line 47 "PSDL.ll"
00806 
00807 
00808 
00809         if ( yy_init )
00810                 {
00811                 yy_init = 0;
00812 
00813 #ifdef YY_USER_INIT
00814                 YY_USER_INIT;
00815 #endif
00816 
00817                 if ( ! yy_start )
00818                         yy_start = 1;   /* first start state */
00819 
00820                 if ( ! yyin )
00821                         yyin = stdin;
00822 
00823                 if ( ! yyout )
00824                         yyout = stdout;
00825 
00826                 if ( ! yy_current_buffer )
00827                         yy_current_buffer =
00828                                 yy_create_buffer( yyin, YY_BUF_SIZE );
00829 
00830                 yy_load_buffer_state();
00831                 }
00832 
00833         while ( 1 )             /* loops until end-of-file is reached */
00834                 {
00835                 yy_cp = yy_c_buf_p;
00836 
00837                 /* Support of yytext. */
00838                 *yy_cp = yy_hold_char;
00839 
00840                 /* yy_bp points to the position in yy_ch_buf of the start of
00841                  * the current run.
00842                  */
00843                 yy_bp = yy_cp;
00844 
00845                 yy_current_state = yy_start;
00846 yy_match:
00847                 do
00848                         {
00849                         register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
00850                         if ( yy_accept[yy_current_state] )
00851                                 {
00852                                 yy_last_accepting_state = yy_current_state;
00853                                 yy_last_accepting_cpos = yy_cp;
00854                                 }
00855                         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
00856                                 {
00857                                 yy_current_state = (int) yy_def[yy_current_state];
00858                                 if ( yy_current_state >= 364 )
00859                                         yy_c = yy_meta[(unsigned int) yy_c];
00860                                 }
00861                         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
00862                         ++yy_cp;
00863                         }
00864                 while ( yy_base[yy_current_state] != 392 );
00865 
00866 yy_find_action:
00867                 yy_act = yy_accept[yy_current_state];
00868                 if ( yy_act == 0 )
00869                         { /* have to back up */
00870                         yy_cp = yy_last_accepting_cpos;
00871                         yy_current_state = yy_last_accepting_state;
00872                         yy_act = yy_accept[yy_current_state];
00873                         }
00874 
00875                 YY_DO_BEFORE_ACTION;
00876 
00877 
00878 do_action:      /* This label is used only to access EOF actions. */
00879 
00880 
00881                 switch ( yy_act )
00882         { /* beginning of action switch */
00883                         case 0: /* must back up */
00884                         /* undo the effects of YY_DO_BEFORE_ACTION */
00885                         *yy_cp = yy_hold_char;
00886                         yy_cp = yy_last_accepting_cpos;
00887                         yy_current_state = yy_last_accepting_state;
00888                         goto yy_find_action;
00889 
00890 case 1:
00891 YY_RULE_SETUP
00892 #line 49 "PSDL.ll"
00893 { TAO_YY_LEX_DEBUG; return TAO_PSDL_SEMI; }
00894         YY_BREAK
00895 case 2:
00896 YY_RULE_SETUP
00897 #line 50 "PSDL.ll"
00898 { TAO_YY_LEX_DEBUG; return TAO_PSDL_COLON; }
00899         YY_BREAK
00900 case 3:
00901 YY_RULE_SETUP
00902 #line 51 "PSDL.ll"
00903 { TAO_YY_LEX_DEBUG; return TAO_PSDL_OPEN_CURLY_BRACE; }
00904         YY_BREAK
00905 case 4:
00906 YY_RULE_SETUP
00907 #line 52 "PSDL.ll"
00908 { TAO_YY_LEX_DEBUG; return TAO_PSDL_CLOSE_CURLY_BRACE; }
00909         YY_BREAK
00910 case 5:
00911 YY_RULE_SETUP
00912 #line 53 "PSDL.ll"
00913 { TAO_YY_LEX_DEBUG; return TAO_PSDL_OPEN_BRACE; }
00914         YY_BREAK
00915 case 6:
00916 YY_RULE_SETUP
00917 #line 54 "PSDL.ll"
00918 { TAO_YY_LEX_DEBUG; return TAO_PSDL_CLOSE_BRACE; }
00919         YY_BREAK
00920 case 7:
00921 YY_RULE_SETUP
00922 #line 55 "PSDL.ll"
00923 { TAO_YY_LEX_DEBUG; return TAO_PSDL_OPEN_ANGULAR_BRACE; }
00924         YY_BREAK
00925 case 8:
00926 YY_RULE_SETUP
00927 #line 56 "PSDL.ll"
00928 { TAO_YY_LEX_DEBUG; return TAO_PSDL_CLOSE_ANGULAR_BRACE; }
00929         YY_BREAK
00930 case 9:
00931 YY_RULE_SETUP
00932 #line 57 "PSDL.ll"
00933 { TAO_YY_LEX_DEBUG; return TAO_PSDL_COMMA; }
00934         YY_BREAK
00935 case 10:
00936 YY_RULE_SETUP
00937 #line 58 "PSDL.ll"
00938 { TAO_YY_LEX_DEBUG; return TAO_PSDL_PLUS; }
00939         YY_BREAK
00940 case 11:
00941 YY_RULE_SETUP
00942 #line 59 "PSDL.ll"
00943 { TAO_YY_LEX_DEBUG; return TAO_PSDL_MINUS; }
00944         YY_BREAK
00945 case 12:
00946 YY_RULE_SETUP
00947 #line 60 "PSDL.ll"
00948 { TAO_YY_LEX_DEBUG; return TAO_PSDL_XOR; }
00949         YY_BREAK
00950 case 13:
00951 YY_RULE_SETUP
00952 #line 61 "PSDL.ll"
00953 { TAO_YY_LEX_DEBUG; return TAO_PSDL_AND; }
00954         YY_BREAK
00955 case 14:
00956 YY_RULE_SETUP
00957 #line 62 "PSDL.ll"
00958 { TAO_YY_LEX_DEBUG; return TAO_PSDL_MULT; }
00959         YY_BREAK
00960 case 15:
00961 YY_RULE_SETUP
00962 #line 63 "PSDL.ll"
00963 { TAO_YY_LEX_DEBUG; return TAO_PSDL_RIGHT_SHIFT; }
00964         YY_BREAK
00965 case 16:
00966 YY_RULE_SETUP
00967 #line 64 "PSDL.ll"
00968 { TAO_YY_LEX_DEBUG; return TAO_PSDL_LEFT_SHIFT; }
00969         YY_BREAK
00970 case 17:
00971 YY_RULE_SETUP
00972 #line 65 "PSDL.ll"
00973 { TAO_YY_LEX_DEBUG; return TAO_PSDL_DIV; }
00974         YY_BREAK
00975 case 18:
00976 YY_RULE_SETUP
00977 #line 66 "PSDL.ll"
00978 { TAO_YY_LEX_DEBUG; return TAO_PSDL_PERCENT; }
00979         YY_BREAK
00980 case 19:
00981 YY_RULE_SETUP
00982 #line 67 "PSDL.ll"
00983 { TAO_YY_LEX_DEBUG; return TAO_PSDL_TILDA; }
00984         YY_BREAK
00985 case 20:
00986 YY_RULE_SETUP
00987 #line 68 "PSDL.ll"
00988 { TAO_YY_LEX_DEBUG; return TAO_PSDL_EQUAL; }
00989         YY_BREAK
00990 case 21:
00991 YY_RULE_SETUP
00992 #line 69 "PSDL.ll"
00993 { TAO_YY_LEX_DEBUG; return TAO_PSDL_OR; }
00994         YY_BREAK
00995 case 22:
00996 YY_RULE_SETUP
00997 #line 70 "PSDL.ll"
00998 { TAO_YY_LEX_DEBUG; return TAO_PSDL_DOUBLE_COLON; }
00999         YY_BREAK
01000 case 23:
01001 YY_RULE_SETUP
01002 #line 71 "PSDL.ll"
01003 { TAO_YY_LEX_DEBUG; return TAO_PSDL_OPEN_SQUARE_BRACE; }
01004         YY_BREAK
01005 case 24:
01006 YY_RULE_SETUP
01007 #line 72 "PSDL.ll"
01008 { TAO_YY_LEX_DEBUG; return TAO_PSDL_CLOSE_SQUARE_BRACE; }
01009         YY_BREAK
01010 case 25:
01011 YY_RULE_SETUP
01012 #line 73 "PSDL.ll"
01013 { TAO_YY_LEX_DEBUG; return TAO_PSDL_IN; }
01014         YY_BREAK
01015 case 26:
01016 YY_RULE_SETUP
01017 #line 74 "PSDL.ll"
01018 { TAO_YY_LEX_DEBUG; return TAO_PSDL_AS; }
01019         YY_BREAK
01020 case 27:
01021 YY_RULE_SETUP
01022 #line 75 "PSDL.ll"
01023 { TAO_YY_LEX_DEBUG; return TAO_PSDL_OF; }
01024         YY_BREAK
01025 case 28:
01026 YY_RULE_SETUP
01027 #line 76 "PSDL.ll"
01028 { TAO_YY_LEX_DEBUG; return TAO_PSDL_KEY; }
01029         YY_BREAK
01030 case 29:
01031 YY_RULE_SETUP
01032 #line 77 "PSDL.ll"
01033 { TAO_YY_LEX_DEBUG; return TAO_PSDL_REF; }
01034         YY_BREAK
01035 case 30:
01036 YY_RULE_SETUP
01037 #line 78 "PSDL.ll"
01038 { TAO_YY_LEX_DEBUG; return TAO_PSDL_ANY; }
01039         YY_BREAK
01040 case 31:
01041 YY_RULE_SETUP
01042 #line 79 "PSDL.ll"
01043 { TAO_YY_LEX_DEBUG; return TAO_PSDL_OUT; }
01044         YY_BREAK
01045 case 32:
01046 YY_RULE_SETUP
01047 #line 80 "PSDL.ll"
01048 { TAO_YY_LEX_DEBUG; return TAO_PSDL_CASE; }
01049         YY_BREAK
01050 case 33:
01051 YY_RULE_SETUP
01052 #line 81 "PSDL.ll"
01053 { TAO_YY_LEX_DEBUG; return TAO_PSDL_INOUT; }
01054         YY_BREAK
01055 case 34:
01056 YY_RULE_SETUP
01057 #line 82 "PSDL.ll"
01058 { TAO_YY_LEX_DEBUG; return TAO_PSDL_CATALOG; }
01059         YY_BREAK
01060 case 35:
01061 YY_RULE_SETUP
01062 #line 83 "PSDL.ll"
01063 { TAO_YY_LEX_DEBUG; return TAO_PSDL_PROVIDES; }
01064         YY_BREAK
01065 case 36:
01066 YY_RULE_SETUP
01067 #line 84 "PSDL.ll"
01068 { TAO_YY_LEX_DEBUG; return TAO_PSDL_CHAR; }
01069         YY_BREAK
01070 case 37:
01071 YY_RULE_SETUP
01072 #line 85 "PSDL.ll"
01073 { TAO_YY_LEX_DEBUG; return TAO_PSDL_IMPLEMENTS; }
01074         YY_BREAK
01075 case 38:
01076 YY_RULE_SETUP
01077 #line 86 "PSDL.ll"
01078 { TAO_YY_LEX_DEBUG; return TAO_PSDL_SCOPE; }
01079         YY_BREAK
01080 case 39:
01081 YY_RULE_SETUP
01082 #line 87 "PSDL.ll"
01083 { TAO_YY_LEX_DEBUG; return TAO_PSDL_STORES; }
01084         YY_BREAK
01085 case 40:
01086 YY_RULE_SETUP
01087 #line 88 "PSDL.ll"
01088 { TAO_YY_LEX_DEBUG; return TAO_PSDL_STATE; }
01089         YY_BREAK
01090 case 41:
01091 YY_RULE_SETUP
01092 #line 89 "PSDL.ll"
01093 { TAO_YY_LEX_DEBUG; return TAO_PSDL_ABSTRACT; }
01094         YY_BREAK
01095 case 42:
01096 YY_RULE_SETUP
01097 #line 90 "PSDL.ll"
01098 { TAO_YY_LEX_DEBUG; return TAO_PSDL_STORAGETYPE; }
01099         YY_BREAK
01100 case 43:
01101 YY_RULE_SETUP
01102 #line 91 "PSDL.ll"
01103 { TAO_YY_LEX_DEBUG; return TAO_PSDL_STORAGEHOME; }
01104         YY_BREAK
01105 case 44:
01106 YY_RULE_SETUP
01107 #line 92 "PSDL.ll"
01108 { TAO_YY_LEX_DEBUG; return TAO_PSDL_STRONG; }
01109         YY_BREAK
01110 case 45:
01111 YY_RULE_SETUP
01112 #line 93 "PSDL.ll"
01113 { TAO_YY_LEX_DEBUG; return TAO_PSDL_PRIMARY; }
01114         YY_BREAK
01115 case 46:
01116 YY_RULE_SETUP
01117 #line 94 "PSDL.ll"
01118 { TAO_YY_LEX_DEBUG; return TAO_PSDL_READONLY; }
01119         YY_BREAK
01120 case 47:
01121 YY_RULE_SETUP
01122 #line 95 "PSDL.ll"
01123 { TAO_YY_LEX_DEBUG; return TAO_PSDL_UNION; }
01124         YY_BREAK
01125 case 48:
01126 YY_RULE_SETUP
01127 #line 96 "PSDL.ll"
01128 { TAO_YY_LEX_DEBUG; return TAO_PSDL_SWITCH; }
01129         YY_BREAK
01130 case 49:
01131 YY_RULE_SETUP
01132 #line 97 "PSDL.ll"
01133 { TAO_YY_LEX_DEBUG; return TAO_PSDL_WCHAR; }
01134         YY_BREAK
01135 case 50:
01136 YY_RULE_SETUP
01137 #line 98 "PSDL.ll"
01138 { TAO_YY_LEX_DEBUG; return TAO_PSDL_BOOLEAN; }
01139         YY_BREAK
01140 case 51:
01141 YY_RULE_SETUP
01142 #line 99 "PSDL.ll"
01143 { TAO_YY_LEX_DEBUG; return TAO_PSDL_OCTET; }
01144         YY_BREAK
01145 case 52:
01146 YY_RULE_SETUP
01147 #line 100 "PSDL.ll"
01148 { TAO_YY_LEX_DEBUG; return TAO_PSDL_OBJECT; }
01149         YY_BREAK
01150 case 53:
01151 YY_RULE_SETUP
01152 #line 101 "PSDL.ll"
01153 { TAO_YY_LEX_DEBUG; return TAO_PSDL_STRUCT; }
01154         YY_BREAK
01155 case 54:
01156 YY_RULE_SETUP
01157 #line 102 "PSDL.ll"
01158 { TAO_YY_LEX_DEBUG; return TAO_PSDL_DEFAULT; }
01159         YY_BREAK
01160 case 55:
01161 YY_RULE_SETUP
01162 #line 103 "PSDL.ll"
01163 { TAO_YY_LEX_DEBUG; return TAO_PSDL_FLOAT; }
01164         YY_BREAK
01165 case 56:
01166 YY_RULE_SETUP
01167 #line 104 "PSDL.ll"
01168 { TAO_YY_LEX_DEBUG; return TAO_PSDL_DOUBLE; }
01169         YY_BREAK
01170 case 57:
01171 YY_RULE_SETUP
01172 #line 105 "PSDL.ll"
01173 { TAO_YY_LEX_DEBUG; return TAO_PSDL_LONG; }
01174         YY_BREAK
01175 case 58:
01176 YY_RULE_SETUP
01177 #line 106 "PSDL.ll"
01178 { TAO_YY_LEX_DEBUG; return TAO_PSDL_SHORT; }
01179         YY_BREAK
01180 case 59:
01181 YY_RULE_SETUP
01182 #line 107 "PSDL.ll"
01183 { TAO_YY_LEX_DEBUG; return TAO_PSDL_UNSIGNED; }
01184         YY_BREAK
01185 case 60:
01186 YY_RULE_SETUP
01187 #line 108 "PSDL.ll"
01188 { TAO_YY_LEX_DEBUG; return TAO_PSDL_TYPEDEF; }
01189         YY_BREAK
01190 case 61:
01191 YY_RULE_SETUP
01192 #line 109 "PSDL.ll"
01193 { TAO_YY_LEX_DEBUG; return TAO_PSDL_NATIVE; }
01194         YY_BREAK
01195 case 62:
01196 YY_RULE_SETUP
01197 #line 110 "PSDL.ll"
01198 { TAO_YY_LEX_DEBUG; return TAO_PSDL_MODULE; }
01199         YY_BREAK
01200 case 63:
01201 YY_RULE_SETUP
01202 #line 111 "PSDL.ll"
01203 { TAO_YY_LEX_DEBUG; return TAO_PSDL_ONEWAY; }
01204         YY_BREAK
01205 case 64:
01206 YY_RULE_SETUP
01207 #line 112 "PSDL.ll"
01208 { TAO_YY_LEX_DEBUG; return TAO_PSDL_CONST; }
01209         YY_BREAK
01210 case 65:
01211 YY_RULE_SETUP
01212 #line 113 "PSDL.ll"
01213 { TAO_YY_LEX_DEBUG; return TAO_PSDL_VOID; }
01214         YY_BREAK
01215 case 66:
01216 YY_RULE_SETUP
01217 #line 114 "PSDL.ll"
01218 { TAO_YY_LEX_DEBUG; return TAO_PSDL_RAISES; }
01219         YY_BREAK
01220 case 67:
01221 YY_RULE_SETUP
01222 #line 115 "PSDL.ll"
01223 { TAO_YY_LEX_DEBUG; return TAO_PSDL_CONTEXT; }
01224         YY_BREAK
01225 case 68:
01226 YY_RULE_SETUP
01227 #line 116 "PSDL.ll"
01228 { TAO_YY_LEX_DEBUG; return TAO_PSDL_FIXED; }
01229         YY_BREAK
01230 case 69:
01231 YY_RULE_SETUP
01232 #line 117 "PSDL.ll"
01233 { TAO_YY_LEX_DEBUG; return TAO_PSDL_VALUEBASE; }
01234         YY_BREAK
01235 case 70:
01236 YY_RULE_SETUP
01237 #line 118 "PSDL.ll"
01238 { TAO_YY_LEX_DEBUG; return TAO_PSDL_EXCEPTION; }
01239         YY_BREAK
01240 case 71:
01241 YY_RULE_SETUP
01242 #line 119 "PSDL.ll"
01243 { TAO_YY_LEX_DEBUG; return TAO_PSDL_INTERFACE; }
01244         YY_BREAK
01245 case 72:
01246 YY_RULE_SETUP
01247 #line 120 "PSDL.ll"
01248 { TAO_YY_LEX_DEBUG; return TAO_PSDL_LOCAL; }
01249         YY_BREAK
01250 case 73:
01251 YY_RULE_SETUP
01252 #line 121 "PSDL.ll"
01253 { TAO_YY_LEX_DEBUG; return TAO_PSDL_VALUETYPE; }
01254         YY_BREAK
01255 case 74:
01256 YY_RULE_SETUP
01257 #line 122 "PSDL.ll"
01258 { TAO_YY_LEX_DEBUG; return TAO_PSDL_CUSTOM; }
01259         YY_BREAK
01260 case 75:
01261 YY_RULE_SETUP
01262 #line 123 "PSDL.ll"
01263 { TAO_YY_LEX_DEBUG; return TAO_PSDL_TRUNCATABLE; }
01264         YY_BREAK
01265 case 76:
01266 YY_RULE_SETUP
01267 #line 124 "PSDL.ll"
01268 { TAO_YY_LEX_DEBUG; return TAO_PSDL_SUPPORTS; }
01269         YY_BREAK
01270 case 77:
01271 YY_RULE_SETUP
01272 #line 125 "PSDL.ll"
01273 { TAO_YY_LEX_DEBUG; return TAO_PSDL_STRING; }
01274         YY_BREAK
01275 case 78:
01276 YY_RULE_SETUP
01277 #line 126 "PSDL.ll"
01278 { TAO_YY_LEX_DEBUG; return TAO_PSDL_WSTRING; }
01279         YY_BREAK
01280 case 79:
01281 YY_RULE_SETUP
01282 #line 127 "PSDL.ll"
01283 { TAO_YY_LEX_DEBUG; return TAO_PSDL_ATTRIBUTE; }
01284         YY_BREAK
01285 case 80:
01286 YY_RULE_SETUP
01287 #line 128 "PSDL.ll"
01288 { TAO_YY_LEX_DEBUG; return TAO_PSDL_ENUM; }
01289         YY_BREAK
01290 case 81:
01291 YY_RULE_SETUP
01292 #line 129 "PSDL.ll"
01293 { TAO_YY_LEX_DEBUG; return TAO_PSDL_SEQUENCE; }
01294         YY_BREAK
01295 case 82:
01296 YY_RULE_SETUP
01297 #line 130 "PSDL.ll"
01298 { TAO_YY_LEX_DEBUG; return TAO_PSDL_PRIVATE; }
01299         YY_BREAK
01300 case 83:
01301 YY_RULE_SETUP
01302 #line 131 "PSDL.ll"
01303 { TAO_YY_LEX_DEBUG; return TAO_PSDL_PUBLIC; }
01304         YY_BREAK
01305 case 84:
01306 YY_RULE_SETUP
01307 #line 132 "PSDL.ll"
01308 { TAO_YY_LEX_DEBUG; return TAO_PSDL_FACTORY; }
01309         YY_BREAK
01310 case 85:
01311 YY_RULE_SETUP
01312 #line 133 "PSDL.ll"
01313 {
01314                   *lvalp =
01315                     new TAO_PSDL_Literal ((CORBA::Boolean) 1);
01316                   TAO_YY_LEX_DEBUG; return TAO_PSDL_TRUE;
01317                 }
01318         YY_BREAK
01319 case 86:
01320 YY_RULE_SETUP
01321 #line 138 "PSDL.ll"
01322 {
01323                   *lvalp =
01324                     new TAO_PSDL_Literal ((CORBA::Boolean) 0);
01325                   TAO_YY_LEX_DEBUG; return TAO_PSDL_FALSE;
01326                 }
01327         YY_BREAK
01328 case 87:
01329 YY_RULE_SETUP
01330 #line 143 "PSDL.ll"
01331 {
01332                   *lvalp =
01333                         new TAO_PSDL_Literal (ACE_OS::atoi (yytext));
01334                   TAO_YY_LEX_DEBUG; return TAO_PSDL_INTEGER;
01335                 }
01336         YY_BREAK
01337 case 88:
01338 YY_RULE_SETUP
01339 #line 148 "PSDL.ll"
01340 {
01341                   double v;
01342                   sscanf (yytext, "%lf", &v);
01343                   *lvalp =
01344                     new TAO_PSDL_Literal (v);
01345                   TAO_YY_LEX_DEBUG; return TAO_PSDL_FLOATING_PT;
01346                 }
01347         YY_BREAK
01348 case 89:
01349 YY_RULE_SETUP
01350 #line 155 "PSDL.ll"
01351 {
01352                   *lvalp =
01353                     new TAO_PSDL_Identifier (yytext);
01354                   TAO_YY_LEX_DEBUG; return TAO_PSDL_IDENT;
01355                 }
01356         YY_BREAK
01357 case 90:
01358 YY_RULE_SETUP
01359 #line 160 "PSDL.ll"
01360 {
01361                   *lvalp =
01362                     new TAO_PSDL_Literal (extract_string (yytext));
01363                   TAO_YY_LEX_DEBUG; return TAO_PSDL_STRING;
01364                 }
01365         YY_BREAK
01366 case 91:
01367 YY_RULE_SETUP
01368 #line 165 "PSDL.ll"
01369 {
01370                   TAO_YY_LEX_DEBUG; break; // Ignore
01371                 }
01372         YY_BREAK
01373 case 92:
01374 YY_RULE_SETUP
01375 #line 168 "PSDL.ll"
01376 {
01377                   TAO_YY_LEX_DEBUG; break; // Ignore
01378                 }
01379         YY_BREAK
01380 case 93:
01381 YY_RULE_SETUP
01382 #line 171 "PSDL.ll"
01383 {
01384                   TAO_YY_LEX_DEBUG; break; // @@ TODO
01385                 }
01386         YY_BREAK
01387 case 94:
01388 YY_RULE_SETUP
01389 #line 174 "PSDL.ll"
01390 TAO_PSDL_ECHO;
01391         YY_BREAK
01392 case YY_STATE_EOF(INITIAL):
01393         yyterminate();
01394 
01395         case YY_END_OF_BUFFER:
01396                 {
01397                 /* Amount of text matched not including the EOB char. */
01398                 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
01399 
01400                 /* Undo the effects of YY_DO_BEFORE_ACTION. */
01401                 *yy_cp = yy_hold_char;
01402                 YY_RESTORE_YY_MORE_OFFSET
01403 
01404                 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
01405                         {
01406                         /* We're scanning a new file or input source.  It's
01407                          * possible that this happened because the user
01408                          * just pointed yyin at a new source and called
01409                          * yylex().  If so, then we have to assure
01410                          * consistency between yy_current_buffer and our
01411                          * globals.  Here is the right place to do so, because
01412                          * this is the first action (other than possibly a
01413                          * back-up) that will match for the new input source.
01414                          */
01415                         yy_n_chars = yy_current_buffer->yy_n_chars;
01416                         yy_current_buffer->yy_input_file = yyin;
01417                         yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
01418                         }
01419 
01420                 /* Note that here we test for yy_c_buf_p "<=" to the position
01421                  * of the first EOB in the buffer, since yy_c_buf_p will
01422                  * already have been incremented past the NUL character
01423                  * (since all states make transitions on EOB to the
01424                  * end-of-buffer state).  Contrast this with the test
01425                  * in input().
01426                  */
01427                 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
01428                         { /* This was really a NUL. */
01429                         yy_state_type yy_next_state;
01430 
01431                         yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
01432 
01433                         yy_current_state = yy_get_previous_state();
01434 
01435                         /* Okay, we're now positioned to make the NUL
01436                          * transition.  We couldn't have
01437                          * yy_get_previous_state() go ahead and do it
01438                          * for us because it doesn't know how to deal
01439                          * with the possibility of jamming (and we don't
01440                          * want to build jamming into it because then it
01441                          * will run more slowly).
01442                          */
01443 
01444                         yy_next_state = yy_try_NUL_trans( yy_current_state );
01445 
01446                         yy_bp = yytext_ptr + YY_MORE_ADJ;
01447 
01448                         if ( yy_next_state )
01449                                 {
01450                                 /* Consume the NUL. */
01451                                 yy_cp = ++yy_c_buf_p;
01452                                 yy_current_state = yy_next_state;
01453                                 goto yy_match;
01454                                 }
01455 
01456                         else
01457                                 {
01458                                 yy_cp = yy_c_buf_p;
01459                                 goto yy_find_action;
01460                                 }
01461                         }
01462 
01463                 else switch ( yy_get_next_buffer() )
01464                         {
01465                         case EOB_ACT_END_OF_FILE:
01466                                 {
01467                                 yy_did_buffer_switch_on_eof = 0;
01468 
01469                                 if ( yywrap() )
01470                                         {
01471                                         /* Note: because we've taken care in
01472                                          * yy_get_next_buffer() to have set up
01473                                          * yytext, we can now set up
01474                                          * yy_c_buf_p so that if some total
01475                                          * hoser (like flex itself) wants to
01476                                          * call the scanner after we return the
01477                                          * YY_NULL, it'll still work - another
01478                                          * YY_NULL will get returned.
01479                                          */
01480                                         yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
01481 
01482                                         yy_act = YY_STATE_EOF(YY_START);
01483                                         goto do_action;
01484                                         }
01485 
01486                                 else
01487                                         {
01488                                         if ( ! yy_did_buffer_switch_on_eof )
01489                                                 YY_NEW_FILE;
01490                                         }
01491                                 break;
01492                                 }
01493 
01494                         case EOB_ACT_CONTINUE_SCAN:
01495                                 yy_c_buf_p =
01496                                         yytext_ptr + yy_amount_of_matched_text;
01497 
01498                                 yy_current_state = yy_get_previous_state();
01499 
01500                                 yy_cp = yy_c_buf_p;
01501                                 yy_bp = yytext_ptr + YY_MORE_ADJ;
01502                                 goto yy_match;
01503 
01504                         case EOB_ACT_LAST_MATCH:
01505                                 yy_c_buf_p =
01506                                 &yy_current_buffer->yy_ch_buf[yy_n_chars];
01507 
01508                                 yy_current_state = yy_get_previous_state();
01509 
01510                                 yy_cp = yy_c_buf_p;
01511                                 yy_bp = yytext_ptr + YY_MORE_ADJ;
01512                                 goto yy_find_action;
01513                         }
01514                 break;
01515                 }
01516 
01517         default:
01518                 YY_FATAL_ERROR(
01519                         "fatal flex scanner internal error--no action found" );
01520         } /* end of action switch */
01521                 } /* end of scanning one token */
01522         } /* end of yylex */
01523 
01524 
01525 /* yy_get_next_buffer - try to read in a new buffer
01526  *
01527  * Returns a code representing an action:
01528  *      EOB_ACT_LAST_MATCH -
01529  *      EOB_ACT_CONTINUE_SCAN - continue scanning from current position
01530  *      EOB_ACT_END_OF_FILE - end of file
01531  */
01532 
01533 static int yy_get_next_buffer()
01534         {
01535         register char *dest = yy_current_buffer->yy_ch_buf;
01536         register char *source = yytext_ptr;
01537         register int number_to_move, i;
01538         int ret_val;
01539 
01540         if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
01541                 YY_FATAL_ERROR(
01542                 "fatal flex scanner internal error--end of buffer missed" );
01543 
01544         if ( yy_current_buffer->yy_fill_buffer == 0 )
01545                 { /* Don't try to fill the buffer, so this is an EOF. */
01546                 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
01547                         {
01548                         /* We matched a single character, the EOB, so
01549                          * treat this as a final EOF.
01550                          */
01551                         return EOB_ACT_END_OF_FILE;
01552                         }
01553 
01554                 else
01555                         {
01556                         /* We matched some text prior to the EOB, first
01557                          * process it.
01558                          */
01559                         return EOB_ACT_LAST_MATCH;
01560                         }
01561                 }
01562 
01563         /* Try to read more data. */
01564 
01565         /* First move last chars to start of buffer. */
01566         number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
01567 
01568         for ( i = 0; i < number_to_move; ++i )
01569                 *(dest++) = *(source++);
01570 
01571         if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
01572                 /* don't do the read, it's not guaranteed to return an EOF,
01573                  * just force an EOF
01574                  */
01575                 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
01576 
01577         else
01578                 {
01579                 int num_to_read =
01580                         yy_current_buffer->yy_buf_size - number_to_move - 1;
01581 
01582                 while ( num_to_read <= 0 )
01583                         { /* Not enough room in the buffer - grow it. */
01584 #ifdef YY_USES_REJECT
01585                         YY_FATAL_ERROR(
01586 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
01587 #else
01588 
01589                         /* just a shorter name for the current buffer */
01590                         YY_BUFFER_STATE b = yy_current_buffer;
01591 
01592                         int yy_c_buf_p_offset =
01593                                 (int) (yy_c_buf_p - b->yy_ch_buf);
01594 
01595                         if ( b->yy_is_our_buffer )
01596                                 {
01597                                 int new_size = b->yy_buf_size * 2;
01598 
01599                                 if ( new_size <= 0 )
01600                                         b->yy_buf_size += b->yy_buf_size / 8;
01601                                 else
01602                                         b->yy_buf_size *= 2;
01603 
01604                                 b->yy_ch_buf = (char *)
01605                                         /* Include room in for 2 EOB chars. */
01606                                         yy_flex_realloc( (void *) b->yy_ch_buf,
01607                                                          b->yy_buf_size + 2 );
01608                                 }
01609                         else
01610                                 /* Can't grow it, we don't own it. */
01611                                 b->yy_ch_buf = 0;
01612 
01613                         if ( ! b->yy_ch_buf )
01614                                 YY_FATAL_ERROR(
01615                                 "fatal error - scanner input buffer overflow" );
01616 
01617                         yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
01618 
01619                         num_to_read = yy_current_buffer->yy_buf_size -
01620                                                 number_to_move - 1;
01621 #endif
01622                         }
01623 
01624                 if ( num_to_read > YY_READ_BUF_SIZE )
01625                         num_to_read = YY_READ_BUF_SIZE;
01626 
01627                 /* Read in more data. */
01628                 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
01629                         yy_n_chars, num_to_read );
01630 
01631                 yy_current_buffer->yy_n_chars = yy_n_chars;
01632                 }
01633 
01634         if ( yy_n_chars == 0 )
01635                 {
01636                 if ( number_to_move == YY_MORE_ADJ )
01637                         {
01638                         ret_val = EOB_ACT_END_OF_FILE;
01639                         yyrestart( yyin );
01640                         }
01641 
01642                 else
01643                         {
01644                         ret_val = EOB_ACT_LAST_MATCH;
01645                         yy_current_buffer->yy_buffer_status =
01646                                 YY_BUFFER_EOF_PENDING;
01647                         }
01648                 }
01649 
01650         else
01651                 ret_val = EOB_ACT_CONTINUE_SCAN;
01652 
01653         yy_n_chars += number_to_move;
01654         yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
01655         yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
01656 
01657         yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
01658 
01659         return ret_val;
01660         }
01661 
01662 
01663 /* yy_get_previous_state - get the state just before the EOB char was reached */
01664 
01665 static yy_state_type yy_get_previous_state()
01666         {
01667         register yy_state_type yy_current_state;
01668         register char *yy_cp;
01669 
01670         yy_current_state = yy_start;
01671 
01672         for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
01673                 {
01674                 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
01675                 if ( yy_accept[yy_current_state] )
01676                         {
01677                         yy_last_accepting_state = yy_current_state;
01678                         yy_last_accepting_cpos = yy_cp;
01679                         }
01680                 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
01681                         {
01682                         yy_current_state = (int) yy_def[yy_current_state];
01683                         if ( yy_current_state >= 364 )
01684                                 yy_c = yy_meta[(unsigned int) yy_c];
01685                         }
01686                 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
01687                 }
01688 
01689         return yy_current_state;
01690         }
01691 
01692 
01693 /* yy_try_NUL_trans - try to make a transition on the NUL character
01694  *
01695  * synopsis
01696  *      next_state = yy_try_NUL_trans( current_state );
01697  */
01698 
01699 #ifdef YY_USE_PROTOS
01700 static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
01701 #else
01702 static yy_state_type yy_try_NUL_trans( yy_current_state )
01703 yy_state_type yy_current_state;
01704 #endif
01705         {
01706         register int yy_is_jam;
01707         register char *yy_cp = yy_c_buf_p;
01708 
01709         register YY_CHAR yy_c = 1;
01710         if ( yy_accept[yy_current_state] )
01711                 {
01712                 yy_last_accepting_state = yy_current_state;
01713                 yy_last_accepting_cpos = yy_cp;
01714                 }
01715         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
01716                 {
01717                 yy_current_state = (int) yy_def[yy_current_state];
01718                 if ( yy_current_state >= 364 )
01719                         yy_c = yy_meta[(unsigned int) yy_c];
01720                 }
01721         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
01722         yy_is_jam = (yy_current_state == 363);
01723 
01724         return yy_is_jam ? 0 : yy_current_state;
01725         }
01726 
01727 
01728 #ifndef YY_NO_UNPUT
01729 #ifdef YY_USE_PROTOS
01730 static void yyunput( int c, register char *yy_bp )
01731 #else
01732 static void yyunput( c, yy_bp )
01733 int c;
01734 register char *yy_bp;
01735 #endif
01736         {
01737         register char *yy_cp = yy_c_buf_p;
01738 
01739         /* undo effects of setting up yytext */
01740         *yy_cp = yy_hold_char;
01741 
01742         if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
01743                 { /* need to shift things up to make room */
01744                 /* +2 for EOB chars. */
01745                 register int number_to_move = yy_n_chars + 2;
01746                 register char *dest = &yy_current_buffer->yy_ch_buf[
01747                                         yy_current_buffer->yy_buf_size + 2];
01748                 register char *source =
01749                                 &yy_current_buffer->yy_ch_buf[number_to_move];
01750 
01751                 while ( source > yy_current_buffer->yy_ch_buf )
01752                         *--dest = *--source;
01753 
01754                 yy_cp += (int) (dest - source);
01755                 yy_bp += (int) (dest - source);
01756                 yy_current_buffer->yy_n_chars =
01757                         yy_n_chars = yy_current_buffer->yy_buf_size;
01758 
01759                 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
01760                         YY_FATAL_ERROR( "flex scanner push-back overflow" );
01761                 }
01762 
01763         *--yy_cp = (char) c;
01764 
01765 
01766         yytext_ptr = yy_bp;
01767         yy_hold_char = *yy_cp;
01768         yy_c_buf_p = yy_cp;
01769         }
01770 #endif  /* ifndef YY_NO_UNPUT */
01771 
01772 
01773 #ifdef __cplusplus
01774 static int yyinput()
01775 #else
01776 static int input()
01777 #endif
01778         {
01779         int c;
01780 
01781         *yy_c_buf_p = yy_hold_char;
01782 
01783         if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
01784                 {
01785                 /* yy_c_buf_p now points to the character we want to return.
01786                  * If this occurs *before* the EOB characters, then it's a
01787                  * valid NUL; if not, then we've hit the end of the buffer.
01788                  */
01789                 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
01790                         /* This was really a NUL. */
01791                         *yy_c_buf_p = '\0';
01792 
01793                 else
01794                         { /* need more input */
01795                         int offset = yy_c_buf_p - yytext_ptr;
01796                         ++yy_c_buf_p;
01797 
01798                         switch ( yy_get_next_buffer() )
01799                                 {
01800                                 case EOB_ACT_LAST_MATCH:
01801                                         /* This happens because yy_g_n_b()
01802                                          * sees that we've accumulated a
01803                                          * token and flags that we need to
01804                                          * try matching the token before
01805                                          * proceeding.  But for input(),
01806                                          * there's no matching to consider.
01807                                          * So convert the EOB_ACT_LAST_MATCH
01808                                          * to EOB_ACT_END_OF_FILE.
01809                                          */
01810 
01811                                         /* Reset buffer status. */
01812                                         yyrestart( yyin );
01813 
01814                                         /* fall through */
01815 
01816                                 case EOB_ACT_END_OF_FILE:
01817                                         {
01818                                         if ( yywrap() )
01819                                                 return EOF;
01820 
01821                                         if ( ! yy_did_buffer_switch_on_eof )
01822                                                 YY_NEW_FILE;
01823 #ifdef __cplusplus
01824                                         return yyinput();
01825 #else
01826                                         return input();
01827 #endif
01828                                         }
01829 
01830                                 case EOB_ACT_CONTINUE_SCAN:
01831                                         yy_c_buf_p = yytext_ptr + offset;
01832                                         break;
01833                                 }
01834                         }
01835                 }
01836 
01837         c = *(unsigned char *) yy_c_buf_p;      /* cast for 8-bit char's */
01838         *yy_c_buf_p = '\0';     /* preserve yytext */
01839         yy_hold_char = *++yy_c_buf_p;
01840 
01841 
01842         return c;
01843         }
01844 
01845 
01846 #ifdef YY_USE_PROTOS
01847 void yyrestart( FILE *input_file )
01848 #else
01849 void yyrestart( input_file )
01850 FILE *input_file;
01851 #endif
01852         {
01853         if ( ! yy_current_buffer )
01854                 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
01855 
01856         yy_init_buffer( yy_current_buffer, input_file );
01857         yy_load_buffer_state();
01858         }
01859 
01860 
01861 #ifdef YY_USE_PROTOS
01862 void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
01863 #else
01864 void yy_switch_to_buffer( new_buffer )
01865 YY_BUFFER_STATE new_buffer;
01866 #endif
01867         {
01868         if ( yy_current_buffer == new_buffer )
01869                 return;
01870 
01871         if ( yy_current_buffer )
01872                 {
01873                 /* Flush out information for old buffer. */
01874                 *yy_c_buf_p = yy_hold_char;
01875                 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
01876                 yy_current_buffer->yy_n_chars = yy_n_chars;
01877                 }
01878 
01879         yy_current_buffer = new_buffer;
01880         yy_load_buffer_state();
01881 
01882         /* We don't actually know whether we did this switch during
01883          * EOF (yywrap()) processing, but the only time this flag
01884          * is looked at is after yywrap() is called, so it's safe
01885          * to go ahead and always set it.
01886          */
01887         yy_did_buffer_switch_on_eof = 1;
01888         }
01889 
01890 
01891 #ifdef YY_USE_PROTOS
01892 void yy_load_buffer_state( void )
01893 #else
01894 void yy_load_buffer_state()
01895 #endif
01896         {
01897         yy_n_chars = yy_current_buffer->yy_n_chars;
01898         yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
01899         yyin = yy_current_buffer->yy_input_file;
01900         yy_hold_char = *yy_c_buf_p;
01901         }
01902 
01903 
01904 #ifdef YY_USE_PROTOS
01905 YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
01906 #else
01907 YY_BUFFER_STATE yy_create_buffer( file, size )
01908 FILE *file;
01909 int size;
01910 #endif
01911         {
01912         YY_BUFFER_STATE b;
01913 
01914         b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
01915         if ( ! b )
01916                 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
01917 
01918         b->yy_buf_size = size;
01919 
01920         /* yy_ch_buf has to be 2 characters longer than the size given because
01921          * we need to put in 2 end-of-buffer characters.
01922          */
01923         b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
01924         if ( ! b->yy_ch_buf )
01925                 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
01926 
01927         b->yy_is_our_buffer = 1;
01928 
01929         yy_init_buffer( b, file );
01930 
01931         return b;
01932         }
01933 
01934 
01935 #ifdef YY_USE_PROTOS
01936 void yy_delete_buffer( YY_BUFFER_STATE b )
01937 #else
01938 void yy_delete_buffer( b )
01939 YY_BUFFER_STATE b;
01940 #endif
01941         {
01942         if ( ! b )
01943                 return;
01944 
01945         if ( b == yy_current_buffer )
01946                 yy_current_buffer = (YY_BUFFER_STATE) 0;
01947 
01948         if ( b->yy_is_our_buffer )
01949                 yy_flex_free( (void *) b->yy_ch_buf );
01950 
01951         yy_flex_free( (void *) b );
01952         }
01953 
01954 
01955 #ifndef _Win32
01956 #include "ace/Synch.h"
01957 #else
01958 #ifndef YY_ALWAYS_INTERACTIVE
01959 #ifndef YY_NEVER_INTERACTIVE
01960 extern int isatty YY_PROTO(( int ));
01961 #endif
01962 #endif
01963 #endif
01964 
01965 #ifdef YY_USE_PROTOS
01966 void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
01967 #else
01968 void yy_init_buffer( b, file )
01969 YY_BUFFER_STATE b;
01970 FILE *file;
01971 #endif
01972 
01973 
01974         {
01975         yy_flush_buffer( b );
01976 
01977         b->yy_input_file = file;
01978         b->yy_fill_buffer = 1;
01979 
01980 #if YY_ALWAYS_INTERACTIVE
01981         b->yy_is_interactive = 1;
01982 #else
01983 #if YY_NEVER_INTERACTIVE
01984         b->yy_is_interactive = 0;
01985 #else
01986         b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
01987 #endif
01988 #endif
01989         }
01990 
01991 
01992 #ifdef YY_USE_PROTOS
01993 void yy_flush_buffer( YY_BUFFER_STATE b )
01994 #else
01995 void yy_flush_buffer( b )
01996 YY_BUFFER_STATE b;
01997 #endif
01998 
01999         {
02000         if ( ! b )
02001                 return;
02002 
02003         b->yy_n_chars = 0;
02004 
02005         /* We always need two end-of-buffer characters.  The first causes
02006          * a transition to the end-of-buffer state.  The second causes
02007          * a jam in that state.
02008          */
02009         b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
02010         b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
02011 
02012         b->yy_buf_pos = &b->yy_ch_buf[0];
02013 
02014         b->yy_at_bol = 1;
02015         b->yy_buffer_status = YY_BUFFER_NEW;
02016 
02017         if ( b == yy_current_buffer )
02018                 yy_load_buffer_state();
02019         }
02020 
02021 
02022 #ifndef YY_NO_SCAN_BUFFER
02023 #ifdef YY_USE_PROTOS
02024 YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
02025 #else
02026 YY_BUFFER_STATE yy_scan_buffer( base, size )
02027 char *base;
02028 yy_size_t size;
02029 #endif
02030         {
02031         YY_BUFFER_STATE b;
02032 
02033         if ( size < 2 ||
02034              base[size-2] != YY_END_OF_BUFFER_CHAR ||
02035              base[size-1] != YY_END_OF_BUFFER_CHAR )
02036                 /* They forgot to leave room for the EOB's. */
02037                 return 0;
02038 
02039         b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
02040         if ( ! b )
02041                 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
02042 
02043         b->yy_buf_size = size - 2;      /* "- 2" to take care of EOB's */
02044         b->yy_buf_pos = b->yy_ch_buf = base;
02045         b->yy_is_our_buffer = 0;
02046         b->yy_input_file = 0;
02047         b->yy_n_chars = b->yy_buf_size;
02048         b->yy_is_interactive = 0;
02049         b->yy_at_bol = 1;
02050         b->yy_fill_buffer = 0;
02051         b->yy_buffer_status = YY_BUFFER_NEW;
02052 
02053         yy_switch_to_buffer( b );
02054 
02055         return b;
02056         }
02057 #endif
02058 
02059 
02060 #ifndef YY_NO_SCAN_STRING
02061 #ifdef YY_USE_PROTOS
02062 YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
02063 #else
02064 YY_BUFFER_STATE yy_scan_string( yy_str )
02065 yyconst char *yy_str;
02066 #endif
02067         {
02068         int len;
02069         for ( len = 0; yy_str[len]; ++len )
02070                 ;
02071 
02072         return yy_scan_bytes( yy_str, len );
02073         }
02074 #endif
02075 
02076 
02077 #ifndef YY_NO_SCAN_BYTES
02078 #ifdef YY_USE_PROTOS
02079 YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
02080 #else
02081 YY_BUFFER_STATE yy_scan_bytes( bytes, len )
02082 yyconst char *bytes;
02083 int len;
02084 #endif
02085         {
02086         YY_BUFFER_STATE b;
02087         char *buf;
02088         yy_size_t n;
02089         int i;
02090 
02091         /* Get memory for full buffer, including space for trailing EOB's. */
02092         n = len + 2;
02093         buf = (char *) yy_flex_alloc( n );
02094         if ( ! buf )
02095                 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
02096 
02097         for ( i = 0; i < len; ++i )
02098                 buf[i] = bytes[i];
02099 
02100         buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
02101 
02102         b = yy_scan_buffer( buf, n );
02103         if ( ! b )
02104                 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
02105 
02106         /* It's okay to grow etc. this buffer, and we should throw it
02107          * away when we're done.
02108          */
02109         b->yy_is_our_buffer = 1;
02110 
02111         return b;
02112         }
02113 #endif
02114 
02115 
02116 #ifndef YY_NO_PUSH_STATE
02117 #ifdef YY_USE_PROTOS
02118 static void yy_push_state( int new_state )
02119 #else
02120 static void yy_push_state( new_state )
02121 int new_state;
02122 #endif
02123         {
02124         if ( yy_start_stack_ptr >= yy_start_stack_depth )
02125                 {
02126                 yy_size_t new_size;
02127 
02128                 yy_start_stack_depth += YY_START_STACK_INCR;
02129                 new_size = yy_start_stack_depth * sizeof( int );
02130 
02131                 if ( ! yy_start_stack )
02132                         yy_start_stack = (int *) yy_flex_alloc( new_size );
02133 
02134                 else
02135                         yy_start_stack = (int *) yy_flex_realloc(
02136                                         (void *) yy_start_stack, new_size );
02137 
02138                 if ( ! yy_start_stack )
02139                         YY_FATAL_ERROR(
02140                         "out of memory expanding start-condition stack" );
02141                 }
02142 
02143         yy_start_stack[yy_start_stack_ptr++] = YY_START;
02144 
02145         BEGIN(new_state);
02146         }
02147 #endif
02148 
02149 
02150 #ifndef YY_NO_POP_STATE
02151 static void yy_pop_state()
02152         {
02153         if ( --yy_start_stack_ptr < 0 )
02154                 YY_FATAL_ERROR( "start-condition stack underflow" );
02155 
02156         BEGIN(yy_start_stack[yy_start_stack_ptr]);
02157         }
02158 #endif
02159 
02160 
02161 #ifndef YY_NO_TOP_STATE
02162 static int yy_top_state()
02163         {
02164         return yy_start_stack[yy_start_stack_ptr - 1];
02165         }
02166 #endif
02167 
02168 #ifndef YY_EXIT_FAILURE
02169 #define YY_EXIT_FAILURE 2
02170 #endif
02171 
02172 #ifdef YY_USE_PROTOS
02173 static void yy_fatal_error( yyconst char msg[] )
02174 #else
02175 static void yy_fatal_error( msg )
02176 char msg[];
02177 #endif
02178         {
02179         (void) fprintf( stderr, "%s\n", msg );
02180         exit( YY_EXIT_FAILURE );
02181         }
02182 
02183 
02184 
02185 /* Redefine yyless() so it works in section 3 code. */
02186 
02187 #undef yyless
02188 #define yyless(n) \
02189         do \
02190                 { \
02191                 /* Undo effects of setting up yytext. */ \
02192                 yytext[yyleng] = yy_hold_char; \
02193                 yy_c_buf_p = yytext + n; \
02194                 yy_hold_char = *yy_c_buf_p; \
02195                 *yy_c_buf_p = '\0'; \
02196                 yyleng = n; \
02197                 } \
02198         while ( 0 )
02199 
02200 
02201 /* Internal utility routines. */
02202 
02203 #ifndef yytext_ptr
02204 #ifdef YY_USE_PROTOS
02205 static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
02206 #else
02207 static void yy_flex_strncpy( s1, s2, n )
02208 char *s1;
02209 yyconst char *s2;
02210 int n;
02211 #endif
02212         {
02213         register int i;
02214         for ( i = 0; i < n; ++i )
02215                 s1[i] = s2[i];
02216         }
02217 #endif
02218 
02219 #ifdef YY_NEED_STRLEN
02220 #ifdef YY_USE_PROTOS
02221 static int yy_flex_strlen( yyconst char *s )
02222 #else
02223 static int yy_flex_strlen( s )
02224 yyconst char *s;
02225 #endif
02226         {
02227         register int n;
02228         for ( n = 0; s[n]; ++n )
02229                 ;
02230 
02231         return n;
02232         }
02233 #endif
02234 
02235 
02236 #ifdef YY_USE_PROTOS
02237 static void *yy_flex_alloc( yy_size_t size )
02238 #else
02239 static void *yy_flex_alloc( size )
02240 yy_size_t size;
02241 #endif
02242         {
02243         return (void *) malloc( size );
02244         }
02245 
02246 #ifdef YY_USE_PROTOS
02247 static void *yy_flex_realloc( void *ptr, yy_size_t size )
02248 #else
02249 static void *yy_flex_realloc( ptr, size )
02250 void *ptr;
02251 yy_size_t size;
02252 #endif
02253         {
02254         /* The cast to (char *) in the following accommodates both
02255          * implementations that use char* generic pointers, and those
02256          * that use void* generic pointers.  It works with the latter
02257          * because both ANSI C and C++ allow castless assignment from
02258          * any pointer type to void*, and deal with argument conversions
02259          * as though doing an assignment.
02260          */
02261         return (void *) realloc( (char *) ptr, size );
02262         }
02263 
02264 #ifdef YY_USE_PROTOS
02265 static void yy_flex_free( void *ptr )
02266 #else
02267 static void yy_flex_free( ptr )
02268 void *ptr;
02269 #endif
02270         {
02271         free( ptr );
02272         }
02273 
02274 #if YY_MAIN
02275 int main()
02276         {
02277         yylex();
02278         return 0;
02279         }
02280 #endif
02281 #line 174 "PSDL.ll"
02282 
02283 
02284 const char*
02285 extract_string(char* str)
02286 {
02287   char *t = str;
02288   for (char * i = str + 1; *i != '\''; ++i, ++t)
02289     {
02290       if (*i == '\\')
02291         {
02292           ++i;
02293           if (*i == 0)
02294             return 0;
02295           else if (*i == 't')
02296             *t = '\t';
02297           else if (*i == 'n')
02298             *t = '\n';
02299           else if (*i == '\\')
02300             *t = '\\';
02301           else
02302             *t = *i;
02303           continue;
02304         }
02305 
02306       *t = *i;
02307     }
02308 
02309   *t = '\0';
02310   return str;
02311 }
02312 
02313 int
02314 yywrap ()
02315 {
02316   return 1;
02317 }

Generated on Thu Nov 9 14:07:02 2006 for TAO_PSS by doxygen 1.3.6