Annotation of embedaddon/ipsec-tools/src/setkey/token.c, revision 1.1.1.1

1.1       misho       1: 
                      2: #line 3 "token.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 5
                     11: #define YY_FLEX_SUBMINOR_VERSION 35
                     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: #endif /* ! C99 */
                     87: 
                     88: #endif /* ! FLEXINT_H */
                     89: 
                     90: #ifdef __cplusplus
                     91: 
                     92: /* The "const" storage-class-modifier is valid. */
                     93: #define YY_USE_CONST
                     94: 
                     95: #else  /* ! __cplusplus */
                     96: 
                     97: /* C99 requires __STDC__ to be defined as 1. */
                     98: #if defined (__STDC__)
                     99: 
                    100: #define YY_USE_CONST
                    101: 
                    102: #endif /* defined (__STDC__) */
                    103: #endif /* ! __cplusplus */
                    104: 
                    105: #ifdef YY_USE_CONST
                    106: #define yyconst const
                    107: #else
                    108: #define yyconst
                    109: #endif
                    110: 
                    111: /* Returned upon end-of-file. */
                    112: #define YY_NULL 0
                    113: 
                    114: /* Promotes a possibly negative, possibly signed char to an unsigned
                    115:  * integer for use as an array index.  If the signed char is negative,
                    116:  * we want to instead treat it as an 8-bit unsigned char, hence the
                    117:  * double cast.
                    118:  */
                    119: #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
                    120: 
                    121: /* Enter a start condition.  This macro really ought to take a parameter,
                    122:  * but we do it the disgusting crufty way forced on us by the ()-less
                    123:  * definition of BEGIN.
                    124:  */
                    125: #define BEGIN (yy_start) = 1 + 2 *
                    126: 
                    127: /* Translate the current start state into a value that can be later handed
                    128:  * to BEGIN to return to the state.  The YYSTATE alias is for lex
                    129:  * compatibility.
                    130:  */
                    131: #define YY_START (((yy_start) - 1) / 2)
                    132: #define YYSTATE YY_START
                    133: 
                    134: /* Action number for EOF rule of a given start state. */
                    135: #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
                    136: 
                    137: /* Special action meaning "start processing a new file". */
                    138: #define YY_NEW_FILE yyrestart(yyin  )
                    139: 
                    140: #define YY_END_OF_BUFFER_CHAR 0
                    141: 
                    142: /* Size of default input buffer. */
                    143: #ifndef YY_BUF_SIZE
                    144: #ifdef __ia64__
                    145: /* On IA-64, the buffer size is 16k, not 8k.
                    146:  * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
                    147:  * Ditto for the __ia64__ case accordingly.
                    148:  */
                    149: #define YY_BUF_SIZE 32768
                    150: #else
                    151: #define YY_BUF_SIZE 16384
                    152: #endif /* __ia64__ */
                    153: #endif
                    154: 
                    155: /* The state buf must be large enough to hold one state per character in the main buffer.
                    156:  */
                    157: #define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
                    158: 
                    159: #ifndef YY_TYPEDEF_YY_BUFFER_STATE
                    160: #define YY_TYPEDEF_YY_BUFFER_STATE
                    161: typedef struct yy_buffer_state *YY_BUFFER_STATE;
                    162: #endif
                    163: 
                    164: extern int yyleng;
                    165: 
                    166: extern FILE *yyin, *yyout;
                    167: 
                    168: #define EOB_ACT_CONTINUE_SCAN 0
                    169: #define EOB_ACT_END_OF_FILE 1
                    170: #define EOB_ACT_LAST_MATCH 2
                    171: 
                    172:     #define YY_LESS_LINENO(n)
                    173:     
                    174: /* Return all but the first "n" matched characters back to the input stream. */
                    175: #define yyless(n) \
                    176:        do \
                    177:                { \
                    178:                /* Undo effects of setting up yytext. */ \
                    179:         int yyless_macro_arg = (n); \
                    180:         YY_LESS_LINENO(yyless_macro_arg);\
                    181:                *yy_cp = (yy_hold_char); \
                    182:                YY_RESTORE_YY_MORE_OFFSET \
                    183:                (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
                    184:                YY_DO_BEFORE_ACTION; /* set up yytext again */ \
                    185:                } \
                    186:        while ( 0 )
                    187: 
                    188: #define unput(c) yyunput( c, (yytext_ptr)  )
                    189: 
                    190: #ifndef YY_TYPEDEF_YY_SIZE_T
                    191: #define YY_TYPEDEF_YY_SIZE_T
                    192: typedef size_t yy_size_t;
                    193: #endif
                    194: 
                    195: #ifndef YY_STRUCT_YY_BUFFER_STATE
                    196: #define YY_STRUCT_YY_BUFFER_STATE
                    197: struct yy_buffer_state
                    198:        {
                    199:        FILE *yy_input_file;
                    200: 
                    201:        char *yy_ch_buf;                /* input buffer */
                    202:        char *yy_buf_pos;               /* current position in input buffer */
                    203: 
                    204:        /* Size of input buffer in bytes, not including room for EOB
                    205:         * characters.
                    206:         */
                    207:        yy_size_t yy_buf_size;
                    208: 
                    209:        /* Number of characters read into yy_ch_buf, not including EOB
                    210:         * characters.
                    211:         */
                    212:        int yy_n_chars;
                    213: 
                    214:        /* Whether we "own" the buffer - i.e., we know we created it,
                    215:         * and can realloc() it to grow it, and should free() it to
                    216:         * delete it.
                    217:         */
                    218:        int yy_is_our_buffer;
                    219: 
                    220:        /* Whether this is an "interactive" input source; if so, and
                    221:         * if we're using stdio for input, then we want to use getc()
                    222:         * instead of fread(), to make sure we stop fetching input after
                    223:         * each newline.
                    224:         */
                    225:        int yy_is_interactive;
                    226: 
                    227:        /* Whether we're considered to be at the beginning of a line.
                    228:         * If so, '^' rules will be active on the next match, otherwise
                    229:         * not.
                    230:         */
                    231:        int yy_at_bol;
                    232: 
                    233:     int yy_bs_lineno; /**< The line count. */
                    234:     int yy_bs_column; /**< The column count. */
                    235:     
                    236:        /* Whether to try to fill the input buffer when we reach the
                    237:         * end of it.
                    238:         */
                    239:        int yy_fill_buffer;
                    240: 
                    241:        int yy_buffer_status;
                    242: 
                    243: #define YY_BUFFER_NEW 0
                    244: #define YY_BUFFER_NORMAL 1
                    245:        /* When an EOF's been seen but there's still some text to process
                    246:         * then we mark the buffer as YY_EOF_PENDING, to indicate that we
                    247:         * shouldn't try reading from the input source any more.  We might
                    248:         * still have a bunch of tokens to match, though, because of
                    249:         * possible backing-up.
                    250:         *
                    251:         * When we actually see the EOF, we change the status to "new"
                    252:         * (via yyrestart()), so that the user can continue scanning by
                    253:         * just pointing yyin at a new input file.
                    254:         */
                    255: #define YY_BUFFER_EOF_PENDING 2
                    256: 
                    257:        };
                    258: #endif /* !YY_STRUCT_YY_BUFFER_STATE */
                    259: 
                    260: /* Stack of input buffers. */
                    261: static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
                    262: static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
                    263: static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
                    264: 
                    265: /* We provide macros for accessing buffer states in case in the
                    266:  * future we want to put the buffer states in a more general
                    267:  * "scanner state".
                    268:  *
                    269:  * Returns the top of the stack, or NULL.
                    270:  */
                    271: #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
                    272:                           ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
                    273:                           : NULL)
                    274: 
                    275: /* Same as previous macro, but useful when we know that the buffer stack is not
                    276:  * NULL or when we need an lvalue. For internal use only.
                    277:  */
                    278: #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
                    279: 
                    280: /* yy_hold_char holds the character lost when yytext is formed. */
                    281: static char yy_hold_char;
                    282: static int yy_n_chars;         /* number of characters read into yy_ch_buf */
                    283: int yyleng;
                    284: 
                    285: /* Points to current character in buffer. */
                    286: static char *yy_c_buf_p = (char *) 0;
                    287: static int yy_init = 0;                /* whether we need to initialize */
                    288: static int yy_start = 0;       /* start state number */
                    289: 
                    290: /* Flag which is used to allow yywrap()'s to do buffer switches
                    291:  * instead of setting up a fresh yyin.  A bit of a hack ...
                    292:  */
                    293: static int yy_did_buffer_switch_on_eof;
                    294: 
                    295: void yyrestart (FILE *input_file  );
                    296: void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
                    297: YY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
                    298: void yy_delete_buffer (YY_BUFFER_STATE b  );
                    299: void yy_flush_buffer (YY_BUFFER_STATE b  );
                    300: void yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
                    301: void yypop_buffer_state (void );
                    302: 
                    303: static void yyensure_buffer_stack (void );
                    304: static void yy_load_buffer_state (void );
                    305: static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
                    306: 
                    307: #define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
                    308: 
                    309: YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
                    310: YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
                    311: YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len  );
                    312: 
                    313: void *yyalloc (yy_size_t  );
                    314: void *yyrealloc (void *,yy_size_t  );
                    315: void yyfree (void *  );
                    316: 
                    317: #define yy_new_buffer yy_create_buffer
                    318: 
                    319: #define yy_set_interactive(is_interactive) \
                    320:        { \
                    321:        if ( ! YY_CURRENT_BUFFER ){ \
                    322:         yyensure_buffer_stack (); \
                    323:                YY_CURRENT_BUFFER_LVALUE =    \
                    324:             yy_create_buffer(yyin,YY_BUF_SIZE ); \
                    325:        } \
                    326:        YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
                    327:        }
                    328: 
                    329: #define yy_set_bol(at_bol) \
                    330:        { \
                    331:        if ( ! YY_CURRENT_BUFFER ){\
                    332:         yyensure_buffer_stack (); \
                    333:                YY_CURRENT_BUFFER_LVALUE =    \
                    334:             yy_create_buffer(yyin,YY_BUF_SIZE ); \
                    335:        } \
                    336:        YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
                    337:        }
                    338: 
                    339: #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
                    340: 
                    341: /* Begin user sect3 */
                    342: 
                    343: typedef unsigned char YY_CHAR;
                    344: 
                    345: FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
                    346: 
                    347: typedef int yy_state_type;
                    348: 
                    349: extern int yylineno;
                    350: 
                    351: int yylineno = 1;
                    352: 
                    353: extern char *yytext;
                    354: #define yytext_ptr yytext
                    355: 
                    356: static yy_state_type yy_get_previous_state (void );
                    357: static yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
                    358: static int yy_get_next_buffer (void );
                    359: static void yy_fatal_error (yyconst char msg[]  );
                    360: 
                    361: /* Done after the current pattern has been matched and before the
                    362:  * corresponding action - sets up yytext.
                    363:  */
                    364: #define YY_DO_BEFORE_ACTION \
                    365:        (yytext_ptr) = yy_bp; \
                    366:        (yytext_ptr) -= (yy_more_len); \
                    367:        yyleng = (size_t) (yy_cp - (yytext_ptr)); \
                    368:        (yy_hold_char) = *yy_cp; \
                    369:        *yy_cp = '\0'; \
                    370:        (yy_c_buf_p) = yy_cp;
                    371: 
                    372: #define YY_NUM_RULES 90
                    373: #define YY_END_OF_BUFFER 91
                    374: /* This struct is not used in this scanner,
                    375:    but its presence is necessary. */
                    376: struct yy_trans_info
                    377:        {
                    378:        flex_int32_t yy_verify;
                    379:        flex_int32_t yy_nxt;
                    380:        };
                    381: static yyconst flex_int16_t yy_accept[564] =
                    382:     {   0,
                    383:         0,    0,    0,    0,    0,    0,    0,    0,   91,   89,
                    384:        77,   78,   89,   79,   88,   89,   81,   84,   84,   87,
                    385:        80,   82,   83,   87,   87,   87,   87,   87,   87,   87,
                    386:        87,   87,   87,   87,   87,   87,   87,   87,   17,   17,
                    387:        17,   17,   17,   17,   17,   17,   18,   17,   17,   17,
                    388:        17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
                    389:        17,   17,   87,   87,   87,   87,   87,   84,   87,   87,
                    390:        87,   87,   87,   87,   87,   87,   77,    0,   86,   79,
                    391:        88,   19,   27,   56,   42,   16,   60,    0,    0,   65,
                    392:         0,   61,   70,   64,   87,   84,   87,   87,   20,   87,
                    393: 
                    394:        87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
                    395:        87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
                    396:        17,   17,   17,   17,   17,   17,   16,   17,   17,   17,
                    397:        17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
                    398:        17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
                    399:        17,   17,   17,   17,   17,   17,   17,   17,   17,   17,
                    400:        17,   87,   87,   87,   87,   87,   87,   87,   87,   87,
                    401:        87,   87,   87,   87,   87,   19,   73,   74,    0,   71,
                    402:        72,   85,    1,   87,   76,    9,   87,   87,   87,   21,
                    403:        87,   87,    4,   87,   59,   87,   57,   87,   87,   87,
                    404: 
                    405:        87,   87,   26,   87,   87,   87,   17,   17,   17,   17,
                    406:        17,   17,   17,    1,   17,   17,    9,   17,   17,   17,
                    407:        17,   17,   17,    4,   17,   17,   17,   17,   17,   17,
                    408:        17,   17,   17,   17,   17,   17,   17,   87,   87,   87,
                    409:        87,   26,   87,   87,   87,   87,   87,   87,   87,   87,
                    410:        87,   87,   75,   87,   87,   87,    6,   87,    7,   87,
                    411:        87,   87,    8,   87,   87,   87,   87,   87,   87,   87,
                    412:        87,   87,   87,   17,   17,   17,   17,    6,   17,    7,
                    413:        17,   17,   17,    8,   17,   17,   17,   17,   17,   17,
                    414:        17,   17,   17,   17,   87,   87,   87,   41,   87,   87,
                    415: 
                    416:        87,   87,   87,   87,   87,   45,   87,   87,   87,   87,
                    417:        87,   87,   87,   87,    5,   87,   87,   87,   87,   87,
                    418:        87,   87,   87,   87,   87,   87,   87,   87,   17,   17,
                    419:        17,   17,   17,    5,   17,   17,   17,   17,   17,   17,
                    420:        17,   17,   17,   17,   17,   17,   17,   87,   87,   87,
                    421:        87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
                    422:        87,   87,   22,   87,    2,   87,   87,   25,   87,   87,
                    423:        87,   10,   87,   87,   87,   87,   15,   87,   63,   87,
                    424:        17,   17,    2,   17,   17,   17,   17,   17,   17,   10,
                    425:        17,   17,   17,   17,   15,   17,   17,   17,   87,   87,
                    426: 
                    427:        87,   87,   87,   87,   87,   87,   87,   87,   87,   87,
                    428:        87,   87,   87,   87,   46,   87,   58,   87,   23,   24,
                    429:        87,   87,   67,   87,   13,   87,   87,   87,   87,   17,
                    430:        17,   17,   17,   17,   17,   17,   17,   13,   17,   17,
                    431:        17,   17,   87,   87,   87,   87,   87,   87,   40,   87,
                    432:        52,   54,   87,   87,   87,   87,   43,   87,   87,   87,
                    433:        87,   87,   87,   87,   14,   87,   87,   68,   17,   17,
                    434:        17,   17,   14,   17,   17,   17,   87,   28,   87,   87,
                    435:        87,   87,   44,   87,   87,   87,   50,   87,   87,   87,
                    436:         3,   87,   87,   12,   11,   62,    3,   17,   17,   12,
                    437: 
                    438:        11,   17,   87,   87,   29,   87,   87,   87,   30,   87,
                    439:        87,   87,   87,   49,   87,   87,   87,   66,   17,   17,
                    440:        87,   87,   87,   87,   87,   87,   31,   87,   87,   87,
                    441:        87,   87,   87,   17,   87,   87,   87,   87,   87,   33,
                    442:        35,   37,   87,   87,   48,   87,   51,   69,   17,   39,
                    443:        87,   87,   87,   87,   47,   55,   53,   87,   32,   34,
                    444:        36,   38,    0
                    445:     } ;
                    446: 
                    447: static yyconst flex_int32_t yy_ec[256] =
                    448:     {   0,
                    449:         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
                    450:         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
                    451:         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
                    452:         1,    2,    1,    4,    5,    1,    6,    1,    1,    1,
                    453:         1,    1,    7,    8,    9,   10,   11,   12,   13,   14,
                    454:        15,   16,   17,   18,   19,   20,   19,   21,   22,    1,
                    455:         1,    1,    1,    1,   23,   24,   25,   24,   26,   24,
                    456:        21,   21,   21,   21,   21,   21,   21,   21,   21,   27,
                    457:        21,   28,   21,   21,   21,   21,   21,   29,   21,   21,
                    458:        30,    1,   31,    1,   32,    1,   33,   34,   35,   36,
                    459: 
                    460:        37,   38,   39,   40,   41,   42,   43,   44,   45,   46,
                    461:        47,   48,   49,   50,   51,   52,   53,   54,   55,   56,
                    462:        57,   58,    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:         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
                    470: 
                    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,    1,    1,    1,    1,    1,
                    476:         1,    1,    1,    1,    1
                    477:     } ;
                    478: 
                    479: static yyconst flex_int32_t yy_meta[59] =
                    480:     {   0,
                    481:         1,    2,    3,    1,    1,    4,    2,    5,    4,    4,
                    482:         2,    6,    6,    6,    6,    6,    6,    6,    6,    6,
                    483:         4,    1,    4,    4,    4,    4,    4,    4,    4,    2,
                    484:         2,    2,    4,    4,    4,    4,    4,    4,    4,    4,
                    485:         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
                    486:         4,    4,    4,    4,    4,    4,    4,    4
                    487:     } ;
                    488: 
                    489: static yyconst flex_int16_t yy_base[570] =
                    490:     {   0,
                    491:         0,    0,   58,    0,   84,   85,  123,  161, 1553, 1554,
                    492:      1550, 1554, 1547,    0,    0,  198, 1554,  244,  293, 1542,
                    493:      1554, 1554, 1554,  114,  111,  112,  115,  118,  124,  131,
                    494:       125,  133,  132,  134,  113,  140,  156,  126, 1547,    0,
                    495:       298,    0,    0,  350,  405,  197, 1554,  436,  146,  194,
                    496:       199,  107,  229,  231,  232,  234,  246,  249,  251,  282,
                    497:       338,  301,  309,  127,  144,  137,  342, 1512,  364,  332,
                    498:       185,  346,  241,  352,  421,  395, 1545, 1542, 1554,    0,
                    499:         0,  313, 1554, 1554, 1554, 1554, 1554,  104, 1493, 1554,
                    500:       127, 1554, 1554, 1554, 1536,    0,  475,  162,  193,  246,
                    501: 
                    502:       209,  388,  275,  245,  386,  378,  382,  202,  288,  379,
                    503:       401,  432,  230,  307,  397,  296,  403,  438,  407,  446,
                    504:      1541,    0,  439,    0,    0,    0,    0,    0,  401, 1490,
                    505:         0,  409,    0,    0,    0,  434,    0,  506,  509,  518,
                    506:       510,  511,  525,  530,  532,  541,  543,  548,  555,  557,
                    507:       569,  566,  577,  574,  585,  586,  597,  599,  608,  606,
                    508:       613,  451,  448,  471,  290,  455,  467,  456,  469,  611,
                    509:       620,  453,  544,  470,  526,  611, 1554, 1554, 1485, 1554,
                    510:      1554,    0, 1532,  527, 1531, 1530,  509,  525,  457,  211,
                    511:       603,  616, 1529,  551, 1528,  528, 1527,  608,  630,  389,
                    512: 
                    513:       632,  498, 1526,  584,  642,  552,  656,    0,    0, 1477,
                    514:         0,    0,    0,  633,  640,  653,  654,  661,  672,  674,
                    515:       675,  677,  688,  690,  691,  704,  705,  706,  707,  718,
                    516:       739,  727,  730,  732,  741,  746,  748,  669,  684,  667,
                    517:       688,  673,  698,  747,  643,  753,  683,  788,  749,  687,
                    518:       763,  766, 1554,  775,  781,  783, 1524,  790, 1523,  791,
                    519:       793,  792, 1522,  794,  797,  798,  795,  800,  799,  802,
                    520:       801,  805,  807,    0,  782,  784,  810,  813,  818,  815,
                    521:       827,  830,  842,  843,  844,  856,  857,  869,  872,  871,
                    522:       884,  887,  889,  901,  804,  860,  821, 1521,  886,  877,
                    523: 
                    524:       864,  890,  892,  926,  934, 1520,  924,  906,  675,  932,
                    525:       893,  935,  936,  938, 1519,  905,  940,  943,  944,  946,
                    526:       947,  948,  828,  949,  950,  951,  953,  954,  927,  935,
                    527:       958,  965,  943,  960,  967,  972,  974,  988,  986,  987,
                    528:       999, 1000, 1001, 1002, 1014, 1015, 1027,  957, 1021, 1048,
                    529:      1022,  982, 1035, 1041, 1044, 1056, 1060,  207, 1057, 1068,
                    530:      1069, 1070, 1518, 1071, 1072, 1073, 1075, 1517, 1076, 1077,
                    531:      1082, 1516, 1083, 1081, 1084, 1089, 1515, 1085, 1514, 1091,
                    532:      1064, 1079, 1094, 1067, 1097, 1102, 1110, 1117, 1118, 1119,
                    533:      1130, 1132, 1133, 1141, 1146, 1149, 1154, 1165, 1094, 1103,
                    534: 
                    535:      1090, 1104, 1152, 1144, 1128, 1106,  653, 1163, 1167,  813,
                    536:      1175, 1180, 1141, 1185, 1513, 1191, 1512, 1194, 1511, 1510,
                    537:      1198, 1196, 1509, 1199, 1508, 1201, 1202, 1205, 1204, 1181,
                    538:      1184, 1183, 1196, 1199, 1210, 1207, 1221, 1223, 1224, 1226,
                    539:      1235, 1240, 1217, 1257, 1229, 1260, 1271, 1274, 1507, 1275,
                    540:      1506, 1505, 1276, 1279, 1087, 1240, 1504, 1280, 1281, 1282,
                    541:      1284, 1287, 1289, 1290, 1497, 1292, 1291, 1485, 1265, 1294,
                    542:      1299, 1301, 1277, 1312, 1310, 1315, 1310, 1475, 1294, 1351,
                    543:      1298, 1300, 1474, 1345, 1361, 1328, 1472, 1318, 1365, 1336,
                    544:      1471, 1316, 1349, 1467, 1466, 1464, 1340, 1341, 1342, 1343,
                    545: 
                    546:      1354, 1355, 1352, 1367, 1458, 1390,  956, 1395, 1334, 1396,
                    547:      1376, 1385, 1388, 1312, 1394, 1397, 1398, 1296, 1377, 1379,
                    548:      1408, 1402, 1413, 1416,  879, 1418, 1241, 1410, 1425, 1428,
                    549:      1431, 1429, 1432, 1406, 1435, 1437, 1439,  958, 1440, 1139,
                    550:      1017,  866, 1441, 1443,  832, 1449,  817,  815, 1422,  717,
                    551:      1453, 1459, 1210, 1446,  530,  478,  476, 1461,  394,  319,
                    552:       214,  121, 1554, 1484, 1490, 1492, 1495, 1500, 1505
                    553:     } ;
                    554: 
                    555: static yyconst flex_int16_t yy_def[570] =
                    556:     {   0,
                    557:       563,    1,  563,    3,    1,    1,    1,    1,  563,  563,
                    558:       563,  563,  564,  565,  566,  563,  563,  567,  567,  567,
                    559:       563,  563,  563,  567,  567,  567,  567,  567,  567,  567,
                    560:       567,  567,  567,  567,  567,  567,  567,  567,  568,  568,
                    561:       568,  568,  568,  569,  569,  569,  563,  569,   48,   48,
                    562:        48,   48,   48,   48,   48,   48,   48,   48,   48,   48,
                    563:        48,   48,  567,  567,  567,  567,  567,   19,  567,  567,
                    564:       567,  567,  567,  567,  567,  567,  563,  564,  563,  565,
                    565:       566,  563,  563,  563,  563,  563,  563,  563,  563,  563,
                    566:       563,  563,  563,  563,  567,   19,   19,  567,  567,  567,
                    567: 
                    568:       567,  567,  567,  567,  567,  567,  567,  567,  567,  567,
                    569:       567,  567,  567,  567,  567,  567,  567,  567,  567,  567,
                    570:       568,  568,  568,  568,  568,  568,  568,  568,  568,  568,
                    571:       568,  568,  568,  568,  568,   48,   45,   45,   48,   48,
                    572:        48,   48,   48,   48,   48,   48,   48,   48,   48,   48,
                    573:        48,   48,   48,   48,   48,   48,   48,   48,   48,   48,
                    574:        48,  567,  567,  567,  567,  567,  567,  567,  567,  567,
                    575:       567,  567,  567,  567,  567,  563,  563,  563,  563,  563,
                    576:       563,   97,  567,  567,  567,  567,  567,  567,  567,  567,
                    577:       567,  567,  567,  567,  567,  567,  567,  567,  567,  567,
                    578: 
                    579:       567,  567,  567,  567,  567,  567,  568,  568,  568,  568,
                    580:       568,  568,  138,   48,   48,   48,   48,   48,   48,   48,
                    581:        48,   48,   48,   48,   48,   48,   48,   48,   48,   48,
                    582:        48,   48,   48,   48,   48,   48,   48,  567,  567,  567,
                    583:       567,  567,  567,  567,  567,  567,  567,  567,  567,  567,
                    584:       567,  567,  563,  567,  567,  567,  567,  567,  567,  567,
                    585:       567,  567,  567,  567,  567,  567,  567,  567,  567,  567,
                    586:       567,  567,  567,  568,   48,   48,   48,   48,   48,   48,
                    587:        48,   48,   48,   48,   48,   48,   48,   48,   48,   48,
                    588:        48,   48,   48,   48,  567,  567,  567,  567,  567,  567,
                    589: 
                    590:       567,  567,  567,  567,  567,  567,  567,  567,  567,  567,
                    591:       567,  567,  567,  567,  567,  567,  567,  567,  567,  567,
                    592:       567,  567,  567,  567,  567,  567,  567,  567,   48,   48,
                    593:        48,   48,   48,   48,   48,   48,   48,   48,   48,   48,
                    594:        48,   48,   48,   48,   48,   48,   48,  567,  567,  567,
                    595:       567,  567,  567,  567,  567,  567,  567,  567,  567,  567,
                    596:       567,  567,  567,  567,  567,  567,  567,  567,  567,  567,
                    597:       567,  567,  567,  567,  567,  567,  567,  567,  567,  567,
                    598:        48,   48,   48,   48,   48,   48,   48,   48,   48,   48,
                    599:        48,   48,   48,   48,   48,   48,   48,   48,  567,  567,
                    600: 
                    601:       567,  567,  567,  567,  567,  567,  567,  567,  567,  567,
                    602:       567,  567,  567,  567,  567,  567,  567,  567,  567,  567,
                    603:       567,  567,  567,  567,  567,  567,  567,  567,  567,   48,
                    604:        48,   48,   48,   48,   48,   48,   48,   48,   48,   48,
                    605:        48,   48,  567,  567,  567,  567,  567,  567,  567,  567,
                    606:       567,  567,  567,  567,  567,  567,  567,  567,  567,  567,
                    607:       567,  567,  567,  567,  567,  567,  567,  567,   48,   48,
                    608:        48,   48,   48,   48,   48,   48,  567,  567,  567,  567,
                    609:       567,  567,  567,  567,  567,  567,  567,  567,  567,  567,
                    610:       567,  567,  567,  567,  567,  567,   48,   48,   48,   48,
                    611: 
                    612:        48,   48,  567,  567,  567,  567,  567,  567,  567,  567,
                    613:       567,  567,  567,  567,  567,  567,  567,  567,   48,   48,
                    614:       567,  567,  567,  567,  567,  567,  567,  567,  567,  567,
                    615:       567,  567,  567,   48,  567,  567,  567,  567,  567,  567,
                    616:       567,  567,  567,  567,  567,  567,  567,  567,   48,  567,
                    617:       567,  567,  567,  567,  567,  567,  567,  567,  567,  567,
                    618:       567,  567,    0,  563,  563,  563,  563,  563,  563
                    619:     } ;
                    620: 
                    621: static yyconst flex_int16_t yy_nxt[1613] =
                    622:     {   0,
                    623:        10,   11,   12,   13,   14,   10,   10,   15,   16,   10,
                    624:        17,   18,   19,   19,   19,   19,   19,   19,   19,   19,
                    625:        20,   21,   20,   20,   20,   20,   20,   20,   20,   22,
                    626:        23,   10,   24,   25,   20,   26,   27,   28,   29,   20,
                    627:        30,   20,   20,   31,   20,   32,   33,   20,   34,   35,
                    628:        36,   37,   20,   20,   20,   20,   20,   38,   10,   39,
                    629:        40,   13,   14,   10,   10,   15,   41,   42,   43,   44,
                    630:        45,   45,   45,   45,   45,   45,   45,   45,   46,   47,
                    631:        46,   46,   46,   46,   46,   46,   46,   22,   23,   42,
                    632:        48,   49,   46,   50,   51,   52,   53,   46,   54,   46,
                    633: 
                    634:        46,   55,   46,   56,   57,   46,   58,   59,   60,   61,
                    635:        46,   46,   46,   46,   46,   62,   63,   63,  563,  563,
                    636:       563,  563,  563,   64,   64,  563,   65,   65,  563,   66,
                    637:        66,  563,  563,  563,  563,   67,   67,   68,  563,  563,
                    638:       563,  563,  136,  177,  563,  113,  136,  563,  102,   98,
                    639:       147,  563,  136,   99,  178,   69,   70,   71,   72,  100,
                    640:       107,  106,  120,  563,  103,  104,  180,  101,   73,  563,
                    641:       105,  163,   74,   75,   76,   68,  114,  181,  108,  110,
                    642:       164,  136,  109,  110,  111,  136,  112,  115,  116,  165,
                    643:       117,  136,  563,   69,   70,   71,   72,  183,  122,  122,
                    644: 
                    645:       563,  184,  142,  122,  563,  118,   73,  122,  119,  563,
                    646:        74,   75,   76,   82,  563,   82,  563,  170,  563,  258,
                    647:        83,  563,   84,   85,   86,   87,  122,  122,  122,  136,
                    648:       143,   88,   89,  136,  136,   90,  194,  563,  136,  136,
                    649:       412,   91,   92,   82,  136,  186,  144,   93,  563,  145,
                    650:        94,   81,  563,  563,  146,   96,   96,   96,   96,   96,
                    651:        96,   96,   96,   96,  136,  148,  136,  136,  136,  136,
                    652:       136,  136,   97,  136,  136,  199,  136,  136,  149,  136,
                    653:       151,  136,  563,  154,  136,  136,  136,  110,  136,  150,
                    654:       136,  136,  190,  172,  136,  563,  136,  563,  152,   97,
                    655: 
                    656:        81,  153,  185,  563,   96,   96,   96,   96,   96,   96,
                    657:        96,   96,   96,  123,  563,  123,  563,  136,  155,  189,
                    658:       124,  136,  125,  126,  127,  128,  563,  136,  176,  156,
                    659:       176,  129,  130,  241,  202,  131,  136,  161,  195,  563,
                    660:       136,  132,  133,  123,   98,  162,  136,  134,   99,  563,
                    661:       135,  122,  122,  563,  100,  200,  122,   81,  176,  563,
                    662:       122,  137,  137,  137,  137,  137,  137,  137,  137,  137,
                    663:       157,  563,  158,  136,  116,  169,  166,  136,  138,  122,
                    664:       122,  122,  171,  136,  113,  563,  563,  159,  101,  563,
                    665:       160,  118,  173,  563,  119,  563,  563,  265,  103,   98,
                    666: 
                    667:       168,  563,  563,   99,  563,  138,  122,  122,  563,  100,
                    668:       563,  122,   81,  196,  563,  122,  137,  137,  137,  137,
                    669:       137,  137,  137,  137,  137,  187,  191,  116,  563,  117,
                    670:       192,  188,  201,  193,  122,  122,  122,  122,  122,  563,
                    671:       208,  197,  122,  563,  118,  563,  122,  119,  211,  175,
                    672:       203,  209,  205,  563,  207,  563,  207,  114,  563,  212,
                    673:       563,  174,  563,  563,  563,  122,  122,  122,  115,  136,
                    674:       204,  139,  198,  136,  563,  140,  563,  563,  563,  136,
                    675:       239,  141,  563,  563,  207,  563,  182,  182,  182,  182,
                    676:       182,  182,  182,  182,  182,  206,  249,  182,  182,  182,
                    677: 
                    678:       182,  238,  242,  243,  257,  563,  244,  182,  182,  182,
                    679:       182,  182,  182,  563,  251,  245,  563,  213,  213,  213,
                    680:       213,  213,  213,  213,  213,  213,  215,  240,  213,  213,
                    681:       213,  213,  563,  563,  563,  563,  270,  563,  213,  213,
                    682:       213,  213,  213,  213,  214,  136,  136,  217,  136,  136,
                    683:       136,  563,  255,  136,  136,  136,  136,  136,  563,  563,
                    684:       136,  256,  218,  136,  136,  136,  216,  136,  219,  136,
                    685:       136,  136,  252,  254,  220,  136,  136,  136,  136,  221,
                    686:       136,  222,  136,  136,  262,  250,  136,  136,  136,  225,
                    687:       136,  563,  136,  136,  136,  223,  136,  261,  273,  224,
                    688: 
                    689:       136,  136,  136,  227,  136,  136,  228,  226,  136,  136,
                    690:       563,  136,  136,  136,  136,  563,  136,  229,  563,  230,
                    691:       136,  232,  136,  563,  136,  136,  176,  563,  176,  271,
                    692:       136,  136,  136,  231,  136,  233,  136,  563,  136,  563,
                    693:       235,  136,  136,  136,  136,  136,  234,  136,  136,  563,
                    694:       563,  236,  136,  136,  259,  246,  176,  187,  136,  263,
                    695:       563,  247,  237,  188,  266,  264,  260,  267,  136,  268,
                    696:       248,  207,  136,  207,  563,  136,  563,  295,  136,  136,
                    697:       563,  299,  563,  279,  269,  136,  275,  272,  136,  136,
                    698:       563,  563,  136,  136,  563,  563,  136,  302,  136,  136,
                    699: 
                    700:       136,  207,  452,  297,  276,  563,  136,  136,  277,  136,
                    701:       136,  136,  136,  136,  136,  362,  136,  136,  296,  136,
                    702:       136,  278,  136,  136,  563,  136,  136,  136,  280,  136,
                    703:       136,  298,  307,  136,  304,  136,  136,  282,  281,  136,
                    704:       136,  136,  136,  136,  136,  136,  136,  286,  300,  136,
                    705:       136,  136,  136,  285,  563,  301,  563,  136,  284,  287,
                    706:       563,  283,  288,  136,  289,  136,  136,  136,  291,  136,
                    707:       563,  136,  136,  563,  136,  136,  136,  136,  136,  290,
                    708:       136,  136,  563,  136,  136,  136,  292,  136,  563,  303,
                    709:       563,  293,  306,  136,  294,  563,  305,  563,  563,  563,
                    710: 
                    711:       563,  563,  563,  309,  563,  563,  563,  563,  563,  563,
                    712:       308,  563,  563,  311,  563,  328,  330,  136,  310,  136,
                    713:       563,  136,  563,  136,  563,  329,  317,  136,  563,  136,
                    714:       315,  321,  455,  320,  312,  563,  313,  316,  325,  563,
                    715:       318,  327,  314,  323,  319,  136,  324,  322,  136,  136,
                    716:       136,  326,  136,  136,  136,  136,  350,  136,  136,  348,
                    717:       136,  331,  136,  136,  332,  136,  334,  563,  349,  136,
                    718:       333,  563,  136,  563,  335,  136,  336,  136,  136,  136,
                    719:       375,  136,  136,  136,  563,  352,  563,  136,  136,  136,
                    720:       337,  136,  339,  563,  541,  136,  136,  563,  353,  563,
                    721: 
                    722:       563,  136,  136,  338,  136,  340,  136,  136,  136,  347,
                    723:       136,  136,  563,  563,  136,  342,  136,  136,  343,  136,
                    724:       344,  341,  136,  136,  136,  346,  136,  354,  136,  136,
                    725:       351,  563,  136,  563,  136,  355,  136,  345,  356,  563,
                    726:       136,  563,  563,  563,  364,  563,  136,  563,  357,  361,
                    727:       563,  563,  368,  563,  563,  563,  563,  563,  563,  360,
                    728:       563,  563,  381,  563,  563,  563,  136,  363,  358,  359,
                    729:       136,  365,  136,  367,  136,  525,  371,  553,  385,  366,
                    730:       136,  372,  136,  369,  376,  377,  382,  370,  136,  563,
                    731:       373,  399,  374,  136,  383,  136,  379,  136,  378,  136,
                    732: 
                    733:       136,  380,  136,  136,  136,  136,  136,  136,  384,  136,
                    734:       136,  136,  136,  136,  386,  387,  405,  136,  388,  136,
                    735:       389,  390,  136,  136,  563,  136,  136,  136,  563,  563,
                    736:       391,  136,  136,  136,  136,  136,  394,  395,  136,  136,
                    737:       136,  136,  563,  392,  136,  136,  136,  136,  563,  136,
                    738:       136,  563,  393,  136,  136,  563,  403,  404,  397,  136,
                    739:       136,  396,  136,  563,  563,  400,  136,  563,  406,  410,
                    740:       401,  402,  136,  411,  398,  563,  563,  563,  563,  563,
                    741:       563,  408,  563,  563,  563,  422,  407,  409,  563,  563,
                    742:       563,  563,  563,  413,  563,  486,  563,  563,  563,  136,
                    743: 
                    744:       414,  563,  432,  136,  418,  415,  136,  417,  419,  136,
                    745:       563,  563,  136,  563,  136,  430,  421,  423,  136,  424,
                    746:       416,  427,  420,  429,  136,  435,  431,  443,  425,  136,
                    747:       445,  428,  136,  136,  426,  563,  136,  136,  444,  136,
                    748:       451,  136,  136,  446,  433,  136,  563,  136,  563,  136,
                    749:       434,  563,  136,  436,  136,  136,  136,  136,  136,  563,
                    750:       449,  450,  136,  136,  136,  136,  437,  136,  136,  136,
                    751:       563,  136,  136,  440,  563,  136,  136,  136,  136,  438,
                    752:       136,  136,  563,  439,  136,  136,  136,  563,  136,  136,
                    753:       458,  136,  563,  136,  136,  441,  447,  442,  563,  136,
                    754: 
                    755:       136,  563,  448,  563,  136,  563,  563,  454,  563,  563,
                    756:       136,  563,  563,  453,  457,  456,  136,  563,  136,  136,
                    757:       136,  459,  136,  136,  563,  560,  136,  469,  136,  136,
                    758:       460,  136,  462,  470,  136,  136,  563,  461,  136,  468,
                    759:       465,  136,  136,  463,  136,  136,  136,  563,  563,  136,
                    760:       464,  477,  136,  466,  467,  136,  136,  471,  136,  136,
                    761:       136,  136,  136,  473,  563,  136,  136,  563,  136,  136,
                    762:       136,  136,  472,  478,  136,  476,  479,  474,  563,  136,
                    763:       136,  563,  563,  563,  475,  136,  563,  563,  563,  563,
                    764:       490,  563,  480,  487,  563,  492,  563,  563,  563,  563,
                    765: 
                    766:       136,  563,  498,  563,  136,  563,  481,  563,  497,  483,
                    767:       136,  485,  136,  482,  509,  484,  136,  563,  503,  563,
                    768:       488,  493,  136,  563,  489,  563,  494,  491,  495,  136,
                    769:       504,  499,  510,  136,  136,  563,  136,  500,  136,  136,
                    770:       136,  563,  496,  563,  136,  136,  136,  136,  501,  136,
                    771:       136,  136,  563,  511,  136,  136,  563,  136,  563,  563,
                    772:       136,  502,  513,  505,  506,  507,  517,  508,  563,  512,
                    773:       516,  514,  563,  515,  563,  136,  136,  520,  136,  136,
                    774:       136,  136,  136,  563,  518,  136,  136,  136,  136,  136,
                    775:       136,  519,  563,  136,  136,  563,  521,  563,  523,  136,
                    776: 
                    777:       136,  563,  563,  563,  563,  563,  524,  526,  527,  563,
                    778:       528,  522,  136,  534,  136,  563,  136,  563,  136,  529,
                    779:       563,  530,  136,  563,  136,  563,  537,  538,  531,  539,
                    780:       532,  542,  563,  540,  533,  563,  563,  536,  563,  563,
                    781:       535,  136,  563,  543,  563,  136,  563,  563,  563,  551,
                    782:       563,  136,  554,  563,  549,  552,  563,  136,  544,  561,
                    783:       563,  136,  545,  547,  546,  563,  563,  136,  563,  550,
                    784:       558,  563,  562,  563,  563,  555,  559,  556,  563,  563,
                    785:       548,  563,  563,  557,   78,   78,   78,   78,   78,   78,
                    786:        80,   80,  563,   80,   80,   80,   81,   81,   95,   95,
                    787: 
                    788:        95,  122,  122,  122,  563,  122,  136,  136,  136,  136,
                    789:       136,  563,  563,  563,  563,  563,  563,  563,  563,  563,
                    790:       563,  563,  563,  563,  563,  563,  563,  563,  563,  563,
                    791:       563,  563,  274,  563,  563,  563,  563,  563,  563,  563,
                    792:       253,  210,  121,  563,  179,   79,   77,  167,  121,  563,
                    793:        79,   77,  563,    9,  563,  563,  563,  563,  563,  563,
                    794:       563,  563,  563,  563,  563,  563,  563,  563,  563,  563,
                    795:       563,  563,  563,  563,  563,  563,  563,  563,  563,  563,
                    796:       563,  563,  563,  563,  563,  563,  563,  563,  563,  563,
                    797:       563,  563,  563,  563,  563,  563,  563,  563,  563,  563,
                    798: 
                    799:       563,  563,  563,  563,  563,  563,  563,  563,  563,  563,
                    800:       563,  563
                    801:     } ;
                    802: 
                    803: static yyconst flex_int16_t yy_chk[1613] =
                    804:     {   0,
                    805:         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
                    806:         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
                    807:         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
                    808:         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
                    809:         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
                    810:         1,    1,    1,    1,    1,    1,    1,    1,    3,    3,
                    811:         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
                    812:         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
                    813:         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
                    814:         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
                    815: 
                    816:         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
                    817:         3,    3,    3,    3,    3,    3,    5,    6,   25,   26,
                    818:        35,   24,   27,    5,    6,   28,    5,    6,  562,    5,
                    819:         6,   29,   31,   38,   64,    5,    6,    7,   30,   33,
                    820:        32,   34,   52,   88,   66,   35,   52,   36,   26,   24,
                    821:        52,   65,   52,   24,   88,    7,    7,    7,    7,   24,
                    822:        29,   28,   38,   37,   26,   27,   91,   25,    7,   98,
                    823:        27,   64,    7,    7,    7,    8,   36,   91,   30,   32,
                    824:        65,   49,   31,   66,   33,   49,   34,   36,   37,   66,
                    825:        37,   49,   71,    8,    8,    8,    8,   98,   46,   46,
                    826: 
                    827:        99,   99,   49,   46,   46,   37,    8,   46,   37,  108,
                    828:         8,    8,    8,   16,  358,   16,  101,   71,  190,  190,
                    829:        16,  561,   16,   16,   16,   16,   46,   46,   46,   50,
                    830:        50,   16,   16,   50,   51,   16,  108,  113,   51,   50,
                    831:       358,   16,   16,   16,   51,  101,   50,   16,   73,   51,
                    832:        16,   18,  104,  100,   51,   18,   18,   18,   18,   18,
                    833:        18,   18,   18,   18,   53,   53,   54,   55,   53,   56,
                    834:        54,   55,   18,   56,   53,  113,   54,   55,   54,   56,
                    835:        56,   57,  103,   59,   58,   57,   59,   73,   58,   55,
                    836:        59,   57,  104,   73,   58,  109,   59,  165,   57,   18,
                    837: 
                    838:        19,   58,  100,  116,   19,   19,   19,   19,   19,   19,
                    839:        19,   19,   19,   41,  114,   41,   63,   60,   60,  103,
                    840:        41,   60,   41,   41,   41,   41,  560,   60,   82,   60,
                    841:        82,   41,   41,  165,  116,   41,   62,   62,  109,   70,
                    842:        62,   41,   41,   41,   63,   63,   62,   41,   63,   67,
                    843:        41,   44,   44,   72,   63,  114,   44,   44,   82,   74,
                    844:        44,   44,   44,   44,   44,   44,   44,   44,   44,   44,
                    845:        61,   69,   61,   61,   67,   70,   67,   61,   44,   44,
                    846:        44,   44,   72,   61,   74,  106,  110,   61,   70,  107,
                    847:        61,   67,   74,  105,   67,  102,  200,  200,   72,   69,
                    848: 
                    849:        69,  559,   76,   69,  115,   44,   45,   45,  111,   69,
                    850:       117,   45,   45,  110,  119,   45,   45,   45,   45,   45,
                    851:        45,   45,   45,   45,   45,  102,  105,   76,   75,   76,
                    852:       106,  102,  115,  107,   45,   45,   45,   48,   48,  112,
                    853:       129,  111,   48,   48,   76,  118,   48,   76,  132,   76,
                    854:       117,  129,  119,  120,  123,  163,  123,   75,  162,  132,
                    855:       172,   75,  166,  168,  189,   48,   48,   48,   75,  136,
                    856:       118,   48,  112,  136,  167,   48,  169,  174,  164,  136,
                    857:       163,   48,   97,  557,  123,  556,   97,   97,   97,   97,
                    858:        97,   97,   97,   97,   97,  120,  172,   97,   97,   97,
                    859: 
                    860:        97,  162,  166,  167,  189,  202,  168,   97,   97,   97,
                    861:        97,   97,   97,  138,  174,  169,  187,  138,  138,  138,
                    862:       138,  138,  138,  138,  138,  138,  140,  164,  138,  138,
                    863:       138,  138,  188,  175,  184,  196,  202,  555,  138,  138,
                    864:       138,  138,  138,  138,  139,  141,  142,  142,  139,  141,
                    865:       142,  173,  187,  140,  139,  141,  142,  140,  194,  206,
                    866:       143,  188,  143,  140,  143,  144,  141,  145,  143,  144,
                    867:       143,  145,  175,  184,  144,  144,  146,  145,  147,  145,
                    868:       146,  146,  147,  148,  196,  173,  146,  148,  147,  149,
                    869:       149,  204,  150,  148,  149,  147,  150,  194,  206,  148,
                    870: 
                    871:       149,  152,  150,  151,  151,  152,  152,  150,  151,  154,
                    872:       191,  152,  153,  154,  151,  198,  153,  153,  170,  154,
                    873:       155,  156,  153,  192,  155,  156,  176,  171,  176,  204,
                    874:       155,  156,  157,  155,  158,  157,  157,  199,  158,  201,
                    875:       159,  160,  157,  159,  158,  160,  158,  159,  161,  205,
                    876:       245,  160,  161,  159,  191,  170,  176,  171,  161,  198,
                    877:       407,  170,  161,  171,  201,  199,  192,  201,  214,  201,
                    878:       171,  207,  214,  207,  240,  215,  238,  238,  214,  215,
                    879:       242,  242,  309,  221,  201,  215,  215,  205,  216,  217,
                    880:       247,  239,  216,  217,  250,  241,  218,  245,  216,  217,
                    881: 
                    882:       218,  207,  407,  240,  218,  243,  218,  219,  219,  220,
                    883:       221,  219,  222,  220,  221,  309,  222,  219,  239,  220,
                    884:       221,  220,  222,  223,  550,  224,  225,  223,  222,  224,
                    885:       225,  241,  250,  223,  247,  224,  225,  225,  223,  226,
                    886:       227,  228,  229,  226,  227,  228,  229,  231,  243,  226,
                    887:       227,  228,  229,  230,  244,  244,  249,  230,  229,  232,
                    888:       246,  227,  232,  230,  232,  233,  232,  234,  233,  233,
                    889:       251,  234,  232,  252,  231,  233,  235,  234,  231,  232,
                    890:       235,  236,  254,  237,  231,  236,  235,  237,  255,  246,
                    891:       256,  236,  249,  237,  237,  248,  248,  258,  260,  262,
                    892: 
                    893:       261,  264,  267,  252,  265,  266,  269,  268,  271,  270,
                    894:       251,  295,  272,  255,  273,  273,  276,  275,  254,  276,
                    895:       410,  275,  548,  276,  547,  275,  262,  275,  297,  276,
                    896:       260,  267,  410,  266,  256,  323,  258,  261,  270,  545,
                    897:       264,  272,  258,  268,  265,  277,  269,  267,  278,  277,
                    898:       280,  271,  278,  279,  280,  277,  297,  279,  278,  295,
                    899:       280,  277,  281,  279,  279,  282,  281,  296,  296,  282,
                    900:       279,  301,  281,  542,  282,  282,  283,  283,  284,  285,
                    901:       323,  283,  284,  285,  300,  300,  525,  283,  284,  285,
                    902:       285,  286,  287,  299,  525,  286,  287,  302,  301,  303,
                    903: 
                    904:       311,  286,  287,  286,  288,  288,  290,  289,  288,  294,
                    905:       290,  289,  316,  308,  288,  289,  290,  289,  290,  291,
                    906:       291,  288,  292,  291,  293,  293,  292,  302,  293,  291,
                    907:       299,  307,  292,  304,  293,  303,  294,  292,  304,  310,
                    908:       294,  305,  312,  313,  311,  314,  294,  317,  305,  308,
                    909:       318,  319,  316,  320,  321,  322,  324,  325,  326,  307,
                    910:       327,  328,  329,  507,  348,  538,  329,  310,  305,  305,
                    911:       330,  312,  329,  314,  330,  507,  319,  538,  333,  313,
                    912:       330,  320,  333,  317,  324,  325,  330,  318,  333,  352,
                    913:       321,  348,  322,  331,  331,  334,  327,  331,  326,  334,
                    914: 
                    915:       332,  328,  335,  331,  332,  334,  335,  336,  332,  337,
                    916:       332,  336,  335,  337,  335,  336,  352,  336,  337,  337,
                    917:       338,  339,  340,  338,  541,  339,  340,  338,  349,  351,
                    918:       340,  339,  340,  338,  341,  342,  343,  344,  341,  342,
                    919:       343,  344,  353,  341,  341,  342,  343,  344,  354,  345,
                    920:       346,  355,  342,  345,  346,  350,  350,  351,  346,  345,
                    921:       346,  345,  347,  356,  359,  349,  347,  357,  353,  356,
                    922:       349,  349,  347,  357,  347,  360,  361,  362,  364,  365,
                    923:       366,  354,  367,  369,  370,  370,  353,  355,  374,  371,
                    924:       373,  375,  378,  359,  455,  455,  376,  401,  380,  381,
                    925: 
                    926:       360,  399,  384,  381,  365,  361,  384,  364,  366,  381,
                    927:       400,  402,  384,  406,  382,  382,  369,  371,  382,  373,
                    928:       362,  376,  367,  380,  382,  388,  383,  399,  374,  383,
                    929:       401,  378,  385,  383,  375,  405,  385,  386,  400,  383,
                    930:       406,  386,  385,  402,  385,  387,  540,  386,  413,  387,
                    931:       387,  404,  388,  389,  390,  387,  388,  389,  390,  403,
                    932:       404,  405,  388,  389,  390,  391,  391,  392,  393,  391,
                    933:       408,  392,  393,  394,  409,  391,  394,  392,  393,  392,
                    934:       394,  395,  411,  393,  396,  395,  394,  412,  396,  397,
                    935:       413,  395,  414,  397,  396,  396,  403,  398,  416,  397,
                    936: 
                    937:       398,  418,  403,  422,  398,  421,  424,  409,  426,  427,
                    938:       398,  429,  428,  408,  412,  411,  430,  553,  432,  431,
                    939:       430,  414,  432,  431,  443,  553,  430,  431,  432,  431,
                    940:       416,  433,  421,  434,  434,  433,  445,  418,  434,  429,
                    941:       426,  433,  436,  422,  434,  435,  436,  456,  527,  435,
                    942:       424,  443,  436,  427,  428,  435,  437,  435,  438,  439,
                    943:       437,  440,  438,  439,  444,  440,  437,  446,  438,  439,
                    944:       441,  440,  437,  444,  441,  442,  445,  440,  447,  442,
                    945:       441,  448,  450,  453,  441,  442,  454,  458,  459,  460,
                    946:       460,  461,  446,  456,  462,  462,  463,  464,  467,  466,
                    947: 
                    948:       469,  479,  470,  518,  469,  481,  447,  482,  469,  450,
                    949:       469,  454,  473,  448,  481,  453,  473,  477,  477,  514,
                    950:       458,  463,  473,  492,  459,  488,  464,  461,  466,  470,
                    951:       479,  471,  482,  470,  471,  486,  472,  472,  471,  470,
                    952:       472,  509,  467,  490,  471,  475,  472,  474,  474,  475,
                    953:       476,  474,  484,  484,  476,  475,  493,  474,  480,  503,
                    954:       476,  475,  486,  480,  480,  480,  492,  480,  485,  485,
                    955:       490,  488,  489,  489,  504,  497,  498,  499,  500,  497,
                    956:       498,  499,  500,  511,  493,  497,  498,  499,  500,  501,
                    957:       502,  498,  512,  501,  502,  513,  503,  506,  506,  501,
                    958: 
                    959:       502,  515,  508,  510,  516,  517,  506,  508,  510,  522,
                    960:       511,  504,  519,  519,  520,  521,  519,  528,  520,  512,
                    961:       523,  513,  519,  524,  520,  526,  523,  523,  515,  523,
                    962:       516,  526,  529,  524,  517,  530,  532,  522,  531,  533,
                    963:       521,  534,  535,  528,  536,  534,  537,  539,  543,  536,
                    964:       544,  534,  539,  554,  534,  537,  546,  549,  529,  554,
                    965:       551,  549,  530,  532,  531,  505,  552,  549,  558,  535,
                    966:       551,  496,  558,  495,  494,  543,  552,  544,  491,  487,
                    967:       533,  483,  478,  546,  564,  564,  564,  564,  564,  564,
                    968:       565,  565,  468,  565,  565,  565,  566,  566,  567,  567,
                    969: 
                    970:       567,  568,  568,  568,  465,  568,  569,  569,  569,  569,
                    971:       569,  457,  452,  451,  449,  425,  423,  420,  419,  417,
                    972:       415,  379,  377,  372,  368,  363,  315,  306,  298,  263,
                    973:       259,  257,  210,  203,  197,  195,  193,  186,  185,  183,
                    974:       179,  130,  121,   95,   89,   78,   77,   68,   39,   20,
                    975:        13,   11,    9,  563,  563,  563,  563,  563,  563,  563,
                    976:       563,  563,  563,  563,  563,  563,  563,  563,  563,  563,
                    977:       563,  563,  563,  563,  563,  563,  563,  563,  563,  563,
                    978:       563,  563,  563,  563,  563,  563,  563,  563,  563,  563,
                    979:       563,  563,  563,  563,  563,  563,  563,  563,  563,  563,
                    980: 
                    981:       563,  563,  563,  563,  563,  563,  563,  563,  563,  563,
                    982:       563,  563
                    983:     } ;
                    984: 
                    985: static yy_state_type yy_last_accepting_state;
                    986: static char *yy_last_accepting_cpos;
                    987: 
                    988: extern int yy_flex_debug;
                    989: int yy_flex_debug = 0;
                    990: 
                    991: /* The intent behind this definition is that it'll catch
                    992:  * any uses of REJECT which flex missed.
                    993:  */
                    994: #define REJECT reject_used_but_not_detected
                    995: static int yy_more_flag = 0;
                    996: static int yy_more_len = 0;
                    997: #define yymore() ((yy_more_flag) = 1)
                    998: #define YY_MORE_ADJ (yy_more_len)
                    999: #define YY_RESTORE_YY_MORE_OFFSET
                   1000: char *yytext;
                   1001: #line 1 "token.l"
                   1002: /*     $NetBSD: token.l,v 1.15 2010/06/04 13:06:03 vanhu Exp $ */
                   1003: /*     $KAME: token.l,v 1.44 2003/10/21 07:20:58 itojun Exp $  */
                   1004: /*
                   1005:  * Copyright (C) 1995, 1996, 1997, 1998, and 1999 WIDE Project.
                   1006:  * All rights reserved.
                   1007:  *
                   1008:  * Redistribution and use in source and binary forms, with or without
                   1009:  * modification, are permitted provided that the following conditions
                   1010:  * are met:
                   1011:  * 1. Redistributions of source code must retain the above copyright
                   1012:  *    notice, this list of conditions and the following disclaimer.
                   1013:  * 2. Redistributions in binary form must reproduce the above copyright
                   1014:  *    notice, this list of conditions and the following disclaimer in the
                   1015:  *    documentation and/or other materials provided with the distribution.
                   1016:  * 3. Neither the name of the project nor the names of its contributors
                   1017:  *    may be used to endorse or promote products derived from this software
                   1018:  *    without specific prior written permission.
                   1019:  *
                   1020:  * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
                   1021:  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
                   1022:  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
                   1023:  * ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
                   1024:  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
                   1025:  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
                   1026:  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
                   1027:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
                   1028:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
                   1029:  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
                   1030:  * SUCH DAMAGE.
                   1031:  */
                   1032: #line 35 "token.l"
                   1033: 
                   1034: #ifdef HAVE_CONFIG_H
                   1035: #include "config.h"
                   1036: #endif
                   1037: 
                   1038: #include <sys/types.h>
                   1039: #include <sys/param.h>
                   1040: #include <sys/socket.h>
                   1041: #include <net/pfkeyv2.h>
                   1042: #include <netinet/in.h>
                   1043: #include PATH_IPSEC_H
                   1044: 
                   1045: #include <stdlib.h>
                   1046: #include <limits.h>
                   1047: #include <string.h>
                   1048: #include <unistd.h>
                   1049: #include <errno.h>
                   1050: #include <netdb.h>
                   1051: 
                   1052: #include "vchar.h"
                   1053: #if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__linux__) || \
                   1054: (defined(__APPLE__) && defined(__MACH__))
                   1055: #include "parse.h"
                   1056: #else
                   1057: #include "y.tab.h"
                   1058: #endif
                   1059: 
                   1060: #include "extern.h"
                   1061: 
                   1062: /* make the code compile on *BSD-current */
                   1063: #ifndef SADB_X_AALG_SHA2_256
                   1064: #define SADB_X_AALG_SHA2_256   (-1)
                   1065: #endif
                   1066: #ifndef SADB_X_AALG_SHA2_384
                   1067: #define SADB_X_AALG_SHA2_384   (-1)
                   1068: #endif
                   1069: #ifndef SADB_X_AALG_SHA2_512
                   1070: #define SADB_X_AALG_SHA2_512   (-1)
                   1071: #endif
                   1072: #ifndef SADB_X_AALG_RIPEMD160HMAC
                   1073: #define SADB_X_AALG_RIPEMD160HMAC      (-1)
                   1074: #endif
                   1075: #ifndef SADB_X_AALG_AES_XCBC_MAC
                   1076: #define SADB_X_AALG_AES_XCBC_MAC       (-1)
                   1077: #endif
                   1078: #ifndef SADB_X_EALG_TWOFISHCBC
                   1079: #define SADB_X_EALG_TWOFISHCBC (-1)
                   1080: #endif
                   1081: #ifndef SADB_X_EALG_AESCTR
                   1082: #define SADB_X_EALG_AESCTR     (-1)
                   1083: #endif
                   1084: #if defined(SADB_X_EALG_AES) && ! defined(SADB_X_EALG_AESCBC)
                   1085: #define SADB_X_EALG_AESCBC  SADB_X_EALG_AES
                   1086: #endif
                   1087: /* common section */
                   1088: 
                   1089: #define YY_NO_INPUT 1
                   1090: #line 1091 "token.c"
                   1091: 
                   1092: #define INITIAL 0
                   1093: #define S_PL 1
                   1094: #define S_AUTHALG 2
                   1095: #define S_ENCALG 3
                   1096: 
                   1097: #ifndef YY_NO_UNISTD_H
                   1098: /* Special case for "unistd.h", since it is non-ANSI. We include it way
                   1099:  * down here because we want the user's section 1 to have been scanned first.
                   1100:  * The user has a chance to override it with an option.
                   1101:  */
                   1102: #include <unistd.h>
                   1103: #endif
                   1104: 
                   1105: #ifndef YY_EXTRA_TYPE
                   1106: #define YY_EXTRA_TYPE void *
                   1107: #endif
                   1108: 
                   1109: static int yy_init_globals (void );
                   1110: 
                   1111: /* Accessor methods to globals.
                   1112:    These are made visible to non-reentrant scanners for convenience. */
                   1113: 
                   1114: int yylex_destroy (void );
                   1115: 
                   1116: int yyget_debug (void );
                   1117: 
                   1118: void yyset_debug (int debug_flag  );
                   1119: 
                   1120: YY_EXTRA_TYPE yyget_extra (void );
                   1121: 
                   1122: void yyset_extra (YY_EXTRA_TYPE user_defined  );
                   1123: 
                   1124: FILE *yyget_in (void );
                   1125: 
                   1126: void yyset_in  (FILE * in_str  );
                   1127: 
                   1128: FILE *yyget_out (void );
                   1129: 
                   1130: void yyset_out  (FILE * out_str  );
                   1131: 
                   1132: int yyget_leng (void );
                   1133: 
                   1134: char *yyget_text (void );
                   1135: 
                   1136: int yyget_lineno (void );
                   1137: 
                   1138: void yyset_lineno (int line_number  );
                   1139: 
                   1140: /* Macros after this point can all be overridden by user definitions in
                   1141:  * section 1.
                   1142:  */
                   1143: 
                   1144: #ifndef YY_SKIP_YYWRAP
                   1145: #ifdef __cplusplus
                   1146: extern "C" int yywrap (void );
                   1147: #else
                   1148: extern int yywrap (void );
                   1149: #endif
                   1150: #endif
                   1151: 
                   1152: #ifndef yytext_ptr
                   1153: static void yy_flex_strncpy (char *,yyconst char *,int );
                   1154: #endif
                   1155: 
                   1156: #ifdef YY_NEED_STRLEN
                   1157: static int yy_flex_strlen (yyconst char * );
                   1158: #endif
                   1159: 
                   1160: #ifndef YY_NO_INPUT
                   1161: 
                   1162: #ifdef __cplusplus
                   1163: static int yyinput (void );
                   1164: #else
                   1165: static int input (void );
                   1166: #endif
                   1167: 
                   1168: #endif
                   1169: 
                   1170: /* Amount of stuff to slurp up with each read. */
                   1171: #ifndef YY_READ_BUF_SIZE
                   1172: #ifdef __ia64__
                   1173: /* On IA-64, the buffer size is 16k, not 8k */
                   1174: #define YY_READ_BUF_SIZE 16384
                   1175: #else
                   1176: #define YY_READ_BUF_SIZE 8192
                   1177: #endif /* __ia64__ */
                   1178: #endif
                   1179: 
                   1180: /* Copy whatever the last rule matched to the standard output. */
                   1181: #ifndef ECHO
                   1182: /* This used to be an fputs(), but since the string might contain NUL's,
                   1183:  * we now use fwrite().
                   1184:  */
                   1185: #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
                   1186: #endif
                   1187: 
                   1188: /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
                   1189:  * is returned in "result".
                   1190:  */
                   1191: #ifndef YY_INPUT
                   1192: #define YY_INPUT(buf,result,max_size) \
                   1193:        if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
                   1194:                { \
                   1195:                int c = '*'; \
                   1196:                size_t n; \
                   1197:                for ( n = 0; n < max_size && \
                   1198:                             (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
                   1199:                        buf[n] = (char) c; \
                   1200:                if ( c == '\n' ) \
                   1201:                        buf[n++] = (char) c; \
                   1202:                if ( c == EOF && ferror( yyin ) ) \
                   1203:                        YY_FATAL_ERROR( "input in flex scanner failed" ); \
                   1204:                result = n; \
                   1205:                } \
                   1206:        else \
                   1207:                { \
                   1208:                errno=0; \
                   1209:                while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
                   1210:                        { \
                   1211:                        if( errno != EINTR) \
                   1212:                                { \
                   1213:                                YY_FATAL_ERROR( "input in flex scanner failed" ); \
                   1214:                                break; \
                   1215:                                } \
                   1216:                        errno=0; \
                   1217:                        clearerr(yyin); \
                   1218:                        } \
                   1219:                }\
                   1220: \
                   1221: 
                   1222: #endif
                   1223: 
                   1224: /* No semi-colon after return; correct usage is to write "yyterminate();" -
                   1225:  * we don't want an extra ';' after the "return" because that will cause
                   1226:  * some compilers to complain about unreachable statements.
                   1227:  */
                   1228: #ifndef yyterminate
                   1229: #define yyterminate() return YY_NULL
                   1230: #endif
                   1231: 
                   1232: /* Number of entries by which start-condition stack grows. */
                   1233: #ifndef YY_START_STACK_INCR
                   1234: #define YY_START_STACK_INCR 25
                   1235: #endif
                   1236: 
                   1237: /* Report a fatal error. */
                   1238: #ifndef YY_FATAL_ERROR
                   1239: #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
                   1240: #endif
                   1241: 
                   1242: /* end tables serialization structures and prototypes */
                   1243: 
                   1244: /* Default declaration of generated scanner - a define so the user can
                   1245:  * easily add parameters.
                   1246:  */
                   1247: #ifndef YY_DECL
                   1248: #define YY_DECL_IS_OURS 1
                   1249: 
                   1250: extern int yylex (void);
                   1251: 
                   1252: #define YY_DECL int yylex (void)
                   1253: #endif /* !YY_DECL */
                   1254: 
                   1255: /* Code executed at the beginning of each rule, after yytext and yyleng
                   1256:  * have been set up.
                   1257:  */
                   1258: #ifndef YY_USER_ACTION
                   1259: #define YY_USER_ACTION
                   1260: #endif
                   1261: 
                   1262: /* Code executed at the end of each rule. */
                   1263: #ifndef YY_BREAK
                   1264: #define YY_BREAK break;
                   1265: #endif
                   1266: 
                   1267: #define YY_RULE_SETUP \
                   1268:        YY_USER_ACTION
                   1269: 
                   1270: /** The main scanner function which does all the work.
                   1271:  */
                   1272: YY_DECL
                   1273: {
                   1274:        register yy_state_type yy_current_state;
                   1275:        register char *yy_cp, *yy_bp;
                   1276:        register int yy_act;
                   1277:     
                   1278: #line 115 "token.l"
                   1279: 
                   1280: 
                   1281: 
                   1282: #line 1283 "token.c"
                   1283: 
                   1284:        if ( !(yy_init) )
                   1285:                {
                   1286:                (yy_init) = 1;
                   1287: 
                   1288: #ifdef YY_USER_INIT
                   1289:                YY_USER_INIT;
                   1290: #endif
                   1291: 
                   1292:                if ( ! (yy_start) )
                   1293:                        (yy_start) = 1; /* first start state */
                   1294: 
                   1295:                if ( ! yyin )
                   1296:                        yyin = stdin;
                   1297: 
                   1298:                if ( ! yyout )
                   1299:                        yyout = stdout;
                   1300: 
                   1301:                if ( ! YY_CURRENT_BUFFER ) {
                   1302:                        yyensure_buffer_stack ();
                   1303:                        YY_CURRENT_BUFFER_LVALUE =
                   1304:                                yy_create_buffer(yyin,YY_BUF_SIZE );
                   1305:                }
                   1306: 
                   1307:                yy_load_buffer_state( );
                   1308:                }
                   1309: 
                   1310:        while ( 1 )             /* loops until end-of-file is reached */
                   1311:                {
                   1312:                (yy_more_len) = 0;
                   1313:                if ( (yy_more_flag) )
                   1314:                        {
                   1315:                        (yy_more_len) = (yy_c_buf_p) - (yytext_ptr);
                   1316:                        (yy_more_flag) = 0;
                   1317:                        }
                   1318:                yy_cp = (yy_c_buf_p);
                   1319: 
                   1320:                /* Support of yytext. */
                   1321:                *yy_cp = (yy_hold_char);
                   1322: 
                   1323:                /* yy_bp points to the position in yy_ch_buf of the start of
                   1324:                 * the current run.
                   1325:                 */
                   1326:                yy_bp = yy_cp;
                   1327: 
                   1328:                yy_current_state = (yy_start);
                   1329: yy_match:
                   1330:                do
                   1331:                        {
                   1332:                        register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
                   1333:                        if ( yy_accept[yy_current_state] )
                   1334:                                {
                   1335:                                (yy_last_accepting_state) = yy_current_state;
                   1336:                                (yy_last_accepting_cpos) = yy_cp;
                   1337:                                }
                   1338:                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                   1339:                                {
                   1340:                                yy_current_state = (int) yy_def[yy_current_state];
                   1341:                                if ( yy_current_state >= 564 )
                   1342:                                        yy_c = yy_meta[(unsigned int) yy_c];
                   1343:                                }
                   1344:                        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
                   1345:                        ++yy_cp;
                   1346:                        }
                   1347:                while ( yy_base[yy_current_state] != 1554 );
                   1348: 
                   1349: yy_find_action:
                   1350:                yy_act = yy_accept[yy_current_state];
                   1351:                if ( yy_act == 0 )
                   1352:                        { /* have to back up */
                   1353:                        yy_cp = (yy_last_accepting_cpos);
                   1354:                        yy_current_state = (yy_last_accepting_state);
                   1355:                        yy_act = yy_accept[yy_current_state];
                   1356:                        }
                   1357: 
                   1358:                YY_DO_BEFORE_ACTION;
                   1359: 
                   1360: do_action:     /* This label is used only to access EOF actions. */
                   1361: 
                   1362:                switch ( yy_act )
                   1363:        { /* beginning of action switch */
                   1364:                        case 0: /* must back up */
                   1365:                        /* undo the effects of YY_DO_BEFORE_ACTION */
                   1366:                        *yy_cp = (yy_hold_char);
                   1367:                        yy_cp = (yy_last_accepting_cpos);
                   1368:                        yy_current_state = (yy_last_accepting_state);
                   1369:                        goto yy_find_action;
                   1370: 
                   1371: case 1:
                   1372: YY_RULE_SETUP
                   1373: #line 118 "token.l"
                   1374: { return(ADD); }
                   1375:        YY_BREAK
                   1376: case 2:
                   1377: YY_RULE_SETUP
                   1378: #line 119 "token.l"
                   1379: { return(DELETE); }
                   1380:        YY_BREAK
                   1381: case 3:
                   1382: YY_RULE_SETUP
                   1383: #line 120 "token.l"
                   1384: { return(DELETEALL); }
                   1385:        YY_BREAK
                   1386: case 4:
                   1387: YY_RULE_SETUP
                   1388: #line 121 "token.l"
                   1389: { return(GET); }
                   1390:        YY_BREAK
                   1391: case 5:
                   1392: YY_RULE_SETUP
                   1393: #line 122 "token.l"
                   1394: { return(FLUSH); }
                   1395:        YY_BREAK
                   1396: case 6:
                   1397: YY_RULE_SETUP
                   1398: #line 123 "token.l"
                   1399: { return(DUMP); }
                   1400:        YY_BREAK
                   1401: case 7:
                   1402: YY_RULE_SETUP
                   1403: #line 124 "token.l"
                   1404: { return(EXIT); }
                   1405:        YY_BREAK
                   1406: case 8:
                   1407: YY_RULE_SETUP
                   1408: #line 125 "token.l"
                   1409: { return(EXIT); }
                   1410:        YY_BREAK
                   1411: case 9:
                   1412: YY_RULE_SETUP
                   1413: #line 126 "token.l"
                   1414: { return(EXIT); }
                   1415:        YY_BREAK
                   1416: /* for management SPD */
                   1417: case 10:
                   1418: YY_RULE_SETUP
                   1419: #line 129 "token.l"
                   1420: { return(SPDADD); }
                   1421:        YY_BREAK
                   1422: case 11:
                   1423: YY_RULE_SETUP
                   1424: #line 130 "token.l"
                   1425: { return(SPDUPDATE); }
                   1426:        YY_BREAK
                   1427: case 12:
                   1428: YY_RULE_SETUP
                   1429: #line 131 "token.l"
                   1430: { return(SPDDELETE); }
                   1431:        YY_BREAK
                   1432: case 13:
                   1433: YY_RULE_SETUP
                   1434: #line 132 "token.l"
                   1435: { return(SPDDUMP); }
                   1436:        YY_BREAK
                   1437: case 14:
                   1438: YY_RULE_SETUP
                   1439: #line 133 "token.l"
                   1440: { return(SPDFLUSH); }
                   1441:        YY_BREAK
                   1442: case 15:
                   1443: YY_RULE_SETUP
                   1444: #line 134 "token.l"
                   1445: { return(TAGGED); }
                   1446:        YY_BREAK
                   1447: case 16:
                   1448: YY_RULE_SETUP
                   1449: #line 135 "token.l"
                   1450: { BEGIN S_PL; return(F_POLICY); }
                   1451:        YY_BREAK
                   1452: case 17:
                   1453: /* rule 17 can match eol */
                   1454: YY_RULE_SETUP
                   1455: #line 136 "token.l"
                   1456: {
                   1457:                        yymore();
                   1458: 
                   1459:                        /* count up for nl */
                   1460:                            {
                   1461:                                char *p;
                   1462:                                for (p = yytext; *p != '\0'; p++)
                   1463:                                        if (*p == '\n')
                   1464:                                                lineno++;
                   1465:                            }
                   1466: 
                   1467:                        yylval.val.len = strlen(yytext);
                   1468:                        yylval.val.buf = strdup(yytext);
                   1469:                        if (!yylval.val.buf)
                   1470:                                yyfatal("insufficient memory");
                   1471: 
                   1472:                        return(PL_REQUESTS);
                   1473:                }
                   1474:        YY_BREAK
                   1475: case 18:
                   1476: YY_RULE_SETUP
                   1477: #line 154 "token.l"
                   1478: { BEGIN INITIAL; return(EOT); }
                   1479:        YY_BREAK
                   1480: /* address resolution flags */
                   1481: case 19:
                   1482: YY_RULE_SETUP
                   1483: #line 157 "token.l"
                   1484: {
                   1485:                        yylval.val.len = strlen(yytext);
                   1486:                        yylval.val.buf = strdup(yytext);
                   1487:                        if (!yylval.val.buf)
                   1488:                                yyfatal("insufficient memory");
                   1489:                        return(F_AIFLAGS);
                   1490:                }
                   1491:        YY_BREAK
                   1492: /* security protocols */
                   1493: case 20:
                   1494: YY_RULE_SETUP
                   1495: #line 166 "token.l"
                   1496: { yylval.num = 0; return(PR_AH); }
                   1497:        YY_BREAK
                   1498: case 21:
                   1499: YY_RULE_SETUP
                   1500: #line 167 "token.l"
                   1501: { yylval.num = 0; return(PR_ESP); }
                   1502:        YY_BREAK
                   1503: case 22:
                   1504: YY_RULE_SETUP
                   1505: #line 168 "token.l"
                   1506: { yylval.num = 1; return(PR_AH); }
                   1507:        YY_BREAK
                   1508: case 23:
                   1509: YY_RULE_SETUP
                   1510: #line 169 "token.l"
                   1511: { yylval.num = 1; return(PR_ESP); }
                   1512:        YY_BREAK
                   1513: case 24:
                   1514: YY_RULE_SETUP
                   1515: #line 170 "token.l"
                   1516: { yylval.num = 0; return(PR_ESPUDP); }
                   1517:        YY_BREAK
                   1518: case 25:
                   1519: YY_RULE_SETUP
                   1520: #line 171 "token.l"
                   1521: { yylval.num = 0; return(PR_IPCOMP); }
                   1522:        YY_BREAK
                   1523: case 26:
                   1524: YY_RULE_SETUP
                   1525: #line 172 "token.l"
                   1526: { 
                   1527:                        yylval.num = 0; return(PR_TCP); 
                   1528:                }
                   1529:        YY_BREAK
                   1530: /* authentication alogorithm */
                   1531: case 27:
                   1532: YY_RULE_SETUP
                   1533: #line 177 "token.l"
                   1534: { BEGIN S_AUTHALG; return(F_AUTH); }
                   1535:        YY_BREAK
                   1536: case 28:
                   1537: YY_RULE_SETUP
                   1538: #line 178 "token.l"
                   1539: { yylval.num = SADB_AALG_MD5HMAC; BEGIN INITIAL; return(ALG_AUTH); }
                   1540:        YY_BREAK
                   1541: case 29:
                   1542: YY_RULE_SETUP
                   1543: #line 179 "token.l"
                   1544: { yylval.num = SADB_AALG_SHA1HMAC; BEGIN INITIAL; return(ALG_AUTH); }
                   1545:        YY_BREAK
                   1546: case 30:
                   1547: YY_RULE_SETUP
                   1548: #line 180 "token.l"
                   1549: { yylval.num = SADB_X_AALG_MD5; BEGIN INITIAL; return(ALG_AUTH); }
                   1550:        YY_BREAK
                   1551: case 31:
                   1552: YY_RULE_SETUP
                   1553: #line 181 "token.l"
                   1554: { yylval.num = SADB_X_AALG_SHA; BEGIN INITIAL; return(ALG_AUTH); }
                   1555:        YY_BREAK
                   1556: case 32:
                   1557: YY_RULE_SETUP
                   1558: #line 182 "token.l"
                   1559: { yylval.num = SADB_X_AALG_SHA2_256; BEGIN INITIAL; return(ALG_AUTH); }
                   1560:        YY_BREAK
                   1561: case 33:
                   1562: YY_RULE_SETUP
                   1563: #line 183 "token.l"
                   1564: { yylval.num = SADB_X_AALG_SHA2_256; BEGIN INITIAL; return(ALG_AUTH); }
                   1565:        YY_BREAK
                   1566: case 34:
                   1567: YY_RULE_SETUP
                   1568: #line 184 "token.l"
                   1569: { yylval.num = SADB_X_AALG_SHA2_384; BEGIN INITIAL; return(ALG_AUTH); }
                   1570:        YY_BREAK
                   1571: case 35:
                   1572: YY_RULE_SETUP
                   1573: #line 185 "token.l"
                   1574: { yylval.num = SADB_X_AALG_SHA2_384; BEGIN INITIAL; return(ALG_AUTH); }
                   1575:        YY_BREAK
                   1576: case 36:
                   1577: YY_RULE_SETUP
                   1578: #line 186 "token.l"
                   1579: { yylval.num = SADB_X_AALG_SHA2_512; BEGIN INITIAL; return(ALG_AUTH); }
                   1580:        YY_BREAK
                   1581: case 37:
                   1582: YY_RULE_SETUP
                   1583: #line 187 "token.l"
                   1584: { yylval.num = SADB_X_AALG_SHA2_512; BEGIN INITIAL; return(ALG_AUTH); }
                   1585:        YY_BREAK
                   1586: case 38:
                   1587: YY_RULE_SETUP
                   1588: #line 188 "token.l"
                   1589: { yylval.num = SADB_X_AALG_RIPEMD160HMAC; BEGIN INITIAL; return(ALG_AUTH); }
                   1590:        YY_BREAK
                   1591: case 39:
                   1592: YY_RULE_SETUP
                   1593: #line 189 "token.l"
                   1594: { yylval.num = SADB_X_AALG_AES_XCBC_MAC; BEGIN INITIAL; return(ALG_AUTH); }
                   1595:        YY_BREAK
                   1596: case 40:
                   1597: YY_RULE_SETUP
                   1598: #line 190 "token.l"
                   1599: { 
                   1600: #ifdef SADB_X_AALG_TCP_MD5
                   1601:                                yylval.num = SADB_X_AALG_TCP_MD5; 
                   1602:                                BEGIN INITIAL; 
                   1603:                                return(ALG_AUTH); 
                   1604: #endif
                   1605:                        }
                   1606:        YY_BREAK
                   1607: case 41:
                   1608: YY_RULE_SETUP
                   1609: #line 197 "token.l"
                   1610: { yylval.num = SADB_X_AALG_NULL; BEGIN INITIAL; return(ALG_AUTH_NOKEY); }
                   1611:        YY_BREAK
                   1612: /* encryption alogorithm */
                   1613: case 42:
                   1614: YY_RULE_SETUP
                   1615: #line 200 "token.l"
                   1616: { BEGIN S_ENCALG; return(F_ENC); }
                   1617:        YY_BREAK
                   1618: case 43:
                   1619: YY_RULE_SETUP
                   1620: #line 201 "token.l"
                   1621: { yylval.num = SADB_EALG_DESCBC; BEGIN INITIAL; return(ALG_ENC); }
                   1622:        YY_BREAK
                   1623: case 44:
                   1624: YY_RULE_SETUP
                   1625: #line 202 "token.l"
                   1626: { yylval.num = SADB_EALG_3DESCBC; BEGIN INITIAL; return(ALG_ENC); }
                   1627:        YY_BREAK
                   1628: case 45:
                   1629: YY_RULE_SETUP
                   1630: #line 203 "token.l"
                   1631: { yylval.num = SADB_EALG_NULL; BEGIN INITIAL; return(ALG_ENC_NOKEY); }
                   1632:        YY_BREAK
                   1633: case 46:
                   1634: YY_RULE_SETUP
                   1635: #line 204 "token.l"
                   1636: { yylval.num = SADB_EALG_NULL; BEGIN INITIAL; return(ALG_ENC_OLD); }
                   1637:        YY_BREAK
                   1638: case 47:
                   1639: YY_RULE_SETUP
                   1640: #line 205 "token.l"
                   1641: { yylval.num = SADB_X_EALG_BLOWFISHCBC; BEGIN INITIAL; return(ALG_ENC); }
                   1642:        YY_BREAK
                   1643: case 48:
                   1644: YY_RULE_SETUP
                   1645: #line 206 "token.l"
                   1646: { yylval.num = SADB_X_EALG_CAST128CBC; BEGIN INITIAL; return(ALG_ENC); }
                   1647:        YY_BREAK
                   1648: case 49:
                   1649: YY_RULE_SETUP
                   1650: #line 207 "token.l"
                   1651: { yylval.num = SADB_EALG_DESCBC; BEGIN INITIAL; return(ALG_ENC_DESDERIV); }
                   1652:        YY_BREAK
                   1653: case 50:
                   1654: YY_RULE_SETUP
                   1655: #line 208 "token.l"
                   1656: { yylval.num = SADB_EALG_DESCBC; BEGIN INITIAL; return(ALG_ENC_DES32IV); }
                   1657:        YY_BREAK
                   1658: case 51:
                   1659: YY_RULE_SETUP
                   1660: #line 209 "token.l"
                   1661: { yylval.num = SADB_X_EALG_TWOFISHCBC; BEGIN INITIAL; return(ALG_ENC); }
                   1662:        YY_BREAK
                   1663: case 52:
                   1664: YY_RULE_SETUP
                   1665: #line 210 "token.l"
                   1666: { 
                   1667: #ifdef SADB_X_EALG_AESCBC
                   1668:        yylval.num = SADB_X_EALG_AESCBC; BEGIN INITIAL; return(ALG_ENC); 
                   1669: #endif
                   1670: }
                   1671:        YY_BREAK
                   1672: case 53:
                   1673: YY_RULE_SETUP
                   1674: #line 215 "token.l"
                   1675: { 
                   1676: #ifdef SADB_X_EALG_AESCBC
                   1677:        yylval.num = SADB_X_EALG_AESCBC; BEGIN INITIAL; return(ALG_ENC); 
                   1678: #endif
                   1679: }
                   1680:        YY_BREAK
                   1681: case 54:
                   1682: YY_RULE_SETUP
                   1683: #line 220 "token.l"
                   1684: { yylval.num = SADB_X_EALG_AESCTR; BEGIN INITIAL; return(ALG_ENC); }
                   1685:        YY_BREAK
                   1686: case 55:
                   1687: YY_RULE_SETUP
                   1688: #line 221 "token.l"
                   1689: { 
                   1690: #ifdef SADB_X_EALG_CAMELLIACBC
                   1691:        yylval.num = SADB_X_EALG_CAMELLIACBC; BEGIN INITIAL; return(ALG_ENC); 
                   1692: #endif
                   1693: }
                   1694:        YY_BREAK
                   1695: /* compression algorithms */
                   1696: case 56:
                   1697: YY_RULE_SETUP
                   1698: #line 228 "token.l"
                   1699: { return(F_COMP); }
                   1700:        YY_BREAK
                   1701: case 57:
                   1702: YY_RULE_SETUP
                   1703: #line 229 "token.l"
                   1704: { yylval.num = SADB_X_CALG_OUI; return(ALG_COMP); }
                   1705:        YY_BREAK
                   1706: case 58:
                   1707: YY_RULE_SETUP
                   1708: #line 230 "token.l"
                   1709: { yylval.num = SADB_X_CALG_DEFLATE; return(ALG_COMP); }
                   1710:        YY_BREAK
                   1711: case 59:
                   1712: YY_RULE_SETUP
                   1713: #line 231 "token.l"
                   1714: { yylval.num = SADB_X_CALG_LZS; return(ALG_COMP); }
                   1715:        YY_BREAK
                   1716: case 60:
                   1717: YY_RULE_SETUP
                   1718: #line 232 "token.l"
                   1719: { return(F_RAWCPI); }
                   1720:        YY_BREAK
                   1721: /* extension */
                   1722: case 61:
                   1723: YY_RULE_SETUP
                   1724: #line 235 "token.l"
                   1725: { return(F_MODE); }
                   1726:        YY_BREAK
                   1727: case 62:
                   1728: YY_RULE_SETUP
                   1729: #line 236 "token.l"
                   1730: { yylval.num = IPSEC_MODE_TRANSPORT; return(MODE); }
                   1731:        YY_BREAK
                   1732: case 63:
                   1733: YY_RULE_SETUP
                   1734: #line 237 "token.l"
                   1735: { yylval.num = IPSEC_MODE_TUNNEL; return(MODE); }
                   1736:        YY_BREAK
                   1737: case 64:
                   1738: YY_RULE_SETUP
                   1739: #line 238 "token.l"
                   1740: { return(F_REQID); }
                   1741:        YY_BREAK
                   1742: case 65:
                   1743: YY_RULE_SETUP
                   1744: #line 239 "token.l"
                   1745: { return(F_EXT); }
                   1746:        YY_BREAK
                   1747: case 66:
                   1748: YY_RULE_SETUP
                   1749: #line 240 "token.l"
                   1750: { yylval.num = SADB_X_EXT_PRAND; return(EXTENSION); }
                   1751:        YY_BREAK
                   1752: case 67:
                   1753: YY_RULE_SETUP
                   1754: #line 241 "token.l"
                   1755: { yylval.num = SADB_X_EXT_PSEQ; return(EXTENSION); }
                   1756:        YY_BREAK
                   1757: case 68:
                   1758: YY_RULE_SETUP
                   1759: #line 242 "token.l"
                   1760: { yylval.num = SADB_X_EXT_PZERO; return(EXTENSION); }
                   1761:        YY_BREAK
                   1762: case 69:
                   1763: YY_RULE_SETUP
                   1764: #line 243 "token.l"
                   1765: { return(NOCYCLICSEQ); }
                   1766:        YY_BREAK
                   1767: case 70:
                   1768: YY_RULE_SETUP
                   1769: #line 244 "token.l"
                   1770: { return(F_REPLAY); }
                   1771:        YY_BREAK
                   1772: case 71:
                   1773: YY_RULE_SETUP
                   1774: #line 245 "token.l"
                   1775: { return(F_LIFETIME_HARD); }
                   1776:        YY_BREAK
                   1777: case 72:
                   1778: YY_RULE_SETUP
                   1779: #line 246 "token.l"
                   1780: { return(F_LIFETIME_SOFT); }
                   1781:        YY_BREAK
                   1782: case 73:
                   1783: YY_RULE_SETUP
                   1784: #line 247 "token.l"
                   1785: { return(F_LIFEBYTE_HARD); }
                   1786:        YY_BREAK
                   1787: case 74:
                   1788: YY_RULE_SETUP
                   1789: #line 248 "token.l"
                   1790: { return(F_LIFEBYTE_SOFT); }
                   1791:        YY_BREAK
                   1792: case 75:
                   1793: YY_RULE_SETUP
                   1794: #line 249 "token.l"
                   1795: { return(SECURITY_CTX); }
                   1796:        YY_BREAK
                   1797: /* ... */
                   1798: case 76:
                   1799: YY_RULE_SETUP
                   1800: #line 252 "token.l"
                   1801: { return(ANY); }
                   1802:        YY_BREAK
                   1803: case 77:
                   1804: YY_RULE_SETUP
                   1805: #line 253 "token.l"
                   1806: { }
                   1807:        YY_BREAK
                   1808: case 78:
                   1809: /* rule 78 can match eol */
                   1810: YY_RULE_SETUP
                   1811: #line 254 "token.l"
                   1812: { lineno++; }
                   1813:        YY_BREAK
                   1814: case 79:
                   1815: YY_RULE_SETUP
                   1816: #line 255 "token.l"
                   1817: 
                   1818:        YY_BREAK
                   1819: case 80:
                   1820: YY_RULE_SETUP
                   1821: #line 256 "token.l"
                   1822: { return(EOT); }
                   1823:        YY_BREAK
                   1824: /* for address parameters: /prefix, [port] */
                   1825: case 81:
                   1826: YY_RULE_SETUP
                   1827: #line 259 "token.l"
                   1828: { return SLASH; }
                   1829:        YY_BREAK
                   1830: case 82:
                   1831: YY_RULE_SETUP
                   1832: #line 260 "token.l"
                   1833: { return BLCL; }
                   1834:        YY_BREAK
                   1835: case 83:
                   1836: YY_RULE_SETUP
                   1837: #line 261 "token.l"
                   1838: { return ELCL; }
                   1839:        YY_BREAK
                   1840: /* parameter */
                   1841: case 84:
                   1842: YY_RULE_SETUP
                   1843: #line 264 "token.l"
                   1844: {
                   1845:                        char *bp;
                   1846: 
                   1847:                        yylval.ulnum = strtoul(yytext, &bp, 10);
                   1848:                        return(DECSTRING);
                   1849:                }
                   1850:        YY_BREAK
                   1851: case 85:
                   1852: YY_RULE_SETUP
                   1853: #line 271 "token.l"
                   1854: {
                   1855:                        yylval.val.buf = strdup(yytext + 2);
                   1856:                        if (!yylval.val.buf)
                   1857:                                yyfatal("insufficient memory");
                   1858:                        yylval.val.len = strlen(yylval.val.buf);
                   1859: 
                   1860:                        return(HEXSTRING);
                   1861:                }
                   1862:        YY_BREAK
                   1863: case 86:
                   1864: /* rule 86 can match eol */
                   1865: YY_RULE_SETUP
                   1866: #line 280 "token.l"
                   1867: {
                   1868:                        char *p = yytext;
                   1869:                        while (*++p != '"') ;
                   1870:                        *p = '\0';
                   1871:                        yytext++;
                   1872:                        yylval.val.len = yyleng - 2;
                   1873:                        yylval.val.buf = strdup(yytext);
                   1874:                        if (!yylval.val.buf)
                   1875:                                yyfatal("insufficient memory");
                   1876: 
                   1877:                        return(QUOTEDSTRING);
                   1878:                }
                   1879:        YY_BREAK
                   1880: case 87:
                   1881: YY_RULE_SETUP
                   1882: #line 293 "token.l"
                   1883: {
                   1884:                        yylval.val.len = yyleng;
                   1885:                        yylval.val.buf = strdup(yytext);
                   1886:                        if (!yylval.val.buf)
                   1887:                                yyfatal("insufficient memory");
                   1888:                        return(STRING);
                   1889:                }
                   1890:        YY_BREAK
                   1891: case 88:
                   1892: YY_RULE_SETUP
                   1893: #line 301 "token.l"
                   1894: {
                   1895:                        yylval.val.len = yyleng;
                   1896:                        yylval.val.buf = strdup(yytext);
                   1897:                        if (!yylval.val.buf)
                   1898:                                yyfatal("insufficient memory");
                   1899:                        return(STRING);
                   1900:                }
                   1901:        YY_BREAK
                   1902: case 89:
                   1903: YY_RULE_SETUP
                   1904: #line 309 "token.l"
                   1905: {
                   1906:                        yyfatal("Syntax error");
                   1907:                        /*NOTREACHED*/
                   1908:                }
                   1909:        YY_BREAK
                   1910: case 90:
                   1911: YY_RULE_SETUP
                   1912: #line 314 "token.l"
                   1913: ECHO;
                   1914:        YY_BREAK
                   1915: #line 1916 "token.c"
                   1916: case YY_STATE_EOF(INITIAL):
                   1917: case YY_STATE_EOF(S_PL):
                   1918: case YY_STATE_EOF(S_AUTHALG):
                   1919: case YY_STATE_EOF(S_ENCALG):
                   1920:        yyterminate();
                   1921: 
                   1922:        case YY_END_OF_BUFFER:
                   1923:                {
                   1924:                /* Amount of text matched not including the EOB char. */
                   1925:                int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
                   1926: 
                   1927:                /* Undo the effects of YY_DO_BEFORE_ACTION. */
                   1928:                *yy_cp = (yy_hold_char);
                   1929:                YY_RESTORE_YY_MORE_OFFSET
                   1930: 
                   1931:                if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
                   1932:                        {
                   1933:                        /* We're scanning a new file or input source.  It's
                   1934:                         * possible that this happened because the user
                   1935:                         * just pointed yyin at a new source and called
                   1936:                         * yylex().  If so, then we have to assure
                   1937:                         * consistency between YY_CURRENT_BUFFER and our
                   1938:                         * globals.  Here is the right place to do so, because
                   1939:                         * this is the first action (other than possibly a
                   1940:                         * back-up) that will match for the new input source.
                   1941:                         */
                   1942:                        (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
                   1943:                        YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
                   1944:                        YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
                   1945:                        }
                   1946: 
                   1947:                /* Note that here we test for yy_c_buf_p "<=" to the position
                   1948:                 * of the first EOB in the buffer, since yy_c_buf_p will
                   1949:                 * already have been incremented past the NUL character
                   1950:                 * (since all states make transitions on EOB to the
                   1951:                 * end-of-buffer state).  Contrast this with the test
                   1952:                 * in input().
                   1953:                 */
                   1954:                if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
                   1955:                        { /* This was really a NUL. */
                   1956:                        yy_state_type yy_next_state;
                   1957: 
                   1958:                        (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
                   1959: 
                   1960:                        yy_current_state = yy_get_previous_state(  );
                   1961: 
                   1962:                        /* Okay, we're now positioned to make the NUL
                   1963:                         * transition.  We couldn't have
                   1964:                         * yy_get_previous_state() go ahead and do it
                   1965:                         * for us because it doesn't know how to deal
                   1966:                         * with the possibility of jamming (and we don't
                   1967:                         * want to build jamming into it because then it
                   1968:                         * will run more slowly).
                   1969:                         */
                   1970: 
                   1971:                        yy_next_state = yy_try_NUL_trans( yy_current_state );
                   1972: 
                   1973:                        yy_bp = (yytext_ptr) + YY_MORE_ADJ;
                   1974: 
                   1975:                        if ( yy_next_state )
                   1976:                                {
                   1977:                                /* Consume the NUL. */
                   1978:                                yy_cp = ++(yy_c_buf_p);
                   1979:                                yy_current_state = yy_next_state;
                   1980:                                goto yy_match;
                   1981:                                }
                   1982: 
                   1983:                        else
                   1984:                                {
                   1985:                                yy_cp = (yy_c_buf_p);
                   1986:                                goto yy_find_action;
                   1987:                                }
                   1988:                        }
                   1989: 
                   1990:                else switch ( yy_get_next_buffer(  ) )
                   1991:                        {
                   1992:                        case EOB_ACT_END_OF_FILE:
                   1993:                                {
                   1994:                                (yy_did_buffer_switch_on_eof) = 0;
                   1995: 
                   1996:                                if ( yywrap( ) )
                   1997:                                        {
                   1998:                                        /* Note: because we've taken care in
                   1999:                                         * yy_get_next_buffer() to have set up
                   2000:                                         * yytext, we can now set up
                   2001:                                         * yy_c_buf_p so that if some total
                   2002:                                         * hoser (like flex itself) wants to
                   2003:                                         * call the scanner after we return the
                   2004:                                         * YY_NULL, it'll still work - another
                   2005:                                         * YY_NULL will get returned.
                   2006:                                         */
                   2007:                                        (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
                   2008: 
                   2009:                                        yy_act = YY_STATE_EOF(YY_START);
                   2010:                                        goto do_action;
                   2011:                                        }
                   2012: 
                   2013:                                else
                   2014:                                        {
                   2015:                                        if ( ! (yy_did_buffer_switch_on_eof) )
                   2016:                                                YY_NEW_FILE;
                   2017:                                        }
                   2018:                                break;
                   2019:                                }
                   2020: 
                   2021:                        case EOB_ACT_CONTINUE_SCAN:
                   2022:                                (yy_c_buf_p) =
                   2023:                                        (yytext_ptr) + yy_amount_of_matched_text;
                   2024: 
                   2025:                                yy_current_state = yy_get_previous_state(  );
                   2026: 
                   2027:                                yy_cp = (yy_c_buf_p);
                   2028:                                yy_bp = (yytext_ptr) + YY_MORE_ADJ;
                   2029:                                goto yy_match;
                   2030: 
                   2031:                        case EOB_ACT_LAST_MATCH:
                   2032:                                (yy_c_buf_p) =
                   2033:                                &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
                   2034: 
                   2035:                                yy_current_state = yy_get_previous_state(  );
                   2036: 
                   2037:                                yy_cp = (yy_c_buf_p);
                   2038:                                yy_bp = (yytext_ptr) + YY_MORE_ADJ;
                   2039:                                goto yy_find_action;
                   2040:                        }
                   2041:                break;
                   2042:                }
                   2043: 
                   2044:        default:
                   2045:                YY_FATAL_ERROR(
                   2046:                        "fatal flex scanner internal error--no action found" );
                   2047:        } /* end of action switch */
                   2048:                } /* end of scanning one token */
                   2049: } /* end of yylex */
                   2050: 
                   2051: /* yy_get_next_buffer - try to read in a new buffer
                   2052:  *
                   2053:  * Returns a code representing an action:
                   2054:  *     EOB_ACT_LAST_MATCH -
                   2055:  *     EOB_ACT_CONTINUE_SCAN - continue scanning from current position
                   2056:  *     EOB_ACT_END_OF_FILE - end of file
                   2057:  */
                   2058: static int yy_get_next_buffer (void)
                   2059: {
                   2060:        register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
                   2061:        register char *source = (yytext_ptr);
                   2062:        register int number_to_move, i;
                   2063:        int ret_val;
                   2064: 
                   2065:        if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
                   2066:                YY_FATAL_ERROR(
                   2067:                "fatal flex scanner internal error--end of buffer missed" );
                   2068: 
                   2069:        if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
                   2070:                { /* Don't try to fill the buffer, so this is an EOF. */
                   2071:                if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
                   2072:                        {
                   2073:                        /* We matched a single character, the EOB, so
                   2074:                         * treat this as a final EOF.
                   2075:                         */
                   2076:                        return EOB_ACT_END_OF_FILE;
                   2077:                        }
                   2078: 
                   2079:                else
                   2080:                        {
                   2081:                        /* We matched some text prior to the EOB, first
                   2082:                         * process it.
                   2083:                         */
                   2084:                        return EOB_ACT_LAST_MATCH;
                   2085:                        }
                   2086:                }
                   2087: 
                   2088:        /* Try to read more data. */
                   2089: 
                   2090:        /* First move last chars to start of buffer. */
                   2091:        number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
                   2092: 
                   2093:        for ( i = 0; i < number_to_move; ++i )
                   2094:                *(dest++) = *(source++);
                   2095: 
                   2096:        if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
                   2097:                /* don't do the read, it's not guaranteed to return an EOF,
                   2098:                 * just force an EOF
                   2099:                 */
                   2100:                YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
                   2101: 
                   2102:        else
                   2103:                {
                   2104:                        int num_to_read =
                   2105:                        YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
                   2106: 
                   2107:                while ( num_to_read <= 0 )
                   2108:                        { /* Not enough room in the buffer - grow it. */
                   2109: 
                   2110:                        /* just a shorter name for the current buffer */
                   2111:                        YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
                   2112: 
                   2113:                        int yy_c_buf_p_offset =
                   2114:                                (int) ((yy_c_buf_p) - b->yy_ch_buf);
                   2115: 
                   2116:                        if ( b->yy_is_our_buffer )
                   2117:                                {
                   2118:                                int new_size = b->yy_buf_size * 2;
                   2119: 
                   2120:                                if ( new_size <= 0 )
                   2121:                                        b->yy_buf_size += b->yy_buf_size / 8;
                   2122:                                else
                   2123:                                        b->yy_buf_size *= 2;
                   2124: 
                   2125:                                b->yy_ch_buf = (char *)
                   2126:                                        /* Include room in for 2 EOB chars. */
                   2127:                                        yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
                   2128:                                }
                   2129:                        else
                   2130:                                /* Can't grow it, we don't own it. */
                   2131:                                b->yy_ch_buf = 0;
                   2132: 
                   2133:                        if ( ! b->yy_ch_buf )
                   2134:                                YY_FATAL_ERROR(
                   2135:                                "fatal error - scanner input buffer overflow" );
                   2136: 
                   2137:                        (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
                   2138: 
                   2139:                        num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
                   2140:                                                number_to_move - 1;
                   2141: 
                   2142:                        }
                   2143: 
                   2144:                if ( num_to_read > YY_READ_BUF_SIZE )
                   2145:                        num_to_read = YY_READ_BUF_SIZE;
                   2146: 
                   2147:                /* Read in more data. */
                   2148:                YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
                   2149:                        (yy_n_chars), (size_t) num_to_read );
                   2150: 
                   2151:                YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
                   2152:                }
                   2153: 
                   2154:        if ( (yy_n_chars) == 0 )
                   2155:                {
                   2156:                if ( number_to_move == YY_MORE_ADJ )
                   2157:                        {
                   2158:                        ret_val = EOB_ACT_END_OF_FILE;
                   2159:                        yyrestart(yyin  );
                   2160:                        }
                   2161: 
                   2162:                else
                   2163:                        {
                   2164:                        ret_val = EOB_ACT_LAST_MATCH;
                   2165:                        YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
                   2166:                                YY_BUFFER_EOF_PENDING;
                   2167:                        }
                   2168:                }
                   2169: 
                   2170:        else
                   2171:                ret_val = EOB_ACT_CONTINUE_SCAN;
                   2172: 
                   2173:        if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
                   2174:                /* Extend the array by 50%, plus the number we really need. */
                   2175:                yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
                   2176:                YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
                   2177:                if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
                   2178:                        YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
                   2179:        }
                   2180: 
                   2181:        (yy_n_chars) += number_to_move;
                   2182:        YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
                   2183:        YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
                   2184: 
                   2185:        (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
                   2186: 
                   2187:        return ret_val;
                   2188: }
                   2189: 
                   2190: /* yy_get_previous_state - get the state just before the EOB char was reached */
                   2191: 
                   2192:     static yy_state_type yy_get_previous_state (void)
                   2193: {
                   2194:        register yy_state_type yy_current_state;
                   2195:        register char *yy_cp;
                   2196:     
                   2197:        yy_current_state = (yy_start);
                   2198: 
                   2199:        for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
                   2200:                {
                   2201:                register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
                   2202:                if ( yy_accept[yy_current_state] )
                   2203:                        {
                   2204:                        (yy_last_accepting_state) = yy_current_state;
                   2205:                        (yy_last_accepting_cpos) = yy_cp;
                   2206:                        }
                   2207:                while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                   2208:                        {
                   2209:                        yy_current_state = (int) yy_def[yy_current_state];
                   2210:                        if ( yy_current_state >= 564 )
                   2211:                                yy_c = yy_meta[(unsigned int) yy_c];
                   2212:                        }
                   2213:                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
                   2214:                }
                   2215: 
                   2216:        return yy_current_state;
                   2217: }
                   2218: 
                   2219: /* yy_try_NUL_trans - try to make a transition on the NUL character
                   2220:  *
                   2221:  * synopsis
                   2222:  *     next_state = yy_try_NUL_trans( current_state );
                   2223:  */
                   2224:     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
                   2225: {
                   2226:        register int yy_is_jam;
                   2227:        register char *yy_cp = (yy_c_buf_p);
                   2228: 
                   2229:        register YY_CHAR yy_c = 1;
                   2230:        if ( yy_accept[yy_current_state] )
                   2231:                {
                   2232:                (yy_last_accepting_state) = yy_current_state;
                   2233:                (yy_last_accepting_cpos) = yy_cp;
                   2234:                }
                   2235:        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
                   2236:                {
                   2237:                yy_current_state = (int) yy_def[yy_current_state];
                   2238:                if ( yy_current_state >= 564 )
                   2239:                        yy_c = yy_meta[(unsigned int) yy_c];
                   2240:                }
                   2241:        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
                   2242:        yy_is_jam = (yy_current_state == 563);
                   2243: 
                   2244:        return yy_is_jam ? 0 : yy_current_state;
                   2245: }
                   2246: 
                   2247: #ifndef YY_NO_INPUT
                   2248: #ifdef __cplusplus
                   2249:     static int yyinput (void)
                   2250: #else
                   2251:     static int input  (void)
                   2252: #endif
                   2253: 
                   2254: {
                   2255:        int c;
                   2256:     
                   2257:        *(yy_c_buf_p) = (yy_hold_char);
                   2258: 
                   2259:        if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
                   2260:                {
                   2261:                /* yy_c_buf_p now points to the character we want to return.
                   2262:                 * If this occurs *before* the EOB characters, then it's a
                   2263:                 * valid NUL; if not, then we've hit the end of the buffer.
                   2264:                 */
                   2265:                if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
                   2266:                        /* This was really a NUL. */
                   2267:                        *(yy_c_buf_p) = '\0';
                   2268: 
                   2269:                else
                   2270:                        { /* need more input */
                   2271:                        int offset = (yy_c_buf_p) - (yytext_ptr);
                   2272:                        ++(yy_c_buf_p);
                   2273: 
                   2274:                        switch ( yy_get_next_buffer(  ) )
                   2275:                                {
                   2276:                                case EOB_ACT_LAST_MATCH:
                   2277:                                        /* This happens because yy_g_n_b()
                   2278:                                         * sees that we've accumulated a
                   2279:                                         * token and flags that we need to
                   2280:                                         * try matching the token before
                   2281:                                         * proceeding.  But for input(),
                   2282:                                         * there's no matching to consider.
                   2283:                                         * So convert the EOB_ACT_LAST_MATCH
                   2284:                                         * to EOB_ACT_END_OF_FILE.
                   2285:                                         */
                   2286: 
                   2287:                                        /* Reset buffer status. */
                   2288:                                        yyrestart(yyin );
                   2289: 
                   2290:                                        /*FALLTHROUGH*/
                   2291: 
                   2292:                                case EOB_ACT_END_OF_FILE:
                   2293:                                        {
                   2294:                                        if ( yywrap( ) )
                   2295:                                                return EOF;
                   2296: 
                   2297:                                        if ( ! (yy_did_buffer_switch_on_eof) )
                   2298:                                                YY_NEW_FILE;
                   2299: #ifdef __cplusplus
                   2300:                                        return yyinput();
                   2301: #else
                   2302:                                        return input();
                   2303: #endif
                   2304:                                        }
                   2305: 
                   2306:                                case EOB_ACT_CONTINUE_SCAN:
                   2307:                                        (yy_c_buf_p) = (yytext_ptr) + offset;
                   2308:                                        break;
                   2309:                                }
                   2310:                        }
                   2311:                }
                   2312: 
                   2313:        c = *(unsigned char *) (yy_c_buf_p);    /* cast for 8-bit char's */
                   2314:        *(yy_c_buf_p) = '\0';   /* preserve yytext */
                   2315:        (yy_hold_char) = *++(yy_c_buf_p);
                   2316: 
                   2317:        return c;
                   2318: }
                   2319: #endif /* ifndef YY_NO_INPUT */
                   2320: 
                   2321: /** Immediately switch to a different input stream.
                   2322:  * @param input_file A readable stream.
                   2323:  * 
                   2324:  * @note This function does not reset the start condition to @c INITIAL .
                   2325:  */
                   2326:     void yyrestart  (FILE * input_file )
                   2327: {
                   2328:     
                   2329:        if ( ! YY_CURRENT_BUFFER ){
                   2330:         yyensure_buffer_stack ();
                   2331:                YY_CURRENT_BUFFER_LVALUE =
                   2332:             yy_create_buffer(yyin,YY_BUF_SIZE );
                   2333:        }
                   2334: 
                   2335:        yy_init_buffer(YY_CURRENT_BUFFER,input_file );
                   2336:        yy_load_buffer_state( );
                   2337: }
                   2338: 
                   2339: /** Switch to a different input buffer.
                   2340:  * @param new_buffer The new input buffer.
                   2341:  * 
                   2342:  */
                   2343:     void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
                   2344: {
                   2345:     
                   2346:        /* TODO. We should be able to replace this entire function body
                   2347:         * with
                   2348:         *              yypop_buffer_state();
                   2349:         *              yypush_buffer_state(new_buffer);
                   2350:      */
                   2351:        yyensure_buffer_stack ();
                   2352:        if ( YY_CURRENT_BUFFER == new_buffer )
                   2353:                return;
                   2354: 
                   2355:        if ( YY_CURRENT_BUFFER )
                   2356:                {
                   2357:                /* Flush out information for old buffer. */
                   2358:                *(yy_c_buf_p) = (yy_hold_char);
                   2359:                YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
                   2360:                YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
                   2361:                }
                   2362: 
                   2363:        YY_CURRENT_BUFFER_LVALUE = new_buffer;
                   2364:        yy_load_buffer_state( );
                   2365: 
                   2366:        /* We don't actually know whether we did this switch during
                   2367:         * EOF (yywrap()) processing, but the only time this flag
                   2368:         * is looked at is after yywrap() is called, so it's safe
                   2369:         * to go ahead and always set it.
                   2370:         */
                   2371:        (yy_did_buffer_switch_on_eof) = 1;
                   2372: }
                   2373: 
                   2374: static void yy_load_buffer_state  (void)
                   2375: {
                   2376:        (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
                   2377:        (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
                   2378:        yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
                   2379:        (yy_hold_char) = *(yy_c_buf_p);
                   2380: }
                   2381: 
                   2382: /** Allocate and initialize an input buffer state.
                   2383:  * @param file A readable stream.
                   2384:  * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
                   2385:  * 
                   2386:  * @return the allocated buffer state.
                   2387:  */
                   2388:     YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
                   2389: {
                   2390:        YY_BUFFER_STATE b;
                   2391:     
                   2392:        b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
                   2393:        if ( ! b )
                   2394:                YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
                   2395: 
                   2396:        b->yy_buf_size = size;
                   2397: 
                   2398:        /* yy_ch_buf has to be 2 characters longer than the size given because
                   2399:         * we need to put in 2 end-of-buffer characters.
                   2400:         */
                   2401:        b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
                   2402:        if ( ! b->yy_ch_buf )
                   2403:                YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
                   2404: 
                   2405:        b->yy_is_our_buffer = 1;
                   2406: 
                   2407:        yy_init_buffer(b,file );
                   2408: 
                   2409:        return b;
                   2410: }
                   2411: 
                   2412: /** Destroy the buffer.
                   2413:  * @param b a buffer created with yy_create_buffer()
                   2414:  * 
                   2415:  */
                   2416:     void yy_delete_buffer (YY_BUFFER_STATE  b )
                   2417: {
                   2418:     
                   2419:        if ( ! b )
                   2420:                return;
                   2421: 
                   2422:        if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
                   2423:                YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
                   2424: 
                   2425:        if ( b->yy_is_our_buffer )
                   2426:                yyfree((void *) b->yy_ch_buf  );
                   2427: 
                   2428:        yyfree((void *) b  );
                   2429: }
                   2430: 
                   2431: #ifndef __cplusplus
                   2432: extern int isatty (int );
                   2433: #endif /* __cplusplus */
                   2434:     
                   2435: /* Initializes or reinitializes a buffer.
                   2436:  * This function is sometimes called more than once on the same buffer,
                   2437:  * such as during a yyrestart() or at EOF.
                   2438:  */
                   2439:     static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
                   2440: 
                   2441: {
                   2442:        int oerrno = errno;
                   2443:     
                   2444:        yy_flush_buffer(b );
                   2445: 
                   2446:        b->yy_input_file = file;
                   2447:        b->yy_fill_buffer = 1;
                   2448: 
                   2449:     /* If b is the current buffer, then yy_init_buffer was _probably_
                   2450:      * called from yyrestart() or through yy_get_next_buffer.
                   2451:      * In that case, we don't want to reset the lineno or column.
                   2452:      */
                   2453:     if (b != YY_CURRENT_BUFFER){
                   2454:         b->yy_bs_lineno = 1;
                   2455:         b->yy_bs_column = 0;
                   2456:     }
                   2457: 
                   2458:         b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
                   2459:     
                   2460:        errno = oerrno;
                   2461: }
                   2462: 
                   2463: /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
                   2464:  * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
                   2465:  * 
                   2466:  */
                   2467:     void yy_flush_buffer (YY_BUFFER_STATE  b )
                   2468: {
                   2469:        if ( ! b )
                   2470:                return;
                   2471: 
                   2472:        b->yy_n_chars = 0;
                   2473: 
                   2474:        /* We always need two end-of-buffer characters.  The first causes
                   2475:         * a transition to the end-of-buffer state.  The second causes
                   2476:         * a jam in that state.
                   2477:         */
                   2478:        b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
                   2479:        b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
                   2480: 
                   2481:        b->yy_buf_pos = &b->yy_ch_buf[0];
                   2482: 
                   2483:        b->yy_at_bol = 1;
                   2484:        b->yy_buffer_status = YY_BUFFER_NEW;
                   2485: 
                   2486:        if ( b == YY_CURRENT_BUFFER )
                   2487:                yy_load_buffer_state( );
                   2488: }
                   2489: 
                   2490: /** Pushes the new state onto the stack. The new state becomes
                   2491:  *  the current state. This function will allocate the stack
                   2492:  *  if necessary.
                   2493:  *  @param new_buffer The new state.
                   2494:  *  
                   2495:  */
                   2496: void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
                   2497: {
                   2498:        if (new_buffer == NULL)
                   2499:                return;
                   2500: 
                   2501:        yyensure_buffer_stack();
                   2502: 
                   2503:        /* This block is copied from yy_switch_to_buffer. */
                   2504:        if ( YY_CURRENT_BUFFER )
                   2505:                {
                   2506:                /* Flush out information for old buffer. */
                   2507:                *(yy_c_buf_p) = (yy_hold_char);
                   2508:                YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
                   2509:                YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
                   2510:                }
                   2511: 
                   2512:        /* Only push if top exists. Otherwise, replace top. */
                   2513:        if (YY_CURRENT_BUFFER)
                   2514:                (yy_buffer_stack_top)++;
                   2515:        YY_CURRENT_BUFFER_LVALUE = new_buffer;
                   2516: 
                   2517:        /* copied from yy_switch_to_buffer. */
                   2518:        yy_load_buffer_state( );
                   2519:        (yy_did_buffer_switch_on_eof) = 1;
                   2520: }
                   2521: 
                   2522: /** Removes and deletes the top of the stack, if present.
                   2523:  *  The next element becomes the new top.
                   2524:  *  
                   2525:  */
                   2526: void yypop_buffer_state (void)
                   2527: {
                   2528:        if (!YY_CURRENT_BUFFER)
                   2529:                return;
                   2530: 
                   2531:        yy_delete_buffer(YY_CURRENT_BUFFER );
                   2532:        YY_CURRENT_BUFFER_LVALUE = NULL;
                   2533:        if ((yy_buffer_stack_top) > 0)
                   2534:                --(yy_buffer_stack_top);
                   2535: 
                   2536:        if (YY_CURRENT_BUFFER) {
                   2537:                yy_load_buffer_state( );
                   2538:                (yy_did_buffer_switch_on_eof) = 1;
                   2539:        }
                   2540: }
                   2541: 
                   2542: /* Allocates the stack if it does not exist.
                   2543:  *  Guarantees space for at least one push.
                   2544:  */
                   2545: static void yyensure_buffer_stack (void)
                   2546: {
                   2547:        int num_to_alloc;
                   2548:     
                   2549:        if (!(yy_buffer_stack)) {
                   2550: 
                   2551:                /* First allocation is just for 2 elements, since we don't know if this
                   2552:                 * scanner will even need a stack. We use 2 instead of 1 to avoid an
                   2553:                 * immediate realloc on the next call.
                   2554:          */
                   2555:                num_to_alloc = 1;
                   2556:                (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
                   2557:                                                                (num_to_alloc * sizeof(struct yy_buffer_state*)
                   2558:                                                                );
                   2559:                if ( ! (yy_buffer_stack) )
                   2560:                        YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
                   2561:                                                                  
                   2562:                memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
                   2563:                                
                   2564:                (yy_buffer_stack_max) = num_to_alloc;
                   2565:                (yy_buffer_stack_top) = 0;
                   2566:                return;
                   2567:        }
                   2568: 
                   2569:        if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
                   2570: 
                   2571:                /* Increase the buffer to prepare for a possible push. */
                   2572:                int grow_size = 8 /* arbitrary grow size */;
                   2573: 
                   2574:                num_to_alloc = (yy_buffer_stack_max) + grow_size;
                   2575:                (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
                   2576:                                                                ((yy_buffer_stack),
                   2577:                                                                num_to_alloc * sizeof(struct yy_buffer_state*)
                   2578:                                                                );
                   2579:                if ( ! (yy_buffer_stack) )
                   2580:                        YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
                   2581: 
                   2582:                /* zero only the new slots.*/
                   2583:                memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
                   2584:                (yy_buffer_stack_max) = num_to_alloc;
                   2585:        }
                   2586: }
                   2587: 
                   2588: /** Setup the input buffer state to scan directly from a user-specified character buffer.
                   2589:  * @param base the character buffer
                   2590:  * @param size the size in bytes of the character buffer
                   2591:  * 
                   2592:  * @return the newly allocated buffer state object. 
                   2593:  */
                   2594: YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
                   2595: {
                   2596:        YY_BUFFER_STATE b;
                   2597:     
                   2598:        if ( size < 2 ||
                   2599:             base[size-2] != YY_END_OF_BUFFER_CHAR ||
                   2600:             base[size-1] != YY_END_OF_BUFFER_CHAR )
                   2601:                /* They forgot to leave room for the EOB's. */
                   2602:                return 0;
                   2603: 
                   2604:        b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
                   2605:        if ( ! b )
                   2606:                YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
                   2607: 
                   2608:        b->yy_buf_size = size - 2;      /* "- 2" to take care of EOB's */
                   2609:        b->yy_buf_pos = b->yy_ch_buf = base;
                   2610:        b->yy_is_our_buffer = 0;
                   2611:        b->yy_input_file = 0;
                   2612:        b->yy_n_chars = b->yy_buf_size;
                   2613:        b->yy_is_interactive = 0;
                   2614:        b->yy_at_bol = 1;
                   2615:        b->yy_fill_buffer = 0;
                   2616:        b->yy_buffer_status = YY_BUFFER_NEW;
                   2617: 
                   2618:        yy_switch_to_buffer(b  );
                   2619: 
                   2620:        return b;
                   2621: }
                   2622: 
                   2623: /** Setup the input buffer state to scan a string. The next call to yylex() will
                   2624:  * scan from a @e copy of @a str.
                   2625:  * @param yystr a NUL-terminated string to scan
                   2626:  * 
                   2627:  * @return the newly allocated buffer state object.
                   2628:  * @note If you want to scan bytes that may contain NUL values, then use
                   2629:  *       yy_scan_bytes() instead.
                   2630:  */
                   2631: YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
                   2632: {
                   2633:     
                   2634:        return yy_scan_bytes(yystr,strlen(yystr) );
                   2635: }
                   2636: 
                   2637: /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
                   2638:  * scan from a @e copy of @a bytes.
                   2639:  * @param yybytes the byte buffer to scan
                   2640:  * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
                   2641:  * 
                   2642:  * @return the newly allocated buffer state object.
                   2643:  */
                   2644: YY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, int  _yybytes_len )
                   2645: {
                   2646:        YY_BUFFER_STATE b;
                   2647:        char *buf;
                   2648:        yy_size_t n;
                   2649:        int i;
                   2650:     
                   2651:        /* Get memory for full buffer, including space for trailing EOB's. */
                   2652:        n = _yybytes_len + 2;
                   2653:        buf = (char *) yyalloc(n  );
                   2654:        if ( ! buf )
                   2655:                YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
                   2656: 
                   2657:        for ( i = 0; i < _yybytes_len; ++i )
                   2658:                buf[i] = yybytes[i];
                   2659: 
                   2660:        buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
                   2661: 
                   2662:        b = yy_scan_buffer(buf,n );
                   2663:        if ( ! b )
                   2664:                YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
                   2665: 
                   2666:        /* It's okay to grow etc. this buffer, and we should throw it
                   2667:         * away when we're done.
                   2668:         */
                   2669:        b->yy_is_our_buffer = 1;
                   2670: 
                   2671:        return b;
                   2672: }
                   2673: 
                   2674: #ifndef YY_EXIT_FAILURE
                   2675: #define YY_EXIT_FAILURE 2
                   2676: #endif
                   2677: 
                   2678: static void yy_fatal_error (yyconst char* msg )
                   2679: {
                   2680:        (void) fprintf( stderr, "%s\n", msg );
                   2681:        exit( YY_EXIT_FAILURE );
                   2682: }
                   2683: 
                   2684: /* Redefine yyless() so it works in section 3 code. */
                   2685: 
                   2686: #undef yyless
                   2687: #define yyless(n) \
                   2688:        do \
                   2689:                { \
                   2690:                /* Undo effects of setting up yytext. */ \
                   2691:         int yyless_macro_arg = (n); \
                   2692:         YY_LESS_LINENO(yyless_macro_arg);\
                   2693:                yytext[yyleng] = (yy_hold_char); \
                   2694:                (yy_c_buf_p) = yytext + yyless_macro_arg; \
                   2695:                (yy_hold_char) = *(yy_c_buf_p); \
                   2696:                *(yy_c_buf_p) = '\0'; \
                   2697:                yyleng = yyless_macro_arg; \
                   2698:                } \
                   2699:        while ( 0 )
                   2700: 
                   2701: /* Accessor  methods (get/set functions) to struct members. */
                   2702: 
                   2703: /** Get the current line number.
                   2704:  * 
                   2705:  */
                   2706: int yyget_lineno  (void)
                   2707: {
                   2708:         
                   2709:     return yylineno;
                   2710: }
                   2711: 
                   2712: /** Get the input stream.
                   2713:  * 
                   2714:  */
                   2715: FILE *yyget_in  (void)
                   2716: {
                   2717:         return yyin;
                   2718: }
                   2719: 
                   2720: /** Get the output stream.
                   2721:  * 
                   2722:  */
                   2723: FILE *yyget_out  (void)
                   2724: {
                   2725:         return yyout;
                   2726: }
                   2727: 
                   2728: /** Get the length of the current token.
                   2729:  * 
                   2730:  */
                   2731: int yyget_leng  (void)
                   2732: {
                   2733:         return yyleng;
                   2734: }
                   2735: 
                   2736: /** Get the current token.
                   2737:  * 
                   2738:  */
                   2739: 
                   2740: char *yyget_text  (void)
                   2741: {
                   2742:         return yytext;
                   2743: }
                   2744: 
                   2745: /** Set the current line number.
                   2746:  * @param line_number
                   2747:  * 
                   2748:  */
                   2749: void yyset_lineno (int  line_number )
                   2750: {
                   2751:     
                   2752:     yylineno = line_number;
                   2753: }
                   2754: 
                   2755: /** Set the input stream. This does not discard the current
                   2756:  * input buffer.
                   2757:  * @param in_str A readable stream.
                   2758:  * 
                   2759:  * @see yy_switch_to_buffer
                   2760:  */
                   2761: void yyset_in (FILE *  in_str )
                   2762: {
                   2763:         yyin = in_str ;
                   2764: }
                   2765: 
                   2766: void yyset_out (FILE *  out_str )
                   2767: {
                   2768:         yyout = out_str ;
                   2769: }
                   2770: 
                   2771: int yyget_debug  (void)
                   2772: {
                   2773:         return yy_flex_debug;
                   2774: }
                   2775: 
                   2776: void yyset_debug (int  bdebug )
                   2777: {
                   2778:         yy_flex_debug = bdebug ;
                   2779: }
                   2780: 
                   2781: static int yy_init_globals (void)
                   2782: {
                   2783:         /* Initialization is the same as for the non-reentrant scanner.
                   2784:      * This function is called from yylex_destroy(), so don't allocate here.
                   2785:      */
                   2786: 
                   2787:     (yy_buffer_stack) = 0;
                   2788:     (yy_buffer_stack_top) = 0;
                   2789:     (yy_buffer_stack_max) = 0;
                   2790:     (yy_c_buf_p) = (char *) 0;
                   2791:     (yy_init) = 0;
                   2792:     (yy_start) = 0;
                   2793: 
                   2794: /* Defined in main.c */
                   2795: #ifdef YY_STDINIT
                   2796:     yyin = stdin;
                   2797:     yyout = stdout;
                   2798: #else
                   2799:     yyin = (FILE *) 0;
                   2800:     yyout = (FILE *) 0;
                   2801: #endif
                   2802: 
                   2803:     /* For future reference: Set errno on error, since we are called by
                   2804:      * yylex_init()
                   2805:      */
                   2806:     return 0;
                   2807: }
                   2808: 
                   2809: /* yylex_destroy is for both reentrant and non-reentrant scanners. */
                   2810: int yylex_destroy  (void)
                   2811: {
                   2812:     
                   2813:     /* Pop the buffer stack, destroying each element. */
                   2814:        while(YY_CURRENT_BUFFER){
                   2815:                yy_delete_buffer(YY_CURRENT_BUFFER  );
                   2816:                YY_CURRENT_BUFFER_LVALUE = NULL;
                   2817:                yypop_buffer_state();
                   2818:        }
                   2819: 
                   2820:        /* Destroy the stack itself. */
                   2821:        yyfree((yy_buffer_stack) );
                   2822:        (yy_buffer_stack) = NULL;
                   2823: 
                   2824:     /* Reset the globals. This is important in a non-reentrant scanner so the next time
                   2825:      * yylex() is called, initialization will occur. */
                   2826:     yy_init_globals( );
                   2827: 
                   2828:     return 0;
                   2829: }
                   2830: 
                   2831: /*
                   2832:  * Internal utility routines.
                   2833:  */
                   2834: 
                   2835: #ifndef yytext_ptr
                   2836: static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
                   2837: {
                   2838:        register int i;
                   2839:        for ( i = 0; i < n; ++i )
                   2840:                s1[i] = s2[i];
                   2841: }
                   2842: #endif
                   2843: 
                   2844: #ifdef YY_NEED_STRLEN
                   2845: static int yy_flex_strlen (yyconst char * s )
                   2846: {
                   2847:        register int n;
                   2848:        for ( n = 0; s[n]; ++n )
                   2849:                ;
                   2850: 
                   2851:        return n;
                   2852: }
                   2853: #endif
                   2854: 
                   2855: void *yyalloc (yy_size_t  size )
                   2856: {
                   2857:        return (void *) malloc( size );
                   2858: }
                   2859: 
                   2860: void *yyrealloc  (void * ptr, yy_size_t  size )
                   2861: {
                   2862:        /* The cast to (char *) in the following accommodates both
                   2863:         * implementations that use char* generic pointers, and those
                   2864:         * that use void* generic pointers.  It works with the latter
                   2865:         * because both ANSI C and C++ allow castless assignment from
                   2866:         * any pointer type to void*, and deal with argument conversions
                   2867:         * as though doing an assignment.
                   2868:         */
                   2869:        return (void *) realloc( (char *) ptr, size );
                   2870: }
                   2871: 
                   2872: void yyfree (void * ptr )
                   2873: {
                   2874:        free( (char *) ptr );   /* see yyrealloc() for (char *) cast */
                   2875: }
                   2876: 
                   2877: #define YYTABLES_NAME "yytables"
                   2878: 
                   2879: #line 314 "token.l"
                   2880: 
                   2881: 
                   2882: 
                   2883: void
                   2884: yyfatal(s)
                   2885:        const char *s;
                   2886: {
                   2887:        yyerror(s);
                   2888:        exit(1);
                   2889: }
                   2890: 
                   2891: void
                   2892: yyerror(s)
                   2893:        const char *s;
                   2894: {
                   2895:        printf("line %d: %s at [%s]\n", lineno, s, yytext);
                   2896: }
                   2897: 
                   2898: int
                   2899: parse(fp)
                   2900:        FILE **fp;
                   2901: {
                   2902:        yyin = *fp;
                   2903: 
                   2904:        lineno = 1;
                   2905:        parse_init();
                   2906: 
                   2907:        if (yyparse()) {
                   2908:                printf("parse failed, line %d.\n", lineno);
                   2909:                return(-1);
                   2910:        }
                   2911: 
                   2912:        return(0);
                   2913: }
                   2914: 
                   2915: int
                   2916: parse_string (char *src)
                   2917: {
                   2918:        int             result;
                   2919:        YY_BUFFER_STATE buf_state;
                   2920: 
                   2921:        buf_state = yy_scan_string(src);
                   2922:        result = yyparse();
                   2923:        yy_delete_buffer(buf_state);
                   2924:        return result;
                   2925: }
                   2926: 
                   2927: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>