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