i3
src/cmdparse.yy.c
Go to the documentation of this file.
00001 #line 2 "src/cmdparse.yy.c"
00002 
00003 #line 4 "src/cmdparse.yy.c"
00004 
00005 #define  YY_INT_ALIGNED short int
00006 
00007 /* A lexical scanner generated by flex */
00008 
00009 #define yy_create_buffer cmdyy_create_buffer
00010 #define yy_delete_buffer cmdyy_delete_buffer
00011 #define yy_flex_debug cmdyy_flex_debug
00012 #define yy_init_buffer cmdyy_init_buffer
00013 #define yy_flush_buffer cmdyy_flush_buffer
00014 #define yy_load_buffer_state cmdyy_load_buffer_state
00015 #define yy_switch_to_buffer cmdyy_switch_to_buffer
00016 #define yyin cmdyyin
00017 #define yyleng cmdyyleng
00018 #define yylex cmdyylex
00019 #define yylineno cmdyylineno
00020 #define yyout cmdyyout
00021 #define yyrestart cmdyyrestart
00022 #define yytext cmdyytext
00023 #define yywrap cmdyywrap
00024 #define yyalloc cmdyyalloc
00025 #define yyrealloc cmdyyrealloc
00026 #define yyfree cmdyyfree
00027 
00028 #define FLEX_SCANNER
00029 #define YY_FLEX_MAJOR_VERSION 2
00030 #define YY_FLEX_MINOR_VERSION 5
00031 #define YY_FLEX_SUBMINOR_VERSION 35
00032 #if YY_FLEX_SUBMINOR_VERSION > 0
00033 #define FLEX_BETA
00034 #endif
00035 
00036 /* First, we deal with  platform-specific or compiler-specific issues. */
00037 
00038 /* begin standard C headers. */
00039 #include <stdio.h>
00040 #include <string.h>
00041 #include <errno.h>
00042 #include <stdlib.h>
00043 
00044 /* end standard C headers. */
00045 
00046 /* flex integer type definitions */
00047 
00048 #ifndef FLEXINT_H
00049 #define FLEXINT_H
00050 
00051 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
00052 
00053 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
00054 
00055 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
00056  * if you want the limit (max/min) macros for int types. 
00057  */
00058 #ifndef __STDC_LIMIT_MACROS
00059 #define __STDC_LIMIT_MACROS 1
00060 #endif
00061 
00062 #include <inttypes.h>
00063 typedef int8_t flex_int8_t;
00064 typedef uint8_t flex_uint8_t;
00065 typedef int16_t flex_int16_t;
00066 typedef uint16_t flex_uint16_t;
00067 typedef int32_t flex_int32_t;
00068 typedef uint32_t flex_uint32_t;
00069 #else
00070 typedef signed char flex_int8_t;
00071 typedef short int flex_int16_t;
00072 typedef int flex_int32_t;
00073 typedef unsigned char flex_uint8_t; 
00074 typedef unsigned short int flex_uint16_t;
00075 typedef unsigned int flex_uint32_t;
00076 #endif /* ! C99 */
00077 
00078 /* Limits of integral types. */
00079 #ifndef INT8_MIN
00080 #define INT8_MIN               (-128)
00081 #endif
00082 #ifndef INT16_MIN
00083 #define INT16_MIN              (-32767-1)
00084 #endif
00085 #ifndef INT32_MIN
00086 #define INT32_MIN              (-2147483647-1)
00087 #endif
00088 #ifndef INT8_MAX
00089 #define INT8_MAX               (127)
00090 #endif
00091 #ifndef INT16_MAX
00092 #define INT16_MAX              (32767)
00093 #endif
00094 #ifndef INT32_MAX
00095 #define INT32_MAX              (2147483647)
00096 #endif
00097 #ifndef UINT8_MAX
00098 #define UINT8_MAX              (255U)
00099 #endif
00100 #ifndef UINT16_MAX
00101 #define UINT16_MAX             (65535U)
00102 #endif
00103 #ifndef UINT32_MAX
00104 #define UINT32_MAX             (4294967295U)
00105 #endif
00106 
00107 #endif /* ! FLEXINT_H */
00108 
00109 #ifdef __cplusplus
00110 
00111 /* The "const" storage-class-modifier is valid. */
00112 #define YY_USE_CONST
00113 
00114 #else   /* ! __cplusplus */
00115 
00116 /* C99 requires __STDC__ to be defined as 1. */
00117 #if defined (__STDC__)
00118 
00119 #define YY_USE_CONST
00120 
00121 #endif  /* defined (__STDC__) */
00122 #endif  /* ! __cplusplus */
00123 
00124 #ifdef YY_USE_CONST
00125 #define yyconst const
00126 #else
00127 #define yyconst
00128 #endif
00129 
00130 /* Returned upon end-of-file. */
00131 #define YY_NULL 0
00132 
00133 /* Promotes a possibly negative, possibly signed char to an unsigned
00134  * integer for use as an array index.  If the signed char is negative,
00135  * we want to instead treat it as an 8-bit unsigned char, hence the
00136  * double cast.
00137  */
00138 #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
00139 
00140 /* Enter a start condition.  This macro really ought to take a parameter,
00141  * but we do it the disgusting crufty way forced on us by the ()-less
00142  * definition of BEGIN.
00143  */
00144 #define BEGIN (yy_start) = 1 + 2 *
00145 
00146 /* Translate the current start state into a value that can be later handed
00147  * to BEGIN to return to the state.  The YYSTATE alias is for lex
00148  * compatibility.
00149  */
00150 #define YY_START (((yy_start) - 1) / 2)
00151 #define YYSTATE YY_START
00152 
00153 /* Action number for EOF rule of a given start state. */
00154 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
00155 
00156 /* Special action meaning "start processing a new file". */
00157 #define YY_NEW_FILE cmdyyrestart(cmdyyin  )
00158 
00159 #define YY_END_OF_BUFFER_CHAR 0
00160 
00161 /* Size of default input buffer. */
00162 #ifndef YY_BUF_SIZE
00163 #define YY_BUF_SIZE 16384
00164 #endif
00165 
00166 /* The state buf must be large enough to hold one state per character in the main buffer.
00167  */
00168 #define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
00169 
00170 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
00171 #define YY_TYPEDEF_YY_BUFFER_STATE
00172 typedef struct yy_buffer_state *YY_BUFFER_STATE;
00173 #endif
00174 
00175 extern int cmdyyleng;
00176 
00177 extern FILE *cmdyyin, *cmdyyout;
00178 
00179 #define EOB_ACT_CONTINUE_SCAN 0
00180 #define EOB_ACT_END_OF_FILE 1
00181 #define EOB_ACT_LAST_MATCH 2
00182 
00183     #define YY_LESS_LINENO(n)
00184     
00185 /* Return all but the first "n" matched characters back to the input stream. */
00186 #define yyless(n) \
00187         do \
00188                 { \
00189                 /* Undo effects of setting up cmdyytext. */ \
00190         int yyless_macro_arg = (n); \
00191         YY_LESS_LINENO(yyless_macro_arg);\
00192                 *yy_cp = (yy_hold_char); \
00193                 YY_RESTORE_YY_MORE_OFFSET \
00194                 (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
00195                 YY_DO_BEFORE_ACTION; /* set up cmdyytext again */ \
00196                 } \
00197         while ( 0 )
00198 
00199 #define unput(c) yyunput( c, (yytext_ptr)  )
00200 
00201 #ifndef YY_TYPEDEF_YY_SIZE_T
00202 #define YY_TYPEDEF_YY_SIZE_T
00203 typedef size_t yy_size_t;
00204 #endif
00205 
00206 #ifndef YY_STRUCT_YY_BUFFER_STATE
00207 #define YY_STRUCT_YY_BUFFER_STATE
00208 struct yy_buffer_state
00209         {
00210         FILE *yy_input_file;
00211 
00212         char *yy_ch_buf;                /* input buffer */
00213         char *yy_buf_pos;               /* current position in input buffer */
00214 
00215         /* Size of input buffer in bytes, not including room for EOB
00216          * characters.
00217          */
00218         yy_size_t yy_buf_size;
00219 
00220         /* Number of characters read into yy_ch_buf, not including EOB
00221          * characters.
00222          */
00223         int yy_n_chars;
00224 
00225         /* Whether we "own" the buffer - i.e., we know we created it,
00226          * and can realloc() it to grow it, and should free() it to
00227          * delete it.
00228          */
00229         int yy_is_our_buffer;
00230 
00231         /* Whether this is an "interactive" input source; if so, and
00232          * if we're using stdio for input, then we want to use getc()
00233          * instead of fread(), to make sure we stop fetching input after
00234          * each newline.
00235          */
00236         int yy_is_interactive;
00237 
00238         /* Whether we're considered to be at the beginning of a line.
00239          * If so, '^' rules will be active on the next match, otherwise
00240          * not.
00241          */
00242         int yy_at_bol;
00243 
00244     int yy_bs_lineno; 
00245     int yy_bs_column; 
00247         /* Whether to try to fill the input buffer when we reach the
00248          * end of it.
00249          */
00250         int yy_fill_buffer;
00251 
00252         int yy_buffer_status;
00253 
00254 #define YY_BUFFER_NEW 0
00255 #define YY_BUFFER_NORMAL 1
00256         /* When an EOF's been seen but there's still some text to process
00257          * then we mark the buffer as YY_EOF_PENDING, to indicate that we
00258          * shouldn't try reading from the input source any more.  We might
00259          * still have a bunch of tokens to match, though, because of
00260          * possible backing-up.
00261          *
00262          * When we actually see the EOF, we change the status to "new"
00263          * (via cmdyyrestart()), so that the user can continue scanning by
00264          * just pointing cmdyyin at a new input file.
00265          */
00266 #define YY_BUFFER_EOF_PENDING 2
00267 
00268         };
00269 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
00270 
00271 /* Stack of input buffers. */
00272 static size_t yy_buffer_stack_top = 0; 
00273 static size_t yy_buffer_stack_max = 0; 
00274 static YY_BUFFER_STATE * yy_buffer_stack = 0; 
00276 /* We provide macros for accessing buffer states in case in the
00277  * future we want to put the buffer states in a more general
00278  * "scanner state".
00279  *
00280  * Returns the top of the stack, or NULL.
00281  */
00282 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
00283                           ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
00284                           : NULL)
00285 
00286 /* Same as previous macro, but useful when we know that the buffer stack is not
00287  * NULL or when we need an lvalue. For internal use only.
00288  */
00289 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
00290 
00291 /* yy_hold_char holds the character lost when cmdyytext is formed. */
00292 static char yy_hold_char;
00293 static int yy_n_chars;          /* number of characters read into yy_ch_buf */
00294 int cmdyyleng;
00295 
00296 /* Points to current character in buffer. */
00297 static char *yy_c_buf_p = (char *) 0;
00298 static int yy_init = 0;         /* whether we need to initialize */
00299 static int yy_start = 0;        /* start state number */
00300 
00301 /* Flag which is used to allow cmdyywrap()'s to do buffer switches
00302  * instead of setting up a fresh cmdyyin.  A bit of a hack ...
00303  */
00304 static int yy_did_buffer_switch_on_eof;
00305 
00306 void cmdyyrestart (FILE *input_file  );
00307 void cmdyy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
00308 YY_BUFFER_STATE cmdyy_create_buffer (FILE *file,int size  );
00309 void cmdyy_delete_buffer (YY_BUFFER_STATE b  );
00310 void cmdyy_flush_buffer (YY_BUFFER_STATE b  );
00311 void cmdyypush_buffer_state (YY_BUFFER_STATE new_buffer  );
00312 void cmdyypop_buffer_state (void );
00313 
00314 static void cmdyyensure_buffer_stack (void );
00315 static void cmdyy_load_buffer_state (void );
00316 static void cmdyy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
00317 
00318 #define YY_FLUSH_BUFFER cmdyy_flush_buffer(YY_CURRENT_BUFFER )
00319 
00320 YY_BUFFER_STATE cmdyy_scan_buffer (char *base,yy_size_t size  );
00321 YY_BUFFER_STATE cmdyy_scan_string (yyconst char *yy_str  );
00322 YY_BUFFER_STATE cmdyy_scan_bytes (yyconst char *bytes,int len  );
00323 
00324 void *cmdyyalloc (yy_size_t  );
00325 void *cmdyyrealloc (void *,yy_size_t  );
00326 void cmdyyfree (void *  );
00327 
00328 #define yy_new_buffer cmdyy_create_buffer
00329 
00330 #define yy_set_interactive(is_interactive) \
00331         { \
00332         if ( ! YY_CURRENT_BUFFER ){ \
00333         cmdyyensure_buffer_stack (); \
00334                 YY_CURRENT_BUFFER_LVALUE =    \
00335             cmdyy_create_buffer(cmdyyin,YY_BUF_SIZE ); \
00336         } \
00337         YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
00338         }
00339 
00340 #define yy_set_bol(at_bol) \
00341         { \
00342         if ( ! YY_CURRENT_BUFFER ){\
00343         cmdyyensure_buffer_stack (); \
00344                 YY_CURRENT_BUFFER_LVALUE =    \
00345             cmdyy_create_buffer(cmdyyin,YY_BUF_SIZE ); \
00346         } \
00347         YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
00348         }
00349 
00350 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
00351 
00352 /* Begin user sect3 */
00353 
00354 typedef unsigned char YY_CHAR;
00355 
00356 FILE *cmdyyin = (FILE *) 0, *cmdyyout = (FILE *) 0;
00357 
00358 typedef int yy_state_type;
00359 
00360 extern int cmdyylineno;
00361 
00362 int cmdyylineno = 1;
00363 
00364 extern char *cmdyytext;
00365 #define yytext_ptr cmdyytext
00366 
00367 static yy_state_type yy_get_previous_state (void );
00368 static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
00369 static int yy_get_next_buffer (void );
00370 static void yy_fatal_error (yyconst char msg[]  );
00371 
00372 /* Done after the current pattern has been matched and before the
00373  * corresponding action - sets up cmdyytext.
00374  */
00375 #define YY_DO_BEFORE_ACTION \
00376         (yytext_ptr) = yy_bp; \
00377         cmdyyleng = (size_t) (yy_cp - yy_bp); \
00378         (yy_hold_char) = *yy_cp; \
00379         *yy_cp = '\0'; \
00380         (yy_c_buf_p) = yy_cp;
00381 
00382 #define YY_NUM_RULES 74
00383 #define YY_END_OF_BUFFER 75
00384 /* This struct is not used in this scanner,
00385    but its presence is necessary. */
00386 struct yy_trans_info
00387         {
00388         flex_int32_t yy_verify;
00389         flex_int32_t yy_nxt;
00390         };
00391 static yyconst flex_int16_t yy_acclist[588] =
00392     {   0,
00393        10,   10,   10,   10,    9,   10,    9,   10,   10,   10,
00394      8193,16385,   75,   73,   74,   10,   73,   74,   74,   72,
00395        73,   74,   72,   73,   74,   73,   74,   73,   74,   73,
00396        74,   73,   74,   73,   74,   73,   74,   73,   74,   73,
00397        74,   73,   74,   73,   74,   73,   74,   73,   74,   73,
00398        74,   73,   74,   73,   74,   73,   74,   73,   74,   73,
00399        74,   73,   74,   73,   74,   73,   74,   73,   74,    7,
00400        73,   74,    7,   10,   73,   74,    7,   73,   74,    7,
00401        72,   73,   74,    7,   72,   73,   74,    7,   73,   74,
00402         7,   73,   74,    7,   73,   74,    7,   73,   74,    7,
00403 
00404        73,   74,    7,   73,   74,    7,   73,   74,    7,   73,
00405        74,    7,   73,   74,    7,   73,   74,    7,   73,   74,
00406         7,   73,   74,    7,   73,   74,    7,   73,   74,    7,
00407        73,   74,    7,   73,   74,    7,   73,   74,    7,   73,
00408        74,    7,   73,   74,    7,   73,   74,    7,   73,   74,
00409         7,   73,   74,    9,   10,   73,   74,    8,   74,    8,
00410        73,   74,   73,   74,   12,   74,   12,   74, 8193,   74,
00411     16385, 8193,   74,   74,   10,   72,   68,   64,   54,   53,
00412        44,    7,    7,   10,    7,    7,   72,    7,    7,    7,
00413         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
00414 
00415         7,    7,    7,    7,    7,    7,    7,   68,    7,    7,
00416         7,    7,    7,    7,    7,    7,   64,    7,    7,   54,
00417         7,    7,    7,    7,    7,   53,    7,    7,    7,    7,
00418         7,    7,    7,    7,    7,    7,   44,    7,    7,    7,
00419         7,    9,   10, 8193,16385, 8193,   56,   55,   61,    5,
00420         7,    5,    7,    7,    7,    7,    7,    7,    7,    7,
00421         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
00422         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
00423         7,    7,    7,   56,    7,    7,    7,    7,    7,   55,
00424         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
00425 
00426         7,    7,    7,    7,    7,    7,   61,    6,   45,   13,
00427        14,   52,   17,   46,   58,   31,   39,    2,   29,   40,
00428         3,   60,    7,    7,    7,    7,    7,    7,    7,    7,
00429         7,    7,    7,   45,    7,    7,   13,    7,   14,    7,
00430         7,    7,    7,    7,    7,   52,    7,    7,    7,   17,
00431         7,    7,   46,    7,   58,    7,   31,    7,   39,    2,
00432         7,    7,   29,    7,    7,   40,    7,    7,    3,    7,
00433         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
00434         7,    7,   60,    7,    7,    7,   49,   65,   63,   38,
00435        47,   41,   71,    7,    7,    7,    7,    7,   49,    7,
00436 
00437        65,    7,    7,    7,    7,    7,    7,    7,   63,    7,
00438         7,   38,    7,    7,    7,    7,    7,    7,    7,    7,
00439         7,    7,    7,    7,    7,   47,    7,    7,   41,    7,
00440         7,    7,    7,   71,    7,    7,    7,    7,   30,   27,
00441        19,   69,   59,   21,   22,   28,   37,   48,   15,   50,
00442        51,   26,   32,   34,   18,    7,   30,    7,    7,    7,
00443        27,    7,   19,    7,   69,    7,    7,    7,    7,   59,
00444         7,    7,    7,   21,    7,    7,    7,   22,    7,    7,
00445        28,    7,   37,    7,   48,    7,   15,    7,   50,    7,
00446         7,   51,    7,    7,    7,   26,    7,   32,    7,   34,
00447 
00448         7,    7,   18,    7,   23,   62,   16,   24,    7,    7,
00449         7,    7,   23,    7,   62,    7,    7,    7,    7,    7,
00450         7,   16,    7,   24,    7,    7,    7,    7,   70,   33,
00451        66,   25,   43,    7,    7,    7,   70,    7,   33,    7,
00452         7,    7,   66,    7,    7,   25,    7,   43,    7,    7,
00453        36,    7,    7,    7,    7,    7,    7,    7,   36,   20,
00454        42,    7,    7,    7,   20,    7,   42,    7,    7,   35,
00455        67,    7,    7,    7,   35,    7,   67,    7,    7,   57,
00456         7,   57,    7,    4,    4,    7,   11
00457     } ;
00458 
00459 static yyconst flex_int16_t yy_accept[650] =
00460     {   0,
00461         1,    2,    3,    4,    5,    7,    9,   10,   11,   11,
00462        11,   11,   13,   14,   16,   19,   20,   23,   26,   28,
00463        30,   32,   34,   36,   38,   40,   42,   44,   46,   48,
00464        50,   52,   54,   56,   58,   60,   62,   64,   66,   68,
00465        70,   73,   77,   80,   84,   88,   91,   94,   97,  100,
00466       103,  106,  109,  112,  115,  118,  121,  124,  127,  130,
00467       133,  136,  139,  142,  145,  148,  151,  154,  158,  160,
00468       163,  165,  167,  169,  172,  174,  175,  176,  177,  177,
00469       177,  177,  177,  177,  177,  177,  177,  177,  177,  177,
00470       177,  177,  177,  177,  177,  177,  177,  177,  178,  178,
00471 
00472       178,  178,  178,  178,  178,  178,  179,  179,  180,  180,
00473       180,  180,  180,  181,  181,  181,  181,  181,  181,  181,
00474       181,  181,  181,  182,  182,  182,  182,  182,  183,  185,
00475       186,  186,  188,  189,  190,  191,  192,  193,  194,  195,
00476       196,  197,  198,  199,  200,  201,  202,  203,  204,  205,
00477       206,  207,  209,  210,  211,  212,  213,  214,  215,  216,
00478       218,  219,  221,  222,  223,  224,  225,  227,  228,  229,
00479       230,  231,  232,  233,  234,  235,  236,  238,  239,  240,
00480       241,  242,  244,  244,  244,  246,  247,  247,  247,  247,
00481       247,  247,  247,  247,  247,  247,  247,  247,  247,  247,
00482 
00483       247,  247,  247,  247,  247,  247,  247,  247,  247,  247,
00484       247,  247,  247,  247,  247,  247,  247,  247,  248,  248,
00485       248,  248,  248,  249,  249,  249,  249,  249,  249,  249,
00486       249,  249,  249,  249,  249,  249,  249,  249,  249,  250,
00487       252,  253,  254,  255,  256,  257,  258,  259,  260,  261,
00488       262,  263,  264,  265,  266,  267,  268,  269,  270,  271,
00489       272,  273,  274,  275,  276,  277,  278,  279,  280,  281,
00490       282,  283,  285,  286,  287,  288,  289,  291,  292,  293,
00491       294,  295,  296,  297,  298,  299,  300,  301,  302,  303,
00492       304,  305,  306,  308,  309,  309,  309,  309,  309,  309,
00493 
00494       309,  309,  309,  309,  309,  309,  310,  310,  311,  312,
00495       312,  312,  312,  312,  312,  313,  313,  313,  314,  314,
00496       315,  316,  317,  318,  319,  320,  320,  321,  321,  321,
00497       322,  322,  322,  322,  322,  322,  322,  322,  322,  322,
00498       322,  322,  323,  323,  323,  323,  324,  325,  326,  327,
00499       328,  329,  330,  331,  332,  333,  335,  336,  338,  340,
00500       341,  342,  343,  344,  345,  347,  348,  349,  351,  352,
00501       354,  356,  358,  360,  362,  364,  365,  367,  368,  369,
00502       371,  372,  373,  374,  375,  376,  377,  378,  379,  380,
00503       381,  382,  384,  385,  386,  387,  387,  387,  387,  387,
00504 
00505       387,  388,  389,  389,  389,  389,  389,  389,  389,  390,
00506       390,  391,  391,  391,  391,  391,  391,  391,  391,  391,
00507       391,  391,  391,  391,  392,  392,  393,  393,  393,  393,
00508       394,  394,  394,  394,  394,  395,  396,  397,  398,  400,
00509       402,  403,  404,  405,  406,  407,  408,  410,  411,  413,
00510       414,  415,  416,  417,  418,  419,  420,  421,  422,  423,
00511       424,  425,  427,  428,  430,  431,  432,  433,  435,  436,
00512       437,  438,  439,  439,  440,  440,  440,  441,  442,  443,
00513       443,  443,  443,  444,  444,  444,  445,  445,  445,  446,
00514       446,  447,  448,  449,  450,  451,  451,  452,  452,  452,
00515 
00516       453,  454,  455,  455,  456,  456,  458,  459,  460,  462,
00517       464,  466,  467,  468,  469,  471,  472,  473,  475,  476,
00518       477,  479,  480,  482,  484,  486,  488,  490,  491,  493,
00519       494,  495,  497,  499,  501,  502,  504,  505,  505,  505,
00520       505,  505,  506,  507,  507,  507,  507,  507,  507,  508,
00521       509,  509,  509,  509,  509,  510,  511,  512,  514,  516,
00522       517,  518,  519,  520,  521,  523,  525,  526,  527,  528,
00523       529,  529,  529,  529,  530,  531,  531,  531,  532,  532,
00524       533,  534,  534,  534,  535,  536,  538,  540,  541,  542,
00525       544,  545,  547,  549,  550,  551,  551,  551,  551,  551,
00526 
00527       551,  551,  551,  552,  553,  554,  555,  556,  557,  558,
00528       560,  560,  560,  560,  561,  562,  562,  562,  563,  564,
00529       566,  568,  569,  570,  570,  570,  570,  571,  572,  573,
00530       574,  576,  578,  578,  578,  578,  579,  580,  580,  581,
00531       581,  583,  584,  584,  585,  587,  587,  588,  588
00532     } ;
00533 
00534 static yyconst flex_int32_t yy_ec[256] =
00535     {   0,
00536         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
00537         1,    1,    4,    1,    1,    1,    1,    1,    1,    1,
00538         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00539         1,    2,    1,    5,    1,    1,    1,    1,    1,    1,
00540         1,    1,    1,    1,    6,    1,    1,    7,    8,    7,
00541         7,    7,    7,    7,    7,    7,    7,    1,    9,    1,
00542         1,    1,    1,    1,   10,   11,   12,   13,   14,   15,
00543        16,   17,   18,    1,   19,   20,   21,   22,   23,   24,
00544         1,   25,   26,   27,   28,   29,   30,   31,   32,   33,
00545         1,    1,    1,    1,   34,    1,   35,   36,   37,   38,
00546 
00547        39,   40,   41,   42,   43,    1,   44,   45,   46,   47,
00548        48,   49,    1,   50,   51,   52,   53,   54,   55,   56,
00549        57,   58,    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,    1,    1,    1,    1,
00555         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00556         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00557 
00558         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00559         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00560         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00561         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00562         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00563         1,    1,    1,    1,    1
00564     } ;
00565 
00566 static yyconst flex_int32_t yy_meta[59] =
00567     {   0,
00568         1,    1,    2,    1,    3,    1,    1,    1,    2,    1,
00569         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00570         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00571         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00572         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00573         1,    1,    1,    1,    1,    1,    1,    1
00574     } ;
00575 
00576 static yyconst flex_int16_t yy_base[657] =
00577     {   0,
00578         0,    0,   58,    0,  115,  117, 1245, 1242,  119,  124,
00579         0,  125, 1246, 1286, 1243, 1286,  124,  126,   97,  113,
00580       118,  126,  120,  158,  127,  114,  132,  121,  145,  148,
00581       159,  163,  184,  171,  175,  212,  171,  186,  200,  187,
00582         0, 1242,  233,  149,  197,  204,  221,  234,  227,  227,
00583       257,  239,  238,  250,  247,  277,  258,  280,  271,  298,
00584       293,  310,  320,  249,  286,  308,  300, 1241, 1286, 1286,
00585         0, 1286, 1236,  314, 1286, 1238, 1237,  333,  317,  318,
00586       332,  321,  331,  340,  331,  342,  335,  334,  355,  358,
00587       346,  350,  365,  359,  357,  358,  359, 1286,  359,  367,
00588 
00589       356,  377,  368,  382,  363,  399,  386, 1286,  376,  382,
00590       381,  400, 1286,  396,  399,  401,  407,  419,  419,  411,
00591       418,  407, 1286,  412,  420,  418,  418,    0, 1236,  461,
00592       440,  450,  432,  429,  449,  440,  453,  462,  451,  459,
00593       450,  447,  469,  467,  462,  460,  472,  467,  465,  466,
00594       466,    0,  466,  473,  462,  480,  475,  498,  472,  499,
00595       501,    0,  495,  501,  502,  516,    0,  511,  516,  508,
00596       514,  525,  527,  523,  523,  513,    0,  517,  522,  520,
00597       527,  397,  391,  539,  568, 1286,  312,  534,  559,  555,
00598       563,  557,  553,  566,  279,  571,  572,  561,  573,  573,
00599 
00600       560,  562,  579,  563,  572,  582,  564,  577,  569,  577,
00601       577,  576,  592,  601,  609,  597,  612, 1286,  606,  607,
00602       606,  617, 1286,  603,  610,  616,  618,  619,  620,  627,
00603       630,  624,  624,  629,  632,  620,  637,  634, 1286,    0,
00604      1286,  630,  651,  654,  661,  656,  651,  665,  275,  670,
00605       671,  660,  672,  672,  658,  661,  678,  661,  671,  681,
00606       663,  676,  668,  676,  674,  673,  684,  697,  701,  696,
00607       710,    0,  705,  705,  705,  716,    0,  702,  709,  715,
00608       717,  717,  719,  726,  728,  723,  723,  728,  731,  719,
00609       734,  731,    0, 1286,  730,  747,  743,  270,  759,  761,
00610 
00611       750,  755,  761,  752,  770, 1286,  763, 1286, 1286,  770,
00612       758,  761,  762,  779, 1286,  758,  782, 1286,  765, 1286,
00613      1286,  267, 1286, 1286, 1286,  784, 1286,  767,  774, 1286,
00614       787,  767,  793,  784,  793,  796,  805,  812,  805,  815,
00615       810, 1286,  813,  809,  807,  820,  813,  244,  823,  825,
00616       813,  819,  824,  815,  833,    0,  826,    0,    0,  833,
00617       823,  827,  835,  855,    0,  840,  864,    0,  848,    0,
00618         0,  237,    0,    0,    0,  867,    0,  851,  858,    0,
00619       871,  849,  873,  857,  863,  860,  869,  875,  869,  878,
00620       873,    0,  876,  872,  870,  246,  877,  887,  893,  886,
00621 
00622      1286, 1286,  888,  910,  914,  906,  907,  915, 1286,  912,
00623      1286,  919,  912,  910,  912,  908,  910,  918,  912,  914,
00624       929,  929,  919, 1286,  926, 1286,  932,  934,  937, 1286,
00625       947,  953,  943,  950,  956,  964,  969,  955,    0,    0,
00626       954,  969,  973,  964,  965,  973,    0,  970,    0,  977,
00627       971,  969,  971,  967,  968,  976,  970,  973,  990,  997,
00628       990,    0, 1004,    0, 1012, 1011, 1011,    0, 1015, 1019,
00629      1002, 1009, 1008, 1286,  205, 1013, 1286, 1286, 1286, 1012,
00630      1011, 1025, 1286, 1019, 1017, 1286, 1021, 1032, 1286, 1022,
00631      1286, 1286, 1286, 1286, 1286, 1019, 1286, 1034, 1028, 1286,
00632 
00633      1286, 1286, 1043,  198, 1051,    0,  195, 1043,    0,    0,
00634         0, 1048, 1047, 1062,    0, 1055, 1054,    0, 1058, 1069,
00635         0, 1059,    0,    0,    0,    0,    0, 1056,    0, 1071,
00636      1063,    0,    0,    0, 1077,  163, 1078, 1062, 1071, 1079,
00637      1074, 1286, 1286, 1078, 1081, 1069, 1083, 1084, 1286, 1286,
00638      1087, 1091, 1090, 1111, 1104, 1113, 1108,    0,    0, 1113,
00639      1116, 1104, 1118, 1117,    0,    0, 1118, 1115, 1112, 1126,
00640      1129, 1131,  156, 1286, 1286, 1128, 1133, 1286, 1128, 1286,
00641      1286, 1122, 1132, 1137,  119,    0,    0, 1136, 1143,    0,
00642      1145,    0,    0, 1142, 1159, 1149, 1144, 1162, 1157, 1160,
00643 
00644      1161, 1162, 1286, 1151, 1169, 1163, 1167, 1168, 1169,    0,
00645      1164, 1169, 1170, 1286, 1286, 1180, 1181, 1173, 1174,    0,
00646         0, 1186, 1189, 1183, 1187, 1198, 1286, 1286, 1196, 1201,
00647         0,    0, 1203, 1202, 1203, 1204, 1205,  137, 1286, 1216,
00648         0, 1217, 1217, 1286,    0, 1224, 1286, 1286, 1262, 1265,
00649      1268, 1271, 1274, 1277, 1279, 1282
00650     } ;
00651 
00652 static yyconst flex_int16_t yy_def[657] =
00653     {   0,
00654       648,    1,  648,    3,    1,    1,    1,    1,  649,  649,
00655       650,  651,  648,  648,  648,  648,  648,  648,  648,  648,
00656       648,  648,  648,  648,  648,  648,  648,  648,  648,  648,
00657       648,  648,  648,  648,  648,  648,  648,  648,  648,  648,
00658       652,  652,  653,  652,  652,  652,  652,  652,  652,  652,
00659       652,  652,  652,  652,  652,  652,  652,  652,  652,  652,
00660       652,  652,  652,  652,  652,  652,  652,  648,  648,  648,
00661       654,  648,  648,  655,  648,  648,  648,  648,  648,  648,
00662       648,  648,  648,  648,  648,  648,  648,  648,  648,  648,
00663       648,  648,  648,  648,  648,  648,  648,  648,  648,  648,
00664 
00665       648,  648,  648,  648,  648,  648,  648,  648,  648,  648,
00666       648,  648,  648,  648,  648,  648,  648,  648,  648,  648,
00667       648,  648,  648,  648,  648,  648,  648,  652,  652,  653,
00668       656,  652,  652,  652,  652,  652,  652,  652,  652,  652,
00669       652,  652,  652,  652,  652,  652,  652,  652,  652,  652,
00670       652,  652,  652,  652,  652,  652,  652,  652,  652,  652,
00671       652,  652,  652,  652,  652,  652,  652,  652,  652,  652,
00672       652,  652,  652,  652,  652,  652,  652,  652,  652,  652,
00673       652,  648,  654,  648,  655,  648,  648,  648,  648,  648,
00674       648,  648,  648,  648,  648,  648,  648,  648,  648,  648,
00675 
00676       648,  648,  648,  648,  648,  648,  648,  648,  648,  648,
00677       648,  648,  648,  648,  648,  648,  648,  648,  648,  648,
00678       648,  648,  648,  648,  648,  648,  648,  648,  648,  648,
00679       648,  648,  648,  648,  648,  648,  648,  648,  648,  652,
00680       648,  652,  652,  652,  652,  652,  652,  652,  652,  652,
00681       652,  652,  652,  652,  652,  652,  652,  652,  652,  652,
00682       652,  652,  652,  652,  652,  652,  652,  652,  652,  652,
00683       652,  652,  652,  652,  652,  652,  652,  652,  652,  652,
00684       652,  652,  652,  652,  652,  652,  652,  652,  652,  652,
00685       652,  652,  652,  648,  648,  648,  648,  648,  648,  648,
00686 
00687       648,  648,  648,  648,  648,  648,  648,  648,  648,  648,
00688       648,  648,  648,  648,  648,  648,  648,  648,  648,  648,
00689       648,  648,  648,  648,  648,  648,  648,  648,  648,  648,
00690       648,  648,  648,  648,  648,  648,  648,  648,  648,  648,
00691       648,  648,  648,  648,  648,  652,  652,  652,  652,  652,
00692       652,  652,  652,  652,  652,  652,  652,  652,  652,  652,
00693       652,  652,  652,  652,  652,  652,  652,  652,  652,  652,
00694       652,  652,  652,  652,  652,  652,  652,  652,  652,  652,
00695       652,  652,  652,  652,  652,  652,  652,  652,  652,  652,
00696       652,  652,  652,  652,  652,  648,  648,  648,  648,  648,
00697 
00698       648,  648,  648,  648,  648,  648,  648,  648,  648,  648,
00699       648,  648,  648,  648,  648,  648,  648,  648,  648,  648,
00700       648,  648,  648,  648,  648,  648,  648,  648,  648,  648,
00701       648,  648,  648,  648,  652,  652,  652,  652,  652,  652,
00702       652,  652,  652,  652,  652,  652,  652,  652,  652,  652,
00703       652,  652,  652,  652,  652,  652,  652,  652,  652,  652,
00704       652,  652,  652,  652,  652,  652,  652,  652,  652,  652,
00705       652,  652,  648,  648,  648,  648,  648,  648,  648,  648,
00706       648,  648,  648,  648,  648,  648,  648,  648,  648,  648,
00707       648,  648,  648,  648,  648,  648,  648,  648,  648,  648,
00708 
00709       648,  648,  648,  648,  648,  652,  652,  652,  652,  652,
00710       652,  652,  652,  652,  652,  652,  652,  652,  652,  652,
00711       652,  652,  652,  652,  652,  652,  652,  652,  652,  652,
00712       652,  652,  652,  652,  652,  652,  652,  648,  648,  648,
00713       648,  648,  648,  648,  648,  648,  648,  648,  648,  648,
00714       648,  648,  648,  648,  652,  652,  652,  652,  652,  652,
00715       652,  652,  652,  652,  652,  652,  652,  652,  652,  652,
00716       648,  648,  648,  648,  648,  648,  648,  648,  648,  648,
00717       648,  648,  648,  652,  652,  652,  652,  652,  652,  652,
00718       652,  652,  652,  652,  652,  648,  648,  648,  648,  648,
00719 
00720       648,  648,  648,  652,  652,  652,  652,  652,  652,  652,
00721       648,  648,  648,  648,  648,  648,  648,  652,  652,  652,
00722       652,  652,  652,  648,  648,  648,  648,  648,  652,  652,
00723       652,  652,  648,  648,  648,  652,  652,  648,  648,  648,
00724       652,  652,  648,  648,  652,  648,  648,    0,  648,  648,
00725       648,  648,  648,  648,  648,  648
00726     } ;
00727 
00728 static yyconst flex_int16_t yy_nxt[1345] =
00729     {   0,
00730        14,   15,   16,   14,   14,   14,   17,   18,   14,   19,
00731        20,   21,   22,   23,   24,   25,   26,   27,   28,   29,
00732        30,   31,   32,   33,   34,   35,   36,   37,   38,   39,
00733        14,   40,   14,   14,   19,   20,   21,   22,   23,   24,
00734        25,   26,   27,   28,   29,   30,   31,   32,   33,   34,
00735        35,   36,   37,   38,   39,   14,   40,   14,   41,   42,
00736        16,   41,   43,   41,   44,   45,   14,   46,   47,   48,
00737        49,   50,   51,   52,   53,   54,   55,   56,   57,   58,
00738        59,   60,   61,   62,   63,   64,   65,   66,   41,   67,
00739        41,   41,   46,   47,   48,   49,   50,   51,   52,   53,
00740 
00741        54,   55,   56,   57,   58,   59,   60,   61,   62,   63,
00742        64,   65,   66,   41,   67,   41,   68,   69,   68,   69,
00743        80,   16,   81,   70,   73,   70,   16,   75,   76,   73,
00744        78,   78,   78,   78,   83,   82,   97,   84,  100,   86,
00745        85,   89,  643,   87,   98,   80,   95,   81,   88,   79,
00746        90,   96,  605,   99,  101,  132,  132,  103,  102,   83,
00747        82,   97,   84,  100,   86,   85,   89,   91,   87,   98,
00748       104,   95,  105,   88,   79,   90,   96,   92,   99,  101,
00749        93,  106,  103,  102,  114,   94,  107,  108,  115,  598,
00750       109,  116,   91,  110,  123,  104,  569,  105,  117,  124,
00751 
00752       127,  118,   92,  132,  132,   93,  106,  111,  112,  114,
00753        94,  107,  108,  115,  113,  109,  116,  125,  110,  123,
00754       133,  119,  126,  117,  124,  127,  118,  134,  555,  120,
00755       135,  553,  111,  112,  121,  131,  122,  128,  539,  113,
00756       140,  131,  125,  136,  141,  133,  119,  126,  143,  142,
00757       137,  473,  134,  138,  120,  135,  139,  144,  149,  121,
00758       151,  122,  152,  150,  154,  140,  145,  157,  136,  141,
00759       455,  153,  177,  143,  142,  137,  146,  437,  138,  147,
00760       158,  139,  144,  149,  148,  151,  155,  152,  150,  154,
00761       156,  145,  157,  159,  161,  162,  153,  177,  163,  178,
00762 
00763       417,  146,  160,  399,  147,  158,  168,  164,  353,  148,
00764       169,  155,  303,  181,  186,  156,  186,  187,  159,  161,
00765       162,  165,  166,  163,  178,  179,  170,  160,  167,  173,
00766       180,  168,  164,  171,  188,  169,  172,  174,  181,   78,
00767        78,  189,  175,  190,  176,  191,  165,  166,  192,  193,
00768       179,  170,  195,  167,  173,  180,  196,  194,  171,  188,
00769       197,  172,  174,  198,  199,  202,  189,  175,  190,  176,
00770       191,  200,  203,  192,  193,  201,  204,  195,  205,  206,
00771       207,  196,  194,  208,  209,  197,  210,  211,  198,  199,
00772       202,  212,  213,  216,  214,  294,  200,  203,  182,  220,
00773 
00774       201,  204,  221,  205,  206,  207,  222,  223,  208,  209,
00775       215,  210,  211,  224,  227,  225,  212,  213,  216,  214,
00776       217,  226,  218,  219,  220,  228,  229,  221,  230,  231,
00777       232,  222,  223,  234,  235,  215,  236,  233,  224,  227,
00778       225,  237,  238,  239,  241,  217,  226,  218,  219,  242,
00779       228,  229,  243,  230,  231,  232,  132,  132,  234,  235,
00780       244,  236,  233,  131,  245,  240,  237,  238,  239,  131,
00781       246,  247,  249,  250,  242,  251,  252,  243,  253,  248,
00782       254,  256,  257,  258,  255,  244,  259,  260,  261,  245,
00783       262,  263,  264,  265,  266,  246,  247,  249,  250,  267,
00784 
00785       251,  252,  270,  253,  248,  254,  256,  257,  258,  255,
00786       268,  259,  260,  261,  274,  262,  263,  264,  265,  266,
00787       271,  275,  272,  273,  267,  276,  269,  270,  277,  278,
00788       279,  281,  282,  283,  284,  268,  280,  285,  288,  274,
00789       289,  290,  286,  291,  292,  271,  275,  272,  273,  287,
00790       276,  269,  293,  277,  278,  279,  281,  282,  283,  284,
00791       295,  280,  285,  288,  296,  289,  290,  286,  291,  292,
00792       186,  187,  297,  298,  287,  299,  300,  293,  301,  302,
00793       304,  305,  306,  307,  308,  295,  309,  310,  311,  296,
00794       312,  313,  314,  315,  316,  317,  318,  297,  298,  319,
00795 
00796       299,  300,  320,  301,  302,  304,  305,  306,  307,  308,
00797       321,  309,  310,  311,  322,  312,  313,  314,  315,  316,
00798       317,  318,  323,  324,  319,  325,  326,  320,  327,  328,
00799       329,  330,  331,  332,  334,  321,  335,  336,  337,  322,
00800       338,  339,  333,  340,  341,  342,  343,  323,  324,  344,
00801       325,  326,  345,  327,  328,  329,  330,  331,  332,  334,
00802       346,  335,  336,  337,  347,  338,  339,  333,  340,  341,
00803       342,  343,  348,  349,  344,  350,  351,  345,  352,  354,
00804       355,  356,  357,  358,  359,  346,  360,  361,  362,  347,
00805       363,  364,  365,  366,  367,  368,  369,  348,  349,  370,
00806 
00807       350,  351,  371,  352,  354,  355,  356,  357,  358,  359,
00808       372,  360,  361,  362,  373,  363,  364,  365,  366,  367,
00809       368,  369,  374,  375,  370,  376,  377,  371,  378,  379,
00810       380,  381,  382,  384,  385,  372,  386,  387,  388,  373,
00811       389,  383,  390,  391,  392,  393,  394,  374,  375,  395,
00812       376,  377,  396,  378,  379,  380,  381,  382,  384,  385,
00813       397,  386,  387,  388,  398,  389,  383,  390,  391,  392,
00814       393,  394,  400,  401,  395,  402,  403,  396,  404,  406,
00815       407,  405,  408,  409,  410,  397,  411,  412,  413,  398,
00816       414,  415,  416,  418,  419,  420,  421,  400,  401,  422,
00817 
00818       402,  403,  423,  404,  406,  407,  405,  408,  409,  410,
00819       424,  411,  412,  413,  425,  414,  415,  416,  418,  419,
00820       420,  421,  426,  427,  422,  428,  429,  423,  430,  431,
00821       432,  433,  434,  435,  436,  424,  438,  439,  440,  425,
00822       441,  442,  444,  445,  443,  446,  447,  426,  427,  448,
00823       428,  429,  449,  430,  431,  432,  433,  434,  435,  436,
00824       450,  438,  439,  440,  451,  441,  442,  444,  445,  443,
00825       446,  447,  452,  453,  448,  454,  456,  449,  457,  458,
00826       459,  460,  461,  462,  463,  450,  464,  465,  466,  451,
00827       467,  468,  469,  470,  471,  472,  474,  452,  453,  475,
00828 
00829       454,  456,  476,  457,  458,  459,  460,  461,  462,  463,
00830       477,  464,  465,  466,  478,  467,  468,  469,  470,  471,
00831       472,  474,  479,  480,  475,  481,  482,  476,  483,  484,
00832       485,  486,  487,  488,  489,  477,  490,  491,  492,  478,
00833       493,  494,  495,  496,  497,  498,  500,  479,  480,  499,
00834       481,  482,  501,  483,  484,  485,  486,  487,  488,  489,
00835       502,  490,  491,  492,  503,  493,  494,  495,  496,  497,
00836       498,  500,  504,  505,  499,  506,  507,  501,  508,  509,
00837       510,  511,  512,  513,  514,  502,  515,  516,  517,  503,
00838       518,  519,  520,  521,  522,  523,  524,  504,  505,  525,
00839 
00840       506,  507,  526,  508,  509,  510,  511,  512,  513,  514,
00841       527,  515,  516,  517,  528,  518,  519,  520,  521,  522,
00842       523,  524,  529,  532,  525,  530,  533,  526,  534,  531,
00843       535,  536,  537,  538,  540,  527,  541,  542,  543,  528,
00844       544,  545,  546,  547,  548,  549,  550,  529,  532,  551,
00845       530,  533,  552,  534,  531,  535,  536,  537,  538,  540,
00846       554,  541,  542,  543,  556,  544,  545,  546,  547,  548,
00847       549,  550,  557,  558,  551,  559,  560,  552,  561,  562,
00848       563,  564,  565,  566,  567,  554,  568,  570,  571,  556,
00849       572,  573,  574,  575,  576,  577,  578,  557,  558,  579,
00850 
00851       559,  560,  580,  561,  562,  563,  564,  565,  566,  567,
00852       581,  568,  570,  571,  582,  572,  573,  574,  575,  576,
00853       577,  578,  583,  584,  579,  585,  586,  580,  587,  588,
00854       589,  590,  591,  592,  593,  581,  594,  595,  596,  582,
00855       597,  599,  600,  601,  602,  603,  604,  583,  584,  606,
00856       585,  586,  607,  587,  588,  589,  590,  591,  592,  593,
00857       608,  594,  595,  596,  609,  597,  599,  600,  601,  602,
00858       603,  604,  610,  611,  606,  612,  613,  607,  614,  615,
00859       616,  617,  618,  619,  620,  608,  621,  622,  623,  609,
00860       624,  625,  626,  627,  628,  629,  630,  610,  611,  631,
00861 
00862       612,  613,  632,  614,  615,  616,  617,  618,  619,  620,
00863       633,  621,  622,  623,  634,  624,  625,  626,  627,  628,
00864       629,  630,  635,  636,  631,  637,  638,  632,  639,  640,
00865       641,  642,  644,  645,  646,  633,  647,  129,   77,  634,
00866       186,  184,  182,  129,   77,  648,   71,  635,  636,   71,
00867       637,  638,  648,  639,  640,  641,  642,  644,  645,  646,
00868       648,  647,   72,   72,   72,   16,   16,   16,   74,   74,
00869        74,  128,  648,  128,  130,  130,  130,  183,  183,  185,
00870       185,  185,  131,  131,  131,   13,  648,  648,  648,  648,
00871       648,  648,  648,  648,  648,  648,  648,  648,  648,  648,
00872 
00873       648,  648,  648,  648,  648,  648,  648,  648,  648,  648,
00874       648,  648,  648,  648,  648,  648,  648,  648,  648,  648,
00875       648,  648,  648,  648,  648,  648,  648,  648,  648,  648,
00876       648,  648,  648,  648,  648,  648,  648,  648,  648,  648,
00877       648,  648,  648,  648
00878     } ;
00879 
00880 static yyconst flex_int16_t yy_chk[1345] =
00881     {   0,
00882         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00883         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00884         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00885         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00886         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
00887         1,    1,    1,    1,    1,    1,    1,    1,    3,    3,
00888         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
00889         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
00890         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
00891         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
00892 
00893         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
00894         3,    3,    3,    3,    3,    3,    5,    5,    6,    6,
00895        19,    9,   20,    5,    9,    6,   10,   12,   12,   10,
00896        17,   17,   18,   18,   21,   20,   26,   21,   28,   22,
00897        21,   23,  638,   22,   27,   19,   25,   20,   22,   18,
00898        23,   25,  585,   27,   29,   44,   44,   30,   29,   21,
00899        20,   26,   21,   28,   22,   21,   23,   24,   22,   27,
00900        30,   25,   31,   22,   18,   23,   25,   24,   27,   29,
00901        24,   31,   30,   29,   34,   24,   32,   32,   34,  573,
00902        32,   35,   24,   33,   37,   30,  536,   31,   35,   38,
00903 
00904        40,   35,   24,   45,   45,   24,   31,   33,   33,   34,
00905        24,   32,   32,   34,   33,   32,   35,   39,   33,   37,
00906        45,   36,   39,   35,   38,   40,   35,   46,  507,   36,
00907        47,  504,   33,   33,   36,   43,   36,   43,  475,   33,
00908        49,   43,   39,   47,   49,   45,   36,   39,   50,   49,
00909        48,  396,   46,   48,   36,   47,   48,   50,   52,   36,
00910        53,   36,   54,   52,   55,   49,   51,   57,   47,   49,
00911       372,   54,   64,   50,   49,   48,   51,  348,   48,   51,
00912        57,   48,   50,   52,   51,   53,   56,   54,   52,   55,
00913        56,   51,   57,   58,   59,   59,   54,   64,   59,   65,
00914 
00915       322,   51,   58,  298,   51,   57,   61,   60,  249,   51,
00916        61,   56,  195,   67,  187,   56,   74,   74,   58,   59,
00917        59,   60,   60,   59,   65,   66,   62,   58,   60,   63,
00918        66,   61,   60,   62,   79,   61,   62,   63,   67,   78,
00919        78,   80,   63,   81,   63,   82,   60,   60,   83,   84,
00920        66,   62,   85,   60,   63,   66,   86,   84,   62,   79,
00921        87,   62,   63,   88,   89,   91,   80,   63,   81,   63,
00922        82,   90,   92,   83,   84,   90,   93,   85,   94,   95,
00923        96,   86,   84,   97,   99,   87,  100,  101,   88,   89,
00924        91,  102,  103,  105,  104,  183,   90,   92,  182,  107,
00925 
00926        90,   93,  109,   94,   95,   96,  110,  111,   97,   99,
00927       104,  100,  101,  112,  115,  114,  102,  103,  105,  104,
00928       106,  114,  106,  106,  107,  116,  117,  109,  118,  119,
00929       120,  110,  111,  121,  122,  104,  124,  120,  112,  115,
00930       114,  125,  126,  127,  131,  106,  114,  106,  106,  133,
00931       116,  117,  134,  118,  119,  120,  132,  132,  121,  122,
00932       135,  124,  120,  130,  136,  130,  125,  126,  127,  130,
00933       137,  138,  139,  140,  133,  141,  142,  134,  143,  138,
00934       144,  145,  146,  147,  144,  135,  148,  149,  150,  136,
00935       151,  153,  154,  155,  156,  137,  138,  139,  140,  157,
00936 
00937       141,  142,  159,  143,  138,  144,  145,  146,  147,  144,
00938       158,  148,  149,  150,  161,  151,  153,  154,  155,  156,
00939       160,  163,  160,  160,  157,  164,  158,  159,  165,  166,
00940       168,  169,  170,  171,  172,  158,  168,  173,  175,  161,
00941       176,  178,  174,  179,  180,  160,  163,  160,  160,  174,
00942       164,  158,  181,  165,  166,  168,  169,  170,  171,  172,
00943       184,  168,  173,  175,  188,  176,  178,  174,  179,  180,
00944       185,  185,  189,  190,  174,  191,  192,  181,  193,  194,
00945       196,  197,  198,  199,  200,  184,  201,  202,  203,  188,
00946       204,  205,  206,  207,  208,  209,  210,  189,  190,  211,
00947 
00948       191,  192,  212,  193,  194,  196,  197,  198,  199,  200,
00949       213,  201,  202,  203,  214,  204,  205,  206,  207,  208,
00950       209,  210,  215,  216,  211,  217,  219,  212,  220,  221,
00951       222,  224,  225,  226,  227,  213,  228,  229,  230,  214,
00952       231,  232,  226,  233,  234,  235,  236,  215,  216,  237,
00953       217,  219,  238,  220,  221,  222,  224,  225,  226,  227,
00954       242,  228,  229,  230,  243,  231,  232,  226,  233,  234,
00955       235,  236,  244,  245,  237,  246,  247,  238,  248,  250,
00956       251,  252,  253,  254,  255,  242,  256,  257,  258,  243,
00957       259,  260,  261,  262,  263,  264,  265,  244,  245,  266,
00958 
00959       246,  247,  267,  248,  250,  251,  252,  253,  254,  255,
00960       268,  256,  257,  258,  269,  259,  260,  261,  262,  263,
00961       264,  265,  270,  271,  266,  273,  274,  267,  275,  276,
00962       278,  279,  280,  281,  282,  268,  283,  284,  285,  269,
00963       286,  280,  287,  288,  289,  290,  291,  270,  271,  292,
00964       273,  274,  295,  275,  276,  278,  279,  280,  281,  282,
00965       296,  283,  284,  285,  297,  286,  280,  287,  288,  289,
00966       290,  291,  299,  300,  292,  301,  302,  295,  303,  304,
00967       305,  303,  307,  310,  311,  296,  312,  313,  314,  297,
00968       316,  317,  319,  326,  328,  329,  331,  299,  300,  332,
00969 
00970       301,  302,  333,  303,  304,  305,  303,  307,  310,  311,
00971       334,  312,  313,  314,  335,  316,  317,  319,  326,  328,
00972       329,  331,  336,  337,  332,  338,  339,  333,  340,  341,
00973       343,  344,  345,  346,  347,  334,  349,  350,  351,  335,
00974       352,  353,  354,  355,  353,  357,  360,  336,  337,  361,
00975       338,  339,  362,  340,  341,  343,  344,  345,  346,  347,
00976       363,  349,  350,  351,  364,  352,  353,  354,  355,  353,
00977       357,  360,  366,  367,  361,  369,  376,  362,  378,  379,
00978       381,  382,  383,  384,  385,  363,  386,  387,  388,  364,
00979       389,  390,  391,  393,  394,  395,  397,  366,  367,  398,
00980 
00981       369,  376,  399,  378,  379,  381,  382,  383,  384,  385,
00982       400,  386,  387,  388,  403,  389,  390,  391,  393,  394,
00983       395,  397,  404,  405,  398,  406,  407,  399,  408,  410,
00984       412,  413,  414,  415,  416,  400,  417,  418,  419,  403,
00985       420,  421,  422,  423,  425,  427,  428,  404,  405,  427,
00986       406,  407,  429,  408,  410,  412,  413,  414,  415,  416,
00987       431,  417,  418,  419,  432,  420,  421,  422,  423,  425,
00988       427,  428,  433,  434,  427,  435,  436,  429,  437,  438,
00989       441,  442,  443,  444,  445,  431,  446,  448,  450,  432,
00990       451,  452,  453,  454,  455,  456,  457,  433,  434,  458,
00991 
00992       435,  436,  459,  437,  438,  441,  442,  443,  444,  445,
00993       460,  446,  448,  450,  461,  451,  452,  453,  454,  455,
00994       456,  457,  463,  466,  458,  465,  467,  459,  469,  465,
00995       470,  471,  472,  473,  476,  460,  480,  481,  482,  461,
00996       484,  485,  487,  488,  490,  496,  498,  463,  466,  499,
00997       465,  467,  503,  469,  465,  470,  471,  472,  473,  476,
00998       505,  480,  481,  482,  508,  484,  485,  487,  488,  490,
00999       496,  498,  512,  513,  499,  514,  516,  503,  517,  519,
01000       520,  522,  528,  530,  531,  505,  535,  537,  538,  508,
01001       539,  540,  541,  544,  545,  546,  547,  512,  513,  548,
01002 
01003       514,  516,  551,  517,  519,  520,  522,  528,  530,  531,
01004       552,  535,  537,  538,  553,  539,  540,  541,  544,  545,
01005       546,  547,  554,  555,  548,  556,  557,  551,  560,  561,
01006       562,  563,  564,  567,  568,  552,  569,  570,  571,  553,
01007       572,  576,  577,  579,  582,  583,  584,  554,  555,  588,
01008       556,  557,  589,  560,  561,  562,  563,  564,  567,  568,
01009       591,  569,  570,  571,  594,  572,  576,  577,  579,  582,
01010       583,  584,  595,  596,  588,  597,  598,  589,  599,  600,
01011       601,  602,  604,  605,  606,  591,  607,  608,  609,  594,
01012       611,  612,  613,  616,  617,  618,  619,  595,  596,  622,
01013 
01014       597,  598,  623,  599,  600,  601,  602,  604,  605,  606,
01015       624,  607,  608,  609,  625,  611,  612,  613,  616,  617,
01016       618,  619,  626,  629,  622,  630,  633,  623,  634,  635,
01017       636,  637,  640,  642,  643,  624,  646,  129,   77,  625,
01018        76,   73,   68,   42,   15,   13,    8,  626,  629,    7,
01019       630,  633,    0,  634,  635,  636,  637,  640,  642,  643,
01020         0,  646,  649,  649,  649,  650,  650,  650,  651,  651,
01021       651,  652,    0,  652,  653,  653,  653,  654,  654,  655,
01022       655,  655,  656,  656,  656,  648,  648,  648,  648,  648,
01023       648,  648,  648,  648,  648,  648,  648,  648,  648,  648,
01024 
01025       648,  648,  648,  648,  648,  648,  648,  648,  648,  648,
01026       648,  648,  648,  648,  648,  648,  648,  648,  648,  648,
01027       648,  648,  648,  648,  648,  648,  648,  648,  648,  648,
01028       648,  648,  648,  648,  648,  648,  648,  648,  648,  648,
01029       648,  648,  648,  648
01030     } ;
01031 
01032 extern int cmdyy_flex_debug;
01033 int cmdyy_flex_debug = 0;
01034 
01035 static yy_state_type *yy_state_buf=0, *yy_state_ptr=0;
01036 static char *yy_full_match;
01037 static int yy_lp;
01038 static int yy_looking_for_trail_begin = 0;
01039 static int yy_full_lp;
01040 static int *yy_full_state;
01041 #define YY_TRAILING_MASK 0x2000
01042 #define YY_TRAILING_HEAD_MASK 0x4000
01043 #define REJECT \
01044 { \
01045 *yy_cp = (yy_hold_char); /* undo effects of setting up cmdyytext */ \
01046 yy_cp = (yy_full_match); /* restore poss. backed-over text */ \
01047 (yy_lp) = (yy_full_lp); /* restore orig. accepting pos. */ \
01048 (yy_state_ptr) = (yy_full_state); /* restore orig. state */ \
01049 yy_current_state = *(yy_state_ptr); /* restore curr. state */ \
01050 ++(yy_lp); \
01051 goto find_rule; \
01052 }
01053 
01054 #define yymore() yymore_used_but_not_detected
01055 #define YY_MORE_ADJ 0
01056 #define YY_RESTORE_YY_MORE_OFFSET
01057 char *cmdyytext;
01058 #line 1 "src/cmdparse.l"
01059 /*
01060  * vim:ts=4:sw=4:expandtab
01061  *
01062  * i3 - an improved dynamic tiling window manager
01063  * © 2009-2011 Michael Stapelberg and contributors (see also: LICENSE)
01064  *
01065  * cmdparse.l: the lexer for commands you send to i3 (or bind on keys)
01066  *
01067  */
01068 #define YY_NO_INPUT 1
01069 #line 16 "src/cmdparse.l"
01070 #include <stdio.h>
01071 #include <string.h>
01072 #include "cmdparse.tab.h"
01073 
01074 #include "config.h"
01075 #include "util.h"
01076 #include "libi3.h"
01077 
01078 int cmdyycolumn = 1;
01079 
01080 #define YY_DECL int cmdyylex (struct context *context)
01081 
01082 #define YY_USER_ACTION { \
01083     context->first_column = cmdyycolumn; \
01084     context->last_column = cmdyycolumn+cmdyyleng-1; \
01085     cmdyycolumn += cmdyyleng; \
01086 }
01087 
01088 /* macro to first eat whitespace, then expect a string */
01089 #define WS_STRING do { \
01090     yy_push_state(WANT_STRING); \
01091     yy_push_state(EAT_WHITESPACE); \
01092 } while (0)
01093 
01094 /* handle everything up to \n as a string */
01095 
01096 /* eat a whitespace, then go to the next state on the stack */
01097 
01098 /* handle a quoted string or everything up to the next whitespace */
01099 
01100 
01101 
01102 #line 1103 "src/cmdparse.yy.c"
01103 
01104 #define INITIAL 0
01105 #define WANT_STRING 1
01106 #define EAT_WHITESPACE 2
01107 #define WANT_QSTRING 3
01108 #define EXEC 4
01109 #define BUFFER_LINE 5
01110 
01111 #ifndef YY_NO_UNISTD_H
01112 /* Special case for "unistd.h", since it is non-ANSI. We include it way
01113  * down here because we want the user's section 1 to have been scanned first.
01114  * The user has a chance to override it with an option.
01115  */
01116 #include <unistd.h>
01117 #endif
01118 
01119 #ifndef YY_EXTRA_TYPE
01120 #define YY_EXTRA_TYPE void *
01121 #endif
01122 
01123 static int yy_init_globals (void );
01124 
01125 /* Accessor methods to globals.
01126    These are made visible to non-reentrant scanners for convenience. */
01127 
01128 int cmdyylex_destroy (void );
01129 
01130 int cmdyyget_debug (void );
01131 
01132 void cmdyyset_debug (int debug_flag  );
01133 
01134 YY_EXTRA_TYPE cmdyyget_extra (void );
01135 
01136 void cmdyyset_extra (YY_EXTRA_TYPE user_defined  );
01137 
01138 FILE *cmdyyget_in (void );
01139 
01140 void cmdyyset_in  (FILE * in_str  );
01141 
01142 FILE *cmdyyget_out (void );
01143 
01144 void cmdyyset_out  (FILE * out_str  );
01145 
01146 int cmdyyget_leng (void );
01147 
01148 char *cmdyyget_text (void );
01149 
01150 int cmdyyget_lineno (void );
01151 
01152 void cmdyyset_lineno (int line_number  );
01153 
01154 /* Macros after this point can all be overridden by user definitions in
01155  * section 1.
01156  */
01157 
01158 #ifndef YY_SKIP_YYWRAP
01159 #ifdef __cplusplus
01160 extern "C" int cmdyywrap (void );
01161 #else
01162 extern int cmdyywrap (void );
01163 #endif
01164 #endif
01165 
01166 #ifndef yytext_ptr
01167 static void yy_flex_strncpy (char *,yyconst char *,int );
01168 #endif
01169 
01170 #ifdef YY_NEED_STRLEN
01171 static int yy_flex_strlen (yyconst char * );
01172 #endif
01173 
01174 #ifndef YY_NO_INPUT
01175 
01176 #ifdef __cplusplus
01177 static int yyinput (void );
01178 #else
01179 static int input (void );
01180 #endif
01181 
01182 #endif
01183 
01184         static int yy_start_stack_ptr = 0;
01185         static int yy_start_stack_depth = 0;
01186         static int *yy_start_stack = NULL;
01187     
01188     static void yy_push_state (int new_state );
01189     
01190     static void yy_pop_state (void );
01191     
01192 /* Amount of stuff to slurp up with each read. */
01193 #ifndef YY_READ_BUF_SIZE
01194 #define YY_READ_BUF_SIZE 8192
01195 #endif
01196 
01197 /* Copy whatever the last rule matched to the standard output. */
01198 #ifndef ECHO
01199 /* This used to be an fputs(), but since the string might contain NUL's,
01200  * we now use fwrite().
01201  */
01202 #define ECHO do { if (fwrite( cmdyytext, cmdyyleng, 1, cmdyyout )) {} } while (0)
01203 #endif
01204 
01205 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
01206  * is returned in "result".
01207  */
01208 #ifndef YY_INPUT
01209 #define YY_INPUT(buf,result,max_size) \
01210         if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
01211                 { \
01212                 int c = '*'; \
01213                 unsigned n; \
01214                 for ( n = 0; n < max_size && \
01215                              (c = getc( cmdyyin )) != EOF && c != '\n'; ++n ) \
01216                         buf[n] = (char) c; \
01217                 if ( c == '\n' ) \
01218                         buf[n++] = (char) c; \
01219                 if ( c == EOF && ferror( cmdyyin ) ) \
01220                         YY_FATAL_ERROR( "input in flex scanner failed" ); \
01221                 result = n; \
01222                 } \
01223         else \
01224                 { \
01225                 errno=0; \
01226                 while ( (result = fread(buf, 1, max_size, cmdyyin))==0 && ferror(cmdyyin)) \
01227                         { \
01228                         if( errno != EINTR) \
01229                                 { \
01230                                 YY_FATAL_ERROR( "input in flex scanner failed" ); \
01231                                 break; \
01232                                 } \
01233                         errno=0; \
01234                         clearerr(cmdyyin); \
01235                         } \
01236                 }\
01237 \
01238 
01239 #endif
01240 
01241 /* No semi-colon after return; correct usage is to write "yyterminate();" -
01242  * we don't want an extra ';' after the "return" because that will cause
01243  * some compilers to complain about unreachable statements.
01244  */
01245 #ifndef yyterminate
01246 #define yyterminate() return YY_NULL
01247 #endif
01248 
01249 /* Number of entries by which start-condition stack grows. */
01250 #ifndef YY_START_STACK_INCR
01251 #define YY_START_STACK_INCR 25
01252 #endif
01253 
01254 /* Report a fatal error. */
01255 #ifndef YY_FATAL_ERROR
01256 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
01257 #endif
01258 
01259 /* end tables serialization structures and prototypes */
01260 
01261 /* Default declaration of generated scanner - a define so the user can
01262  * easily add parameters.
01263  */
01264 #ifndef YY_DECL
01265 #define YY_DECL_IS_OURS 1
01266 
01267 extern int cmdyylex (void);
01268 
01269 #define YY_DECL int cmdyylex (void)
01270 #endif /* !YY_DECL */
01271 
01272 /* Code executed at the beginning of each rule, after cmdyytext and cmdyyleng
01273  * have been set up.
01274  */
01275 #ifndef YY_USER_ACTION
01276 #define YY_USER_ACTION
01277 #endif
01278 
01279 /* Code executed at the end of each rule. */
01280 #ifndef YY_BREAK
01281 #define YY_BREAK break;
01282 #endif
01283 
01284 #define YY_RULE_SETUP \
01285         if ( cmdyyleng > 0 ) \
01286                 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
01287                                 (cmdyytext[cmdyyleng - 1] == '\n'); \
01288         YY_USER_ACTION
01289 
01292 YY_DECL
01293 {
01294         register yy_state_type yy_current_state;
01295         register char *yy_cp, *yy_bp;
01296         register int yy_act;
01297     
01298 #line 55 "src/cmdparse.l"
01299 
01300 
01301     {
01302         /* This is called when a new line is lexed. We only want the
01303          * first line to match to go into state BUFFER_LINE */
01304         if (context->line_number == 0) {
01305             context->line_number = 1;
01306             BEGIN(INITIAL);
01307             yy_push_state(BUFFER_LINE);
01308         }
01309     }
01310 
01311 #line 1312 "src/cmdparse.yy.c"
01312 
01313         if ( !(yy_init) )
01314                 {
01315                 (yy_init) = 1;
01316 
01317 #ifdef YY_USER_INIT
01318                 YY_USER_INIT;
01319 #endif
01320 
01321         /* Create the reject buffer large enough to save one state per allowed character. */
01322         if ( ! (yy_state_buf) )
01323             (yy_state_buf) = (yy_state_type *)cmdyyalloc(YY_STATE_BUF_SIZE  );
01324             if ( ! (yy_state_buf) )
01325                 YY_FATAL_ERROR( "out of dynamic memory in cmdyylex()" );
01326 
01327                 if ( ! (yy_start) )
01328                         (yy_start) = 1; /* first start state */
01329 
01330                 if ( ! cmdyyin )
01331                         cmdyyin = stdin;
01332 
01333                 if ( ! cmdyyout )
01334                         cmdyyout = stdout;
01335 
01336                 if ( ! YY_CURRENT_BUFFER ) {
01337                         cmdyyensure_buffer_stack ();
01338                         YY_CURRENT_BUFFER_LVALUE =
01339                                 cmdyy_create_buffer(cmdyyin,YY_BUF_SIZE );
01340                 }
01341 
01342                 cmdyy_load_buffer_state( );
01343                 }
01344 
01345         while ( 1 )             /* loops until end-of-file is reached */
01346                 {
01347                 yy_cp = (yy_c_buf_p);
01348 
01349                 /* Support of cmdyytext. */
01350                 *yy_cp = (yy_hold_char);
01351 
01352                 /* yy_bp points to the position in yy_ch_buf of the start of
01353                  * the current run.
01354                  */
01355                 yy_bp = yy_cp;
01356 
01357                 yy_current_state = (yy_start);
01358                 yy_current_state += YY_AT_BOL();
01359 
01360                 (yy_state_ptr) = (yy_state_buf);
01361                 *(yy_state_ptr)++ = yy_current_state;
01362 
01363 yy_match:
01364                 do
01365                         {
01366                         register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
01367                         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
01368                                 {
01369                                 yy_current_state = (int) yy_def[yy_current_state];
01370                                 if ( yy_current_state >= 649 )
01371                                         yy_c = yy_meta[(unsigned int) yy_c];
01372                                 }
01373                         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
01374                         *(yy_state_ptr)++ = yy_current_state;
01375                         ++yy_cp;
01376                         }
01377                 while ( yy_base[yy_current_state] != 1286 );
01378 
01379 yy_find_action:
01380                 yy_current_state = *--(yy_state_ptr);
01381                 (yy_lp) = yy_accept[yy_current_state];
01382 find_rule: /* we branch to this label when backing up */
01383                 for ( ; ; ) /* until we find what rule we matched */
01384                         {
01385                         if ( (yy_lp) && (yy_lp) < yy_accept[yy_current_state + 1] )
01386                                 {
01387                                 yy_act = yy_acclist[(yy_lp)];
01388                                 if ( yy_act & YY_TRAILING_HEAD_MASK ||
01389                                      (yy_looking_for_trail_begin) )
01390                                         {
01391                                         if ( yy_act == (yy_looking_for_trail_begin) )
01392                                                 {
01393                                                 (yy_looking_for_trail_begin) = 0;
01394                                                 yy_act &= ~YY_TRAILING_HEAD_MASK;
01395                                                 break;
01396                                                 }
01397                                         }
01398                                 else if ( yy_act & YY_TRAILING_MASK )
01399                                         {
01400                                         (yy_looking_for_trail_begin) = yy_act & ~YY_TRAILING_MASK;
01401                                         (yy_looking_for_trail_begin) |= YY_TRAILING_HEAD_MASK;
01402                                         }
01403                                 else
01404                                         {
01405                                         (yy_full_match) = yy_cp;
01406                                         (yy_full_state) = (yy_state_ptr);
01407                                         (yy_full_lp) = (yy_lp);
01408                                         break;
01409                                         }
01410                                 ++(yy_lp);
01411                                 goto find_rule;
01412                                 }
01413                         --yy_cp;
01414                         yy_current_state = *--(yy_state_ptr);
01415                         (yy_lp) = yy_accept[yy_current_state];
01416                         }
01417 
01418                 YY_DO_BEFORE_ACTION;
01419 
01420 do_action:      /* This label is used only to access EOF actions. */
01421 
01422                 switch ( yy_act )
01423         { /* beginning of action switch */
01424 case 1:
01425 /* rule 1 can match eol */
01426 YY_RULE_SETUP
01427 #line 67 "src/cmdparse.l"
01428 {
01429     /* save whole line */
01430     context->line_copy = sstrdup(cmdyytext);
01431 
01432     yyless(0);
01433     yy_pop_state();
01434     yy_set_bol(true);
01435     cmdyycolumn = 1;
01436 }
01437         YY_BREAK
01438 /* the next/prev/back_and_forth tokens are here to recognize them *before*
01439      * handling strings ('workspace' command) */
01440 case 2:
01441 YY_RULE_SETUP
01442 #line 79 "src/cmdparse.l"
01443 { BEGIN(INITIAL); return TOK_NEXT; }
01444         YY_BREAK
01445 case 3:
01446 YY_RULE_SETUP
01447 #line 80 "src/cmdparse.l"
01448 { BEGIN(INITIAL); return TOK_PREV; }
01449         YY_BREAK
01450 case 4:
01451 YY_RULE_SETUP
01452 #line 81 "src/cmdparse.l"
01453 { BEGIN(INITIAL); return TOK_BACK_AND_FORTH; }
01454         YY_BREAK
01455 case 5:
01456 /* rule 5 can match eol */
01457 YY_RULE_SETUP
01458 #line 83 "src/cmdparse.l"
01459 {
01460                                   BEGIN(INITIAL);
01461                                   /* strip quotes */
01462                                   char *copy = sstrdup(cmdyytext+1);
01463                                   copy[strlen(copy)-1] = '\0';
01464                                   cmdyylval.string = copy;
01465                                   return STR;
01466                                 }
01467         YY_BREAK
01468 case 6:
01469 /* rule 6 can match eol */
01470 YY_RULE_SETUP
01471 #line 91 "src/cmdparse.l"
01472 {
01473                                   BEGIN(INITIAL);
01474                                   /* strip quotes */
01475                                   char *copy = sstrdup(cmdyytext+1);
01476                                   copy[strlen(copy)-1] = '\0';
01477                                   cmdyylval.string = copy;
01478                                   return STR;
01479                                 }
01480         YY_BREAK
01481 case 7:
01482 YY_RULE_SETUP
01483 #line 100 "src/cmdparse.l"
01484 { BEGIN(INITIAL); cmdyylval.string = sstrdup(cmdyytext); return STR; }
01485         YY_BREAK
01486 case 8:
01487 /* rule 8 can match eol */
01488 YY_RULE_SETUP
01489 #line 102 "src/cmdparse.l"
01490 { BEGIN(INITIAL); return ';'; }
01491         YY_BREAK
01492 case 9:
01493 YY_RULE_SETUP
01494 #line 103 "src/cmdparse.l"
01495 { yy_pop_state(); }
01496         YY_BREAK
01497 case 10:
01498 YY_RULE_SETUP
01499 #line 105 "src/cmdparse.l"
01500 { /* ignore whitespace */ ; }
01501         YY_BREAK
01502 case 11:
01503 YY_RULE_SETUP
01504 #line 106 "src/cmdparse.l"
01505 { printf("no startup id\n"); yy_pop_state(); return TOK_NO_STARTUP_ID; }
01506         YY_BREAK
01507 case 12:
01508 YY_RULE_SETUP
01509 #line 107 "src/cmdparse.l"
01510 { printf("anything else: *%s*\n", cmdyytext); yyless(0); yy_pop_state(); yy_pop_state(); }
01511         YY_BREAK
01512 case 13:
01513 YY_RULE_SETUP
01514 #line 108 "src/cmdparse.l"
01515 { WS_STRING; yy_push_state(EXEC); yy_push_state(EAT_WHITESPACE); return TOK_EXEC; }
01516         YY_BREAK
01517 case 14:
01518 YY_RULE_SETUP
01519 #line 109 "src/cmdparse.l"
01520 { return TOK_EXIT; }
01521         YY_BREAK
01522 case 15:
01523 YY_RULE_SETUP
01524 #line 110 "src/cmdparse.l"
01525 { return TOK_RELOAD; }
01526         YY_BREAK
01527 case 16:
01528 YY_RULE_SETUP
01529 #line 111 "src/cmdparse.l"
01530 { return TOK_RESTART; }
01531         YY_BREAK
01532 case 17:
01533 YY_RULE_SETUP
01534 #line 112 "src/cmdparse.l"
01535 { return TOK_KILL; }
01536         YY_BREAK
01537 case 18:
01538 YY_RULE_SETUP
01539 #line 113 "src/cmdparse.l"
01540 { return TOK_WINDOW; }
01541         YY_BREAK
01542 case 19:
01543 YY_RULE_SETUP
01544 #line 114 "src/cmdparse.l"
01545 { return TOK_CLIENT; }
01546         YY_BREAK
01547 case 20:
01548 YY_RULE_SETUP
01549 #line 115 "src/cmdparse.l"
01550 { return TOK_FULLSCREEN; }
01551         YY_BREAK
01552 case 21:
01553 YY_RULE_SETUP
01554 #line 116 "src/cmdparse.l"
01555 { return TOK_GLOBAL; }
01556         YY_BREAK
01557 case 22:
01558 YY_RULE_SETUP
01559 #line 117 "src/cmdparse.l"
01560 { return TOK_LAYOUT; }
01561         YY_BREAK
01562 case 23:
01563 YY_RULE_SETUP
01564 #line 118 "src/cmdparse.l"
01565 { return TOK_DEFAULT; }
01566         YY_BREAK
01567 case 24:
01568 YY_RULE_SETUP
01569 #line 119 "src/cmdparse.l"
01570 { return TOK_STACKED; }
01571         YY_BREAK
01572 case 25:
01573 YY_RULE_SETUP
01574 #line 120 "src/cmdparse.l"
01575 { return TOK_STACKED; }
01576         YY_BREAK
01577 case 26:
01578 YY_RULE_SETUP
01579 #line 121 "src/cmdparse.l"
01580 { return TOK_TABBED; }
01581         YY_BREAK
01582 case 27:
01583 YY_RULE_SETUP
01584 #line 122 "src/cmdparse.l"
01585 { return TOK_BORDER; }
01586         YY_BREAK
01587 case 28:
01588 YY_RULE_SETUP
01589 #line 123 "src/cmdparse.l"
01590 { return TOK_NORMAL; }
01591         YY_BREAK
01592 case 29:
01593 YY_RULE_SETUP
01594 #line 124 "src/cmdparse.l"
01595 { return TOK_NONE; }
01596         YY_BREAK
01597 case 30:
01598 YY_RULE_SETUP
01599 #line 125 "src/cmdparse.l"
01600 { return TOK_1PIXEL; }
01601         YY_BREAK
01602 case 31:
01603 YY_RULE_SETUP
01604 #line 126 "src/cmdparse.l"
01605 { BEGIN(WANT_QSTRING); return TOK_MODE; }
01606         YY_BREAK
01607 case 32:
01608 YY_RULE_SETUP
01609 #line 127 "src/cmdparse.l"
01610 { return TOK_TILING; }
01611         YY_BREAK
01612 case 33:
01613 YY_RULE_SETUP
01614 #line 128 "src/cmdparse.l"
01615 { return TOK_FLOATING; }
01616         YY_BREAK
01617 case 34:
01618 YY_RULE_SETUP
01619 #line 129 "src/cmdparse.l"
01620 { return TOK_TOGGLE; }
01621         YY_BREAK
01622 case 35:
01623 YY_RULE_SETUP
01624 #line 130 "src/cmdparse.l"
01625 { return TOK_MODE_TOGGLE; }
01626         YY_BREAK
01627 case 36:
01628 YY_RULE_SETUP
01629 #line 131 "src/cmdparse.l"
01630 { WS_STRING; return TOK_WORKSPACE; }
01631         YY_BREAK
01632 case 37:
01633 YY_RULE_SETUP
01634 #line 132 "src/cmdparse.l"
01635 { WS_STRING; return TOK_OUTPUT; }
01636         YY_BREAK
01637 case 38:
01638 YY_RULE_SETUP
01639 #line 133 "src/cmdparse.l"
01640 { return TOK_FOCUS; }
01641         YY_BREAK
01642 case 39:
01643 YY_RULE_SETUP
01644 #line 134 "src/cmdparse.l"
01645 { return TOK_MOVE; }
01646         YY_BREAK
01647 case 40:
01648 YY_RULE_SETUP
01649 #line 135 "src/cmdparse.l"
01650 { return TOK_OPEN; }
01651         YY_BREAK
01652 case 41:
01653 YY_RULE_SETUP
01654 #line 136 "src/cmdparse.l"
01655 { return TOK_SPLIT; }
01656         YY_BREAK
01657 case 42:
01658 YY_RULE_SETUP
01659 #line 137 "src/cmdparse.l"
01660 { return TOK_HORIZONTAL; }
01661         YY_BREAK
01662 case 43:
01663 YY_RULE_SETUP
01664 #line 138 "src/cmdparse.l"
01665 { return TOK_VERTICAL; }
01666         YY_BREAK
01667 case 44:
01668 YY_RULE_SETUP
01669 #line 139 "src/cmdparse.l"
01670 { return TOK_UP; }
01671         YY_BREAK
01672 case 45:
01673 YY_RULE_SETUP
01674 #line 140 "src/cmdparse.l"
01675 { return TOK_DOWN; }
01676         YY_BREAK
01677 case 46:
01678 YY_RULE_SETUP
01679 #line 141 "src/cmdparse.l"
01680 { return TOK_LEFT; }
01681         YY_BREAK
01682 case 47:
01683 YY_RULE_SETUP
01684 #line 142 "src/cmdparse.l"
01685 { return TOK_RIGHT; }
01686         YY_BREAK
01687 case 48:
01688 YY_RULE_SETUP
01689 #line 143 "src/cmdparse.l"
01690 { return TOK_PARENT; }
01691         YY_BREAK
01692 case 49:
01693 YY_RULE_SETUP
01694 #line 144 "src/cmdparse.l"
01695 { return TOK_CHILD; }
01696         YY_BREAK
01697 case 50:
01698 YY_RULE_SETUP
01699 #line 145 "src/cmdparse.l"
01700 { return TOK_RESIZE; }
01701         YY_BREAK
01702 case 51:
01703 YY_RULE_SETUP
01704 #line 146 "src/cmdparse.l"
01705 { return TOK_SHRINK; }
01706         YY_BREAK
01707 case 52:
01708 YY_RULE_SETUP
01709 #line 147 "src/cmdparse.l"
01710 { return TOK_GROW; }
01711         YY_BREAK
01712 case 53:
01713 YY_RULE_SETUP
01714 #line 148 "src/cmdparse.l"
01715 { return TOK_PX; }
01716         YY_BREAK
01717 case 54:
01718 YY_RULE_SETUP
01719 #line 149 "src/cmdparse.l"
01720 { return TOK_OR; }
01721         YY_BREAK
01722 case 55:
01723 YY_RULE_SETUP
01724 #line 150 "src/cmdparse.l"
01725 { return TOK_PPT; }
01726         YY_BREAK
01727 case 56:
01728 YY_RULE_SETUP
01729 #line 151 "src/cmdparse.l"
01730 { WS_STRING; return TOK_NOP; }
01731         YY_BREAK
01732 case 57:
01733 YY_RULE_SETUP
01734 #line 152 "src/cmdparse.l"
01735 { WS_STRING; return TOK_APPEND_LAYOUT; }
01736         YY_BREAK
01737 case 58:
01738 YY_RULE_SETUP
01739 #line 153 "src/cmdparse.l"
01740 { WS_STRING; return TOK_MARK; }
01741         YY_BREAK
01742 case 59:
01743 YY_RULE_SETUP
01744 #line 155 "src/cmdparse.l"
01745 { return TOK_ENABLE; }
01746         YY_BREAK
01747 case 60:
01748 YY_RULE_SETUP
01749 #line 156 "src/cmdparse.l"
01750 { return TOK_ENABLE; }
01751         YY_BREAK
01752 case 61:
01753 YY_RULE_SETUP
01754 #line 157 "src/cmdparse.l"
01755 { return TOK_ENABLE; }
01756         YY_BREAK
01757 case 62:
01758 YY_RULE_SETUP
01759 #line 158 "src/cmdparse.l"
01760 { return TOK_DISABLE; }
01761         YY_BREAK
01762 case 63:
01763 YY_RULE_SETUP
01764 #line 159 "src/cmdparse.l"
01765 { return TOK_DISABLE; }
01766         YY_BREAK
01767 case 64:
01768 YY_RULE_SETUP
01769 #line 160 "src/cmdparse.l"
01770 { return TOK_DISABLE; }
01771         YY_BREAK
01772 case 65:
01773 YY_RULE_SETUP
01774 #line 162 "src/cmdparse.l"
01775 { BEGIN(WANT_QSTRING); return TOK_CLASS; }
01776         YY_BREAK
01777 case 66:
01778 YY_RULE_SETUP
01779 #line 163 "src/cmdparse.l"
01780 { BEGIN(WANT_QSTRING); return TOK_INSTANCE; }
01781         YY_BREAK
01782 case 67:
01783 YY_RULE_SETUP
01784 #line 164 "src/cmdparse.l"
01785 { BEGIN(WANT_QSTRING); return TOK_WINDOW_ROLE; }
01786         YY_BREAK
01787 case 68:
01788 YY_RULE_SETUP
01789 #line 165 "src/cmdparse.l"
01790 { BEGIN(WANT_QSTRING); return TOK_ID; }
01791         YY_BREAK
01792 case 69:
01793 YY_RULE_SETUP
01794 #line 166 "src/cmdparse.l"
01795 { BEGIN(WANT_QSTRING); return TOK_CON_ID; }
01796         YY_BREAK
01797 case 70:
01798 YY_RULE_SETUP
01799 #line 167 "src/cmdparse.l"
01800 { BEGIN(WANT_QSTRING); return TOK_MARK; }
01801         YY_BREAK
01802 case 71:
01803 YY_RULE_SETUP
01804 #line 168 "src/cmdparse.l"
01805 { BEGIN(WANT_QSTRING); return TOK_TITLE; }
01806         YY_BREAK
01807 case 72:
01808 YY_RULE_SETUP
01809 #line 170 "src/cmdparse.l"
01810 { cmdyylval.number = atoi(cmdyytext); return NUMBER; }
01811         YY_BREAK
01812 case 73:
01813 YY_RULE_SETUP
01814 #line 172 "src/cmdparse.l"
01815 { return (int)cmdyytext[0]; }
01816         YY_BREAK
01817 case YY_STATE_EOF(INITIAL):
01818 case YY_STATE_EOF(WANT_STRING):
01819 case YY_STATE_EOF(EAT_WHITESPACE):
01820 case YY_STATE_EOF(WANT_QSTRING):
01821 case YY_STATE_EOF(EXEC):
01822 case YY_STATE_EOF(BUFFER_LINE):
01823 #line 174 "src/cmdparse.l"
01824 {
01825     while (yy_start_stack_ptr > 0)
01826         yy_pop_state();
01827     yyterminate();
01828 }
01829         YY_BREAK
01830 case 74:
01831 YY_RULE_SETUP
01832 #line 180 "src/cmdparse.l"
01833 ECHO;
01834         YY_BREAK
01835 #line 1836 "src/cmdparse.yy.c"
01836 
01837         case YY_END_OF_BUFFER:
01838                 {
01839                 /* Amount of text matched not including the EOB char. */
01840                 int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
01841 
01842                 /* Undo the effects of YY_DO_BEFORE_ACTION. */
01843                 *yy_cp = (yy_hold_char);
01844                 YY_RESTORE_YY_MORE_OFFSET
01845 
01846                 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
01847                         {
01848                         /* We're scanning a new file or input source.  It's
01849                          * possible that this happened because the user
01850                          * just pointed cmdyyin at a new source and called
01851                          * cmdyylex().  If so, then we have to assure
01852                          * consistency between YY_CURRENT_BUFFER and our
01853                          * globals.  Here is the right place to do so, because
01854                          * this is the first action (other than possibly a
01855                          * back-up) that will match for the new input source.
01856                          */
01857                         (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
01858                         YY_CURRENT_BUFFER_LVALUE->yy_input_file = cmdyyin;
01859                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
01860                         }
01861 
01862                 /* Note that here we test for yy_c_buf_p "<=" to the position
01863                  * of the first EOB in the buffer, since yy_c_buf_p will
01864                  * already have been incremented past the NUL character
01865                  * (since all states make transitions on EOB to the
01866                  * end-of-buffer state).  Contrast this with the test
01867                  * in input().
01868                  */
01869                 if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
01870                         { /* This was really a NUL. */
01871                         yy_state_type yy_next_state;
01872 
01873                         (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
01874 
01875                         yy_current_state = yy_get_previous_state(  );
01876 
01877                         /* Okay, we're now positioned to make the NUL
01878                          * transition.  We couldn't have
01879                          * yy_get_previous_state() go ahead and do it
01880                          * for us because it doesn't know how to deal
01881                          * with the possibility of jamming (and we don't
01882                          * want to build jamming into it because then it
01883                          * will run more slowly).
01884                          */
01885 
01886                         yy_next_state = yy_try_NUL_trans( yy_current_state );
01887 
01888                         yy_bp = (yytext_ptr) + YY_MORE_ADJ;
01889 
01890                         if ( yy_next_state )
01891                                 {
01892                                 /* Consume the NUL. */
01893                                 yy_cp = ++(yy_c_buf_p);
01894                                 yy_current_state = yy_next_state;
01895                                 goto yy_match;
01896                                 }
01897 
01898                         else
01899                                 {
01900                                 yy_cp = (yy_c_buf_p);
01901                                 goto yy_find_action;
01902                                 }
01903                         }
01904 
01905                 else switch ( yy_get_next_buffer(  ) )
01906                         {
01907                         case EOB_ACT_END_OF_FILE:
01908                                 {
01909                                 (yy_did_buffer_switch_on_eof) = 0;
01910 
01911                                 if ( cmdyywrap( ) )
01912                                         {
01913                                         /* Note: because we've taken care in
01914                                          * yy_get_next_buffer() to have set up
01915                                          * cmdyytext, we can now set up
01916                                          * yy_c_buf_p so that if some total
01917                                          * hoser (like flex itself) wants to
01918                                          * call the scanner after we return the
01919                                          * YY_NULL, it'll still work - another
01920                                          * YY_NULL will get returned.
01921                                          */
01922                                         (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
01923 
01924                                         yy_act = YY_STATE_EOF(YY_START);
01925                                         goto do_action;
01926                                         }
01927 
01928                                 else
01929                                         {
01930                                         if ( ! (yy_did_buffer_switch_on_eof) )
01931                                                 YY_NEW_FILE;
01932                                         }
01933                                 break;
01934                                 }
01935 
01936                         case EOB_ACT_CONTINUE_SCAN:
01937                                 (yy_c_buf_p) =
01938                                         (yytext_ptr) + yy_amount_of_matched_text;
01939 
01940                                 yy_current_state = yy_get_previous_state(  );
01941 
01942                                 yy_cp = (yy_c_buf_p);
01943                                 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
01944                                 goto yy_match;
01945 
01946                         case EOB_ACT_LAST_MATCH:
01947                                 (yy_c_buf_p) =
01948                                 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
01949 
01950                                 yy_current_state = yy_get_previous_state(  );
01951 
01952                                 yy_cp = (yy_c_buf_p);
01953                                 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
01954                                 goto yy_find_action;
01955                         }
01956                 break;
01957                 }
01958 
01959         default:
01960                 YY_FATAL_ERROR(
01961                         "fatal flex scanner internal error--no action found" );
01962         } /* end of action switch */
01963                 } /* end of scanning one token */
01964 } /* end of cmdyylex */
01965 
01966 /* yy_get_next_buffer - try to read in a new buffer
01967  *
01968  * Returns a code representing an action:
01969  *      EOB_ACT_LAST_MATCH -
01970  *      EOB_ACT_CONTINUE_SCAN - continue scanning from current position
01971  *      EOB_ACT_END_OF_FILE - end of file
01972  */
01973 static int yy_get_next_buffer (void)
01974 {
01975         register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
01976         register char *source = (yytext_ptr);
01977         register int number_to_move, i;
01978         int ret_val;
01979 
01980         if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
01981                 YY_FATAL_ERROR(
01982                 "fatal flex scanner internal error--end of buffer missed" );
01983 
01984         if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
01985                 { /* Don't try to fill the buffer, so this is an EOF. */
01986                 if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
01987                         {
01988                         /* We matched a single character, the EOB, so
01989                          * treat this as a final EOF.
01990                          */
01991                         return EOB_ACT_END_OF_FILE;
01992                         }
01993 
01994                 else
01995                         {
01996                         /* We matched some text prior to the EOB, first
01997                          * process it.
01998                          */
01999                         return EOB_ACT_LAST_MATCH;
02000                         }
02001                 }
02002 
02003         /* Try to read more data. */
02004 
02005         /* First move last chars to start of buffer. */
02006         number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
02007 
02008         for ( i = 0; i < number_to_move; ++i )
02009                 *(dest++) = *(source++);
02010 
02011         if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
02012                 /* don't do the read, it's not guaranteed to return an EOF,
02013                  * just force an EOF
02014                  */
02015                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
02016 
02017         else
02018                 {
02019                         int num_to_read =
02020                         YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
02021 
02022                 while ( num_to_read <= 0 )
02023                         { /* Not enough room in the buffer - grow it. */
02024 
02025                         YY_FATAL_ERROR(
02026 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
02027 
02028                         }
02029 
02030                 if ( num_to_read > YY_READ_BUF_SIZE )
02031                         num_to_read = YY_READ_BUF_SIZE;
02032 
02033                 /* Read in more data. */
02034                 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
02035                         (yy_n_chars), (size_t) num_to_read );
02036 
02037                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
02038                 }
02039 
02040         if ( (yy_n_chars) == 0 )
02041                 {
02042                 if ( number_to_move == YY_MORE_ADJ )
02043                         {
02044                         ret_val = EOB_ACT_END_OF_FILE;
02045                         cmdyyrestart(cmdyyin  );
02046                         }
02047 
02048                 else
02049                         {
02050                         ret_val = EOB_ACT_LAST_MATCH;
02051                         YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
02052                                 YY_BUFFER_EOF_PENDING;
02053                         }
02054                 }
02055 
02056         else
02057                 ret_val = EOB_ACT_CONTINUE_SCAN;
02058 
02059         if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
02060                 /* Extend the array by 50%, plus the number we really need. */
02061                 yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
02062                 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) cmdyyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
02063                 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
02064                         YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
02065         }
02066 
02067         (yy_n_chars) += number_to_move;
02068         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
02069         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
02070 
02071         (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
02072 
02073         return ret_val;
02074 }
02075 
02076 /* yy_get_previous_state - get the state just before the EOB char was reached */
02077 
02078     static yy_state_type yy_get_previous_state (void)
02079 {
02080         register yy_state_type yy_current_state;
02081         register char *yy_cp;
02082     
02083         yy_current_state = (yy_start);
02084         yy_current_state += YY_AT_BOL();
02085 
02086         (yy_state_ptr) = (yy_state_buf);
02087         *(yy_state_ptr)++ = yy_current_state;
02088 
02089         for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
02090                 {
02091                 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
02092                 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
02093                         {
02094                         yy_current_state = (int) yy_def[yy_current_state];
02095                         if ( yy_current_state >= 649 )
02096                                 yy_c = yy_meta[(unsigned int) yy_c];
02097                         }
02098                 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
02099                 *(yy_state_ptr)++ = yy_current_state;
02100                 }
02101 
02102         return yy_current_state;
02103 }
02104 
02105 /* yy_try_NUL_trans - try to make a transition on the NUL character
02106  *
02107  * synopsis
02108  *      next_state = yy_try_NUL_trans( current_state );
02109  */
02110     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
02111 {
02112         register int yy_is_jam;
02113     
02114         register YY_CHAR yy_c = 1;
02115         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
02116                 {
02117                 yy_current_state = (int) yy_def[yy_current_state];
02118                 if ( yy_current_state >= 649 )
02119                         yy_c = yy_meta[(unsigned int) yy_c];
02120                 }
02121         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
02122         yy_is_jam = (yy_current_state == 648);
02123         if ( ! yy_is_jam )
02124                 *(yy_state_ptr)++ = yy_current_state;
02125 
02126         return yy_is_jam ? 0 : yy_current_state;
02127 }
02128 
02129 #ifndef YY_NO_INPUT
02130 #ifdef __cplusplus
02131     static int yyinput (void)
02132 #else
02133     static int input  (void)
02134 #endif
02135 
02136 {
02137         int c;
02138     
02139         *(yy_c_buf_p) = (yy_hold_char);
02140 
02141         if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
02142                 {
02143                 /* yy_c_buf_p now points to the character we want to return.
02144                  * If this occurs *before* the EOB characters, then it's a
02145                  * valid NUL; if not, then we've hit the end of the buffer.
02146                  */
02147                 if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
02148                         /* This was really a NUL. */
02149                         *(yy_c_buf_p) = '\0';
02150 
02151                 else
02152                         { /* need more input */
02153                         int offset = (yy_c_buf_p) - (yytext_ptr);
02154                         ++(yy_c_buf_p);
02155 
02156                         switch ( yy_get_next_buffer(  ) )
02157                                 {
02158                                 case EOB_ACT_LAST_MATCH:
02159                                         /* This happens because yy_g_n_b()
02160                                          * sees that we've accumulated a
02161                                          * token and flags that we need to
02162                                          * try matching the token before
02163                                          * proceeding.  But for input(),
02164                                          * there's no matching to consider.
02165                                          * So convert the EOB_ACT_LAST_MATCH
02166                                          * to EOB_ACT_END_OF_FILE.
02167                                          */
02168 
02169                                         /* Reset buffer status. */
02170                                         cmdyyrestart(cmdyyin );
02171 
02172                                         /*FALLTHROUGH*/
02173 
02174                                 case EOB_ACT_END_OF_FILE:
02175                                         {
02176                                         if ( cmdyywrap( ) )
02177                                                 return EOF;
02178 
02179                                         if ( ! (yy_did_buffer_switch_on_eof) )
02180                                                 YY_NEW_FILE;
02181 #ifdef __cplusplus
02182                                         return yyinput();
02183 #else
02184                                         return input();
02185 #endif
02186                                         }
02187 
02188                                 case EOB_ACT_CONTINUE_SCAN:
02189                                         (yy_c_buf_p) = (yytext_ptr) + offset;
02190                                         break;
02191                                 }
02192                         }
02193                 }
02194 
02195         c = *(unsigned char *) (yy_c_buf_p);    /* cast for 8-bit char's */
02196         *(yy_c_buf_p) = '\0';   /* preserve cmdyytext */
02197         (yy_hold_char) = *++(yy_c_buf_p);
02198 
02199         YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
02200 
02201         return c;
02202 }
02203 #endif  /* ifndef YY_NO_INPUT */
02204 
02210     void cmdyyrestart  (FILE * input_file )
02211 {
02212     
02213         if ( ! YY_CURRENT_BUFFER ){
02214         cmdyyensure_buffer_stack ();
02215                 YY_CURRENT_BUFFER_LVALUE =
02216             cmdyy_create_buffer(cmdyyin,YY_BUF_SIZE );
02217         }
02218 
02219         cmdyy_init_buffer(YY_CURRENT_BUFFER,input_file );
02220         cmdyy_load_buffer_state( );
02221 }
02222 
02227     void cmdyy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
02228 {
02229     
02230         /* TODO. We should be able to replace this entire function body
02231          * with
02232          *              cmdyypop_buffer_state();
02233          *              cmdyypush_buffer_state(new_buffer);
02234      */
02235         cmdyyensure_buffer_stack ();
02236         if ( YY_CURRENT_BUFFER == new_buffer )
02237                 return;
02238 
02239         if ( YY_CURRENT_BUFFER )
02240                 {
02241                 /* Flush out information for old buffer. */
02242                 *(yy_c_buf_p) = (yy_hold_char);
02243                 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
02244                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
02245                 }
02246 
02247         YY_CURRENT_BUFFER_LVALUE = new_buffer;
02248         cmdyy_load_buffer_state( );
02249 
02250         /* We don't actually know whether we did this switch during
02251          * EOF (cmdyywrap()) processing, but the only time this flag
02252          * is looked at is after cmdyywrap() is called, so it's safe
02253          * to go ahead and always set it.
02254          */
02255         (yy_did_buffer_switch_on_eof) = 1;
02256 }
02257 
02258 static void cmdyy_load_buffer_state  (void)
02259 {
02260         (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
02261         (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
02262         cmdyyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
02263         (yy_hold_char) = *(yy_c_buf_p);
02264 }
02265 
02272     YY_BUFFER_STATE cmdyy_create_buffer  (FILE * file, int  size )
02273 {
02274         YY_BUFFER_STATE b;
02275     
02276         b = (YY_BUFFER_STATE) cmdyyalloc(sizeof( struct yy_buffer_state )  );
02277         if ( ! b )
02278                 YY_FATAL_ERROR( "out of dynamic memory in cmdyy_create_buffer()" );
02279 
02280         b->yy_buf_size = size;
02281 
02282         /* yy_ch_buf has to be 2 characters longer than the size given because
02283          * we need to put in 2 end-of-buffer characters.
02284          */
02285         b->yy_ch_buf = (char *) cmdyyalloc(b->yy_buf_size + 2  );
02286         if ( ! b->yy_ch_buf )
02287                 YY_FATAL_ERROR( "out of dynamic memory in cmdyy_create_buffer()" );
02288 
02289         b->yy_is_our_buffer = 1;
02290 
02291         cmdyy_init_buffer(b,file );
02292 
02293         return b;
02294 }
02295 
02300     void cmdyy_delete_buffer (YY_BUFFER_STATE  b )
02301 {
02302     
02303         if ( ! b )
02304                 return;
02305 
02306         if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
02307                 YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
02308 
02309         if ( b->yy_is_our_buffer )
02310                 cmdyyfree((void *) b->yy_ch_buf  );
02311 
02312         cmdyyfree((void *) b  );
02313 }
02314 
02315 #ifndef __cplusplus
02316 extern int isatty (int );
02317 #endif /* __cplusplus */
02318     
02319 /* Initializes or reinitializes a buffer.
02320  * This function is sometimes called more than once on the same buffer,
02321  * such as during a cmdyyrestart() or at EOF.
02322  */
02323     static void cmdyy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
02324 
02325 {
02326         int oerrno = errno;
02327     
02328         cmdyy_flush_buffer(b );
02329 
02330         b->yy_input_file = file;
02331         b->yy_fill_buffer = 1;
02332 
02333     /* If b is the current buffer, then cmdyy_init_buffer was _probably_
02334      * called from cmdyyrestart() or through yy_get_next_buffer.
02335      * In that case, we don't want to reset the lineno or column.
02336      */
02337     if (b != YY_CURRENT_BUFFER){
02338         b->yy_bs_lineno = 1;
02339         b->yy_bs_column = 0;
02340     }
02341 
02342         b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
02343     
02344         errno = oerrno;
02345 }
02346 
02351     void cmdyy_flush_buffer (YY_BUFFER_STATE  b )
02352 {
02353         if ( ! b )
02354                 return;
02355 
02356         b->yy_n_chars = 0;
02357 
02358         /* We always need two end-of-buffer characters.  The first causes
02359          * a transition to the end-of-buffer state.  The second causes
02360          * a jam in that state.
02361          */
02362         b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
02363         b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
02364 
02365         b->yy_buf_pos = &b->yy_ch_buf[0];
02366 
02367         b->yy_at_bol = 1;
02368         b->yy_buffer_status = YY_BUFFER_NEW;
02369 
02370         if ( b == YY_CURRENT_BUFFER )
02371                 cmdyy_load_buffer_state( );
02372 }
02373 
02380 void cmdyypush_buffer_state (YY_BUFFER_STATE new_buffer )
02381 {
02382         if (new_buffer == NULL)
02383                 return;
02384 
02385         cmdyyensure_buffer_stack();
02386 
02387         /* This block is copied from cmdyy_switch_to_buffer. */
02388         if ( YY_CURRENT_BUFFER )
02389                 {
02390                 /* Flush out information for old buffer. */
02391                 *(yy_c_buf_p) = (yy_hold_char);
02392                 YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
02393                 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
02394                 }
02395 
02396         /* Only push if top exists. Otherwise, replace top. */
02397         if (YY_CURRENT_BUFFER)
02398                 (yy_buffer_stack_top)++;
02399         YY_CURRENT_BUFFER_LVALUE = new_buffer;
02400 
02401         /* copied from cmdyy_switch_to_buffer. */
02402         cmdyy_load_buffer_state( );
02403         (yy_did_buffer_switch_on_eof) = 1;
02404 }
02405 
02410 void cmdyypop_buffer_state (void)
02411 {
02412         if (!YY_CURRENT_BUFFER)
02413                 return;
02414 
02415         cmdyy_delete_buffer(YY_CURRENT_BUFFER );
02416         YY_CURRENT_BUFFER_LVALUE = NULL;
02417         if ((yy_buffer_stack_top) > 0)
02418                 --(yy_buffer_stack_top);
02419 
02420         if (YY_CURRENT_BUFFER) {
02421                 cmdyy_load_buffer_state( );
02422                 (yy_did_buffer_switch_on_eof) = 1;
02423         }
02424 }
02425 
02426 /* Allocates the stack if it does not exist.
02427  *  Guarantees space for at least one push.
02428  */
02429 static void cmdyyensure_buffer_stack (void)
02430 {
02431         int num_to_alloc;
02432     
02433         if (!(yy_buffer_stack)) {
02434 
02435                 /* First allocation is just for 2 elements, since we don't know if this
02436                  * scanner will even need a stack. We use 2 instead of 1 to avoid an
02437                  * immediate realloc on the next call.
02438          */
02439                 num_to_alloc = 1;
02440                 (yy_buffer_stack) = (struct yy_buffer_state**)cmdyyalloc
02441                                                                 (num_to_alloc * sizeof(struct yy_buffer_state*)
02442                                                                 );
02443                 if ( ! (yy_buffer_stack) )
02444                         YY_FATAL_ERROR( "out of dynamic memory in cmdyyensure_buffer_stack()" );
02445                                                                   
02446                 memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
02447                                 
02448                 (yy_buffer_stack_max) = num_to_alloc;
02449                 (yy_buffer_stack_top) = 0;
02450                 return;
02451         }
02452 
02453         if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
02454 
02455                 /* Increase the buffer to prepare for a possible push. */
02456                 int grow_size = 8 /* arbitrary grow size */;
02457 
02458                 num_to_alloc = (yy_buffer_stack_max) + grow_size;
02459                 (yy_buffer_stack) = (struct yy_buffer_state**)cmdyyrealloc
02460                                                                 ((yy_buffer_stack),
02461                                                                 num_to_alloc * sizeof(struct yy_buffer_state*)
02462                                                                 );
02463                 if ( ! (yy_buffer_stack) )
02464                         YY_FATAL_ERROR( "out of dynamic memory in cmdyyensure_buffer_stack()" );
02465 
02466                 /* zero only the new slots.*/
02467                 memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
02468                 (yy_buffer_stack_max) = num_to_alloc;
02469         }
02470 }
02471 
02478 YY_BUFFER_STATE cmdyy_scan_buffer  (char * base, yy_size_t  size )
02479 {
02480         YY_BUFFER_STATE b;
02481     
02482         if ( size < 2 ||
02483              base[size-2] != YY_END_OF_BUFFER_CHAR ||
02484              base[size-1] != YY_END_OF_BUFFER_CHAR )
02485                 /* They forgot to leave room for the EOB's. */
02486                 return 0;
02487 
02488         b = (YY_BUFFER_STATE) cmdyyalloc(sizeof( struct yy_buffer_state )  );
02489         if ( ! b )
02490                 YY_FATAL_ERROR( "out of dynamic memory in cmdyy_scan_buffer()" );
02491 
02492         b->yy_buf_size = size - 2;      /* "- 2" to take care of EOB's */
02493         b->yy_buf_pos = b->yy_ch_buf = base;
02494         b->yy_is_our_buffer = 0;
02495         b->yy_input_file = 0;
02496         b->yy_n_chars = b->yy_buf_size;
02497         b->yy_is_interactive = 0;
02498         b->yy_at_bol = 1;
02499         b->yy_fill_buffer = 0;
02500         b->yy_buffer_status = YY_BUFFER_NEW;
02501 
02502         cmdyy_switch_to_buffer(b  );
02503 
02504         return b;
02505 }
02506 
02515 YY_BUFFER_STATE cmdyy_scan_string (yyconst char * yystr )
02516 {
02517     
02518         return cmdyy_scan_bytes(yystr,strlen(yystr) );
02519 }
02520 
02528 YY_BUFFER_STATE cmdyy_scan_bytes  (yyconst char * yybytes, int  _yybytes_len )
02529 {
02530         YY_BUFFER_STATE b;
02531         char *buf;
02532         yy_size_t n;
02533         int i;
02534     
02535         /* Get memory for full buffer, including space for trailing EOB's. */
02536         n = _yybytes_len + 2;
02537         buf = (char *) cmdyyalloc(n  );
02538         if ( ! buf )
02539                 YY_FATAL_ERROR( "out of dynamic memory in cmdyy_scan_bytes()" );
02540 
02541         for ( i = 0; i < _yybytes_len; ++i )
02542                 buf[i] = yybytes[i];
02543 
02544         buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
02545 
02546         b = cmdyy_scan_buffer(buf,n );
02547         if ( ! b )
02548                 YY_FATAL_ERROR( "bad buffer in cmdyy_scan_bytes()" );
02549 
02550         /* It's okay to grow etc. this buffer, and we should throw it
02551          * away when we're done.
02552          */
02553         b->yy_is_our_buffer = 1;
02554 
02555         return b;
02556 }
02557 
02558     static void yy_push_state (int  new_state )
02559 {
02560         if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
02561                 {
02562                 yy_size_t new_size;
02563 
02564                 (yy_start_stack_depth) += YY_START_STACK_INCR;
02565                 new_size = (yy_start_stack_depth) * sizeof( int );
02566 
02567                 if ( ! (yy_start_stack) )
02568                         (yy_start_stack) = (int *) cmdyyalloc(new_size  );
02569 
02570                 else
02571                         (yy_start_stack) = (int *) cmdyyrealloc((void *) (yy_start_stack),new_size  );
02572 
02573                 if ( ! (yy_start_stack) )
02574                         YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
02575                 }
02576 
02577         (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
02578 
02579         BEGIN(new_state);
02580 }
02581 
02582     static void yy_pop_state  (void)
02583 {
02584         if ( --(yy_start_stack_ptr) < 0 )
02585                 YY_FATAL_ERROR( "start-condition stack underflow" );
02586 
02587         BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
02588 }
02589 
02590 #ifndef YY_EXIT_FAILURE
02591 #define YY_EXIT_FAILURE 2
02592 #endif
02593 
02594 static void yy_fatal_error (yyconst char* msg )
02595 {
02596         (void) fprintf( stderr, "%s\n", msg );
02597         exit( YY_EXIT_FAILURE );
02598 }
02599 
02600 /* Redefine yyless() so it works in section 3 code. */
02601 
02602 #undef yyless
02603 #define yyless(n) \
02604         do \
02605                 { \
02606                 /* Undo effects of setting up cmdyytext. */ \
02607         int yyless_macro_arg = (n); \
02608         YY_LESS_LINENO(yyless_macro_arg);\
02609                 cmdyytext[cmdyyleng] = (yy_hold_char); \
02610                 (yy_c_buf_p) = cmdyytext + yyless_macro_arg; \
02611                 (yy_hold_char) = *(yy_c_buf_p); \
02612                 *(yy_c_buf_p) = '\0'; \
02613                 cmdyyleng = yyless_macro_arg; \
02614                 } \
02615         while ( 0 )
02616 
02617 /* Accessor  methods (get/set functions) to struct members. */
02618 
02622 int cmdyyget_lineno  (void)
02623 {
02624         
02625     return cmdyylineno;
02626 }
02627 
02631 FILE *cmdyyget_in  (void)
02632 {
02633         return cmdyyin;
02634 }
02635 
02639 FILE *cmdyyget_out  (void)
02640 {
02641         return cmdyyout;
02642 }
02643 
02647 int cmdyyget_leng  (void)
02648 {
02649         return cmdyyleng;
02650 }
02651 
02656 char *cmdyyget_text  (void)
02657 {
02658         return cmdyytext;
02659 }
02660 
02665 void cmdyyset_lineno (int  line_number )
02666 {
02667     
02668     cmdyylineno = line_number;
02669 }
02670 
02677 void cmdyyset_in (FILE *  in_str )
02678 {
02679         cmdyyin = in_str ;
02680 }
02681 
02682 void cmdyyset_out (FILE *  out_str )
02683 {
02684         cmdyyout = out_str ;
02685 }
02686 
02687 int cmdyyget_debug  (void)
02688 {
02689         return cmdyy_flex_debug;
02690 }
02691 
02692 void cmdyyset_debug (int  bdebug )
02693 {
02694         cmdyy_flex_debug = bdebug ;
02695 }
02696 
02697 static int yy_init_globals (void)
02698 {
02699         /* Initialization is the same as for the non-reentrant scanner.
02700      * This function is called from cmdyylex_destroy(), so don't allocate here.
02701      */
02702 
02703     (yy_buffer_stack) = 0;
02704     (yy_buffer_stack_top) = 0;
02705     (yy_buffer_stack_max) = 0;
02706     (yy_c_buf_p) = (char *) 0;
02707     (yy_init) = 0;
02708     (yy_start) = 0;
02709 
02710     (yy_start_stack_ptr) = 0;
02711     (yy_start_stack_depth) = 0;
02712     (yy_start_stack) =  NULL;
02713 
02714     (yy_state_buf) = 0;
02715     (yy_state_ptr) = 0;
02716     (yy_full_match) = 0;
02717     (yy_lp) = 0;
02718 
02719 /* Defined in main.c */
02720 #ifdef YY_STDINIT
02721     cmdyyin = stdin;
02722     cmdyyout = stdout;
02723 #else
02724     cmdyyin = (FILE *) 0;
02725     cmdyyout = (FILE *) 0;
02726 #endif
02727 
02728     /* For future reference: Set errno on error, since we are called by
02729      * cmdyylex_init()
02730      */
02731     return 0;
02732 }
02733 
02734 /* cmdyylex_destroy is for both reentrant and non-reentrant scanners. */
02735 int cmdyylex_destroy  (void)
02736 {
02737     
02738     /* Pop the buffer stack, destroying each element. */
02739         while(YY_CURRENT_BUFFER){
02740                 cmdyy_delete_buffer(YY_CURRENT_BUFFER  );
02741                 YY_CURRENT_BUFFER_LVALUE = NULL;
02742                 cmdyypop_buffer_state();
02743         }
02744 
02745         /* Destroy the stack itself. */
02746         cmdyyfree((yy_buffer_stack) );
02747         (yy_buffer_stack) = NULL;
02748 
02749     /* Destroy the start condition stack. */
02750         cmdyyfree((yy_start_stack)  );
02751         (yy_start_stack) = NULL;
02752 
02753     cmdyyfree ( (yy_state_buf) );
02754     (yy_state_buf)  = NULL;
02755 
02756     /* Reset the globals. This is important in a non-reentrant scanner so the next time
02757      * cmdyylex() is called, initialization will occur. */
02758     yy_init_globals( );
02759 
02760     return 0;
02761 }
02762 
02763 /*
02764  * Internal utility routines.
02765  */
02766 
02767 #ifndef yytext_ptr
02768 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
02769 {
02770         register int i;
02771         for ( i = 0; i < n; ++i )
02772                 s1[i] = s2[i];
02773 }
02774 #endif
02775 
02776 #ifdef YY_NEED_STRLEN
02777 static int yy_flex_strlen (yyconst char * s )
02778 {
02779         register int n;
02780         for ( n = 0; s[n]; ++n )
02781                 ;
02782 
02783         return n;
02784 }
02785 #endif
02786 
02787 void *cmdyyalloc (yy_size_t  size )
02788 {
02789         return (void *) malloc( size );
02790 }
02791 
02792 void *cmdyyrealloc  (void * ptr, yy_size_t  size )
02793 {
02794         /* The cast to (char *) in the following accommodates both
02795          * implementations that use char* generic pointers, and those
02796          * that use void* generic pointers.  It works with the latter
02797          * because both ANSI C and C++ allow castless assignment from
02798          * any pointer type to void*, and deal with argument conversions
02799          * as though doing an assignment.
02800          */
02801         return (void *) realloc( (char *) ptr, size );
02802 }
02803 
02804 void cmdyyfree (void * ptr )
02805 {
02806         free( (char *) ptr );   /* see cmdyyrealloc() for (char *) cast */
02807 }
02808 
02809 #define YYTABLES_NAME "yytables"
02810 
02811 #line 180 "src/cmdparse.l"
02812 
02813 
02814