"Fossies" - the Fresh Open Source Software Archive

Member "hitch-1.5.2/src/cfg_lex.c" (27 Nov 2019, 70520 Bytes) of package /linux/www/hitch-1.5.2.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "cfg_lex.c" see the Fossies "Dox" file reference documentation and the last Fossies "Diffs" side-by-side code changes report: 1.5.0_vs_1.5.1.

    1 
    2 #line 3 "cfg_lex.c"
    3 
    4 #define  YY_INT_ALIGNED short int
    5 
    6 /* A lexical scanner generated by flex */
    7 
    8 #define FLEX_SCANNER
    9 #define YY_FLEX_MAJOR_VERSION 2
   10 #define YY_FLEX_MINOR_VERSION 6
   11 #define YY_FLEX_SUBMINOR_VERSION 4
   12 #if YY_FLEX_SUBMINOR_VERSION > 0
   13 #define FLEX_BETA
   14 #endif
   15 
   16 /* First, we deal with  platform-specific or compiler-specific issues. */
   17 
   18 /* begin standard C headers. */
   19 #include <stdio.h>
   20 #include <string.h>
   21 #include <errno.h>
   22 #include <stdlib.h>
   23 
   24 /* end standard C headers. */
   25 
   26 /* flex integer type definitions */
   27 
   28 #ifndef FLEXINT_H
   29 #define FLEXINT_H
   30 
   31 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
   32 
   33 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
   34 
   35 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
   36  * if you want the limit (max/min) macros for int types. 
   37  */
   38 #ifndef __STDC_LIMIT_MACROS
   39 #define __STDC_LIMIT_MACROS 1
   40 #endif
   41 
   42 #include <inttypes.h>
   43 typedef int8_t flex_int8_t;
   44 typedef uint8_t flex_uint8_t;
   45 typedef int16_t flex_int16_t;
   46 typedef uint16_t flex_uint16_t;
   47 typedef int32_t flex_int32_t;
   48 typedef uint32_t flex_uint32_t;
   49 #else
   50 typedef signed char flex_int8_t;
   51 typedef short int flex_int16_t;
   52 typedef int flex_int32_t;
   53 typedef unsigned char flex_uint8_t; 
   54 typedef unsigned short int flex_uint16_t;
   55 typedef unsigned int flex_uint32_t;
   56 
   57 /* Limits of integral types. */
   58 #ifndef INT8_MIN
   59 #define INT8_MIN               (-128)
   60 #endif
   61 #ifndef INT16_MIN
   62 #define INT16_MIN              (-32767-1)
   63 #endif
   64 #ifndef INT32_MIN
   65 #define INT32_MIN              (-2147483647-1)
   66 #endif
   67 #ifndef INT8_MAX
   68 #define INT8_MAX               (127)
   69 #endif
   70 #ifndef INT16_MAX
   71 #define INT16_MAX              (32767)
   72 #endif
   73 #ifndef INT32_MAX
   74 #define INT32_MAX              (2147483647)
   75 #endif
   76 #ifndef UINT8_MAX
   77 #define UINT8_MAX              (255U)
   78 #endif
   79 #ifndef UINT16_MAX
   80 #define UINT16_MAX             (65535U)
   81 #endif
   82 #ifndef UINT32_MAX
   83 #define UINT32_MAX             (4294967295U)
   84 #endif
   85 
   86 #ifndef SIZE_MAX
   87 #define SIZE_MAX               (~(size_t)0)
   88 #endif
   89 
   90 #endif /* ! C99 */
   91 
   92 #endif /* ! FLEXINT_H */
   93 
   94 /* begin standard C++ headers. */
   95 
   96 /* TODO: this is always defined, so inline it */
   97 #define yyconst const
   98 
   99 #if defined(__GNUC__) && __GNUC__ >= 3
  100 #define yynoreturn __attribute__((__noreturn__))
  101 #else
  102 #define yynoreturn
  103 #endif
  104 
  105 /* Returned upon end-of-file. */
  106 #define YY_NULL 0
  107 
  108 /* Promotes a possibly negative, possibly signed char to an
  109  *   integer in range [0..255] for use as an array index.
  110  */
  111 #define YY_SC_TO_UI(c) ((YY_CHAR) (c))
  112 
  113 /* Enter a start condition.  This macro really ought to take a parameter,
  114  * but we do it the disgusting crufty way forced on us by the ()-less
  115  * definition of BEGIN.
  116  */
  117 #define BEGIN (yy_start) = 1 + 2 *
  118 /* Translate the current start state into a value that can be later handed
  119  * to BEGIN to return to the state.  The YYSTATE alias is for lex
  120  * compatibility.
  121  */
  122 #define YY_START (((yy_start) - 1) / 2)
  123 #define YYSTATE YY_START
  124 /* Action number for EOF rule of a given start state. */
  125 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
  126 /* Special action meaning "start processing a new file". */
  127 #define YY_NEW_FILE yyrestart( yyin  )
  128 #define YY_END_OF_BUFFER_CHAR 0
  129 
  130 /* Size of default input buffer. */
  131 #ifndef YY_BUF_SIZE
  132 #ifdef __ia64__
  133 /* On IA-64, the buffer size is 16k, not 8k.
  134  * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
  135  * Ditto for the __ia64__ case accordingly.
  136  */
  137 #define YY_BUF_SIZE 32768
  138 #else
  139 #define YY_BUF_SIZE 16384
  140 #endif /* __ia64__ */
  141 #endif
  142 
  143 /* The state buf must be large enough to hold one state per character in the main buffer.
  144  */
  145 #define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
  146 
  147 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
  148 #define YY_TYPEDEF_YY_BUFFER_STATE
  149 typedef struct yy_buffer_state *YY_BUFFER_STATE;
  150 #endif
  151 
  152 #ifndef YY_TYPEDEF_YY_SIZE_T
  153 #define YY_TYPEDEF_YY_SIZE_T
  154 typedef size_t yy_size_t;
  155 #endif
  156 
  157 extern int yyleng;
  158 
  159 extern FILE *yyin, *yyout;
  160 
  161 #define EOB_ACT_CONTINUE_SCAN 0
  162 #define EOB_ACT_END_OF_FILE 1
  163 #define EOB_ACT_LAST_MATCH 2
  164     
  165     /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
  166      *       access to the local variable yy_act. Since yyless() is a macro, it would break
  167      *       existing scanners that call yyless() from OUTSIDE yylex.
  168      *       One obvious solution it to make yy_act a global. I tried that, and saw
  169      *       a 5% performance hit in a non-yylineno scanner, because yy_act is
  170      *       normally declared as a register variable-- so it is not worth it.
  171      */
  172     #define  YY_LESS_LINENO(n) \
  173             do { \
  174                 int yyl;\
  175                 for ( yyl = n; yyl < yyleng; ++yyl )\
  176                     if ( yytext[yyl] == '\n' )\
  177                         --yylineno;\
  178             }while(0)
  179     #define YY_LINENO_REWIND_TO(dst) \
  180             do {\
  181                 const char *p;\
  182                 for ( p = yy_cp-1; p >= (dst); --p)\
  183                     if ( *p == '\n' )\
  184                         --yylineno;\
  185             }while(0)
  186     
  187 /* Return all but the first "n" matched characters back to the input stream. */
  188 #define yyless(n) \
  189     do \
  190         { \
  191         /* Undo effects of setting up yytext. */ \
  192         int yyless_macro_arg = (n); \
  193         YY_LESS_LINENO(yyless_macro_arg);\
  194         *yy_cp = (yy_hold_char); \
  195         YY_RESTORE_YY_MORE_OFFSET \
  196         (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
  197         YY_DO_BEFORE_ACTION; /* set up yytext again */ \
  198         } \
  199     while ( 0 )
  200 #define unput(c) yyunput( c, (yytext_ptr)  )
  201 
  202 #ifndef YY_STRUCT_YY_BUFFER_STATE
  203 #define YY_STRUCT_YY_BUFFER_STATE
  204 struct yy_buffer_state
  205     {
  206     FILE *yy_input_file;
  207 
  208     char *yy_ch_buf;        /* input buffer */
  209     char *yy_buf_pos;       /* current position in input buffer */
  210 
  211     /* Size of input buffer in bytes, not including room for EOB
  212      * characters.
  213      */
  214     int yy_buf_size;
  215 
  216     /* Number of characters read into yy_ch_buf, not including EOB
  217      * characters.
  218      */
  219     int yy_n_chars;
  220 
  221     /* Whether we "own" the buffer - i.e., we know we created it,
  222      * and can realloc() it to grow it, and should free() it to
  223      * delete it.
  224      */
  225     int yy_is_our_buffer;
  226 
  227     /* Whether this is an "interactive" input source; if so, and
  228      * if we're using stdio for input, then we want to use getc()
  229      * instead of fread(), to make sure we stop fetching input after
  230      * each newline.
  231      */
  232     int yy_is_interactive;
  233 
  234     /* Whether we're considered to be at the beginning of a line.
  235      * If so, '^' rules will be active on the next match, otherwise
  236      * not.
  237      */
  238     int yy_at_bol;
  239 
  240     int yy_bs_lineno; /**< The line count. */
  241     int yy_bs_column; /**< The column count. */
  242 
  243     /* Whether to try to fill the input buffer when we reach the
  244      * end of it.
  245      */
  246     int yy_fill_buffer;
  247 
  248     int yy_buffer_status;
  249 
  250 #define YY_BUFFER_NEW 0
  251 #define YY_BUFFER_NORMAL 1
  252     /* When an EOF's been seen but there's still some text to process
  253      * then we mark the buffer as YY_EOF_PENDING, to indicate that we
  254      * shouldn't try reading from the input source any more.  We might
  255      * still have a bunch of tokens to match, though, because of
  256      * possible backing-up.
  257      *
  258      * When we actually see the EOF, we change the status to "new"
  259      * (via yyrestart()), so that the user can continue scanning by
  260      * just pointing yyin at a new input file.
  261      */
  262 #define YY_BUFFER_EOF_PENDING 2
  263 
  264     };
  265 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
  266 
  267 /* Stack of input buffers. */
  268 static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
  269 static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
  270 static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
  271 
  272 /* We provide macros for accessing buffer states in case in the
  273  * future we want to put the buffer states in a more general
  274  * "scanner state".
  275  *
  276  * Returns the top of the stack, or NULL.
  277  */
  278 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
  279                           ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
  280                           : NULL)
  281 /* Same as previous macro, but useful when we know that the buffer stack is not
  282  * NULL or when we need an lvalue. For internal use only.
  283  */
  284 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
  285 
  286 /* yy_hold_char holds the character lost when yytext is formed. */
  287 static char yy_hold_char;
  288 static int yy_n_chars;      /* number of characters read into yy_ch_buf */
  289 int yyleng;
  290 
  291 /* Points to current character in buffer. */
  292 static char *yy_c_buf_p = NULL;
  293 static int yy_init = 0;     /* whether we need to initialize */
  294 static int yy_start = 0;    /* start state number */
  295 
  296 /* Flag which is used to allow yywrap()'s to do buffer switches
  297  * instead of setting up a fresh yyin.  A bit of a hack ...
  298  */
  299 static int yy_did_buffer_switch_on_eof;
  300 
  301 void yyrestart ( FILE *input_file  );
  302 void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer  );
  303 YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size  );
  304 void yy_delete_buffer ( YY_BUFFER_STATE b  );
  305 void yy_flush_buffer ( YY_BUFFER_STATE b  );
  306 void yypush_buffer_state ( YY_BUFFER_STATE new_buffer  );
  307 void yypop_buffer_state ( void );
  308 
  309 static void yyensure_buffer_stack ( void );
  310 static void yy_load_buffer_state ( void );
  311 static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file  );
  312 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
  313 
  314 YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size  );
  315 YY_BUFFER_STATE yy_scan_string ( const char *yy_str  );
  316 YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len  );
  317 
  318 void *yyalloc ( yy_size_t  );
  319 void *yyrealloc ( void *, yy_size_t  );
  320 void yyfree ( void *  );
  321 
  322 #define yy_new_buffer yy_create_buffer
  323 #define yy_set_interactive(is_interactive) \
  324     { \
  325     if ( ! YY_CURRENT_BUFFER ){ \
  326         yyensure_buffer_stack (); \
  327         YY_CURRENT_BUFFER_LVALUE =    \
  328             yy_create_buffer( yyin, YY_BUF_SIZE ); \
  329     } \
  330     YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
  331     }
  332 #define yy_set_bol(at_bol) \
  333     { \
  334     if ( ! YY_CURRENT_BUFFER ){\
  335         yyensure_buffer_stack (); \
  336         YY_CURRENT_BUFFER_LVALUE =    \
  337             yy_create_buffer( yyin, YY_BUF_SIZE ); \
  338     } \
  339     YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
  340     }
  341 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
  342 
  343 /* Begin user sect3 */
  344 
  345 #define yywrap() (/*CONSTCOND*/1)
  346 #define YY_SKIP_YYWRAP
  347 typedef flex_uint8_t YY_CHAR;
  348 
  349 FILE *yyin = NULL, *yyout = NULL;
  350 
  351 typedef int yy_state_type;
  352 
  353 extern int yylineno;
  354 int yylineno = 1;
  355 
  356 extern char *yytext;
  357 #ifdef yytext_ptr
  358 #undef yytext_ptr
  359 #endif
  360 #define yytext_ptr yytext
  361 
  362 static yy_state_type yy_get_previous_state ( void );
  363 static yy_state_type yy_try_NUL_trans ( yy_state_type current_state  );
  364 static int yy_get_next_buffer ( void );
  365 static void yynoreturn yy_fatal_error ( const char* msg  );
  366 
  367 /* Done after the current pattern has been matched and before the
  368  * corresponding action - sets up yytext.
  369  */
  370 #define YY_DO_BEFORE_ACTION \
  371     (yytext_ptr) = yy_bp; \
  372     yyleng = (int) (yy_cp - yy_bp); \
  373     (yy_hold_char) = *yy_cp; \
  374     *yy_cp = '\0'; \
  375     (yy_c_buf_p) = yy_cp;
  376 #define YY_NUM_RULES 75
  377 #define YY_END_OF_BUFFER 76
  378 /* This struct is not used in this scanner,
  379    but its presence is necessary. */
  380 struct yy_trans_info
  381     {
  382     flex_int32_t yy_verify;
  383     flex_int32_t yy_nxt;
  384     };
  385 static const flex_int16_t yy_accept[521] =
  386     {   0,
  387         0,    0,   76,   74,    2,    1,   74,   74,   73,    7,
  388         6,   73,   71,   71,   73,   73,   70,   70,   73,   73,
  389        73,   73,   71,   73,   73,   73,   73,   73,   73,   73,
  390        73,   73,   73,   70,   73,   73,    4,    5,    1,    0,
  391        72,    0,    0,    0,    0,    0,    0,    0,    3,   73,
  392         8,    7,   73,   71,   73,   70,   73,   73,   73,   73,
  393        73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
  394        73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
  395        73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
  396        71,    0,    0,    0,    0,   70,    0,    0,   73,   71,
  397 
  398        73,   73,   73,   70,   73,   73,   73,   73,   73,   73,
  399        73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
  400        73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
  401        12,   73,   73,   13,   73,   73,   73,    0,    0,    0,
  402         0,   73,   73,   73,   70,   73,   73,   54,   73,   73,
  403        73,   73,   73,   51,   73,   73,   73,   73,   73,   73,
  404        52,   73,   73,   73,   73,   73,   73,   73,   73,   73,
  405        73,   73,   73,   73,   73,   27,   73,   73,    0,    0,
  406        71,   15,   73,   73,   73,   73,   73,   73,   73,   73,
  407        28,   73,   73,   73,   73,   73,   73,   73,   73,   73,
  408 
  409        73,   73,   11,   73,   73,   73,   73,   73,   73,   73,
  410        73,   73,   73,   73,   73,   73,    0,    0,   73,   73,
  411        73,   26,   73,   31,   73,   73,   73,   73,   73,   73,
  412        73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
  413        73,   73,   73,   73,   73,   73,   73,   73,   29,   73,
  414        73,   73,   73,   16,   17,   18,   19,   73,   10,   24,
  415        20,   73,   73,   73,   73,   73,   73,   73,   73,   73,
  416        61,   73,   49,   73,   73,   73,   73,   73,   73,   73,
  417        73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
  418        23,   73,   73,   73,   73,    9,   73,   73,   73,   73,
  419 
  420        73,   60,   73,   73,   73,   73,   38,   73,   73,   73,
  421        73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
  422        73,   73,   73,   73,   32,   73,   73,   73,   73,   25,
  423        73,   46,   73,   73,   73,   73,   73,   73,   73,   73,
  424        73,   73,   36,   73,   73,   73,   73,   73,   73,   73,
  425        73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
  426        73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
  427        73,   73,   47,   73,   73,   73,   73,   21,   73,   73,
  428        73,   14,   73,   40,   73,   73,   73,   73,   73,   73,
  429        73,   73,   73,   73,   73,   67,   73,   39,   73,   73,
  430 
  431        73,   73,   73,   73,   73,   73,   73,   33,   73,   73,
  432        45,   73,   73,   73,   73,   73,   73,   62,   73,   73,
  433        43,   73,   44,   73,   73,   73,   73,   73,   69,   73,
  434        73,   73,   73,   73,   73,   73,   57,   73,   73,   73,
  435        48,   63,   73,   73,   73,   73,   73,   73,   73,   73,
  436        73,   73,   55,   73,   73,   73,   73,   73,   73,   73,
  437        73,   73,   34,   35,   73,   68,   73,   73,   73,   73,
  438        73,   37,   66,   73,   73,   73,   73,   30,   73,   73,
  439        58,   73,   73,   73,   73,   73,   73,   73,   73,   73,
  440        73,   73,   73,   73,   65,   50,   73,   73,   53,   73,
  441 
  442        56,   73,   73,   73,   73,   73,   73,   64,   73,   73,
  443        73,   73,   73,   73,   59,   22,   42,   73,   41,    0
  444     } ;
  445 
  446 static const YY_CHAR yy_ec[256] =
  447     {   0,
  448         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
  449         1,    1,    2,    1,    1,    1,    1,    1,    1,    1,
  450         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  451         1,    2,    1,    4,    5,    1,    1,    1,    1,    1,
  452         1,    1,    1,    1,    6,    7,    1,    8,    9,   10,
  453        11,   12,   12,   12,   12,   12,   12,    1,    1,    1,
  454        13,    1,    1,    1,   14,   15,   15,   15,   16,   17,
  455        15,   15,   15,   15,   15,   18,   15,   19,   20,   15,
  456        15,   21,   22,   23,   24,   15,   15,   15,   25,   15,
  457         1,   26,    1,    1,    1,    1,   27,   28,   29,   30,
  458 
  459        31,   32,   33,   34,   35,   15,   36,   37,   38,   39,
  460        40,   41,   42,   43,   44,   45,   46,   47,   48,   49,
  461        50,   51,   52,    1,   53,    1,    1,    1,    1,    1,
  462         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  463         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  464         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  465         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  466         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  467         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  468         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  469 
  470         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  471         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  472         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  473         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  474         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  475         1,    1,    1,    1,    1
  476     } ;
  477 
  478 static const YY_CHAR yy_meta[54] =
  479     {   0,
  480         1,    1,    2,    1,    1,    3,    1,    3,    3,    3,
  481         3,    3,    1,    3,    3,    3,    3,    3,    3,    3,
  482         3,    3,    3,    3,    3,    1,    3,    3,    3,    3,
  483         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
  484         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
  485         3,    1,    1
  486     } ;
  487 
  488 static const flex_int16_t yy_base[525] =
  489     {   0,
  490         0,    0,  635,  636,  636,    0,   50,  631,   47,   52,
  491       636,    0,   51,   46,   55,  611,   50,   61,  595,  604,
  492        49,  603,   71,  586,  588,  596,  586,  598,   80,   70,
  493       578,   71,   77,   86,  579,   48,  636,  636,    0,   77,
  494       636,  114,  113,  118,  121,  120,  619,  618,  636,    0,
  495       150,  157,  108,    0,  117,    0,  602,  597,  106,  110,
  496       577,  588,  573,  572,  573,  582,  572,  571,  566,  578,
  497       575,  562,  562,  567,  574,  560,  139,  567,  572,  561,
  498        99,  572,  563,  560,  552,  554,  550,  562,  549,  556,
  499       636,  159,  152,  167,  168,  636,  171,  176,  159,    0,
  500 
  501       543,  542,  157,    0,  549,  551,  541,  545,  550,  545,
  502       543,  535,  535,  538,  572,  548,  535,  569,  542,  528,
  503       540,  524,  521,  538,  521,  534,  536,  521,  521,  557,
  504       556,  524,  554,  553,  515,  521,  511,  178,  179,  185,
  505       182,  160,  544,  545,    0,  547,  175,    0,  512,  520,
  506       510,  504,  507,    0,  520,  155,  512,  539,  177,  509,
  507         0,  512,  515,  491,  495,  533,  532,  531,  501,  504,
  508       495,  179,  493,  500,  490,    0,  499,  498,  210,  211,
  509         0,    0,  521,  486,  487,  485,  479,  480,  483,  490,
  510         0,  483,  484,  487,  511,  195,  481,  480,  477,  470,
  511 
  512       467,  505,    0,  482,  188,  481,  468,  477,  466,  466,
  513       477,  470,  475,  458,  457,  493,  217,  219,  455,  467,
  514       463,    0,  451,    0,  455,  458,  455,  444,  457,  449,
  515       453,  456,  455,  442,  447,  452,  476,  450,  204,  434,
  516       452,  441,  431,  437,  469,  436,  440,  433,  465,  426,
  517       429,  424,  198,  636,  636,  636,  636,  427,  460,    0,
  518         0,  435,  417,  432,  431,  424,  421,  416,  191,  415,
  519       451,  425,    0,  411,  448,  407,  409,  414,  418,  404,
  520       408,  415,  440,  416,  417,  408,  412,  409,  395,  394,
  521         0,  397,  394,  391,  205,    0,  404,  395,  396,  392,
  522 
  523       392,    0,  387,  388,  393,  394,    0,  395,  389,  379,
  524       383,  375,  377,  393,  374,  374,  388,  389,  370,  375,
  525       369,  385,  371,  370,    0,  369,  368,  367,  375,    0,
  526       378,    0,  376,  372,  371,  395,  368,  362,  355,  366,
  527       362,  346,    0,  359,  387,  348,  356,  363,  360,  359,
  528       356,  352,  356,  343,  339,  333,  337,  341,  347,  340,
  529       350,  347,  331,  208,  324,  333,  325,  321,  330,  319,
  530       317,  330,    0,  315,  336,  330,  329,    0,  335,  326,
  531       329,    0,  309,    0,  319,  314,  325,  318,  309,  319,
  532       317,  313,  344,  321,  317,    0,  304,    0,  315,  314,
  533 
  534       313,  309,  311,  335,  304,  302,  299,  331,  305,  304,
  535         0,  328,  327,  326,  294,  290,  285,    0,  285,  292,
  536         0,  287,    0,  294,  318,  296,  291,  286,    0,  273,
  537       290,  274,  288,  271,  280,  283,    0,  268,  306,  266,
  538         0,    0,  209,  282,  303,  263,  242,  262,  272,  274,
  539       266,  264,    0,  275,  272,  250,  267,  263,  266,  256,
  540       250,  244,    0,    0,  287,    0,  249,  251,  245,  248,
  541       253,    0,    0,  243,  255,  242,  249,    0,  238,  237,
  542         0,  250,  243,  238,  233,  234,  231,  237,  239,  229,
  543       229,  240,  236,  238,    0,    0,  237,  229,    0,  219,
  544 
  545         0,  234,  225,  223,  224,  220,  176,    0,  144,  115,
  546       111,   87,   75,   58,    0,    0,    0,   51,    0,  636,
  547       253,  256,  259,   76
  548     } ;
  549 
  550 static const flex_int16_t yy_def[525] =
  551     {   0,
  552       520,    1,  520,  520,  520,  521,  522,  523,  524,  524,
  553       520,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  554       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  555       524,  524,  524,  524,  524,  524,  520,  520,  521,  522,
  556       520,  522,  522,  522,  522,  522,  522,  523,  520,  524,
  557       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  558       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  559       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  560       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  561       520,  522,  522,  522,  522,  520,  522,  522,  524,  524,
  562 
  563       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  564       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  565       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  566       524,  524,  524,  524,  524,  524,  524,  522,  522,  522,
  567       522,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  568       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  569       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  570       524,  524,  524,  524,  524,  524,  524,  524,  522,  522,
  571       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  572       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  573 
  574       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  575       524,  524,  524,  524,  524,  524,  522,  520,  524,  524,
  576       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  577       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  578       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  579       524,  524,  524,  520,  520,  520,  520,  524,  524,  524,
  580       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  581       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  582       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  583       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  584 
  585       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  586       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  587       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  588       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  589       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  590       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  591       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  592       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  593       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  594       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  595 
  596       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  597       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  598       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  599       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  600       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  601       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  602       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  603       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  604       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  605       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  606 
  607       524,  524,  524,  524,  524,  524,  524,  524,  524,  524,
  608       524,  524,  524,  524,  524,  524,  524,  524,  524,    0,
  609       520,  520,  520,  520
  610     } ;
  611 
  612 static const flex_int16_t yy_nxt[690] =
  613     {   0,
  614         4,    5,    6,    7,    8,    9,    4,   10,   10,   10,
  615        10,   10,   11,   12,   12,   12,   13,   12,   14,   15,
  616        12,   16,   17,   12,   18,    4,   19,   20,   21,   22,
  617        12,   23,   24,   25,   12,   26,   27,   28,   14,   29,
  618        30,   31,   32,   33,   34,   35,   12,   36,   12,   18,
  619        12,   37,   38,   41,   51,   51,   51,   51,   51,   52,
  620        52,   52,   52,   52,   53,   54,   42,   58,   43,   44,
  621        59,   55,   45,   56,   46,   47,   60,   53,   50,   63,
  622        41,   42,   64,   65,   53,   54,   55,   89,   43,   44,
  623        90,   60,   59,   56,   45,  519,   55,   53,   56,   46,
  624 
  625        74,   79,   47,  518,   75,   80,   59,   81,   73,   76,
  626        82,   55,   77,   67,   86,   83,   91,   91,   56,  517,
  627        84,   41,   87,   96,   96,   99,   85,   92,   59,  103,
  628       516,  104,   93,  100,   94,   98,   95,  127,   47,   47,
  629        92,   97,  128,   47,   99,   47,   47,  515,  100,   94,
  630        98,  103,   93,  104,  514,   91,   95,   51,   51,   51,
  631        51,   51,   41,   97,   52,   52,   52,   52,   52,  121,
  632        41,   96,  145,  122,   41,  181,  138,   47,  123,   41,
  633       142,   41,   91,  139,   47,   96,  193,  145,   41,  513,
  634       181,  194,   47,   47,  140,  138,   47,  141,  139,  179,
  635 
  636       180,   47,  142,   47,   47,  185,  197,   47,  198,  210,
  637        47,  186,  211,   41,   96,  180,  140,  241,  512,  141,
  638        91,  179,  303,  230,  231,  217,  254,  255,  256,  257,
  639       276,  242,  292,  328,  304,   47,   47,  232,  293,  391,
  640       217,  233,   47,  457,  277,  458,  511,  329,  278,  459,
  641       463,  464,  392,   39,  510,   39,   40,   40,   40,   48,
  642        48,   48,  509,  508,  507,  506,  505,  504,  503,  502,
  643       501,  500,  499,  498,  497,  496,  495,  494,  493,  492,
  644       491,  490,  489,  488,  487,  486,  485,  484,  483,  482,
  645       481,  480,  479,  478,  477,  476,  475,  474,  473,  472,
  646 
  647       471,  470,  469,  468,  467,  466,  465,  462,  461,  460,
  648       456,  455,  454,  453,  452,  451,  450,  449,  448,  447,
  649       446,  445,  444,  443,  442,  441,  440,  439,  438,  437,
  650       436,  435,  434,  433,  432,  431,  430,  429,  428,  427,
  651       426,  425,  424,  423,  422,  421,  420,  419,  418,  417,
  652       416,  415,  414,  413,  412,  411,  410,  409,  408,  407,
  653       406,  405,  404,  403,  402,  401,  400,  399,  398,  397,
  654       396,  395,  394,  393,  390,  389,  388,  387,  386,  385,
  655       384,  383,  382,  381,  380,  379,  378,  377,  376,  375,
  656       374,  373,  372,  371,  370,  369,  368,  367,  366,  365,
  657 
  658       364,  363,  362,  361,  360,  359,  358,  357,  356,  355,
  659       354,  353,  352,  351,  350,  349,  348,  347,  346,  345,
  660       344,  343,  342,  341,  340,  339,  338,  337,  336,  335,
  661       334,  333,  332,  331,  330,  327,  326,  325,  324,  323,
  662       322,  321,  320,  319,  318,  317,  316,  315,  314,  313,
  663       312,  311,  310,  309,  308,  307,  306,  305,  302,  301,
  664       300,  299,  298,  297,  296,  295,  294,  291,  290,  289,
  665       288,  287,  286,  285,  284,  283,  282,  281,  280,  279,
  666       275,  274,  273,  272,  271,  270,  269,  268,  267,  266,
  667       265,  264,  263,  262,  261,  260,  259,  258,  253,  252,
  668 
  669       251,  250,  249,  248,  247,  246,  245,  244,  243,  240,
  670       239,  238,  237,  236,  235,  234,  229,  228,  227,  226,
  671       225,  224,  223,  222,  221,  220,  219,  218,  216,  215,
  672       214,  213,  212,  209,  208,  207,  206,  205,  204,  203,
  673       202,  201,  200,  199,  196,  195,  192,  191,  190,  189,
  674       188,  187,  184,  183,  182,  178,  177,  176,  175,  174,
  675       173,  172,  171,  170,  169,  168,  167,  166,  165,  164,
  676       163,  162,  161,  160,  159,  158,  157,  156,  155,  154,
  677       153,  152,  151,  150,  149,  148,  147,  146,  144,  143,
  678       137,  136,  135,  134,  133,  132,  131,  130,  129,  126,
  679 
  680       125,  124,  120,  119,  118,  117,  116,  115,  114,  113,
  681       112,  111,  110,  109,  108,  107,  106,  105,  102,  101,
  682        49,  520,   88,   78,   72,   71,   70,   69,   68,   66,
  683        62,   61,   57,   49,  520,    3,  520,  520,  520,  520,
  684       520,  520,  520,  520,  520,  520,  520,  520,  520,  520,
  685       520,  520,  520,  520,  520,  520,  520,  520,  520,  520,
  686       520,  520,  520,  520,  520,  520,  520,  520,  520,  520,
  687       520,  520,  520,  520,  520,  520,  520,  520,  520,  520,
  688       520,  520,  520,  520,  520,  520,  520,  520,  520
  689     } ;
  690 
  691 static const flex_int16_t yy_chk[690] =
  692     {   0,
  693         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  694         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  695         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  696         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  697         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  698         1,    1,    1,    7,    9,    9,    9,    9,    9,   10,
  699        10,   10,   10,   10,   13,   14,    7,   17,    7,    7,
  700        17,   15,    7,   15,    7,    7,   18,   13,  524,   21,
  701        40,    7,   21,   21,   23,   14,   15,   36,    7,    7,
  702        36,   18,   17,   15,    7,  518,   29,   23,   29,    7,
  703 
  704        30,   32,   40,  514,   30,   32,   34,   33,   29,   30,
  705        33,   29,   30,   23,   34,   33,   43,   42,   29,  513,
  706        33,   44,   34,   46,   45,   53,   33,   42,   34,   59,
  707       512,   60,   43,   55,   44,   46,   44,   81,   43,   42,
  708        42,   45,   81,   44,   53,   46,   45,  511,   55,   44,
  709        46,   59,   43,   60,  510,   93,   44,   51,   51,   51,
  710        51,   51,   92,   45,   52,   52,   52,   52,   52,   77,
  711        94,   95,  103,   77,   97,  142,   92,   93,   77,   98,
  712        99,  138,  139,   94,   92,  141,  156,  103,  140,  509,
  713       142,  156,   94,   95,   97,   92,   97,   98,   94,  138,
  714 
  715       140,   98,   99,  138,  139,  147,  159,  141,  159,  172,
  716       140,  147,  172,  179,  180,  140,   97,  205,  507,   98,
  717       217,  138,  269,  196,  196,  179,  218,  218,  218,  218,
  718       239,  205,  253,  295,  269,  179,  180,  196,  253,  364,
  719       179,  196,  217,  443,  239,  443,  506,  295,  239,  443,
  720       447,  447,  364,  521,  505,  521,  522,  522,  522,  523,
  721       523,  523,  504,  503,  502,  500,  498,  497,  494,  493,
  722       492,  491,  490,  489,  488,  487,  486,  485,  484,  483,
  723       482,  480,  479,  477,  476,  475,  474,  471,  470,  469,
  724       468,  467,  465,  462,  461,  460,  459,  458,  457,  456,
  725 
  726       455,  454,  452,  451,  450,  449,  448,  446,  445,  444,
  727       440,  439,  438,  436,  435,  434,  433,  432,  431,  430,
  728       428,  427,  426,  425,  424,  422,  420,  419,  417,  416,
  729       415,  414,  413,  412,  410,  409,  408,  407,  406,  405,
  730       404,  403,  402,  401,  400,  399,  397,  395,  394,  393,
  731       392,  391,  390,  389,  388,  387,  386,  385,  383,  381,
  732       380,  379,  377,  376,  375,  374,  372,  371,  370,  369,
  733       368,  367,  366,  365,  363,  362,  361,  360,  359,  358,
  734       357,  356,  355,  354,  353,  352,  351,  350,  349,  348,
  735       347,  346,  345,  344,  342,  341,  340,  339,  338,  337,
  736 
  737       336,  335,  334,  333,  331,  329,  328,  327,  326,  324,
  738       323,  322,  321,  320,  319,  318,  317,  316,  315,  314,
  739       313,  312,  311,  310,  309,  308,  306,  305,  304,  303,
  740       301,  300,  299,  298,  297,  294,  293,  292,  290,  289,
  741       288,  287,  286,  285,  284,  283,  282,  281,  280,  279,
  742       278,  277,  276,  275,  274,  272,  271,  270,  268,  267,
  743       266,  265,  264,  263,  262,  259,  258,  252,  251,  250,
  744       249,  248,  247,  246,  245,  244,  243,  242,  241,  240,
  745       238,  237,  236,  235,  234,  233,  232,  231,  230,  229,
  746       228,  227,  226,  225,  223,  221,  220,  219,  216,  215,
  747 
  748       214,  213,  212,  211,  210,  209,  208,  207,  206,  204,
  749       202,  201,  200,  199,  198,  197,  195,  194,  193,  192,
  750       190,  189,  188,  187,  186,  185,  184,  183,  178,  177,
  751       175,  174,  173,  171,  170,  169,  168,  167,  166,  165,
  752       164,  163,  162,  160,  158,  157,  155,  153,  152,  151,
  753       150,  149,  146,  144,  143,  137,  136,  135,  134,  133,
  754       132,  131,  130,  129,  128,  127,  126,  125,  124,  123,
  755       122,  121,  120,  119,  118,  117,  116,  115,  114,  113,
  756       112,  111,  110,  109,  108,  107,  106,  105,  102,  101,
  757        90,   89,   88,   87,   86,   85,   84,   83,   82,   80,
  758 
  759        79,   78,   76,   75,   74,   73,   72,   71,   70,   69,
  760        68,   67,   66,   65,   64,   63,   62,   61,   58,   57,
  761        48,   47,   35,   31,   28,   27,   26,   25,   24,   22,
  762        20,   19,   16,    8,    3,  520,  520,  520,  520,  520,
  763       520,  520,  520,  520,  520,  520,  520,  520,  520,  520,
  764       520,  520,  520,  520,  520,  520,  520,  520,  520,  520,
  765       520,  520,  520,  520,  520,  520,  520,  520,  520,  520,
  766       520,  520,  520,  520,  520,  520,  520,  520,  520,  520,
  767       520,  520,  520,  520,  520,  520,  520,  520,  520
  768     } ;
  769 
  770 /* Table of booleans, true if rule could match eol. */
  771 static const flex_int32_t yy_rule_can_match_eol[76] =
  772     {   0,
  773 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  774     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  775     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  776     0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,     };
  777 
  778 static yy_state_type yy_last_accepting_state;
  779 static char *yy_last_accepting_cpos;
  780 
  781 extern int yy_flex_debug;
  782 int yy_flex_debug = 0;
  783 
  784 /* The intent behind this definition is that it'll catch
  785  * any uses of REJECT which flex missed.
  786  */
  787 #define REJECT reject_used_but_not_detected
  788 #define yymore() yymore_used_but_not_detected
  789 #define YY_MORE_ADJ 0
  790 #define YY_RESTORE_YY_MORE_OFFSET
  791 char *yytext;
  792 #line 1 "cfg_lex.l"
  793 #line 2 "cfg_lex.l"
  794 #include <stdio.h>
  795 #include <assert.h>
  796 
  797 #include "configuration.h"
  798 #include "cfg_parser.h"
  799 
  800 char input_line[512];
  801 
  802 #line 803 "cfg_lex.c"
  803 #define YY_NO_INPUT 1
  804 #line 805 "cfg_lex.c"
  805 
  806 #define INITIAL 0
  807 
  808 #ifndef YY_NO_UNISTD_H
  809 /* Special case for "unistd.h", since it is non-ANSI. We include it way
  810  * down here because we want the user's section 1 to have been scanned first.
  811  * The user has a chance to override it with an option.
  812  */
  813 #include <unistd.h>
  814 #endif
  815 
  816 #ifndef YY_EXTRA_TYPE
  817 #define YY_EXTRA_TYPE void *
  818 #endif
  819 
  820 static int yy_init_globals ( void );
  821 
  822 /* Accessor methods to globals.
  823    These are made visible to non-reentrant scanners for convenience. */
  824 
  825 int yylex_destroy ( void );
  826 
  827 int yyget_debug ( void );
  828 
  829 void yyset_debug ( int debug_flag  );
  830 
  831 YY_EXTRA_TYPE yyget_extra ( void );
  832 
  833 void yyset_extra ( YY_EXTRA_TYPE user_defined  );
  834 
  835 FILE *yyget_in ( void );
  836 
  837 void yyset_in  ( FILE * _in_str  );
  838 
  839 FILE *yyget_out ( void );
  840 
  841 void yyset_out  ( FILE * _out_str  );
  842 
  843             int yyget_leng ( void );
  844 
  845 char *yyget_text ( void );
  846 
  847 int yyget_lineno ( void );
  848 
  849 void yyset_lineno ( int _line_number  );
  850 
  851 /* Macros after this point can all be overridden by user definitions in
  852  * section 1.
  853  */
  854 
  855 #ifndef YY_SKIP_YYWRAP
  856 #ifdef __cplusplus
  857 extern "C" int yywrap ( void );
  858 #else
  859 extern int yywrap ( void );
  860 #endif
  861 #endif
  862 
  863 #ifndef YY_NO_UNPUT
  864     
  865 #endif
  866 
  867 #ifndef yytext_ptr
  868 static void yy_flex_strncpy ( char *, const char *, int );
  869 #endif
  870 
  871 #ifdef YY_NEED_STRLEN
  872 static int yy_flex_strlen ( const char * );
  873 #endif
  874 
  875 #ifndef YY_NO_INPUT
  876 #ifdef __cplusplus
  877 static int yyinput ( void );
  878 #else
  879 static int input ( void );
  880 #endif
  881 
  882 #endif
  883 
  884 /* Amount of stuff to slurp up with each read. */
  885 #ifndef YY_READ_BUF_SIZE
  886 #ifdef __ia64__
  887 /* On IA-64, the buffer size is 16k, not 8k */
  888 #define YY_READ_BUF_SIZE 16384
  889 #else
  890 #define YY_READ_BUF_SIZE 8192
  891 #endif /* __ia64__ */
  892 #endif
  893 
  894 /* Copy whatever the last rule matched to the standard output. */
  895 #ifndef ECHO
  896 /* This used to be an fputs(), but since the string might contain NUL's,
  897  * we now use fwrite().
  898  */
  899 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
  900 #endif
  901 
  902 /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
  903  * is returned in "result".
  904  */
  905 #ifndef YY_INPUT
  906 #define YY_INPUT(buf,result,max_size) \
  907     if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
  908         { \
  909         int c = '*'; \
  910         int n; \
  911         for ( n = 0; n < max_size && \
  912                  (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
  913             buf[n] = (char) c; \
  914         if ( c == '\n' ) \
  915             buf[n++] = (char) c; \
  916         if ( c == EOF && ferror( yyin ) ) \
  917             YY_FATAL_ERROR( "input in flex scanner failed" ); \
  918         result = n; \
  919         } \
  920     else \
  921         { \
  922         errno=0; \
  923         while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
  924             { \
  925             if( errno != EINTR) \
  926                 { \
  927                 YY_FATAL_ERROR( "input in flex scanner failed" ); \
  928                 break; \
  929                 } \
  930             errno=0; \
  931             clearerr(yyin); \
  932             } \
  933         }\
  934 \
  935 
  936 #endif
  937 
  938 /* No semi-colon after return; correct usage is to write "yyterminate();" -
  939  * we don't want an extra ';' after the "return" because that will cause
  940  * some compilers to complain about unreachable statements.
  941  */
  942 #ifndef yyterminate
  943 #define yyterminate() return YY_NULL
  944 #endif
  945 
  946 /* Number of entries by which start-condition stack grows. */
  947 #ifndef YY_START_STACK_INCR
  948 #define YY_START_STACK_INCR 25
  949 #endif
  950 
  951 /* Report a fatal error. */
  952 #ifndef YY_FATAL_ERROR
  953 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
  954 #endif
  955 
  956 /* end tables serialization structures and prototypes */
  957 
  958 /* Default declaration of generated scanner - a define so the user can
  959  * easily add parameters.
  960  */
  961 #ifndef YY_DECL
  962 #define YY_DECL_IS_OURS 1
  963 
  964 extern int yylex (void);
  965 
  966 #define YY_DECL int yylex (void)
  967 #endif /* !YY_DECL */
  968 
  969 /* Code executed at the beginning of each rule, after yytext and yyleng
  970  * have been set up.
  971  */
  972 #ifndef YY_USER_ACTION
  973 #define YY_USER_ACTION
  974 #endif
  975 
  976 /* Code executed at the end of each rule. */
  977 #ifndef YY_BREAK
  978 #define YY_BREAK /*LINTED*/break;
  979 #endif
  980 
  981 #define YY_RULE_SETUP \
  982     YY_USER_ACTION
  983 
  984 /** The main scanner function which does all the work.
  985  */
  986 YY_DECL
  987 {
  988     yy_state_type yy_current_state;
  989     char *yy_cp, *yy_bp;
  990     int yy_act;
  991     
  992     if ( !(yy_init) )
  993         {
  994         (yy_init) = 1;
  995 
  996 #ifdef YY_USER_INIT
  997         YY_USER_INIT;
  998 #endif
  999 
 1000         if ( ! (yy_start) )
 1001             (yy_start) = 1; /* first start state */
 1002 
 1003         if ( ! yyin )
 1004             yyin = stdin;
 1005 
 1006         if ( ! yyout )
 1007             yyout = stdout;
 1008 
 1009         if ( ! YY_CURRENT_BUFFER ) {
 1010             yyensure_buffer_stack ();
 1011             YY_CURRENT_BUFFER_LVALUE =
 1012                 yy_create_buffer( yyin, YY_BUF_SIZE );
 1013         }
 1014 
 1015         yy_load_buffer_state(  );
 1016         }
 1017 
 1018     {
 1019 #line 15 "cfg_lex.l"
 1020 
 1021 #line 1022 "cfg_lex.c"
 1022 
 1023     while ( /*CONSTCOND*/1 )        /* loops until end-of-file is reached */
 1024         {
 1025         yy_cp = (yy_c_buf_p);
 1026 
 1027         /* Support of yytext. */
 1028         *yy_cp = (yy_hold_char);
 1029 
 1030         /* yy_bp points to the position in yy_ch_buf of the start of
 1031          * the current run.
 1032          */
 1033         yy_bp = yy_cp;
 1034 
 1035         yy_current_state = (yy_start);
 1036 yy_match:
 1037         do
 1038             {
 1039             YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
 1040             if ( yy_accept[yy_current_state] )
 1041                 {
 1042                 (yy_last_accepting_state) = yy_current_state;
 1043                 (yy_last_accepting_cpos) = yy_cp;
 1044                 }
 1045             while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 1046                 {
 1047                 yy_current_state = (int) yy_def[yy_current_state];
 1048                 if ( yy_current_state >= 521 )
 1049                     yy_c = yy_meta[yy_c];
 1050                 }
 1051             yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
 1052             ++yy_cp;
 1053             }
 1054         while ( yy_base[yy_current_state] != 636 );
 1055 
 1056 yy_find_action:
 1057         yy_act = yy_accept[yy_current_state];
 1058         if ( yy_act == 0 )
 1059             { /* have to back up */
 1060             yy_cp = (yy_last_accepting_cpos);
 1061             yy_current_state = (yy_last_accepting_state);
 1062             yy_act = yy_accept[yy_current_state];
 1063             }
 1064 
 1065         YY_DO_BEFORE_ACTION;
 1066 
 1067         if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
 1068             {
 1069             int yyl;
 1070             for ( yyl = 0; yyl < yyleng; ++yyl )
 1071                 if ( yytext[yyl] == '\n' )
 1072                     
 1073     yylineno++;
 1074 ;
 1075             }
 1076 
 1077 do_action:  /* This label is used only to access EOF actions. */
 1078 
 1079         switch ( yy_act )
 1080     { /* beginning of action switch */
 1081             case 0: /* must back up */
 1082             /* undo the effects of YY_DO_BEFORE_ACTION */
 1083             *yy_cp = (yy_hold_char);
 1084             yy_cp = (yy_last_accepting_cpos);
 1085             yy_current_state = (yy_last_accepting_state);
 1086             goto yy_find_action;
 1087 
 1088 case 1:
 1089 /* rule 1 can match eol */
 1090 YY_RULE_SETUP
 1091 #line 16 "cfg_lex.l"
 1092 {
 1093     strncpy(input_line, yytext + 1, sizeof (input_line) - 1);
 1094     input_line[sizeof(input_line) - 1] = '\0';
 1095     yyless(1);
 1096 }
 1097     YY_BREAK
 1098 case 2:
 1099 /* rule 2 can match eol */
 1100 YY_RULE_SETUP
 1101 #line 22 "cfg_lex.l"
 1102 ;
 1103     YY_BREAK
 1104 case 3:
 1105 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
 1106 (yy_c_buf_p) = yy_cp -= 1;
 1107 YY_DO_BEFORE_ACTION; /* set up yytext again */
 1108 YY_RULE_SETUP
 1109 #line 23 "cfg_lex.l"
 1110 ;
 1111     YY_BREAK
 1112 case 4:
 1113 YY_RULE_SETUP
 1114 #line 24 "cfg_lex.l"
 1115 { return ('{'); }
 1116     YY_BREAK
 1117 case 5:
 1118 YY_RULE_SETUP
 1119 #line 25 "cfg_lex.l"
 1120 { return ('}'); }
 1121     YY_BREAK
 1122 case 6:
 1123 YY_RULE_SETUP
 1124 #line 26 "cfg_lex.l"
 1125 { return ('='); }
 1126     YY_BREAK
 1127 case 7:
 1128 YY_RULE_SETUP
 1129 #line 28 "cfg_lex.l"
 1130 {
 1131     yylval.i = atoi(yytext);
 1132     return (UINT);
 1133 }
 1134     YY_BREAK
 1135 case 8:
 1136 YY_RULE_SETUP
 1137 #line 33 "cfg_lex.l"
 1138 {
 1139     yylval.i = atoi(yytext);
 1140     return (INT);
 1141 }
 1142     YY_BREAK
 1143 case 9:
 1144 YY_RULE_SETUP
 1145 #line 38 "cfg_lex.l"
 1146 { return (TOK_FRONTEND); }
 1147     YY_BREAK
 1148 case 10:
 1149 YY_RULE_SETUP
 1150 #line 39 "cfg_lex.l"
 1151 { return (TOK_BACKEND); }
 1152     YY_BREAK
 1153 case 11:
 1154 YY_RULE_SETUP
 1155 #line 40 "cfg_lex.l"
 1156 { return (TOK_QUIET); }
 1157     YY_BREAK
 1158 case 12:
 1159 YY_RULE_SETUP
 1160 #line 41 "cfg_lex.l"
 1161 { return (TOK_SSL); }
 1162     YY_BREAK
 1163 case 13:
 1164 YY_RULE_SETUP
 1165 #line 42 "cfg_lex.l"
 1166 { return (TOK_TLS); }
 1167     YY_BREAK
 1168 case 14:
 1169 YY_RULE_SETUP
 1170 #line 43 "cfg_lex.l"
 1171 { return (TOK_TLS_PROTOS); }
 1172     YY_BREAK
 1173 case 15:
 1174 YY_RULE_SETUP
 1175 #line 44 "cfg_lex.l"
 1176 { return (TOK_SSLv3); }
 1177     YY_BREAK
 1178 case 16:
 1179 YY_RULE_SETUP
 1180 #line 45 "cfg_lex.l"
 1181 { return (TOK_TLSv1_0); }
 1182     YY_BREAK
 1183 case 17:
 1184 YY_RULE_SETUP
 1185 #line 46 "cfg_lex.l"
 1186 { return (TOK_TLSv1_1); }
 1187     YY_BREAK
 1188 case 18:
 1189 YY_RULE_SETUP
 1190 #line 47 "cfg_lex.l"
 1191 { return (TOK_TLSv1_2); }
 1192     YY_BREAK
 1193 case 19:
 1194 YY_RULE_SETUP
 1195 #line 48 "cfg_lex.l"
 1196 { return (TOK_TLSv1_3); }
 1197     YY_BREAK
 1198 case 20:
 1199 YY_RULE_SETUP
 1200 #line 49 "cfg_lex.l"
 1201 { return (TOK_CIPHERS); }
 1202     YY_BREAK
 1203 case 21:
 1204 YY_RULE_SETUP
 1205 #line 50 "cfg_lex.l"
 1206 { return (TOK_SSL_ENGINE); }
 1207     YY_BREAK
 1208 case 22:
 1209 YY_RULE_SETUP
 1210 #line 51 "cfg_lex.l"
 1211 { return (TOK_PREFER_SERVER_CIPHERS); }
 1212     YY_BREAK
 1213 case 23:
 1214 YY_RULE_SETUP
 1215 #line 52 "cfg_lex.l"
 1216 { return (TOK_WORKERS); }
 1217     YY_BREAK
 1218 case 24:
 1219 YY_RULE_SETUP
 1220 #line 53 "cfg_lex.l"
 1221 { return (TOK_BACKLOG); }
 1222     YY_BREAK
 1223 case 25:
 1224 YY_RULE_SETUP
 1225 #line 54 "cfg_lex.l"
 1226 { return (TOK_KEEPALIVE); }
 1227     YY_BREAK
 1228 case 26:
 1229 YY_RULE_SETUP
 1230 #line 55 "cfg_lex.l"
 1231 { return (TOK_CHROOT); }
 1232     YY_BREAK
 1233 case 27:
 1234 YY_RULE_SETUP
 1235 #line 56 "cfg_lex.l"
 1236 { return (TOK_USER); }
 1237     YY_BREAK
 1238 case 28:
 1239 YY_RULE_SETUP
 1240 #line 57 "cfg_lex.l"
 1241 { return (TOK_GROUP); }
 1242     YY_BREAK
 1243 case 29:
 1244 YY_RULE_SETUP
 1245 #line 58 "cfg_lex.l"
 1246 { return (TOK_SYSLOG); }
 1247     YY_BREAK
 1248 case 30:
 1249 YY_RULE_SETUP
 1250 #line 59 "cfg_lex.l"
 1251 { return (TOK_SYSLOG_FACILITY); }
 1252     YY_BREAK
 1253 case 31:
 1254 YY_RULE_SETUP
 1255 #line 60 "cfg_lex.l"
 1256 { return (TOK_DAEMON); }
 1257     YY_BREAK
 1258 case 32:
 1259 YY_RULE_SETUP
 1260 #line 61 "cfg_lex.l"
 1261 { return (TOK_WRITE_IP); }
 1262     YY_BREAK
 1263 case 33:
 1264 YY_RULE_SETUP
 1265 #line 62 "cfg_lex.l"
 1266 { return (TOK_WRITE_PROXY); }
 1267     YY_BREAK
 1268 case 34:
 1269 YY_RULE_SETUP
 1270 #line 63 "cfg_lex.l"
 1271 { return (TOK_WRITE_PROXY_V1); }
 1272     YY_BREAK
 1273 case 35:
 1274 YY_RULE_SETUP
 1275 #line 64 "cfg_lex.l"
 1276 { return (TOK_WRITE_PROXY_V2); }
 1277     YY_BREAK
 1278 case 36:
 1279 YY_RULE_SETUP
 1280 #line 65 "cfg_lex.l"
 1281 { return (TOK_PROXY_TLV); }
 1282     YY_BREAK
 1283 case 37:
 1284 YY_RULE_SETUP
 1285 #line 66 "cfg_lex.l"
 1286 { return (TOK_PROXY_AUTHORITY); }
 1287     YY_BREAK
 1288 case 38:
 1289 YY_RULE_SETUP
 1290 #line 67 "cfg_lex.l"
 1291 { return (TOK_PEM_FILE); }
 1292     YY_BREAK
 1293 case 39:
 1294 YY_RULE_SETUP
 1295 #line 68 "cfg_lex.l"
 1296 { return (TOK_PROXY_PROXY); }
 1297     YY_BREAK
 1298 case 40:
 1299 YY_RULE_SETUP
 1300 #line 69 "cfg_lex.l"
 1301 { return (TOK_ALPN_PROTOS); }
 1302     YY_BREAK
 1303 case 41:
 1304 YY_RULE_SETUP
 1305 #line 70 "cfg_lex.l"
 1306 { return (TOK_BACKEND_CONNECT_TIMEOUT); }
 1307     YY_BREAK
 1308 case 42:
 1309 YY_RULE_SETUP
 1310 #line 71 "cfg_lex.l"
 1311 { return (TOK_SSL_HANDSHAKE_TIMEOUT); }
 1312     YY_BREAK
 1313 case 43:
 1314 YY_RULE_SETUP
 1315 #line 72 "cfg_lex.l"
 1316 { return (TOK_RECV_BUFSIZE); }
 1317     YY_BREAK
 1318 case 44:
 1319 YY_RULE_SETUP
 1320 #line 73 "cfg_lex.l"
 1321 { return (TOK_SEND_BUFSIZE); }
 1322     YY_BREAK
 1323 case 45:
 1324 YY_RULE_SETUP
 1325 #line 74 "cfg_lex.l"
 1326 { return (TOK_LOG_FILENAME); }
 1327     YY_BREAK
 1328 case 46:
 1329 YY_RULE_SETUP
 1330 #line 75 "cfg_lex.l"
 1331 { return (TOK_LOG_LEVEL); }
 1332     YY_BREAK
 1333 case 47:
 1334 YY_RULE_SETUP
 1335 #line 76 "cfg_lex.l"
 1336 { return (TOK_RING_SLOTS); }
 1337     YY_BREAK
 1338 case 48:
 1339 YY_RULE_SETUP
 1340 #line 77 "cfg_lex.l"
 1341 { return (TOK_RING_DATA_LEN); }
 1342     YY_BREAK
 1343 case 49:
 1344 YY_RULE_SETUP
 1345 #line 78 "cfg_lex.l"
 1346 { return (TOK_PIDFILE); }
 1347     YY_BREAK
 1348 case 50:
 1349 YY_RULE_SETUP
 1350 #line 79 "cfg_lex.l"
 1351 { return (TOK_SNI_NOMATCH_ABORT); }
 1352     YY_BREAK
 1353 case 51:
 1354 YY_RULE_SETUP
 1355 #line 80 "cfg_lex.l"
 1356 { return (TOK_HOST); }
 1357     YY_BREAK
 1358 case 52:
 1359 YY_RULE_SETUP
 1360 #line 81 "cfg_lex.l"
 1361 { return (TOK_PORT); }
 1362     YY_BREAK
 1363 case 53:
 1364 YY_RULE_SETUP
 1365 #line 82 "cfg_lex.l"
 1366 { return (TOK_MATCH_GLOBAL); }
 1367     YY_BREAK
 1368 case 54:
 1369 YY_RULE_SETUP
 1370 #line 83 "cfg_lex.l"
 1371 { return (TOK_PB_CERT); }
 1372     YY_BREAK
 1373 case 55:
 1374 YY_RULE_SETUP
 1375 #line 84 "cfg_lex.l"
 1376 { return (TOK_PB_OCSP_FILE); }
 1377     YY_BREAK
 1378 case 56:
 1379 YY_RULE_SETUP
 1380 #line 85 "cfg_lex.l"
 1381 { return (TOK_OCSP_VERIFY); }
 1382     YY_BREAK
 1383 case 57:
 1384 YY_RULE_SETUP
 1385 #line 86 "cfg_lex.l"
 1386 { return (TOK_OCSP_RESP_TMO); }
 1387     YY_BREAK
 1388 case 58:
 1389 YY_RULE_SETUP
 1390 #line 87 "cfg_lex.l"
 1391 { return (TOK_OCSP_CONN_TMO); }
 1392     YY_BREAK
 1393 case 59:
 1394 YY_RULE_SETUP
 1395 #line 88 "cfg_lex.l"
 1396 { return (TOK_OCSP_REFRESH_INTERVAL); }
 1397     YY_BREAK
 1398 case 60:
 1399 YY_RULE_SETUP
 1400 #line 89 "cfg_lex.l"
 1401 { return (TOK_OCSP_DIR); }
 1402     YY_BREAK
 1403 case 61:
 1404 YY_RULE_SETUP
 1405 #line 90 "cfg_lex.l"
 1406 { return (TOK_PEM_DIR); }
 1407     YY_BREAK
 1408 case 62:
 1409 YY_RULE_SETUP
 1410 #line 91 "cfg_lex.l"
 1411 { return (TOK_PEM_DIR_GLOB); }
 1412     YY_BREAK
 1413 case 63:
 1414 YY_RULE_SETUP
 1415 #line 92 "cfg_lex.l"
 1416 { return (TOK_SESSION_CACHE); }
 1417     YY_BREAK
 1418 case 64:
 1419 YY_RULE_SETUP
 1420 #line 93 "cfg_lex.l"
 1421 { return (TOK_SHARED_CACHE_LISTEN); }
 1422     YY_BREAK
 1423 case 65:
 1424 YY_RULE_SETUP
 1425 #line 94 "cfg_lex.l"
 1426 { return (TOK_SHARED_CACHE_PEER); }
 1427     YY_BREAK
 1428 case 66:
 1429 YY_RULE_SETUP
 1430 #line 95 "cfg_lex.l"
 1431 { return (TOK_SHARED_CACHE_IF); }
 1432     YY_BREAK
 1433 case 67:
 1434 YY_RULE_SETUP
 1435 #line 96 "cfg_lex.l"
 1436 { return (TOK_PRIVATE_KEY); }
 1437     YY_BREAK
 1438 case 68:
 1439 YY_RULE_SETUP
 1440 #line 97 "cfg_lex.l"
 1441 { return (TOK_BACKEND_REFRESH); }
 1442     YY_BREAK
 1443 case 69:
 1444 YY_RULE_SETUP
 1445 #line 98 "cfg_lex.l"
 1446 { return (TOK_TFO); }
 1447     YY_BREAK
 1448 case 70:
 1449 YY_RULE_SETUP
 1450 #line 100 "cfg_lex.l"
 1451 {
 1452     yylval.i = 1;
 1453     return (BOOL);
 1454 }
 1455     YY_BREAK
 1456 case 71:
 1457 YY_RULE_SETUP
 1458 #line 105 "cfg_lex.l"
 1459 {
 1460     yylval.i = 0;
 1461     return (BOOL);
 1462 }
 1463     YY_BREAK
 1464 case 72:
 1465 /* rule 72 can match eol */
 1466 YY_RULE_SETUP
 1467 #line 110 "cfg_lex.l"
 1468 {
 1469     char *s;
 1470     if (strlen(yytext) == 2) {
 1471         yylval.s = NULL;
 1472         return (STRING);
 1473     }
 1474     s = strchr(yytext + 1, '"');
 1475     *s = '\0';
 1476     yylval.s = yytext + 1;
 1477     return (STRING);
 1478 }
 1479     YY_BREAK
 1480 case 73:
 1481 YY_RULE_SETUP
 1482 #line 122 "cfg_lex.l"
 1483 {
 1484     yylval.s = yytext;
 1485     return (STRING);
 1486 }
 1487     YY_BREAK
 1488 case 74:
 1489 YY_RULE_SETUP
 1490 #line 127 "cfg_lex.l"
 1491 ;
 1492     YY_BREAK
 1493 case 75:
 1494 YY_RULE_SETUP
 1495 #line 128 "cfg_lex.l"
 1496 ECHO;
 1497     YY_BREAK
 1498 #line 1499 "cfg_lex.c"
 1499 case YY_STATE_EOF(INITIAL):
 1500     yyterminate();
 1501 
 1502     case YY_END_OF_BUFFER:
 1503         {
 1504         /* Amount of text matched not including the EOB char. */
 1505         int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
 1506 
 1507         /* Undo the effects of YY_DO_BEFORE_ACTION. */
 1508         *yy_cp = (yy_hold_char);
 1509         YY_RESTORE_YY_MORE_OFFSET
 1510 
 1511         if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
 1512             {
 1513             /* We're scanning a new file or input source.  It's
 1514              * possible that this happened because the user
 1515              * just pointed yyin at a new source and called
 1516              * yylex().  If so, then we have to assure
 1517              * consistency between YY_CURRENT_BUFFER and our
 1518              * globals.  Here is the right place to do so, because
 1519              * this is the first action (other than possibly a
 1520              * back-up) that will match for the new input source.
 1521              */
 1522             (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
 1523             YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
 1524             YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
 1525             }
 1526 
 1527         /* Note that here we test for yy_c_buf_p "<=" to the position
 1528          * of the first EOB in the buffer, since yy_c_buf_p will
 1529          * already have been incremented past the NUL character
 1530          * (since all states make transitions on EOB to the
 1531          * end-of-buffer state).  Contrast this with the test
 1532          * in input().
 1533          */
 1534         if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
 1535             { /* This was really a NUL. */
 1536             yy_state_type yy_next_state;
 1537 
 1538             (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
 1539 
 1540             yy_current_state = yy_get_previous_state(  );
 1541 
 1542             /* Okay, we're now positioned to make the NUL
 1543              * transition.  We couldn't have
 1544              * yy_get_previous_state() go ahead and do it
 1545              * for us because it doesn't know how to deal
 1546              * with the possibility of jamming (and we don't
 1547              * want to build jamming into it because then it
 1548              * will run more slowly).
 1549              */
 1550 
 1551             yy_next_state = yy_try_NUL_trans( yy_current_state );
 1552 
 1553             yy_bp = (yytext_ptr) + YY_MORE_ADJ;
 1554 
 1555             if ( yy_next_state )
 1556                 {
 1557                 /* Consume the NUL. */
 1558                 yy_cp = ++(yy_c_buf_p);
 1559                 yy_current_state = yy_next_state;
 1560                 goto yy_match;
 1561                 }
 1562 
 1563             else
 1564                 {
 1565                 yy_cp = (yy_c_buf_p);
 1566                 goto yy_find_action;
 1567                 }
 1568             }
 1569 
 1570         else switch ( yy_get_next_buffer(  ) )
 1571             {
 1572             case EOB_ACT_END_OF_FILE:
 1573                 {
 1574                 (yy_did_buffer_switch_on_eof) = 0;
 1575 
 1576                 if ( yywrap(  ) )
 1577                     {
 1578                     /* Note: because we've taken care in
 1579                      * yy_get_next_buffer() to have set up
 1580                      * yytext, we can now set up
 1581                      * yy_c_buf_p so that if some total
 1582                      * hoser (like flex itself) wants to
 1583                      * call the scanner after we return the
 1584                      * YY_NULL, it'll still work - another
 1585                      * YY_NULL will get returned.
 1586                      */
 1587                     (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
 1588 
 1589                     yy_act = YY_STATE_EOF(YY_START);
 1590                     goto do_action;
 1591                     }
 1592 
 1593                 else
 1594                     {
 1595                     if ( ! (yy_did_buffer_switch_on_eof) )
 1596                         YY_NEW_FILE;
 1597                     }
 1598                 break;
 1599                 }
 1600 
 1601             case EOB_ACT_CONTINUE_SCAN:
 1602                 (yy_c_buf_p) =
 1603                     (yytext_ptr) + yy_amount_of_matched_text;
 1604 
 1605                 yy_current_state = yy_get_previous_state(  );
 1606 
 1607                 yy_cp = (yy_c_buf_p);
 1608                 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
 1609                 goto yy_match;
 1610 
 1611             case EOB_ACT_LAST_MATCH:
 1612                 (yy_c_buf_p) =
 1613                 &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
 1614 
 1615                 yy_current_state = yy_get_previous_state(  );
 1616 
 1617                 yy_cp = (yy_c_buf_p);
 1618                 yy_bp = (yytext_ptr) + YY_MORE_ADJ;
 1619                 goto yy_find_action;
 1620             }
 1621         break;
 1622         }
 1623 
 1624     default:
 1625         YY_FATAL_ERROR(
 1626             "fatal flex scanner internal error--no action found" );
 1627     } /* end of action switch */
 1628         } /* end of scanning one token */
 1629     } /* end of user's declarations */
 1630 } /* end of yylex */
 1631 
 1632 /* yy_get_next_buffer - try to read in a new buffer
 1633  *
 1634  * Returns a code representing an action:
 1635  *  EOB_ACT_LAST_MATCH -
 1636  *  EOB_ACT_CONTINUE_SCAN - continue scanning from current position
 1637  *  EOB_ACT_END_OF_FILE - end of file
 1638  */
 1639 static int yy_get_next_buffer (void)
 1640 {
 1641         char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
 1642     char *source = (yytext_ptr);
 1643     int number_to_move, i;
 1644     int ret_val;
 1645 
 1646     if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
 1647         YY_FATAL_ERROR(
 1648         "fatal flex scanner internal error--end of buffer missed" );
 1649 
 1650     if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
 1651         { /* Don't try to fill the buffer, so this is an EOF. */
 1652         if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
 1653             {
 1654             /* We matched a single character, the EOB, so
 1655              * treat this as a final EOF.
 1656              */
 1657             return EOB_ACT_END_OF_FILE;
 1658             }
 1659 
 1660         else
 1661             {
 1662             /* We matched some text prior to the EOB, first
 1663              * process it.
 1664              */
 1665             return EOB_ACT_LAST_MATCH;
 1666             }
 1667         }
 1668 
 1669     /* Try to read more data. */
 1670 
 1671     /* First move last chars to start of buffer. */
 1672     number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
 1673 
 1674     for ( i = 0; i < number_to_move; ++i )
 1675         *(dest++) = *(source++);
 1676 
 1677     if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
 1678         /* don't do the read, it's not guaranteed to return an EOF,
 1679          * just force an EOF
 1680          */
 1681         YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
 1682 
 1683     else
 1684         {
 1685             int num_to_read =
 1686             YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
 1687 
 1688         while ( num_to_read <= 0 )
 1689             { /* Not enough room in the buffer - grow it. */
 1690 
 1691             /* just a shorter name for the current buffer */
 1692             YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
 1693 
 1694             int yy_c_buf_p_offset =
 1695                 (int) ((yy_c_buf_p) - b->yy_ch_buf);
 1696 
 1697             if ( b->yy_is_our_buffer )
 1698                 {
 1699                 int new_size = b->yy_buf_size * 2;
 1700 
 1701                 if ( new_size <= 0 )
 1702                     b->yy_buf_size += b->yy_buf_size / 8;
 1703                 else
 1704                     b->yy_buf_size *= 2;
 1705 
 1706                 b->yy_ch_buf = (char *)
 1707                     /* Include room in for 2 EOB chars. */
 1708                     yyrealloc( (void *) b->yy_ch_buf,
 1709                              (yy_size_t) (b->yy_buf_size + 2)  );
 1710                 }
 1711             else
 1712                 /* Can't grow it, we don't own it. */
 1713                 b->yy_ch_buf = NULL;
 1714 
 1715             if ( ! b->yy_ch_buf )
 1716                 YY_FATAL_ERROR(
 1717                 "fatal error - scanner input buffer overflow" );
 1718 
 1719             (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
 1720 
 1721             num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
 1722                         number_to_move - 1;
 1723 
 1724             }
 1725 
 1726         if ( num_to_read > YY_READ_BUF_SIZE )
 1727             num_to_read = YY_READ_BUF_SIZE;
 1728 
 1729         /* Read in more data. */
 1730         YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
 1731             (yy_n_chars), num_to_read );
 1732 
 1733         YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
 1734         }
 1735 
 1736     if ( (yy_n_chars) == 0 )
 1737         {
 1738         if ( number_to_move == YY_MORE_ADJ )
 1739             {
 1740             ret_val = EOB_ACT_END_OF_FILE;
 1741             yyrestart( yyin  );
 1742             }
 1743 
 1744         else
 1745             {
 1746             ret_val = EOB_ACT_LAST_MATCH;
 1747             YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
 1748                 YY_BUFFER_EOF_PENDING;
 1749             }
 1750         }
 1751 
 1752     else
 1753         ret_val = EOB_ACT_CONTINUE_SCAN;
 1754 
 1755     if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
 1756         /* Extend the array by 50%, plus the number we really need. */
 1757         int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
 1758         YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
 1759             (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size  );
 1760         if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
 1761             YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
 1762         /* "- 2" to take care of EOB's */
 1763         YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
 1764     }
 1765 
 1766     (yy_n_chars) += number_to_move;
 1767     YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
 1768     YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
 1769 
 1770     (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
 1771 
 1772     return ret_val;
 1773 }
 1774 
 1775 /* yy_get_previous_state - get the state just before the EOB char was reached */
 1776 
 1777     static yy_state_type yy_get_previous_state (void)
 1778 {
 1779     yy_state_type yy_current_state;
 1780     char *yy_cp;
 1781     
 1782     yy_current_state = (yy_start);
 1783 
 1784     for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
 1785         {
 1786         YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
 1787         if ( yy_accept[yy_current_state] )
 1788             {
 1789             (yy_last_accepting_state) = yy_current_state;
 1790             (yy_last_accepting_cpos) = yy_cp;
 1791             }
 1792         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 1793             {
 1794             yy_current_state = (int) yy_def[yy_current_state];
 1795             if ( yy_current_state >= 521 )
 1796                 yy_c = yy_meta[yy_c];
 1797             }
 1798         yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
 1799         }
 1800 
 1801     return yy_current_state;
 1802 }
 1803 
 1804 /* yy_try_NUL_trans - try to make a transition on the NUL character
 1805  *
 1806  * synopsis
 1807  *  next_state = yy_try_NUL_trans( current_state );
 1808  */
 1809     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
 1810 {
 1811     int yy_is_jam;
 1812         char *yy_cp = (yy_c_buf_p);
 1813 
 1814     YY_CHAR yy_c = 1;
 1815     if ( yy_accept[yy_current_state] )
 1816         {
 1817         (yy_last_accepting_state) = yy_current_state;
 1818         (yy_last_accepting_cpos) = yy_cp;
 1819         }
 1820     while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
 1821         {
 1822         yy_current_state = (int) yy_def[yy_current_state];
 1823         if ( yy_current_state >= 521 )
 1824             yy_c = yy_meta[yy_c];
 1825         }
 1826     yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
 1827     yy_is_jam = (yy_current_state == 520);
 1828 
 1829         return yy_is_jam ? 0 : yy_current_state;
 1830 }
 1831 
 1832 #ifndef YY_NO_UNPUT
 1833 
 1834 #endif
 1835 
 1836 #ifndef YY_NO_INPUT
 1837 #ifdef __cplusplus
 1838     static int yyinput (void)
 1839 #else
 1840     static int input  (void)
 1841 #endif
 1842 
 1843 {
 1844     int c;
 1845     
 1846     *(yy_c_buf_p) = (yy_hold_char);
 1847 
 1848     if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
 1849         {
 1850         /* yy_c_buf_p now points to the character we want to return.
 1851          * If this occurs *before* the EOB characters, then it's a
 1852          * valid NUL; if not, then we've hit the end of the buffer.
 1853          */
 1854         if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
 1855             /* This was really a NUL. */
 1856             *(yy_c_buf_p) = '\0';
 1857 
 1858         else
 1859             { /* need more input */
 1860             int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
 1861             ++(yy_c_buf_p);
 1862 
 1863             switch ( yy_get_next_buffer(  ) )
 1864                 {
 1865                 case EOB_ACT_LAST_MATCH:
 1866                     /* This happens because yy_g_n_b()
 1867                      * sees that we've accumulated a
 1868                      * token and flags that we need to
 1869                      * try matching the token before
 1870                      * proceeding.  But for input(),
 1871                      * there's no matching to consider.
 1872                      * So convert the EOB_ACT_LAST_MATCH
 1873                      * to EOB_ACT_END_OF_FILE.
 1874                      */
 1875 
 1876                     /* Reset buffer status. */
 1877                     yyrestart( yyin );
 1878 
 1879                     /*FALLTHROUGH*/
 1880 
 1881                 case EOB_ACT_END_OF_FILE:
 1882                     {
 1883                     if ( yywrap(  ) )
 1884                         return 0;
 1885 
 1886                     if ( ! (yy_did_buffer_switch_on_eof) )
 1887                         YY_NEW_FILE;
 1888 #ifdef __cplusplus
 1889                     return yyinput();
 1890 #else
 1891                     return input();
 1892 #endif
 1893                     }
 1894 
 1895                 case EOB_ACT_CONTINUE_SCAN:
 1896                     (yy_c_buf_p) = (yytext_ptr) + offset;
 1897                     break;
 1898                 }
 1899             }
 1900         }
 1901 
 1902     c = *(unsigned char *) (yy_c_buf_p);    /* cast for 8-bit char's */
 1903     *(yy_c_buf_p) = '\0';   /* preserve yytext */
 1904     (yy_hold_char) = *++(yy_c_buf_p);
 1905 
 1906     if ( c == '\n' )
 1907         
 1908     yylineno++;
 1909 ;
 1910 
 1911     return c;
 1912 }
 1913 #endif  /* ifndef YY_NO_INPUT */
 1914 
 1915 /** Immediately switch to a different input stream.
 1916  * @param input_file A readable stream.
 1917  * 
 1918  * @note This function does not reset the start condition to @c INITIAL .
 1919  */
 1920     void yyrestart  (FILE * input_file )
 1921 {
 1922     
 1923     if ( ! YY_CURRENT_BUFFER ){
 1924         yyensure_buffer_stack ();
 1925         YY_CURRENT_BUFFER_LVALUE =
 1926             yy_create_buffer( yyin, YY_BUF_SIZE );
 1927     }
 1928 
 1929     yy_init_buffer( YY_CURRENT_BUFFER, input_file );
 1930     yy_load_buffer_state(  );
 1931 }
 1932 
 1933 /** Switch to a different input buffer.
 1934  * @param new_buffer The new input buffer.
 1935  * 
 1936  */
 1937     void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
 1938 {
 1939     
 1940     /* TODO. We should be able to replace this entire function body
 1941      * with
 1942      *      yypop_buffer_state();
 1943      *      yypush_buffer_state(new_buffer);
 1944      */
 1945     yyensure_buffer_stack ();
 1946     if ( YY_CURRENT_BUFFER == new_buffer )
 1947         return;
 1948 
 1949     if ( YY_CURRENT_BUFFER )
 1950         {
 1951         /* Flush out information for old buffer. */
 1952         *(yy_c_buf_p) = (yy_hold_char);
 1953         YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
 1954         YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
 1955         }
 1956 
 1957     YY_CURRENT_BUFFER_LVALUE = new_buffer;
 1958     yy_load_buffer_state(  );
 1959 
 1960     /* We don't actually know whether we did this switch during
 1961      * EOF (yywrap()) processing, but the only time this flag
 1962      * is looked at is after yywrap() is called, so it's safe
 1963      * to go ahead and always set it.
 1964      */
 1965     (yy_did_buffer_switch_on_eof) = 1;
 1966 }
 1967 
 1968 static void yy_load_buffer_state  (void)
 1969 {
 1970         (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
 1971     (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
 1972     yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
 1973     (yy_hold_char) = *(yy_c_buf_p);
 1974 }
 1975 
 1976 /** Allocate and initialize an input buffer state.
 1977  * @param file A readable stream.
 1978  * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
 1979  * 
 1980  * @return the allocated buffer state.
 1981  */
 1982     YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
 1983 {
 1984     YY_BUFFER_STATE b;
 1985     
 1986     b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
 1987     if ( ! b )
 1988         YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
 1989 
 1990     b->yy_buf_size = size;
 1991 
 1992     /* yy_ch_buf has to be 2 characters longer than the size given because
 1993      * we need to put in 2 end-of-buffer characters.
 1994      */
 1995     b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2)  );
 1996     if ( ! b->yy_ch_buf )
 1997         YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
 1998 
 1999     b->yy_is_our_buffer = 1;
 2000 
 2001     yy_init_buffer( b, file );
 2002 
 2003     return b;
 2004 }
 2005 
 2006 /** Destroy the buffer.
 2007  * @param b a buffer created with yy_create_buffer()
 2008  * 
 2009  */
 2010     void yy_delete_buffer (YY_BUFFER_STATE  b )
 2011 {
 2012     
 2013     if ( ! b )
 2014         return;
 2015 
 2016     if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
 2017         YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
 2018 
 2019     if ( b->yy_is_our_buffer )
 2020         yyfree( (void *) b->yy_ch_buf  );
 2021 
 2022     yyfree( (void *) b  );
 2023 }
 2024 
 2025 /* Initializes or reinitializes a buffer.
 2026  * This function is sometimes called more than once on the same buffer,
 2027  * such as during a yyrestart() or at EOF.
 2028  */
 2029     static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
 2030 
 2031 {
 2032     int oerrno = errno;
 2033     
 2034     yy_flush_buffer( b );
 2035 
 2036     b->yy_input_file = file;
 2037     b->yy_fill_buffer = 1;
 2038 
 2039     /* If b is the current buffer, then yy_init_buffer was _probably_
 2040      * called from yyrestart() or through yy_get_next_buffer.
 2041      * In that case, we don't want to reset the lineno or column.
 2042      */
 2043     if (b != YY_CURRENT_BUFFER){
 2044         b->yy_bs_lineno = 1;
 2045         b->yy_bs_column = 0;
 2046     }
 2047 
 2048         b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
 2049     
 2050     errno = oerrno;
 2051 }
 2052 
 2053 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
 2054  * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
 2055  * 
 2056  */
 2057     void yy_flush_buffer (YY_BUFFER_STATE  b )
 2058 {
 2059         if ( ! b )
 2060         return;
 2061 
 2062     b->yy_n_chars = 0;
 2063 
 2064     /* We always need two end-of-buffer characters.  The first causes
 2065      * a transition to the end-of-buffer state.  The second causes
 2066      * a jam in that state.
 2067      */
 2068     b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
 2069     b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
 2070 
 2071     b->yy_buf_pos = &b->yy_ch_buf[0];
 2072 
 2073     b->yy_at_bol = 1;
 2074     b->yy_buffer_status = YY_BUFFER_NEW;
 2075 
 2076     if ( b == YY_CURRENT_BUFFER )
 2077         yy_load_buffer_state(  );
 2078 }
 2079 
 2080 /** Pushes the new state onto the stack. The new state becomes
 2081  *  the current state. This function will allocate the stack
 2082  *  if necessary.
 2083  *  @param new_buffer The new state.
 2084  *  
 2085  */
 2086 void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
 2087 {
 2088         if (new_buffer == NULL)
 2089         return;
 2090 
 2091     yyensure_buffer_stack();
 2092 
 2093     /* This block is copied from yy_switch_to_buffer. */
 2094     if ( YY_CURRENT_BUFFER )
 2095         {
 2096         /* Flush out information for old buffer. */
 2097         *(yy_c_buf_p) = (yy_hold_char);
 2098         YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
 2099         YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
 2100         }
 2101 
 2102     /* Only push if top exists. Otherwise, replace top. */
 2103     if (YY_CURRENT_BUFFER)
 2104         (yy_buffer_stack_top)++;
 2105     YY_CURRENT_BUFFER_LVALUE = new_buffer;
 2106 
 2107     /* copied from yy_switch_to_buffer. */
 2108     yy_load_buffer_state(  );
 2109     (yy_did_buffer_switch_on_eof) = 1;
 2110 }
 2111 
 2112 /** Removes and deletes the top of the stack, if present.
 2113  *  The next element becomes the new top.
 2114  *  
 2115  */
 2116 void yypop_buffer_state (void)
 2117 {
 2118         if (!YY_CURRENT_BUFFER)
 2119         return;
 2120 
 2121     yy_delete_buffer(YY_CURRENT_BUFFER );
 2122     YY_CURRENT_BUFFER_LVALUE = NULL;
 2123     if ((yy_buffer_stack_top) > 0)
 2124         --(yy_buffer_stack_top);
 2125 
 2126     if (YY_CURRENT_BUFFER) {
 2127         yy_load_buffer_state(  );
 2128         (yy_did_buffer_switch_on_eof) = 1;
 2129     }
 2130 }
 2131 
 2132 /* Allocates the stack if it does not exist.
 2133  *  Guarantees space for at least one push.
 2134  */
 2135 static void yyensure_buffer_stack (void)
 2136 {
 2137     yy_size_t num_to_alloc;
 2138     
 2139     if (!(yy_buffer_stack)) {
 2140 
 2141         /* First allocation is just for 2 elements, since we don't know if this
 2142          * scanner will even need a stack. We use 2 instead of 1 to avoid an
 2143          * immediate realloc on the next call.
 2144          */
 2145       num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
 2146         (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
 2147                                 (num_to_alloc * sizeof(struct yy_buffer_state*)
 2148                                 );
 2149         if ( ! (yy_buffer_stack) )
 2150             YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
 2151 
 2152         memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
 2153 
 2154         (yy_buffer_stack_max) = num_to_alloc;
 2155         (yy_buffer_stack_top) = 0;
 2156         return;
 2157     }
 2158 
 2159     if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
 2160 
 2161         /* Increase the buffer to prepare for a possible push. */
 2162         yy_size_t grow_size = 8 /* arbitrary grow size */;
 2163 
 2164         num_to_alloc = (yy_buffer_stack_max) + grow_size;
 2165         (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
 2166                                 ((yy_buffer_stack),
 2167                                 num_to_alloc * sizeof(struct yy_buffer_state*)
 2168                                 );
 2169         if ( ! (yy_buffer_stack) )
 2170             YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
 2171 
 2172         /* zero only the new slots.*/
 2173         memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
 2174         (yy_buffer_stack_max) = num_to_alloc;
 2175     }
 2176 }
 2177 
 2178 /** Setup the input buffer state to scan directly from a user-specified character buffer.
 2179  * @param base the character buffer
 2180  * @param size the size in bytes of the character buffer
 2181  * 
 2182  * @return the newly allocated buffer state object.
 2183  */
 2184 YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
 2185 {
 2186     YY_BUFFER_STATE b;
 2187     
 2188     if ( size < 2 ||
 2189          base[size-2] != YY_END_OF_BUFFER_CHAR ||
 2190          base[size-1] != YY_END_OF_BUFFER_CHAR )
 2191         /* They forgot to leave room for the EOB's. */
 2192         return NULL;
 2193 
 2194     b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state )  );
 2195     if ( ! b )
 2196         YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
 2197 
 2198     b->yy_buf_size = (int) (size - 2);  /* "- 2" to take care of EOB's */
 2199     b->yy_buf_pos = b->yy_ch_buf = base;
 2200     b->yy_is_our_buffer = 0;
 2201     b->yy_input_file = NULL;
 2202     b->yy_n_chars = b->yy_buf_size;
 2203     b->yy_is_interactive = 0;
 2204     b->yy_at_bol = 1;
 2205     b->yy_fill_buffer = 0;
 2206     b->yy_buffer_status = YY_BUFFER_NEW;
 2207 
 2208     yy_switch_to_buffer( b  );
 2209 
 2210     return b;
 2211 }
 2212 
 2213 /** Setup the input buffer state to scan a string. The next call to yylex() will
 2214  * scan from a @e copy of @a str.
 2215  * @param yystr a NUL-terminated string to scan
 2216  * 
 2217  * @return the newly allocated buffer state object.
 2218  * @note If you want to scan bytes that may contain NUL values, then use
 2219  *       yy_scan_bytes() instead.
 2220  */
 2221 YY_BUFFER_STATE yy_scan_string (const char * yystr )
 2222 {
 2223     
 2224     return yy_scan_bytes( yystr, (int) strlen(yystr) );
 2225 }
 2226 
 2227 /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
 2228  * scan from a @e copy of @a bytes.
 2229  * @param yybytes the byte buffer to scan
 2230  * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
 2231  * 
 2232  * @return the newly allocated buffer state object.
 2233  */
 2234 YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len )
 2235 {
 2236     YY_BUFFER_STATE b;
 2237     char *buf;
 2238     yy_size_t n;
 2239     int i;
 2240     
 2241     /* Get memory for full buffer, including space for trailing EOB's. */
 2242     n = (yy_size_t) (_yybytes_len + 2);
 2243     buf = (char *) yyalloc( n  );
 2244     if ( ! buf )
 2245         YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
 2246 
 2247     for ( i = 0; i < _yybytes_len; ++i )
 2248         buf[i] = yybytes[i];
 2249 
 2250     buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
 2251 
 2252     b = yy_scan_buffer( buf, n );
 2253     if ( ! b )
 2254         YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
 2255 
 2256     /* It's okay to grow etc. this buffer, and we should throw it
 2257      * away when we're done.
 2258      */
 2259     b->yy_is_our_buffer = 1;
 2260 
 2261     return b;
 2262 }
 2263 
 2264 #ifndef YY_EXIT_FAILURE
 2265 #define YY_EXIT_FAILURE 2
 2266 #endif
 2267 
 2268 static void yynoreturn yy_fatal_error (const char* msg )
 2269 {
 2270             fprintf( stderr, "%s\n", msg );
 2271     exit( YY_EXIT_FAILURE );
 2272 }
 2273 
 2274 /* Redefine yyless() so it works in section 3 code. */
 2275 
 2276 #undef yyless
 2277 #define yyless(n) \
 2278     do \
 2279         { \
 2280         /* Undo effects of setting up yytext. */ \
 2281         int yyless_macro_arg = (n); \
 2282         YY_LESS_LINENO(yyless_macro_arg);\
 2283         yytext[yyleng] = (yy_hold_char); \
 2284         (yy_c_buf_p) = yytext + yyless_macro_arg; \
 2285         (yy_hold_char) = *(yy_c_buf_p); \
 2286         *(yy_c_buf_p) = '\0'; \
 2287         yyleng = yyless_macro_arg; \
 2288         } \
 2289     while ( 0 )
 2290 
 2291 /* Accessor  methods (get/set functions) to struct members. */
 2292 
 2293 /** Get the current line number.
 2294  * 
 2295  */
 2296 int yyget_lineno  (void)
 2297 {
 2298     
 2299     return yylineno;
 2300 }
 2301 
 2302 /** Get the input stream.
 2303  * 
 2304  */
 2305 FILE *yyget_in  (void)
 2306 {
 2307         return yyin;
 2308 }
 2309 
 2310 /** Get the output stream.
 2311  * 
 2312  */
 2313 FILE *yyget_out  (void)
 2314 {
 2315         return yyout;
 2316 }
 2317 
 2318 /** Get the length of the current token.
 2319  * 
 2320  */
 2321 int yyget_leng  (void)
 2322 {
 2323         return yyleng;
 2324 }
 2325 
 2326 /** Get the current token.
 2327  * 
 2328  */
 2329 
 2330 char *yyget_text  (void)
 2331 {
 2332         return yytext;
 2333 }
 2334 
 2335 /** Set the current line number.
 2336  * @param _line_number line number
 2337  * 
 2338  */
 2339 void yyset_lineno (int  _line_number )
 2340 {
 2341     
 2342     yylineno = _line_number;
 2343 }
 2344 
 2345 /** Set the input stream. This does not discard the current
 2346  * input buffer.
 2347  * @param _in_str A readable stream.
 2348  * 
 2349  * @see yy_switch_to_buffer
 2350  */
 2351 void yyset_in (FILE *  _in_str )
 2352 {
 2353         yyin = _in_str ;
 2354 }
 2355 
 2356 void yyset_out (FILE *  _out_str )
 2357 {
 2358         yyout = _out_str ;
 2359 }
 2360 
 2361 int yyget_debug  (void)
 2362 {
 2363         return yy_flex_debug;
 2364 }
 2365 
 2366 void yyset_debug (int  _bdebug )
 2367 {
 2368         yy_flex_debug = _bdebug ;
 2369 }
 2370 
 2371 static int yy_init_globals (void)
 2372 {
 2373         /* Initialization is the same as for the non-reentrant scanner.
 2374      * This function is called from yylex_destroy(), so don't allocate here.
 2375      */
 2376 
 2377     /* We do not touch yylineno unless the option is enabled. */
 2378     yylineno =  1;
 2379     
 2380     (yy_buffer_stack) = NULL;
 2381     (yy_buffer_stack_top) = 0;
 2382     (yy_buffer_stack_max) = 0;
 2383     (yy_c_buf_p) = NULL;
 2384     (yy_init) = 0;
 2385     (yy_start) = 0;
 2386 
 2387 /* Defined in main.c */
 2388 #ifdef YY_STDINIT
 2389     yyin = stdin;
 2390     yyout = stdout;
 2391 #else
 2392     yyin = NULL;
 2393     yyout = NULL;
 2394 #endif
 2395 
 2396     /* For future reference: Set errno on error, since we are called by
 2397      * yylex_init()
 2398      */
 2399     return 0;
 2400 }
 2401 
 2402 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
 2403 int yylex_destroy  (void)
 2404 {
 2405     
 2406     /* Pop the buffer stack, destroying each element. */
 2407     while(YY_CURRENT_BUFFER){
 2408         yy_delete_buffer( YY_CURRENT_BUFFER  );
 2409         YY_CURRENT_BUFFER_LVALUE = NULL;
 2410         yypop_buffer_state();
 2411     }
 2412 
 2413     /* Destroy the stack itself. */
 2414     yyfree((yy_buffer_stack) );
 2415     (yy_buffer_stack) = NULL;
 2416 
 2417     /* Reset the globals. This is important in a non-reentrant scanner so the next time
 2418      * yylex() is called, initialization will occur. */
 2419     yy_init_globals( );
 2420 
 2421     return 0;
 2422 }
 2423 
 2424 /*
 2425  * Internal utility routines.
 2426  */
 2427 
 2428 #ifndef yytext_ptr
 2429 static void yy_flex_strncpy (char* s1, const char * s2, int n )
 2430 {
 2431         
 2432     int i;
 2433     for ( i = 0; i < n; ++i )
 2434         s1[i] = s2[i];
 2435 }
 2436 #endif
 2437 
 2438 #ifdef YY_NEED_STRLEN
 2439 static int yy_flex_strlen (const char * s )
 2440 {
 2441     int n;
 2442     for ( n = 0; s[n]; ++n )
 2443         ;
 2444 
 2445     return n;
 2446 }
 2447 #endif
 2448 
 2449 void *yyalloc (yy_size_t  size )
 2450 {
 2451             return malloc(size);
 2452 }
 2453 
 2454 void *yyrealloc  (void * ptr, yy_size_t  size )
 2455 {
 2456         
 2457     /* The cast to (char *) in the following accommodates both
 2458      * implementations that use char* generic pointers, and those
 2459      * that use void* generic pointers.  It works with the latter
 2460      * because both ANSI C and C++ allow castless assignment from
 2461      * any pointer type to void*, and deal with argument conversions
 2462      * as though doing an assignment.
 2463      */
 2464     return realloc(ptr, size);
 2465 }
 2466 
 2467 void yyfree (void * ptr )
 2468 {
 2469             free( (char *) ptr );   /* see yyrealloc() for (char *) cast */
 2470 }
 2471 
 2472 #define YYTABLES_NAME "yytables"
 2473 
 2474 #line 128 "cfg_lex.l"
 2475 
 2476