Annotation of embedaddon/ipsec-tools/src/setkey/token.c, revision 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>