1178825Sdfr 2178825Sdfr#line 3 "lex.c" 3178825Sdfr 4178825Sdfr#define YY_INT_ALIGNED short int 5178825Sdfr 6178825Sdfr/* A lexical scanner generated by flex */ 7178825Sdfr 8178825Sdfr#define FLEX_SCANNER 9178825Sdfr#define YY_FLEX_MAJOR_VERSION 2 10178825Sdfr#define YY_FLEX_MINOR_VERSION 5 11233294Sstas#define YY_FLEX_SUBMINOR_VERSION 35 12178825Sdfr#if YY_FLEX_SUBMINOR_VERSION > 0 13178825Sdfr#define FLEX_BETA 14178825Sdfr#endif 15178825Sdfr 16178825Sdfr/* First, we deal with platform-specific or compiler-specific issues. */ 17178825Sdfr 18178825Sdfr/* begin standard C headers. */ 19178825Sdfr#include <stdio.h> 20178825Sdfr#include <string.h> 21178825Sdfr#include <errno.h> 22178825Sdfr#include <stdlib.h> 23178825Sdfr 24178825Sdfr/* end standard C headers. */ 25178825Sdfr 26178825Sdfr/* flex integer type definitions */ 27178825Sdfr 28178825Sdfr#ifndef FLEXINT_H 29178825Sdfr#define FLEXINT_H 30178825Sdfr 31178825Sdfr/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */ 32178825Sdfr 33233294Sstas#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 34178825Sdfr 35178825Sdfr/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, 36178825Sdfr * if you want the limit (max/min) macros for int types. 37178825Sdfr */ 38178825Sdfr#ifndef __STDC_LIMIT_MACROS 39178825Sdfr#define __STDC_LIMIT_MACROS 1 40178825Sdfr#endif 41178825Sdfr 42178825Sdfr#include <inttypes.h> 43178825Sdfrtypedef int8_t flex_int8_t; 44178825Sdfrtypedef uint8_t flex_uint8_t; 45178825Sdfrtypedef int16_t flex_int16_t; 46178825Sdfrtypedef uint16_t flex_uint16_t; 47178825Sdfrtypedef int32_t flex_int32_t; 48178825Sdfrtypedef uint32_t flex_uint32_t; 49178825Sdfr#else 50178825Sdfrtypedef signed char flex_int8_t; 51178825Sdfrtypedef short int flex_int16_t; 52178825Sdfrtypedef int flex_int32_t; 53178825Sdfrtypedef unsigned char flex_uint8_t; 54178825Sdfrtypedef unsigned short int flex_uint16_t; 55178825Sdfrtypedef unsigned int flex_uint32_t; 56178825Sdfr#endif /* ! C99 */ 57178825Sdfr 58178825Sdfr/* Limits of integral types. */ 59178825Sdfr#ifndef INT8_MIN 60178825Sdfr#define INT8_MIN (-128) 61178825Sdfr#endif 62178825Sdfr#ifndef INT16_MIN 63178825Sdfr#define INT16_MIN (-32767-1) 64178825Sdfr#endif 65178825Sdfr#ifndef INT32_MIN 66178825Sdfr#define INT32_MIN (-2147483647-1) 67178825Sdfr#endif 68178825Sdfr#ifndef INT8_MAX 69178825Sdfr#define INT8_MAX (127) 70178825Sdfr#endif 71178825Sdfr#ifndef INT16_MAX 72178825Sdfr#define INT16_MAX (32767) 73178825Sdfr#endif 74178825Sdfr#ifndef INT32_MAX 75178825Sdfr#define INT32_MAX (2147483647) 76178825Sdfr#endif 77178825Sdfr#ifndef UINT8_MAX 78178825Sdfr#define UINT8_MAX (255U) 79178825Sdfr#endif 80178825Sdfr#ifndef UINT16_MAX 81178825Sdfr#define UINT16_MAX (65535U) 82178825Sdfr#endif 83178825Sdfr#ifndef UINT32_MAX 84178825Sdfr#define UINT32_MAX (4294967295U) 85178825Sdfr#endif 86178825Sdfr 87178825Sdfr#endif /* ! FLEXINT_H */ 88178825Sdfr 89178825Sdfr#ifdef __cplusplus 90178825Sdfr 91178825Sdfr/* The "const" storage-class-modifier is valid. */ 92178825Sdfr#define YY_USE_CONST 93178825Sdfr 94178825Sdfr#else /* ! __cplusplus */ 95178825Sdfr 96233294Sstas/* C99 requires __STDC__ to be defined as 1. */ 97233294Sstas#if defined (__STDC__) 98178825Sdfr 99178825Sdfr#define YY_USE_CONST 100178825Sdfr 101233294Sstas#endif /* defined (__STDC__) */ 102178825Sdfr#endif /* ! __cplusplus */ 103178825Sdfr 104178825Sdfr#ifdef YY_USE_CONST 105178825Sdfr#define yyconst const 106178825Sdfr#else 107178825Sdfr#define yyconst 108178825Sdfr#endif 109178825Sdfr 110178825Sdfr/* Returned upon end-of-file. */ 111178825Sdfr#define YY_NULL 0 112178825Sdfr 113178825Sdfr/* Promotes a possibly negative, possibly signed char to an unsigned 114178825Sdfr * integer for use as an array index. If the signed char is negative, 115178825Sdfr * we want to instead treat it as an 8-bit unsigned char, hence the 116178825Sdfr * double cast. 117178825Sdfr */ 118178825Sdfr#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) 119178825Sdfr 120178825Sdfr/* Enter a start condition. This macro really ought to take a parameter, 121178825Sdfr * but we do it the disgusting crufty way forced on us by the ()-less 122178825Sdfr * definition of BEGIN. 123178825Sdfr */ 124178825Sdfr#define BEGIN (yy_start) = 1 + 2 * 125178825Sdfr 126178825Sdfr/* Translate the current start state into a value that can be later handed 127178825Sdfr * to BEGIN to return to the state. The YYSTATE alias is for lex 128178825Sdfr * compatibility. 129178825Sdfr */ 130178825Sdfr#define YY_START (((yy_start) - 1) / 2) 131178825Sdfr#define YYSTATE YY_START 132178825Sdfr 133178825Sdfr/* Action number for EOF rule of a given start state. */ 134178825Sdfr#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) 135178825Sdfr 136178825Sdfr/* Special action meaning "start processing a new file". */ 137178825Sdfr#define YY_NEW_FILE yyrestart(yyin ) 138178825Sdfr 139178825Sdfr#define YY_END_OF_BUFFER_CHAR 0 140178825Sdfr 141178825Sdfr/* Size of default input buffer. */ 142178825Sdfr#ifndef YY_BUF_SIZE 143178825Sdfr#define YY_BUF_SIZE 16384 144178825Sdfr#endif 145178825Sdfr 146178825Sdfr/* The state buf must be large enough to hold one state per character in the main buffer. 147178825Sdfr */ 148178825Sdfr#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) 149178825Sdfr 150178825Sdfr#ifndef YY_TYPEDEF_YY_BUFFER_STATE 151178825Sdfr#define YY_TYPEDEF_YY_BUFFER_STATE 152178825Sdfrtypedef struct yy_buffer_state *YY_BUFFER_STATE; 153178825Sdfr#endif 154178825Sdfr 155233294Sstas#ifndef YY_TYPEDEF_YY_SIZE_T 156233294Sstas#define YY_TYPEDEF_YY_SIZE_T 157233294Sstastypedef size_t yy_size_t; 158233294Sstas#endif 159178825Sdfr 160233294Sstasextern yy_size_t yyleng; 161233294Sstas 162178825Sdfrextern FILE *yyin, *yyout; 163178825Sdfr 164178825Sdfr#define EOB_ACT_CONTINUE_SCAN 0 165178825Sdfr#define EOB_ACT_END_OF_FILE 1 166178825Sdfr#define EOB_ACT_LAST_MATCH 2 167178825Sdfr 168178825Sdfr #define YY_LESS_LINENO(n) 169178825Sdfr 170178825Sdfr/* Return all but the first "n" matched characters back to the input stream. */ 171178825Sdfr#define yyless(n) \ 172178825Sdfr do \ 173178825Sdfr { \ 174178825Sdfr /* Undo effects of setting up yytext. */ \ 175178825Sdfr int yyless_macro_arg = (n); \ 176178825Sdfr YY_LESS_LINENO(yyless_macro_arg);\ 177178825Sdfr *yy_cp = (yy_hold_char); \ 178178825Sdfr YY_RESTORE_YY_MORE_OFFSET \ 179178825Sdfr (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ 180178825Sdfr YY_DO_BEFORE_ACTION; /* set up yytext again */ \ 181178825Sdfr } \ 182178825Sdfr while ( 0 ) 183178825Sdfr 184178825Sdfr#define unput(c) yyunput( c, (yytext_ptr) ) 185178825Sdfr 186178825Sdfr#ifndef YY_STRUCT_YY_BUFFER_STATE 187178825Sdfr#define YY_STRUCT_YY_BUFFER_STATE 188178825Sdfrstruct yy_buffer_state 189178825Sdfr { 190178825Sdfr FILE *yy_input_file; 191178825Sdfr 192178825Sdfr char *yy_ch_buf; /* input buffer */ 193178825Sdfr char *yy_buf_pos; /* current position in input buffer */ 194178825Sdfr 195178825Sdfr /* Size of input buffer in bytes, not including room for EOB 196178825Sdfr * characters. 197178825Sdfr */ 198178825Sdfr yy_size_t yy_buf_size; 199178825Sdfr 200178825Sdfr /* Number of characters read into yy_ch_buf, not including EOB 201178825Sdfr * characters. 202178825Sdfr */ 203233294Sstas yy_size_t yy_n_chars; 204178825Sdfr 205178825Sdfr /* Whether we "own" the buffer - i.e., we know we created it, 206178825Sdfr * and can realloc() it to grow it, and should free() it to 207178825Sdfr * delete it. 208178825Sdfr */ 209178825Sdfr int yy_is_our_buffer; 210178825Sdfr 211178825Sdfr /* Whether this is an "interactive" input source; if so, and 212178825Sdfr * if we're using stdio for input, then we want to use getc() 213178825Sdfr * instead of fread(), to make sure we stop fetching input after 214178825Sdfr * each newline. 215178825Sdfr */ 216178825Sdfr int yy_is_interactive; 217178825Sdfr 218178825Sdfr /* Whether we're considered to be at the beginning of a line. 219178825Sdfr * If so, '^' rules will be active on the next match, otherwise 220178825Sdfr * not. 221178825Sdfr */ 222178825Sdfr int yy_at_bol; 223178825Sdfr 224178825Sdfr int yy_bs_lineno; /**< The line count. */ 225178825Sdfr int yy_bs_column; /**< The column count. */ 226178825Sdfr 227178825Sdfr /* Whether to try to fill the input buffer when we reach the 228178825Sdfr * end of it. 229178825Sdfr */ 230178825Sdfr int yy_fill_buffer; 231178825Sdfr 232178825Sdfr int yy_buffer_status; 233178825Sdfr 234178825Sdfr#define YY_BUFFER_NEW 0 235178825Sdfr#define YY_BUFFER_NORMAL 1 236178825Sdfr /* When an EOF's been seen but there's still some text to process 237178825Sdfr * then we mark the buffer as YY_EOF_PENDING, to indicate that we 238178825Sdfr * shouldn't try reading from the input source any more. We might 239178825Sdfr * still have a bunch of tokens to match, though, because of 240178825Sdfr * possible backing-up. 241178825Sdfr * 242178825Sdfr * When we actually see the EOF, we change the status to "new" 243178825Sdfr * (via yyrestart()), so that the user can continue scanning by 244178825Sdfr * just pointing yyin at a new input file. 245178825Sdfr */ 246178825Sdfr#define YY_BUFFER_EOF_PENDING 2 247178825Sdfr 248178825Sdfr }; 249178825Sdfr#endif /* !YY_STRUCT_YY_BUFFER_STATE */ 250178825Sdfr 251178825Sdfr/* Stack of input buffers. */ 252178825Sdfrstatic size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ 253178825Sdfrstatic size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ 254178825Sdfrstatic YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ 255178825Sdfr 256178825Sdfr/* We provide macros for accessing buffer states in case in the 257178825Sdfr * future we want to put the buffer states in a more general 258178825Sdfr * "scanner state". 259178825Sdfr * 260178825Sdfr * Returns the top of the stack, or NULL. 261178825Sdfr */ 262178825Sdfr#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ 263178825Sdfr ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ 264178825Sdfr : NULL) 265178825Sdfr 266178825Sdfr/* Same as previous macro, but useful when we know that the buffer stack is not 267178825Sdfr * NULL or when we need an lvalue. For internal use only. 268178825Sdfr */ 269178825Sdfr#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] 270178825Sdfr 271178825Sdfr/* yy_hold_char holds the character lost when yytext is formed. */ 272178825Sdfrstatic char yy_hold_char; 273233294Sstasstatic yy_size_t yy_n_chars; /* number of characters read into yy_ch_buf */ 274233294Sstasyy_size_t yyleng; 275178825Sdfr 276178825Sdfr/* Points to current character in buffer. */ 277178825Sdfrstatic char *yy_c_buf_p = (char *) 0; 278178825Sdfrstatic int yy_init = 0; /* whether we need to initialize */ 279178825Sdfrstatic int yy_start = 0; /* start state number */ 280178825Sdfr 281178825Sdfr/* Flag which is used to allow yywrap()'s to do buffer switches 282178825Sdfr * instead of setting up a fresh yyin. A bit of a hack ... 283178825Sdfr */ 284178825Sdfrstatic int yy_did_buffer_switch_on_eof; 285178825Sdfr 286178825Sdfrvoid yyrestart (FILE *input_file ); 287178825Sdfrvoid yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ); 288178825SdfrYY_BUFFER_STATE yy_create_buffer (FILE *file,int size ); 289178825Sdfrvoid yy_delete_buffer (YY_BUFFER_STATE b ); 290178825Sdfrvoid yy_flush_buffer (YY_BUFFER_STATE b ); 291178825Sdfrvoid yypush_buffer_state (YY_BUFFER_STATE new_buffer ); 292178825Sdfrvoid yypop_buffer_state (void ); 293178825Sdfr 294178825Sdfrstatic void yyensure_buffer_stack (void ); 295178825Sdfrstatic void yy_load_buffer_state (void ); 296178825Sdfrstatic void yy_init_buffer (YY_BUFFER_STATE b,FILE *file ); 297178825Sdfr 298178825Sdfr#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER ) 299178825Sdfr 300178825SdfrYY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ); 301178825SdfrYY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ); 302233294SstasYY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len ); 303178825Sdfr 304178825Sdfrvoid *yyalloc (yy_size_t ); 305178825Sdfrvoid *yyrealloc (void *,yy_size_t ); 306178825Sdfrvoid yyfree (void * ); 307178825Sdfr 308178825Sdfr#define yy_new_buffer yy_create_buffer 309178825Sdfr 310178825Sdfr#define yy_set_interactive(is_interactive) \ 311178825Sdfr { \ 312178825Sdfr if ( ! YY_CURRENT_BUFFER ){ \ 313178825Sdfr yyensure_buffer_stack (); \ 314178825Sdfr YY_CURRENT_BUFFER_LVALUE = \ 315178825Sdfr yy_create_buffer(yyin,YY_BUF_SIZE ); \ 316178825Sdfr } \ 317178825Sdfr YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ 318178825Sdfr } 319178825Sdfr 320178825Sdfr#define yy_set_bol(at_bol) \ 321178825Sdfr { \ 322178825Sdfr if ( ! YY_CURRENT_BUFFER ){\ 323178825Sdfr yyensure_buffer_stack (); \ 324178825Sdfr YY_CURRENT_BUFFER_LVALUE = \ 325178825Sdfr yy_create_buffer(yyin,YY_BUF_SIZE ); \ 326178825Sdfr } \ 327178825Sdfr YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ 328178825Sdfr } 329178825Sdfr 330178825Sdfr#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) 331178825Sdfr 332178825Sdfr/* Begin user sect3 */ 333178825Sdfr 334178825Sdfrtypedef unsigned char YY_CHAR; 335178825Sdfr 336178825SdfrFILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; 337178825Sdfr 338178825Sdfrtypedef int yy_state_type; 339178825Sdfr 340178825Sdfrextern int yylineno; 341178825Sdfr 342178825Sdfrint yylineno = 1; 343178825Sdfr 344178825Sdfrextern char *yytext; 345178825Sdfr#define yytext_ptr yytext 346178825Sdfr 347178825Sdfrstatic yy_state_type yy_get_previous_state (void ); 348178825Sdfrstatic yy_state_type yy_try_NUL_trans (yy_state_type current_state ); 349178825Sdfrstatic int yy_get_next_buffer (void ); 350178825Sdfrstatic void yy_fatal_error (yyconst char msg[] ); 351178825Sdfr 352178825Sdfr/* Done after the current pattern has been matched and before the 353178825Sdfr * corresponding action - sets up yytext. 354178825Sdfr */ 355178825Sdfr#define YY_DO_BEFORE_ACTION \ 356178825Sdfr (yytext_ptr) = yy_bp; \ 357178825Sdfr yyleng = (size_t) (yy_cp - yy_bp); \ 358178825Sdfr (yy_hold_char) = *yy_cp; \ 359178825Sdfr *yy_cp = '\0'; \ 360178825Sdfr (yy_c_buf_p) = yy_cp; 361178825Sdfr 362178825Sdfr#define YY_NUM_RULES 95 363178825Sdfr#define YY_END_OF_BUFFER 96 364178825Sdfr/* This struct is not used in this scanner, 365178825Sdfr but its presence is necessary. */ 366178825Sdfrstruct yy_trans_info 367178825Sdfr { 368178825Sdfr flex_int32_t yy_verify; 369178825Sdfr flex_int32_t yy_nxt; 370178825Sdfr }; 371178825Sdfrstatic yyconst flex_int16_t yy_accept[568] = 372178825Sdfr { 0, 373178825Sdfr 0, 0, 96, 94, 90, 91, 87, 81, 81, 94, 374178825Sdfr 94, 88, 88, 94, 89, 89, 89, 89, 89, 89, 375178825Sdfr 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 376178825Sdfr 89, 89, 89, 82, 83, 85, 88, 88, 93, 86, 377178825Sdfr 0, 0, 89, 89, 89, 89, 89, 89, 89, 89, 378178825Sdfr 89, 10, 89, 89, 89, 89, 89, 89, 89, 89, 379178825Sdfr 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 380178825Sdfr 89, 89, 89, 89, 51, 89, 89, 89, 89, 89, 381178825Sdfr 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 382178825Sdfr 89, 89, 89, 89, 89, 89, 89, 92, 88, 84, 383178825Sdfr 384178825Sdfr 89, 3, 89, 89, 89, 7, 89, 89, 89, 89, 385178825Sdfr 89, 89, 89, 89, 89, 89, 22, 89, 89, 89, 386178825Sdfr 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 387178825Sdfr 89, 89, 44, 45, 89, 89, 89, 89, 89, 89, 388178825Sdfr 89, 55, 89, 89, 89, 89, 89, 89, 89, 63, 389178825Sdfr 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 390178825Sdfr 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 391178825Sdfr 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 392178825Sdfr 89, 89, 89, 89, 89, 89, 89, 89, 30, 89, 393178825Sdfr 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 394178825Sdfr 395178825Sdfr 47, 89, 89, 89, 89, 89, 89, 89, 89, 89, 396178825Sdfr 89, 60, 89, 89, 64, 89, 89, 89, 68, 69, 397178825Sdfr 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 398178825Sdfr 80, 89, 89, 89, 89, 6, 89, 89, 89, 89, 399178825Sdfr 13, 89, 89, 89, 89, 89, 89, 89, 89, 89, 400178825Sdfr 89, 89, 89, 89, 29, 89, 89, 89, 89, 89, 401178825Sdfr 89, 89, 89, 89, 89, 89, 89, 89, 89, 50, 402178825Sdfr 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 403178825Sdfr 89, 89, 89, 89, 72, 89, 89, 89, 89, 89, 404178825Sdfr 89, 89, 1, 89, 89, 89, 89, 89, 89, 12, 405178825Sdfr 406178825Sdfr 89, 89, 89, 89, 89, 89, 89, 89, 24, 89, 407178825Sdfr 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 408178825Sdfr 89, 89, 89, 89, 89, 89, 89, 49, 89, 89, 409178825Sdfr 89, 89, 89, 89, 89, 89, 89, 65, 66, 89, 410178825Sdfr 89, 89, 73, 89, 89, 89, 89, 89, 89, 89, 411178825Sdfr 89, 89, 89, 9, 89, 89, 89, 89, 18, 89, 412178825Sdfr 89, 21, 89, 89, 26, 89, 89, 89, 89, 89, 413178825Sdfr 89, 89, 37, 38, 89, 89, 41, 89, 89, 89, 414178825Sdfr 89, 89, 89, 54, 89, 57, 58, 89, 89, 89, 415178825Sdfr 89, 89, 89, 89, 75, 89, 89, 89, 89, 89, 416178825Sdfr 417178825Sdfr 89, 89, 89, 89, 89, 89, 89, 89, 20, 89, 418178825Sdfr 25, 89, 28, 89, 89, 89, 89, 89, 36, 39, 419178825Sdfr 40, 89, 89, 89, 89, 52, 89, 89, 89, 89, 420178825Sdfr 62, 89, 89, 89, 89, 89, 89, 89, 89, 89, 421178825Sdfr 89, 5, 8, 11, 14, 89, 89, 89, 89, 89, 422178825Sdfr 89, 89, 89, 34, 89, 89, 89, 89, 89, 89, 423178825Sdfr 89, 89, 89, 67, 89, 89, 74, 89, 89, 89, 424178825Sdfr 89, 89, 89, 15, 89, 17, 89, 23, 89, 89, 425178825Sdfr 89, 89, 35, 89, 89, 89, 89, 89, 89, 89, 426178825Sdfr 89, 89, 89, 76, 89, 89, 89, 89, 4, 16, 427178825Sdfr 428178825Sdfr 19, 89, 89, 89, 89, 89, 89, 89, 89, 89, 429178825Sdfr 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, 430178825Sdfr 89, 89, 89, 42, 43, 89, 89, 89, 89, 89, 431178825Sdfr 61, 89, 89, 89, 89, 89, 89, 27, 31, 89, 432178825Sdfr 33, 89, 48, 89, 56, 89, 89, 71, 89, 89, 433178825Sdfr 79, 89, 89, 46, 89, 89, 89, 89, 78, 2, 434178825Sdfr 32, 89, 59, 70, 77, 53, 0 435178825Sdfr } ; 436178825Sdfr 437178825Sdfrstatic yyconst flex_int32_t yy_ec[256] = 438178825Sdfr { 0, 439178825Sdfr 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 440178825Sdfr 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 441178825Sdfr 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 442178825Sdfr 1, 2, 1, 4, 1, 1, 1, 1, 1, 5, 443178825Sdfr 5, 6, 1, 5, 7, 8, 9, 10, 11, 12, 444178825Sdfr 12, 13, 14, 15, 12, 16, 12, 17, 5, 1, 445178825Sdfr 18, 1, 1, 1, 19, 20, 21, 22, 23, 24, 446178825Sdfr 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 447178825Sdfr 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 448178825Sdfr 45, 1, 46, 1, 47, 1, 48, 49, 50, 51, 449178825Sdfr 450178825Sdfr 52, 53, 54, 55, 56, 57, 29, 58, 59, 60, 451178825Sdfr 61, 62, 29, 63, 64, 65, 66, 67, 29, 68, 452178825Sdfr 29, 69, 5, 5, 5, 1, 1, 1, 1, 1, 453178825Sdfr 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 454178825Sdfr 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 455178825Sdfr 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 456178825Sdfr 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 457178825Sdfr 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 458178825Sdfr 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 459178825Sdfr 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 460178825Sdfr 461178825Sdfr 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 462178825Sdfr 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 463178825Sdfr 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 464178825Sdfr 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 465178825Sdfr 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 466178825Sdfr 1, 1, 1, 1, 1 467178825Sdfr } ; 468178825Sdfr 469178825Sdfrstatic yyconst flex_int32_t yy_meta[70] = 470178825Sdfr { 0, 471178825Sdfr 1, 1, 1, 1, 1, 1, 2, 1, 1, 3, 472178825Sdfr 3, 3, 3, 3, 3, 3, 1, 1, 3, 3, 473178825Sdfr 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 474178825Sdfr 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 475178825Sdfr 2, 2, 2, 2, 1, 1, 2, 3, 3, 3, 476178825Sdfr 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 477178825Sdfr 2, 2, 2, 2, 2, 2, 2, 2, 2 478178825Sdfr } ; 479178825Sdfr 480178825Sdfrstatic yyconst flex_int16_t yy_base[570] = 481178825Sdfr { 0, 482178825Sdfr 0, 0, 636, 637, 637, 637, 637, 637, 63, 627, 483178825Sdfr 628, 70, 77, 616, 74, 72, 76, 609, 65, 81, 484178825Sdfr 49, 0, 92, 91, 32, 101, 97, 608, 103, 113, 485178825Sdfr 99, 574, 602, 637, 637, 637, 156, 163, 620, 637, 486178825Sdfr 0, 609, 0, 589, 595, 590, 585, 597, 583, 586, 487178825Sdfr 586, 0, 101, 599, 108, 593, 596, 122, 124, 585, 488178825Sdfr 581, 553, 564, 597, 587, 575, 115, 575, 565, 574, 489178825Sdfr 575, 545, 575, 564, 0, 563, 543, 561, 558, 558, 490178825Sdfr 124, 540, 161, 119, 551, 558, 561, 581, 566, 551, 491178825Sdfr 555, 530, 560, 160, 530, 91, 547, 637, 0, 637, 492178825Sdfr 493178825Sdfr 125, 0, 554, 550, 555, 0, 544, 550, 543, 551, 494178825Sdfr 540, 542, 145, 166, 552, 541, 0, 542, 549, 156, 495178825Sdfr 548, 533, 538, 516, 505, 529, 533, 157, 534, 525, 496178825Sdfr 539, 546, 0, 521, 529, 506, 534, 533, 528, 502, 497178825Sdfr 515, 0, 515, 514, 510, 489, 518, 528, 507, 0, 498178825Sdfr 522, 517, 505, 505, 504, 517, 516, 486, 159, 499, 499178825Sdfr 520, 468, 482, 477, 506, 499, 494, 502, 497, 495, 500178825Sdfr 461, 502, 505, 502, 485, 488, 482, 500, 479, 485, 501178825Sdfr 494, 493, 491, 479, 485, 475, 164, 487, 0, 446, 502178825Sdfr 453, 442, 468, 478, 468, 464, 483, 170, 488, 463, 503178825Sdfr 504178825Sdfr 0, 436, 477, 459, 463, 445, 471, 486, 469, 472, 505178825Sdfr 425, 0, 451, 465, 0, 455, 467, 420, 0, 0, 506178825Sdfr 477, 418, 450, 442, 457, 423, 441, 425, 415, 426, 507178825Sdfr 0, 436, 454, 451, 452, 0, 407, 450, 447, 444, 508178825Sdfr 0, 434, 429, 437, 433, 435, 439, 437, 423, 420, 509178825Sdfr 436, 418, 418, 422, 0, 405, 396, 388, 423, 180, 510178825Sdfr 411, 426, 415, 423, 408, 429, 436, 386, 403, 0, 511178825Sdfr 408, 374, 402, 410, 404, 397, 386, 406, 400, 406, 512178825Sdfr 388, 366, 401, 375, 0, 403, 389, 365, 358, 359, 513178825Sdfr 356, 362, 0, 398, 399, 379, 360, 383, 376, 0, 514178825Sdfr 515178825Sdfr 390, 393, 379, 372, 371, 385, 385, 387, 0, 378, 516178825Sdfr 367, 376, 383, 343, 350, 343, 374, 370, 374, 358, 517178825Sdfr 371, 372, 356, 368, 353, 362, 338, 0, 368, 364, 518178825Sdfr 353, 352, 345, 359, 332, 340, 358, 0, 0, 322, 519178825Sdfr 355, 308, 0, 338, 322, 310, 308, 319, 318, 331, 520178825Sdfr 330, 340, 306, 0, 342, 332, 336, 335, 0, 334, 521178825Sdfr 338, 0, 321, 320, 0, 337, 326, 151, 318, 294, 522178825Sdfr 326, 314, 0, 0, 314, 327, 0, 328, 283, 315, 523178825Sdfr 309, 315, 292, 0, 319, 0, 0, 284, 318, 317, 524178825Sdfr 279, 315, 300, 317, 0, 279, 286, 265, 295, 324, 525178825Sdfr 526178825Sdfr 303, 308, 274, 291, 288, 293, 292, 290, 0, 299, 527178825Sdfr 0, 294, 0, 255, 250, 253, 263, 293, 0, 0, 528178825Sdfr 0, 277, 251, 289, 247, 0, 247, 283, 257, 261, 529178825Sdfr 0, 253, 274, 240, 274, 243, 244, 264, 235, 262, 530178825Sdfr 265, 0, 0, 0, 260, 273, 270, 262, 271, 262, 531178825Sdfr 228, 238, 226, 0, 252, 260, 230, 258, 221, 233, 532178825Sdfr 250, 244, 247, 0, 241, 215, 0, 223, 239, 210, 533178825Sdfr 211, 230, 240, 0, 249, 0, 233, 0, 242, 212, 534178825Sdfr 216, 210, 0, 232, 204, 231, 206, 198, 233, 194, 535178825Sdfr 231, 230, 200, 0, 190, 191, 197, 220, 0, 0, 536178825Sdfr 537178825Sdfr 0, 213, 190, 211, 188, 215, 192, 218, 184, 187, 538178825Sdfr 204, 178, 218, 215, 178, 174, 180, 175, 196, 190, 539178825Sdfr 178, 175, 176, 0, 0, 191, 174, 165, 180, 166, 540178825Sdfr 0, 194, 166, 163, 158, 163, 197, 0, 0, 156, 541178825Sdfr 0, 171, 0, 148, 0, 152, 188, 0, 150, 155, 542178825Sdfr 0, 166, 153, 0, 143, 148, 162, 143, 0, 0, 543178825Sdfr 0, 101, 0, 0, 0, 0, 637, 223, 69 544178825Sdfr } ; 545178825Sdfr 546178825Sdfrstatic yyconst flex_int16_t yy_def[570] = 547178825Sdfr { 0, 548178825Sdfr 567, 1, 567, 567, 567, 567, 567, 567, 567, 567, 549178825Sdfr 567, 567, 567, 567, 568, 568, 568, 568, 568, 568, 550178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 551178825Sdfr 568, 568, 568, 567, 567, 567, 567, 567, 567, 567, 552178825Sdfr 569, 567, 568, 568, 568, 568, 568, 568, 568, 568, 553178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 554178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 555178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 556178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 557178825Sdfr 568, 568, 568, 568, 568, 568, 568, 567, 569, 567, 558178825Sdfr 559178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 560178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 561178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 562178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 563178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 564178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 565178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 566178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 567178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 568178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 569178825Sdfr 570178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 571178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 572178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 573178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 574178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 575178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 576178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 577178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 578178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 579178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 580178825Sdfr 581178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 582178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 583178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 584178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 585178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 586178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 587178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 588178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 589178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 590178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 591178825Sdfr 592178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 593178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 594178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 595178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 596178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 597178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 598178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 599178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 600178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 601178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 602178825Sdfr 603178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 604178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 605178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 606178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 607178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 608178825Sdfr 568, 568, 568, 568, 568, 568, 568, 568, 568, 568, 609178825Sdfr 568, 568, 568, 568, 568, 568, 0, 567, 567 610178825Sdfr } ; 611178825Sdfr 612178825Sdfrstatic yyconst flex_int16_t yy_nxt[707] = 613178825Sdfr { 0, 614178825Sdfr 4, 5, 6, 7, 8, 4, 9, 10, 11, 12, 615178825Sdfr 13, 13, 13, 13, 13, 13, 14, 4, 15, 16, 616178825Sdfr 17, 18, 19, 20, 21, 22, 23, 22, 22, 22, 617178825Sdfr 24, 25, 26, 27, 22, 28, 29, 30, 31, 32, 618178825Sdfr 33, 22, 22, 22, 34, 35, 4, 22, 22, 22, 619178825Sdfr 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 620178825Sdfr 22, 22, 22, 22, 22, 22, 22, 22, 22, 36, 621178825Sdfr 71, 99, 37, 38, 38, 38, 38, 38, 38, 38, 622178825Sdfr 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 623178825Sdfr 38, 38, 38, 44, 48, 57, 58, 72, 49, 60, 624178825Sdfr 625178825Sdfr 62, 53, 50, 45, 51, 54, 59, 46, 55, 69, 626178825Sdfr 64, 63, 47, 65, 52, 78, 61, 70, 79, 109, 627178825Sdfr 73, 74, 66, 67, 75, 84, 80, 88, 68, 85, 628178825Sdfr 93, 89, 81, 110, 76, 129, 94, 41, 112, 113, 629178825Sdfr 86, 163, 116, 117, 119, 87, 144, 166, 90, 77, 630178825Sdfr 145, 130, 131, 149, 164, 91, 150, 120, 95, 82, 631178825Sdfr 118, 121, 167, 566, 92, 38, 38, 38, 38, 38, 632178825Sdfr 38, 38, 38, 38, 38, 38, 38, 38, 38, 147, 633178825Sdfr 160, 177, 178, 161, 179, 185, 194, 414, 186, 195, 634178825Sdfr 148, 223, 180, 224, 264, 253, 565, 564, 225, 254, 635178825Sdfr 636178825Sdfr 318, 563, 319, 562, 561, 265, 415, 560, 559, 558, 637178825Sdfr 557, 556, 555, 554, 553, 552, 551, 550, 549, 548, 638178825Sdfr 547, 546, 545, 41, 43, 43, 544, 543, 542, 541, 639178825Sdfr 540, 539, 538, 537, 536, 535, 534, 533, 532, 531, 640178825Sdfr 530, 529, 528, 527, 526, 525, 524, 523, 522, 521, 641178825Sdfr 520, 519, 518, 517, 516, 515, 514, 513, 512, 511, 642178825Sdfr 510, 509, 508, 507, 506, 505, 504, 503, 502, 501, 643178825Sdfr 500, 499, 498, 497, 496, 495, 494, 493, 492, 491, 644178825Sdfr 490, 489, 488, 487, 486, 485, 484, 483, 482, 481, 645178825Sdfr 480, 479, 478, 477, 476, 475, 474, 473, 472, 471, 646178825Sdfr 647178825Sdfr 470, 469, 468, 467, 466, 465, 464, 463, 462, 461, 648178825Sdfr 460, 459, 458, 457, 456, 455, 454, 453, 452, 451, 649178825Sdfr 450, 449, 448, 447, 446, 445, 444, 443, 442, 441, 650178825Sdfr 440, 439, 438, 437, 436, 435, 434, 433, 432, 431, 651178825Sdfr 430, 429, 428, 427, 426, 425, 424, 423, 422, 421, 652178825Sdfr 420, 419, 418, 417, 416, 413, 412, 411, 410, 409, 653178825Sdfr 408, 407, 406, 405, 404, 403, 402, 401, 400, 399, 654178825Sdfr 398, 397, 396, 395, 394, 393, 392, 391, 390, 389, 655178825Sdfr 388, 387, 386, 385, 384, 383, 382, 381, 380, 379, 656178825Sdfr 378, 377, 376, 375, 374, 373, 372, 371, 370, 369, 657178825Sdfr 658178825Sdfr 368, 367, 366, 365, 364, 363, 362, 361, 360, 359, 659178825Sdfr 358, 357, 356, 355, 354, 353, 352, 351, 350, 349, 660178825Sdfr 348, 347, 346, 345, 344, 343, 342, 341, 340, 339, 661178825Sdfr 338, 337, 336, 335, 334, 333, 332, 331, 330, 329, 662178825Sdfr 328, 327, 326, 325, 324, 323, 322, 321, 320, 317, 663178825Sdfr 316, 315, 314, 313, 312, 311, 310, 309, 308, 307, 664178825Sdfr 306, 305, 304, 303, 302, 301, 300, 299, 298, 297, 665178825Sdfr 296, 295, 294, 293, 292, 291, 290, 289, 288, 287, 666178825Sdfr 286, 285, 284, 283, 282, 281, 280, 279, 278, 277, 667178825Sdfr 276, 275, 274, 273, 272, 271, 270, 269, 268, 267, 668178825Sdfr 669178825Sdfr 266, 263, 262, 261, 260, 259, 258, 257, 256, 255, 670178825Sdfr 252, 251, 250, 249, 248, 247, 246, 245, 244, 243, 671178825Sdfr 242, 241, 240, 239, 238, 237, 236, 235, 234, 233, 672178825Sdfr 232, 231, 230, 229, 228, 227, 226, 222, 221, 220, 673178825Sdfr 219, 218, 217, 216, 215, 214, 213, 212, 211, 210, 674178825Sdfr 209, 208, 207, 206, 205, 204, 203, 202, 201, 200, 675178825Sdfr 199, 198, 197, 196, 193, 192, 191, 190, 189, 188, 676178825Sdfr 187, 184, 183, 182, 181, 176, 175, 174, 173, 172, 677178825Sdfr 171, 170, 169, 168, 165, 162, 159, 158, 157, 156, 678178825Sdfr 155, 154, 153, 152, 151, 146, 143, 142, 141, 140, 679178825Sdfr 680178825Sdfr 139, 138, 137, 136, 135, 134, 133, 132, 128, 127, 681178825Sdfr 126, 125, 124, 123, 122, 115, 114, 111, 108, 107, 682178825Sdfr 106, 105, 104, 103, 102, 101, 100, 98, 97, 96, 683178825Sdfr 83, 56, 42, 40, 39, 567, 3, 567, 567, 567, 684178825Sdfr 567, 567, 567, 567, 567, 567, 567, 567, 567, 567, 685178825Sdfr 567, 567, 567, 567, 567, 567, 567, 567, 567, 567, 686178825Sdfr 567, 567, 567, 567, 567, 567, 567, 567, 567, 567, 687178825Sdfr 567, 567, 567, 567, 567, 567, 567, 567, 567, 567, 688178825Sdfr 567, 567, 567, 567, 567, 567, 567, 567, 567, 567, 689178825Sdfr 567, 567, 567, 567, 567, 567, 567, 567, 567, 567, 690178825Sdfr 691178825Sdfr 567, 567, 567, 567, 567, 567 692178825Sdfr } ; 693178825Sdfr 694178825Sdfrstatic yyconst flex_int16_t yy_chk[707] = 695178825Sdfr { 0, 696178825Sdfr 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 697178825Sdfr 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 698178825Sdfr 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 699178825Sdfr 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 700178825Sdfr 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 701178825Sdfr 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 702178825Sdfr 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 703178825Sdfr 25, 569, 9, 9, 9, 9, 9, 9, 9, 12, 704178825Sdfr 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 705178825Sdfr 13, 13, 13, 15, 16, 19, 19, 25, 16, 20, 706178825Sdfr 707178825Sdfr 21, 17, 16, 15, 16, 17, 19, 15, 17, 24, 708178825Sdfr 23, 21, 15, 23, 16, 27, 20, 24, 27, 53, 709178825Sdfr 26, 26, 23, 23, 26, 29, 27, 30, 23, 29, 710178825Sdfr 31, 30, 27, 53, 26, 67, 31, 12, 55, 55, 711178825Sdfr 29, 96, 58, 58, 59, 29, 81, 101, 30, 26, 712178825Sdfr 81, 67, 67, 84, 96, 30, 84, 59, 31, 27, 713178825Sdfr 58, 59, 101, 562, 30, 37, 37, 37, 37, 37, 714178825Sdfr 37, 37, 38, 38, 38, 38, 38, 38, 38, 83, 715178825Sdfr 94, 113, 113, 94, 114, 120, 128, 368, 120, 128, 716178825Sdfr 83, 159, 114, 159, 198, 187, 558, 557, 159, 187, 717178825Sdfr 718178825Sdfr 260, 556, 260, 555, 553, 198, 368, 552, 550, 549, 719178825Sdfr 547, 546, 544, 542, 540, 537, 536, 535, 534, 533, 720178825Sdfr 532, 530, 529, 37, 568, 568, 528, 527, 526, 523, 721178825Sdfr 522, 521, 520, 519, 518, 517, 516, 515, 514, 513, 722178825Sdfr 512, 511, 510, 509, 508, 507, 506, 505, 504, 503, 723178825Sdfr 502, 498, 497, 496, 495, 493, 492, 491, 490, 489, 724178825Sdfr 488, 487, 486, 485, 484, 482, 481, 480, 479, 477, 725178825Sdfr 475, 473, 472, 471, 470, 469, 468, 466, 465, 463, 726178825Sdfr 462, 461, 460, 459, 458, 457, 456, 455, 453, 452, 727178825Sdfr 451, 450, 449, 448, 447, 446, 445, 441, 440, 439, 728178825Sdfr 729178825Sdfr 438, 437, 436, 435, 434, 433, 432, 430, 429, 428, 730178825Sdfr 427, 425, 424, 423, 422, 418, 417, 416, 415, 414, 731178825Sdfr 412, 410, 408, 407, 406, 405, 404, 403, 402, 401, 732178825Sdfr 400, 399, 398, 397, 396, 394, 393, 392, 391, 390, 733178825Sdfr 389, 388, 385, 383, 382, 381, 380, 379, 378, 376, 734178825Sdfr 375, 372, 371, 370, 369, 367, 366, 364, 363, 361, 735178825Sdfr 360, 358, 357, 356, 355, 353, 352, 351, 350, 349, 736178825Sdfr 348, 347, 346, 345, 344, 342, 341, 340, 337, 336, 737178825Sdfr 335, 334, 333, 332, 331, 330, 329, 327, 326, 325, 738178825Sdfr 324, 323, 322, 321, 320, 319, 318, 317, 316, 315, 739178825Sdfr 740178825Sdfr 314, 313, 312, 311, 310, 308, 307, 306, 305, 304, 741178825Sdfr 303, 302, 301, 299, 298, 297, 296, 295, 294, 292, 742178825Sdfr 291, 290, 289, 288, 287, 286, 284, 283, 282, 281, 743178825Sdfr 280, 279, 278, 277, 276, 275, 274, 273, 272, 271, 744178825Sdfr 269, 268, 267, 266, 265, 264, 263, 262, 261, 259, 745178825Sdfr 258, 257, 256, 254, 253, 252, 251, 250, 249, 248, 746178825Sdfr 247, 246, 245, 244, 243, 242, 240, 239, 238, 237, 747178825Sdfr 235, 234, 233, 232, 230, 229, 228, 227, 226, 225, 748178825Sdfr 224, 223, 222, 221, 218, 217, 216, 214, 213, 211, 749178825Sdfr 210, 209, 208, 207, 206, 205, 204, 203, 202, 200, 750178825Sdfr 751178825Sdfr 199, 197, 196, 195, 194, 193, 192, 191, 190, 188, 752178825Sdfr 186, 185, 184, 183, 182, 181, 180, 179, 178, 177, 753178825Sdfr 176, 175, 174, 173, 172, 171, 170, 169, 168, 167, 754178825Sdfr 166, 165, 164, 163, 162, 161, 160, 158, 157, 156, 755178825Sdfr 155, 154, 153, 152, 151, 149, 148, 147, 146, 145, 756178825Sdfr 144, 143, 141, 140, 139, 138, 137, 136, 135, 134, 757178825Sdfr 132, 131, 130, 129, 127, 126, 125, 124, 123, 122, 758178825Sdfr 121, 119, 118, 116, 115, 112, 111, 110, 109, 108, 759178825Sdfr 107, 105, 104, 103, 97, 95, 93, 92, 91, 90, 760178825Sdfr 89, 88, 87, 86, 85, 82, 80, 79, 78, 77, 761178825Sdfr 762178825Sdfr 76, 74, 73, 72, 71, 70, 69, 68, 66, 65, 763178825Sdfr 64, 63, 62, 61, 60, 57, 56, 54, 51, 50, 764178825Sdfr 49, 48, 47, 46, 45, 44, 42, 39, 33, 32, 765178825Sdfr 28, 18, 14, 11, 10, 3, 567, 567, 567, 567, 766178825Sdfr 567, 567, 567, 567, 567, 567, 567, 567, 567, 567, 767178825Sdfr 567, 567, 567, 567, 567, 567, 567, 567, 567, 567, 768178825Sdfr 567, 567, 567, 567, 567, 567, 567, 567, 567, 567, 769178825Sdfr 567, 567, 567, 567, 567, 567, 567, 567, 567, 567, 770178825Sdfr 567, 567, 567, 567, 567, 567, 567, 567, 567, 567, 771178825Sdfr 567, 567, 567, 567, 567, 567, 567, 567, 567, 567, 772178825Sdfr 773178825Sdfr 567, 567, 567, 567, 567, 567 774178825Sdfr } ; 775178825Sdfr 776178825Sdfrstatic yy_state_type yy_last_accepting_state; 777178825Sdfrstatic char *yy_last_accepting_cpos; 778178825Sdfr 779178825Sdfrextern int yy_flex_debug; 780178825Sdfrint yy_flex_debug = 0; 781178825Sdfr 782178825Sdfr/* The intent behind this definition is that it'll catch 783178825Sdfr * any uses of REJECT which flex missed. 784178825Sdfr */ 785178825Sdfr#define REJECT reject_used_but_not_detected 786178825Sdfr#define yymore() yymore_used_but_not_detected 787178825Sdfr#define YY_MORE_ADJ 0 788178825Sdfr#define YY_RESTORE_YY_MORE_OFFSET 789178825Sdfrchar *yytext; 790178825Sdfr#line 1 "lex.l" 791178825Sdfr#line 2 "lex.l" 792178825Sdfr/* 793233294Sstas * Copyright (c) 1997 - 2005 Kungliga Tekniska H��gskolan 794233294Sstas * (Royal Institute of Technology, Stockholm, Sweden). 795233294Sstas * All rights reserved. 796178825Sdfr * 797233294Sstas * Redistribution and use in source and binary forms, with or without 798233294Sstas * modification, are permitted provided that the following conditions 799233294Sstas * are met: 800178825Sdfr * 801233294Sstas * 1. Redistributions of source code must retain the above copyright 802233294Sstas * notice, this list of conditions and the following disclaimer. 803178825Sdfr * 804233294Sstas * 2. Redistributions in binary form must reproduce the above copyright 805233294Sstas * notice, this list of conditions and the following disclaimer in the 806233294Sstas * documentation and/or other materials provided with the distribution. 807178825Sdfr * 808233294Sstas * 3. Neither the name of the Institute nor the names of its contributors 809233294Sstas * may be used to endorse or promote products derived from this software 810233294Sstas * without specific prior written permission. 811178825Sdfr * 812233294Sstas * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND 813233294Sstas * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 814233294Sstas * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 815233294Sstas * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE 816233294Sstas * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 817233294Sstas * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 818233294Sstas * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 819233294Sstas * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 820233294Sstas * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 821233294Sstas * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 822233294Sstas * SUCH DAMAGE. 823178825Sdfr */ 824178825Sdfr 825233294Sstas/* $Id$ */ 826178825Sdfr 827178825Sdfr#ifdef HAVE_CONFIG_H 828178825Sdfr#include <config.h> 829178825Sdfr#endif 830178825Sdfr#include <stdio.h> 831178825Sdfr#include <stdarg.h> 832178825Sdfr#include <stdlib.h> 833178825Sdfr#include <string.h> 834178825Sdfr#ifdef HAVE_UNISTD_H 835178825Sdfr#include <unistd.h> 836178825Sdfr#endif 837178825Sdfr#undef ECHO 838178825Sdfr#include "symbol.h" 839233294Sstas#include "asn1parse.h" 840178825Sdfr#include "lex.h" 841178825Sdfr#include "gen_locl.h" 842178825Sdfr 843178825Sdfrstatic unsigned lineno = 1; 844178825Sdfr 845178825Sdfr#undef ECHO 846178825Sdfr 847178825Sdfrstatic void unterminated(const char *, unsigned); 848178825Sdfr 849178825Sdfr/* This is for broken old lexes (solaris 10 and hpux) */ 850233294Sstas#line 851 "lex.c" 851178825Sdfr 852178825Sdfr#define INITIAL 0 853178825Sdfr 854178825Sdfr#ifndef YY_NO_UNISTD_H 855178825Sdfr/* Special case for "unistd.h", since it is non-ANSI. We include it way 856178825Sdfr * down here because we want the user's section 1 to have been scanned first. 857178825Sdfr * The user has a chance to override it with an option. 858178825Sdfr */ 859178825Sdfr#include <unistd.h> 860178825Sdfr#endif 861178825Sdfr 862178825Sdfr#ifndef YY_EXTRA_TYPE 863178825Sdfr#define YY_EXTRA_TYPE void * 864178825Sdfr#endif 865178825Sdfr 866178825Sdfrstatic int yy_init_globals (void ); 867178825Sdfr 868233294Sstas/* Accessor methods to globals. 869233294Sstas These are made visible to non-reentrant scanners for convenience. */ 870233294Sstas 871233294Sstasint yylex_destroy (void ); 872233294Sstas 873233294Sstasint yyget_debug (void ); 874233294Sstas 875233294Sstasvoid yyset_debug (int debug_flag ); 876233294Sstas 877233294SstasYY_EXTRA_TYPE yyget_extra (void ); 878233294Sstas 879233294Sstasvoid yyset_extra (YY_EXTRA_TYPE user_defined ); 880233294Sstas 881233294SstasFILE *yyget_in (void ); 882233294Sstas 883233294Sstasvoid yyset_in (FILE * in_str ); 884233294Sstas 885233294SstasFILE *yyget_out (void ); 886233294Sstas 887233294Sstasvoid yyset_out (FILE * out_str ); 888233294Sstas 889233294Sstasyy_size_t yyget_leng (void ); 890233294Sstas 891233294Sstaschar *yyget_text (void ); 892233294Sstas 893233294Sstasint yyget_lineno (void ); 894233294Sstas 895233294Sstasvoid yyset_lineno (int line_number ); 896233294Sstas 897178825Sdfr/* Macros after this point can all be overridden by user definitions in 898178825Sdfr * section 1. 899178825Sdfr */ 900178825Sdfr 901178825Sdfr#ifndef YY_SKIP_YYWRAP 902178825Sdfr#ifdef __cplusplus 903178825Sdfrextern "C" int yywrap (void ); 904178825Sdfr#else 905178825Sdfrextern int yywrap (void ); 906178825Sdfr#endif 907178825Sdfr#endif 908178825Sdfr 909178825Sdfr static void yyunput (int c,char *buf_ptr ); 910178825Sdfr 911178825Sdfr#ifndef yytext_ptr 912178825Sdfrstatic void yy_flex_strncpy (char *,yyconst char *,int ); 913178825Sdfr#endif 914178825Sdfr 915178825Sdfr#ifdef YY_NEED_STRLEN 916178825Sdfrstatic int yy_flex_strlen (yyconst char * ); 917178825Sdfr#endif 918178825Sdfr 919178825Sdfr#ifndef YY_NO_INPUT 920178825Sdfr 921178825Sdfr#ifdef __cplusplus 922178825Sdfrstatic int yyinput (void ); 923178825Sdfr#else 924178825Sdfrstatic int input (void ); 925178825Sdfr#endif 926178825Sdfr 927178825Sdfr#endif 928178825Sdfr 929178825Sdfr/* Amount of stuff to slurp up with each read. */ 930178825Sdfr#ifndef YY_READ_BUF_SIZE 931178825Sdfr#define YY_READ_BUF_SIZE 8192 932178825Sdfr#endif 933178825Sdfr 934178825Sdfr/* Copy whatever the last rule matched to the standard output. */ 935178825Sdfr#ifndef ECHO 936178825Sdfr/* This used to be an fputs(), but since the string might contain NUL's, 937178825Sdfr * we now use fwrite(). 938178825Sdfr */ 939233294Sstas#define ECHO fwrite( yytext, yyleng, 1, yyout ) 940178825Sdfr#endif 941178825Sdfr 942178825Sdfr/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, 943178825Sdfr * is returned in "result". 944178825Sdfr */ 945178825Sdfr#ifndef YY_INPUT 946178825Sdfr#define YY_INPUT(buf,result,max_size) \ 947178825Sdfr if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ 948178825Sdfr { \ 949178825Sdfr int c = '*'; \ 950233294Sstas yy_size_t n; \ 951178825Sdfr for ( n = 0; n < max_size && \ 952178825Sdfr (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ 953178825Sdfr buf[n] = (char) c; \ 954178825Sdfr if ( c == '\n' ) \ 955178825Sdfr buf[n++] = (char) c; \ 956178825Sdfr if ( c == EOF && ferror( yyin ) ) \ 957178825Sdfr YY_FATAL_ERROR( "input in flex scanner failed" ); \ 958178825Sdfr result = n; \ 959178825Sdfr } \ 960178825Sdfr else \ 961178825Sdfr { \ 962178825Sdfr errno=0; \ 963178825Sdfr while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ 964178825Sdfr { \ 965178825Sdfr if( errno != EINTR) \ 966178825Sdfr { \ 967178825Sdfr YY_FATAL_ERROR( "input in flex scanner failed" ); \ 968178825Sdfr break; \ 969178825Sdfr } \ 970178825Sdfr errno=0; \ 971178825Sdfr clearerr(yyin); \ 972178825Sdfr } \ 973178825Sdfr }\ 974178825Sdfr\ 975178825Sdfr 976178825Sdfr#endif 977178825Sdfr 978178825Sdfr/* No semi-colon after return; correct usage is to write "yyterminate();" - 979178825Sdfr * we don't want an extra ';' after the "return" because that will cause 980178825Sdfr * some compilers to complain about unreachable statements. 981178825Sdfr */ 982178825Sdfr#ifndef yyterminate 983178825Sdfr#define yyterminate() return YY_NULL 984178825Sdfr#endif 985178825Sdfr 986178825Sdfr/* Number of entries by which start-condition stack grows. */ 987178825Sdfr#ifndef YY_START_STACK_INCR 988178825Sdfr#define YY_START_STACK_INCR 25 989178825Sdfr#endif 990178825Sdfr 991178825Sdfr/* Report a fatal error. */ 992178825Sdfr#ifndef YY_FATAL_ERROR 993178825Sdfr#define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) 994178825Sdfr#endif 995178825Sdfr 996178825Sdfr/* end tables serialization structures and prototypes */ 997178825Sdfr 998178825Sdfr/* Default declaration of generated scanner - a define so the user can 999178825Sdfr * easily add parameters. 1000178825Sdfr */ 1001178825Sdfr#ifndef YY_DECL 1002178825Sdfr#define YY_DECL_IS_OURS 1 1003178825Sdfr 1004178825Sdfrextern int yylex (void); 1005178825Sdfr 1006178825Sdfr#define YY_DECL int yylex (void) 1007178825Sdfr#endif /* !YY_DECL */ 1008178825Sdfr 1009178825Sdfr/* Code executed at the beginning of each rule, after yytext and yyleng 1010178825Sdfr * have been set up. 1011178825Sdfr */ 1012178825Sdfr#ifndef YY_USER_ACTION 1013178825Sdfr#define YY_USER_ACTION 1014178825Sdfr#endif 1015178825Sdfr 1016178825Sdfr/* Code executed at the end of each rule. */ 1017178825Sdfr#ifndef YY_BREAK 1018178825Sdfr#define YY_BREAK break; 1019178825Sdfr#endif 1020178825Sdfr 1021178825Sdfr#define YY_RULE_SETUP \ 1022178825Sdfr YY_USER_ACTION 1023178825Sdfr 1024178825Sdfr/** The main scanner function which does all the work. 1025178825Sdfr */ 1026178825SdfrYY_DECL 1027178825Sdfr{ 1028178825Sdfr register yy_state_type yy_current_state; 1029178825Sdfr register char *yy_cp, *yy_bp; 1030178825Sdfr register int yy_act; 1031178825Sdfr 1032178825Sdfr#line 68 "lex.l" 1033178825Sdfr 1034233294Sstas#line 1035 "lex.c" 1035178825Sdfr 1036178825Sdfr if ( !(yy_init) ) 1037178825Sdfr { 1038178825Sdfr (yy_init) = 1; 1039178825Sdfr 1040178825Sdfr#ifdef YY_USER_INIT 1041178825Sdfr YY_USER_INIT; 1042178825Sdfr#endif 1043178825Sdfr 1044178825Sdfr if ( ! (yy_start) ) 1045178825Sdfr (yy_start) = 1; /* first start state */ 1046178825Sdfr 1047178825Sdfr if ( ! yyin ) 1048178825Sdfr yyin = stdin; 1049178825Sdfr 1050178825Sdfr if ( ! yyout ) 1051178825Sdfr yyout = stdout; 1052178825Sdfr 1053178825Sdfr if ( ! YY_CURRENT_BUFFER ) { 1054178825Sdfr yyensure_buffer_stack (); 1055178825Sdfr YY_CURRENT_BUFFER_LVALUE = 1056178825Sdfr yy_create_buffer(yyin,YY_BUF_SIZE ); 1057178825Sdfr } 1058178825Sdfr 1059178825Sdfr yy_load_buffer_state( ); 1060178825Sdfr } 1061178825Sdfr 1062178825Sdfr while ( 1 ) /* loops until end-of-file is reached */ 1063178825Sdfr { 1064178825Sdfr yy_cp = (yy_c_buf_p); 1065178825Sdfr 1066178825Sdfr /* Support of yytext. */ 1067178825Sdfr *yy_cp = (yy_hold_char); 1068178825Sdfr 1069178825Sdfr /* yy_bp points to the position in yy_ch_buf of the start of 1070178825Sdfr * the current run. 1071178825Sdfr */ 1072178825Sdfr yy_bp = yy_cp; 1073178825Sdfr 1074178825Sdfr yy_current_state = (yy_start); 1075178825Sdfryy_match: 1076178825Sdfr do 1077178825Sdfr { 1078178825Sdfr register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; 1079178825Sdfr if ( yy_accept[yy_current_state] ) 1080178825Sdfr { 1081178825Sdfr (yy_last_accepting_state) = yy_current_state; 1082178825Sdfr (yy_last_accepting_cpos) = yy_cp; 1083178825Sdfr } 1084178825Sdfr while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 1085178825Sdfr { 1086178825Sdfr yy_current_state = (int) yy_def[yy_current_state]; 1087178825Sdfr if ( yy_current_state >= 568 ) 1088178825Sdfr yy_c = yy_meta[(unsigned int) yy_c]; 1089178825Sdfr } 1090178825Sdfr yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 1091178825Sdfr ++yy_cp; 1092178825Sdfr } 1093178825Sdfr while ( yy_base[yy_current_state] != 637 ); 1094178825Sdfr 1095178825Sdfryy_find_action: 1096178825Sdfr yy_act = yy_accept[yy_current_state]; 1097178825Sdfr if ( yy_act == 0 ) 1098178825Sdfr { /* have to back up */ 1099178825Sdfr yy_cp = (yy_last_accepting_cpos); 1100178825Sdfr yy_current_state = (yy_last_accepting_state); 1101178825Sdfr yy_act = yy_accept[yy_current_state]; 1102178825Sdfr } 1103178825Sdfr 1104178825Sdfr YY_DO_BEFORE_ACTION; 1105178825Sdfr 1106178825Sdfrdo_action: /* This label is used only to access EOF actions. */ 1107178825Sdfr 1108178825Sdfr switch ( yy_act ) 1109178825Sdfr { /* beginning of action switch */ 1110178825Sdfr case 0: /* must back up */ 1111178825Sdfr /* undo the effects of YY_DO_BEFORE_ACTION */ 1112178825Sdfr *yy_cp = (yy_hold_char); 1113178825Sdfr yy_cp = (yy_last_accepting_cpos); 1114178825Sdfr yy_current_state = (yy_last_accepting_state); 1115178825Sdfr goto yy_find_action; 1116178825Sdfr 1117178825Sdfrcase 1: 1118178825SdfrYY_RULE_SETUP 1119178825Sdfr#line 69 "lex.l" 1120178825Sdfr{ return kw_ABSENT; } 1121178825Sdfr YY_BREAK 1122178825Sdfrcase 2: 1123178825SdfrYY_RULE_SETUP 1124178825Sdfr#line 70 "lex.l" 1125178825Sdfr{ return kw_ABSTRACT_SYNTAX; } 1126178825Sdfr YY_BREAK 1127178825Sdfrcase 3: 1128178825SdfrYY_RULE_SETUP 1129178825Sdfr#line 71 "lex.l" 1130178825Sdfr{ return kw_ALL; } 1131178825Sdfr YY_BREAK 1132178825Sdfrcase 4: 1133178825SdfrYY_RULE_SETUP 1134178825Sdfr#line 72 "lex.l" 1135178825Sdfr{ return kw_APPLICATION; } 1136178825Sdfr YY_BREAK 1137178825Sdfrcase 5: 1138178825SdfrYY_RULE_SETUP 1139178825Sdfr#line 73 "lex.l" 1140178825Sdfr{ return kw_AUTOMATIC; } 1141178825Sdfr YY_BREAK 1142178825Sdfrcase 6: 1143178825SdfrYY_RULE_SETUP 1144178825Sdfr#line 74 "lex.l" 1145178825Sdfr{ return kw_BEGIN; } 1146178825Sdfr YY_BREAK 1147178825Sdfrcase 7: 1148178825SdfrYY_RULE_SETUP 1149178825Sdfr#line 75 "lex.l" 1150178825Sdfr{ return kw_BIT; } 1151178825Sdfr YY_BREAK 1152178825Sdfrcase 8: 1153178825SdfrYY_RULE_SETUP 1154178825Sdfr#line 76 "lex.l" 1155178825Sdfr{ return kw_BMPString; } 1156178825Sdfr YY_BREAK 1157178825Sdfrcase 9: 1158178825SdfrYY_RULE_SETUP 1159178825Sdfr#line 77 "lex.l" 1160178825Sdfr{ return kw_BOOLEAN; } 1161178825Sdfr YY_BREAK 1162178825Sdfrcase 10: 1163178825SdfrYY_RULE_SETUP 1164178825Sdfr#line 78 "lex.l" 1165178825Sdfr{ return kw_BY; } 1166178825Sdfr YY_BREAK 1167178825Sdfrcase 11: 1168178825SdfrYY_RULE_SETUP 1169178825Sdfr#line 79 "lex.l" 1170178825Sdfr{ return kw_CHARACTER; } 1171178825Sdfr YY_BREAK 1172178825Sdfrcase 12: 1173178825SdfrYY_RULE_SETUP 1174178825Sdfr#line 80 "lex.l" 1175178825Sdfr{ return kw_CHOICE; } 1176178825Sdfr YY_BREAK 1177178825Sdfrcase 13: 1178178825SdfrYY_RULE_SETUP 1179178825Sdfr#line 81 "lex.l" 1180178825Sdfr{ return kw_CLASS; } 1181178825Sdfr YY_BREAK 1182178825Sdfrcase 14: 1183178825SdfrYY_RULE_SETUP 1184178825Sdfr#line 82 "lex.l" 1185178825Sdfr{ return kw_COMPONENT; } 1186178825Sdfr YY_BREAK 1187178825Sdfrcase 15: 1188178825SdfrYY_RULE_SETUP 1189178825Sdfr#line 83 "lex.l" 1190178825Sdfr{ return kw_COMPONENTS; } 1191178825Sdfr YY_BREAK 1192178825Sdfrcase 16: 1193178825SdfrYY_RULE_SETUP 1194178825Sdfr#line 84 "lex.l" 1195178825Sdfr{ return kw_CONSTRAINED; } 1196178825Sdfr YY_BREAK 1197178825Sdfrcase 17: 1198178825SdfrYY_RULE_SETUP 1199178825Sdfr#line 85 "lex.l" 1200178825Sdfr{ return kw_CONTAINING; } 1201178825Sdfr YY_BREAK 1202178825Sdfrcase 18: 1203178825SdfrYY_RULE_SETUP 1204178825Sdfr#line 86 "lex.l" 1205178825Sdfr{ return kw_DEFAULT; } 1206178825Sdfr YY_BREAK 1207178825Sdfrcase 19: 1208178825SdfrYY_RULE_SETUP 1209178825Sdfr#line 87 "lex.l" 1210178825Sdfr{ return kw_DEFINITIONS; } 1211178825Sdfr YY_BREAK 1212178825Sdfrcase 20: 1213178825SdfrYY_RULE_SETUP 1214178825Sdfr#line 88 "lex.l" 1215178825Sdfr{ return kw_EMBEDDED; } 1216178825Sdfr YY_BREAK 1217178825Sdfrcase 21: 1218178825SdfrYY_RULE_SETUP 1219178825Sdfr#line 89 "lex.l" 1220178825Sdfr{ return kw_ENCODED; } 1221178825Sdfr YY_BREAK 1222178825Sdfrcase 22: 1223178825SdfrYY_RULE_SETUP 1224178825Sdfr#line 90 "lex.l" 1225178825Sdfr{ return kw_END; } 1226178825Sdfr YY_BREAK 1227178825Sdfrcase 23: 1228178825SdfrYY_RULE_SETUP 1229178825Sdfr#line 91 "lex.l" 1230178825Sdfr{ return kw_ENUMERATED; } 1231178825Sdfr YY_BREAK 1232178825Sdfrcase 24: 1233178825SdfrYY_RULE_SETUP 1234178825Sdfr#line 92 "lex.l" 1235178825Sdfr{ return kw_EXCEPT; } 1236178825Sdfr YY_BREAK 1237178825Sdfrcase 25: 1238178825SdfrYY_RULE_SETUP 1239178825Sdfr#line 93 "lex.l" 1240178825Sdfr{ return kw_EXPLICIT; } 1241178825Sdfr YY_BREAK 1242178825Sdfrcase 26: 1243178825SdfrYY_RULE_SETUP 1244178825Sdfr#line 94 "lex.l" 1245178825Sdfr{ return kw_EXPORTS; } 1246178825Sdfr YY_BREAK 1247178825Sdfrcase 27: 1248178825SdfrYY_RULE_SETUP 1249178825Sdfr#line 95 "lex.l" 1250178825Sdfr{ return kw_EXTENSIBILITY; } 1251178825Sdfr YY_BREAK 1252178825Sdfrcase 28: 1253178825SdfrYY_RULE_SETUP 1254178825Sdfr#line 96 "lex.l" 1255178825Sdfr{ return kw_EXTERNAL; } 1256178825Sdfr YY_BREAK 1257178825Sdfrcase 29: 1258178825SdfrYY_RULE_SETUP 1259178825Sdfr#line 97 "lex.l" 1260178825Sdfr{ return kw_FALSE; } 1261178825Sdfr YY_BREAK 1262178825Sdfrcase 30: 1263178825SdfrYY_RULE_SETUP 1264178825Sdfr#line 98 "lex.l" 1265178825Sdfr{ return kw_FROM; } 1266178825Sdfr YY_BREAK 1267178825Sdfrcase 31: 1268178825SdfrYY_RULE_SETUP 1269178825Sdfr#line 99 "lex.l" 1270178825Sdfr{ return kw_GeneralString; } 1271178825Sdfr YY_BREAK 1272178825Sdfrcase 32: 1273178825SdfrYY_RULE_SETUP 1274178825Sdfr#line 100 "lex.l" 1275178825Sdfr{ return kw_GeneralizedTime; } 1276178825Sdfr YY_BREAK 1277178825Sdfrcase 33: 1278178825SdfrYY_RULE_SETUP 1279178825Sdfr#line 101 "lex.l" 1280178825Sdfr{ return kw_GraphicString; } 1281178825Sdfr YY_BREAK 1282178825Sdfrcase 34: 1283178825SdfrYY_RULE_SETUP 1284178825Sdfr#line 102 "lex.l" 1285178825Sdfr{ return kw_IA5String; } 1286178825Sdfr YY_BREAK 1287178825Sdfrcase 35: 1288178825SdfrYY_RULE_SETUP 1289178825Sdfr#line 103 "lex.l" 1290178825Sdfr{ return kw_IDENTIFIER; } 1291178825Sdfr YY_BREAK 1292178825Sdfrcase 36: 1293178825SdfrYY_RULE_SETUP 1294178825Sdfr#line 104 "lex.l" 1295178825Sdfr{ return kw_IMPLICIT; } 1296178825Sdfr YY_BREAK 1297178825Sdfrcase 37: 1298178825SdfrYY_RULE_SETUP 1299178825Sdfr#line 105 "lex.l" 1300178825Sdfr{ return kw_IMPLIED; } 1301178825Sdfr YY_BREAK 1302178825Sdfrcase 38: 1303178825SdfrYY_RULE_SETUP 1304178825Sdfr#line 106 "lex.l" 1305178825Sdfr{ return kw_IMPORTS; } 1306178825Sdfr YY_BREAK 1307178825Sdfrcase 39: 1308178825SdfrYY_RULE_SETUP 1309178825Sdfr#line 107 "lex.l" 1310178825Sdfr{ return kw_INCLUDES; } 1311178825Sdfr YY_BREAK 1312178825Sdfrcase 40: 1313178825SdfrYY_RULE_SETUP 1314178825Sdfr#line 108 "lex.l" 1315178825Sdfr{ return kw_INSTANCE; } 1316178825Sdfr YY_BREAK 1317178825Sdfrcase 41: 1318178825SdfrYY_RULE_SETUP 1319178825Sdfr#line 109 "lex.l" 1320178825Sdfr{ return kw_INTEGER; } 1321178825Sdfr YY_BREAK 1322178825Sdfrcase 42: 1323178825SdfrYY_RULE_SETUP 1324178825Sdfr#line 110 "lex.l" 1325178825Sdfr{ return kw_INTERSECTION; } 1326178825Sdfr YY_BREAK 1327178825Sdfrcase 43: 1328178825SdfrYY_RULE_SETUP 1329178825Sdfr#line 111 "lex.l" 1330178825Sdfr{ return kw_ISO646String; } 1331178825Sdfr YY_BREAK 1332178825Sdfrcase 44: 1333178825SdfrYY_RULE_SETUP 1334178825Sdfr#line 112 "lex.l" 1335178825Sdfr{ return kw_MAX; } 1336178825Sdfr YY_BREAK 1337178825Sdfrcase 45: 1338178825SdfrYY_RULE_SETUP 1339178825Sdfr#line 113 "lex.l" 1340178825Sdfr{ return kw_MIN; } 1341178825Sdfr YY_BREAK 1342178825Sdfrcase 46: 1343178825SdfrYY_RULE_SETUP 1344178825Sdfr#line 114 "lex.l" 1345178825Sdfr{ return kw_MINUS_INFINITY; } 1346178825Sdfr YY_BREAK 1347178825Sdfrcase 47: 1348178825SdfrYY_RULE_SETUP 1349178825Sdfr#line 115 "lex.l" 1350178825Sdfr{ return kw_NULL; } 1351178825Sdfr YY_BREAK 1352178825Sdfrcase 48: 1353178825SdfrYY_RULE_SETUP 1354178825Sdfr#line 116 "lex.l" 1355178825Sdfr{ return kw_NumericString; } 1356178825Sdfr YY_BREAK 1357178825Sdfrcase 49: 1358178825SdfrYY_RULE_SETUP 1359178825Sdfr#line 117 "lex.l" 1360178825Sdfr{ return kw_OBJECT; } 1361178825Sdfr YY_BREAK 1362178825Sdfrcase 50: 1363178825SdfrYY_RULE_SETUP 1364178825Sdfr#line 118 "lex.l" 1365178825Sdfr{ return kw_OCTET; } 1366178825Sdfr YY_BREAK 1367178825Sdfrcase 51: 1368178825SdfrYY_RULE_SETUP 1369178825Sdfr#line 119 "lex.l" 1370178825Sdfr{ return kw_OF; } 1371178825Sdfr YY_BREAK 1372178825Sdfrcase 52: 1373178825SdfrYY_RULE_SETUP 1374178825Sdfr#line 120 "lex.l" 1375178825Sdfr{ return kw_OPTIONAL; } 1376178825Sdfr YY_BREAK 1377178825Sdfrcase 53: 1378178825SdfrYY_RULE_SETUP 1379178825Sdfr#line 121 "lex.l" 1380178825Sdfr{ return kw_ObjectDescriptor; } 1381178825Sdfr YY_BREAK 1382178825Sdfrcase 54: 1383178825SdfrYY_RULE_SETUP 1384178825Sdfr#line 122 "lex.l" 1385178825Sdfr{ return kw_PATTERN; } 1386178825Sdfr YY_BREAK 1387178825Sdfrcase 55: 1388178825SdfrYY_RULE_SETUP 1389178825Sdfr#line 123 "lex.l" 1390178825Sdfr{ return kw_PDV; } 1391178825Sdfr YY_BREAK 1392178825Sdfrcase 56: 1393178825SdfrYY_RULE_SETUP 1394178825Sdfr#line 124 "lex.l" 1395178825Sdfr{ return kw_PLUS_INFINITY; } 1396178825Sdfr YY_BREAK 1397178825Sdfrcase 57: 1398178825SdfrYY_RULE_SETUP 1399178825Sdfr#line 125 "lex.l" 1400178825Sdfr{ return kw_PRESENT; } 1401178825Sdfr YY_BREAK 1402178825Sdfrcase 58: 1403178825SdfrYY_RULE_SETUP 1404178825Sdfr#line 126 "lex.l" 1405178825Sdfr{ return kw_PRIVATE; } 1406178825Sdfr YY_BREAK 1407178825Sdfrcase 59: 1408178825SdfrYY_RULE_SETUP 1409178825Sdfr#line 127 "lex.l" 1410178825Sdfr{ return kw_PrintableString; } 1411178825Sdfr YY_BREAK 1412178825Sdfrcase 60: 1413178825SdfrYY_RULE_SETUP 1414178825Sdfr#line 128 "lex.l" 1415178825Sdfr{ return kw_REAL; } 1416178825Sdfr YY_BREAK 1417178825Sdfrcase 61: 1418178825SdfrYY_RULE_SETUP 1419178825Sdfr#line 129 "lex.l" 1420178825Sdfr{ return kw_RELATIVE_OID; } 1421178825Sdfr YY_BREAK 1422178825Sdfrcase 62: 1423178825SdfrYY_RULE_SETUP 1424178825Sdfr#line 130 "lex.l" 1425178825Sdfr{ return kw_SEQUENCE; } 1426178825Sdfr YY_BREAK 1427178825Sdfrcase 63: 1428178825SdfrYY_RULE_SETUP 1429178825Sdfr#line 131 "lex.l" 1430178825Sdfr{ return kw_SET; } 1431178825Sdfr YY_BREAK 1432178825Sdfrcase 64: 1433178825SdfrYY_RULE_SETUP 1434178825Sdfr#line 132 "lex.l" 1435178825Sdfr{ return kw_SIZE; } 1436178825Sdfr YY_BREAK 1437178825Sdfrcase 65: 1438178825SdfrYY_RULE_SETUP 1439178825Sdfr#line 133 "lex.l" 1440178825Sdfr{ return kw_STRING; } 1441178825Sdfr YY_BREAK 1442178825Sdfrcase 66: 1443178825SdfrYY_RULE_SETUP 1444178825Sdfr#line 134 "lex.l" 1445178825Sdfr{ return kw_SYNTAX; } 1446178825Sdfr YY_BREAK 1447178825Sdfrcase 67: 1448178825SdfrYY_RULE_SETUP 1449178825Sdfr#line 135 "lex.l" 1450178825Sdfr{ return kw_T61String; } 1451178825Sdfr YY_BREAK 1452178825Sdfrcase 68: 1453178825SdfrYY_RULE_SETUP 1454178825Sdfr#line 136 "lex.l" 1455178825Sdfr{ return kw_TAGS; } 1456178825Sdfr YY_BREAK 1457178825Sdfrcase 69: 1458178825SdfrYY_RULE_SETUP 1459178825Sdfr#line 137 "lex.l" 1460178825Sdfr{ return kw_TRUE; } 1461178825Sdfr YY_BREAK 1462178825Sdfrcase 70: 1463178825SdfrYY_RULE_SETUP 1464178825Sdfr#line 138 "lex.l" 1465178825Sdfr{ return kw_TYPE_IDENTIFIER; } 1466178825Sdfr YY_BREAK 1467178825Sdfrcase 71: 1468178825SdfrYY_RULE_SETUP 1469178825Sdfr#line 139 "lex.l" 1470178825Sdfr{ return kw_TeletexString; } 1471178825Sdfr YY_BREAK 1472178825Sdfrcase 72: 1473178825SdfrYY_RULE_SETUP 1474178825Sdfr#line 140 "lex.l" 1475178825Sdfr{ return kw_UNION; } 1476178825Sdfr YY_BREAK 1477178825Sdfrcase 73: 1478178825SdfrYY_RULE_SETUP 1479178825Sdfr#line 141 "lex.l" 1480178825Sdfr{ return kw_UNIQUE; } 1481178825Sdfr YY_BREAK 1482178825Sdfrcase 74: 1483178825SdfrYY_RULE_SETUP 1484178825Sdfr#line 142 "lex.l" 1485178825Sdfr{ return kw_UNIVERSAL; } 1486178825Sdfr YY_BREAK 1487178825Sdfrcase 75: 1488178825SdfrYY_RULE_SETUP 1489178825Sdfr#line 143 "lex.l" 1490178825Sdfr{ return kw_UTCTime; } 1491178825Sdfr YY_BREAK 1492178825Sdfrcase 76: 1493178825SdfrYY_RULE_SETUP 1494178825Sdfr#line 144 "lex.l" 1495178825Sdfr{ return kw_UTF8String; } 1496178825Sdfr YY_BREAK 1497178825Sdfrcase 77: 1498178825SdfrYY_RULE_SETUP 1499178825Sdfr#line 145 "lex.l" 1500178825Sdfr{ return kw_UniversalString; } 1501178825Sdfr YY_BREAK 1502178825Sdfrcase 78: 1503178825SdfrYY_RULE_SETUP 1504178825Sdfr#line 146 "lex.l" 1505178825Sdfr{ return kw_VideotexString; } 1506178825Sdfr YY_BREAK 1507178825Sdfrcase 79: 1508178825SdfrYY_RULE_SETUP 1509178825Sdfr#line 147 "lex.l" 1510178825Sdfr{ return kw_VisibleString; } 1511178825Sdfr YY_BREAK 1512178825Sdfrcase 80: 1513178825SdfrYY_RULE_SETUP 1514178825Sdfr#line 148 "lex.l" 1515178825Sdfr{ return kw_WITH; } 1516178825Sdfr YY_BREAK 1517178825Sdfrcase 81: 1518178825SdfrYY_RULE_SETUP 1519178825Sdfr#line 149 "lex.l" 1520178825Sdfr{ return *yytext; } 1521178825Sdfr YY_BREAK 1522178825Sdfrcase 82: 1523178825SdfrYY_RULE_SETUP 1524178825Sdfr#line 150 "lex.l" 1525178825Sdfr{ return *yytext; } 1526178825Sdfr YY_BREAK 1527178825Sdfrcase 83: 1528178825SdfrYY_RULE_SETUP 1529178825Sdfr#line 151 "lex.l" 1530178825Sdfr{ return *yytext; } 1531178825Sdfr YY_BREAK 1532178825Sdfrcase 84: 1533178825SdfrYY_RULE_SETUP 1534178825Sdfr#line 152 "lex.l" 1535178825Sdfr{ return EEQUAL; } 1536178825Sdfr YY_BREAK 1537178825Sdfrcase 85: 1538178825SdfrYY_RULE_SETUP 1539178825Sdfr#line 153 "lex.l" 1540233294Sstas{ 1541178825Sdfr int c, start_lineno = lineno; 1542178825Sdfr int f = 0; 1543178825Sdfr while((c = input()) != EOF) { 1544178825Sdfr if(f && c == '-') 1545178825Sdfr break; 1546178825Sdfr if(c == '-') { 1547178825Sdfr f = 1; 1548178825Sdfr continue; 1549178825Sdfr } 1550178825Sdfr if(c == '\n') { 1551178825Sdfr lineno++; 1552178825Sdfr break; 1553178825Sdfr } 1554178825Sdfr f = 0; 1555178825Sdfr } 1556178825Sdfr if(c == EOF) 1557178825Sdfr unterminated("comment", start_lineno); 1558178825Sdfr } 1559178825Sdfr YY_BREAK 1560178825Sdfrcase 86: 1561178825SdfrYY_RULE_SETUP 1562178825Sdfr#line 172 "lex.l" 1563233294Sstas{ 1564178825Sdfr int c, start_lineno = lineno; 1565178825Sdfr int level = 1; 1566178825Sdfr int seen_star = 0; 1567178825Sdfr int seen_slash = 0; 1568178825Sdfr while((c = input()) != EOF) { 1569178825Sdfr if(c == '/') { 1570178825Sdfr if(seen_star) { 1571178825Sdfr if(--level == 0) 1572178825Sdfr break; 1573178825Sdfr seen_star = 0; 1574178825Sdfr continue; 1575178825Sdfr } 1576178825Sdfr seen_slash = 1; 1577178825Sdfr continue; 1578178825Sdfr } 1579178825Sdfr if(seen_star && c == '/') { 1580178825Sdfr if(--level == 0) 1581178825Sdfr break; 1582178825Sdfr seen_star = 0; 1583178825Sdfr continue; 1584178825Sdfr } 1585178825Sdfr if(c == '*') { 1586178825Sdfr if(seen_slash) { 1587178825Sdfr level++; 1588178825Sdfr seen_star = seen_slash = 0; 1589178825Sdfr continue; 1590233294Sstas } 1591178825Sdfr seen_star = 1; 1592178825Sdfr continue; 1593178825Sdfr } 1594178825Sdfr seen_star = seen_slash = 0; 1595178825Sdfr if(c == '\n') { 1596178825Sdfr lineno++; 1597178825Sdfr continue; 1598178825Sdfr } 1599178825Sdfr } 1600178825Sdfr if(c == EOF) 1601178825Sdfr unterminated("comment", start_lineno); 1602178825Sdfr } 1603178825Sdfr YY_BREAK 1604178825Sdfrcase 87: 1605178825SdfrYY_RULE_SETUP 1606178825Sdfr#line 212 "lex.l" 1607233294Sstas{ 1608178825Sdfr int start_lineno = lineno; 1609178825Sdfr int c; 1610178825Sdfr char buf[1024]; 1611178825Sdfr char *p = buf; 1612178825Sdfr int f = 0; 1613178825Sdfr int skip_ws = 0; 1614233294Sstas 1615178825Sdfr while((c = input()) != EOF) { 1616178825Sdfr if(isspace(c) && skip_ws) { 1617178825Sdfr if(c == '\n') 1618178825Sdfr lineno++; 1619178825Sdfr continue; 1620178825Sdfr } 1621178825Sdfr skip_ws = 0; 1622233294Sstas 1623178825Sdfr if(c == '"') { 1624178825Sdfr if(f) { 1625178825Sdfr *p++ = '"'; 1626178825Sdfr f = 0; 1627178825Sdfr } else 1628178825Sdfr f = 1; 1629178825Sdfr continue; 1630178825Sdfr } 1631178825Sdfr if(f == 1) { 1632178825Sdfr unput(c); 1633178825Sdfr break; 1634178825Sdfr } 1635178825Sdfr if(c == '\n') { 1636178825Sdfr lineno++; 1637178825Sdfr while(p > buf && isspace((unsigned char)p[-1])) 1638178825Sdfr p--; 1639178825Sdfr skip_ws = 1; 1640178825Sdfr continue; 1641178825Sdfr } 1642178825Sdfr *p++ = c; 1643178825Sdfr } 1644178825Sdfr if(c == EOF) 1645178825Sdfr unterminated("string", start_lineno); 1646178825Sdfr *p++ = '\0'; 1647178825Sdfr fprintf(stderr, "string -- %s\n", buf); 1648178825Sdfr yylval.name = estrdup(buf); 1649233294Sstas return STRING; 1650178825Sdfr } 1651178825Sdfr YY_BREAK 1652178825Sdfrcase 88: 1653178825SdfrYY_RULE_SETUP 1654178825Sdfr#line 257 "lex.l" 1655178825Sdfr{ char *e, *y = yytext; 1656178825Sdfr yylval.constant = strtol((const char *)yytext, 1657178825Sdfr &e, 0); 1658233294Sstas if(e == y) 1659233294Sstas lex_error_message("malformed constant (%s)", yytext); 1660178825Sdfr else 1661178825Sdfr return NUMBER; 1662178825Sdfr } 1663178825Sdfr YY_BREAK 1664178825Sdfrcase 89: 1665178825SdfrYY_RULE_SETUP 1666178825Sdfr#line 265 "lex.l" 1667178825Sdfr{ 1668178825Sdfr yylval.name = estrdup ((const char *)yytext); 1669178825Sdfr return IDENTIFIER; 1670178825Sdfr } 1671178825Sdfr YY_BREAK 1672178825Sdfrcase 90: 1673178825SdfrYY_RULE_SETUP 1674178825Sdfr#line 269 "lex.l" 1675178825Sdfr; 1676178825Sdfr YY_BREAK 1677178825Sdfrcase 91: 1678178825Sdfr/* rule 91 can match eol */ 1679178825SdfrYY_RULE_SETUP 1680178825Sdfr#line 270 "lex.l" 1681178825Sdfr{ ++lineno; } 1682178825Sdfr YY_BREAK 1683178825Sdfrcase 92: 1684178825SdfrYY_RULE_SETUP 1685178825Sdfr#line 271 "lex.l" 1686178825Sdfr{ return ELLIPSIS; } 1687178825Sdfr YY_BREAK 1688178825Sdfrcase 93: 1689178825SdfrYY_RULE_SETUP 1690178825Sdfr#line 272 "lex.l" 1691178825Sdfr{ return RANGE; } 1692178825Sdfr YY_BREAK 1693178825Sdfrcase 94: 1694178825SdfrYY_RULE_SETUP 1695178825Sdfr#line 273 "lex.l" 1696233294Sstas{ lex_error_message("Ignoring char(%c)\n", *yytext); } 1697178825Sdfr YY_BREAK 1698178825Sdfrcase 95: 1699178825SdfrYY_RULE_SETUP 1700178825Sdfr#line 274 "lex.l" 1701178825SdfrECHO; 1702178825Sdfr YY_BREAK 1703233294Sstas#line 1704 "lex.c" 1704178825Sdfrcase YY_STATE_EOF(INITIAL): 1705178825Sdfr yyterminate(); 1706178825Sdfr 1707178825Sdfr case YY_END_OF_BUFFER: 1708178825Sdfr { 1709178825Sdfr /* Amount of text matched not including the EOB char. */ 1710178825Sdfr int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; 1711178825Sdfr 1712178825Sdfr /* Undo the effects of YY_DO_BEFORE_ACTION. */ 1713178825Sdfr *yy_cp = (yy_hold_char); 1714178825Sdfr YY_RESTORE_YY_MORE_OFFSET 1715178825Sdfr 1716178825Sdfr if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) 1717178825Sdfr { 1718178825Sdfr /* We're scanning a new file or input source. It's 1719178825Sdfr * possible that this happened because the user 1720178825Sdfr * just pointed yyin at a new source and called 1721178825Sdfr * yylex(). If so, then we have to assure 1722178825Sdfr * consistency between YY_CURRENT_BUFFER and our 1723178825Sdfr * globals. Here is the right place to do so, because 1724178825Sdfr * this is the first action (other than possibly a 1725178825Sdfr * back-up) that will match for the new input source. 1726178825Sdfr */ 1727178825Sdfr (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 1728178825Sdfr YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; 1729178825Sdfr YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; 1730178825Sdfr } 1731178825Sdfr 1732178825Sdfr /* Note that here we test for yy_c_buf_p "<=" to the position 1733178825Sdfr * of the first EOB in the buffer, since yy_c_buf_p will 1734178825Sdfr * already have been incremented past the NUL character 1735178825Sdfr * (since all states make transitions on EOB to the 1736178825Sdfr * end-of-buffer state). Contrast this with the test 1737178825Sdfr * in input(). 1738178825Sdfr */ 1739178825Sdfr if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) 1740178825Sdfr { /* This was really a NUL. */ 1741178825Sdfr yy_state_type yy_next_state; 1742178825Sdfr 1743178825Sdfr (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; 1744178825Sdfr 1745178825Sdfr yy_current_state = yy_get_previous_state( ); 1746178825Sdfr 1747178825Sdfr /* Okay, we're now positioned to make the NUL 1748178825Sdfr * transition. We couldn't have 1749178825Sdfr * yy_get_previous_state() go ahead and do it 1750178825Sdfr * for us because it doesn't know how to deal 1751178825Sdfr * with the possibility of jamming (and we don't 1752178825Sdfr * want to build jamming into it because then it 1753178825Sdfr * will run more slowly). 1754178825Sdfr */ 1755178825Sdfr 1756178825Sdfr yy_next_state = yy_try_NUL_trans( yy_current_state ); 1757178825Sdfr 1758178825Sdfr yy_bp = (yytext_ptr) + YY_MORE_ADJ; 1759178825Sdfr 1760178825Sdfr if ( yy_next_state ) 1761178825Sdfr { 1762178825Sdfr /* Consume the NUL. */ 1763178825Sdfr yy_cp = ++(yy_c_buf_p); 1764178825Sdfr yy_current_state = yy_next_state; 1765178825Sdfr goto yy_match; 1766178825Sdfr } 1767178825Sdfr 1768178825Sdfr else 1769178825Sdfr { 1770178825Sdfr yy_cp = (yy_c_buf_p); 1771178825Sdfr goto yy_find_action; 1772178825Sdfr } 1773178825Sdfr } 1774178825Sdfr 1775178825Sdfr else switch ( yy_get_next_buffer( ) ) 1776178825Sdfr { 1777178825Sdfr case EOB_ACT_END_OF_FILE: 1778178825Sdfr { 1779178825Sdfr (yy_did_buffer_switch_on_eof) = 0; 1780178825Sdfr 1781178825Sdfr if ( yywrap( ) ) 1782178825Sdfr { 1783178825Sdfr /* Note: because we've taken care in 1784178825Sdfr * yy_get_next_buffer() to have set up 1785178825Sdfr * yytext, we can now set up 1786178825Sdfr * yy_c_buf_p so that if some total 1787178825Sdfr * hoser (like flex itself) wants to 1788178825Sdfr * call the scanner after we return the 1789178825Sdfr * YY_NULL, it'll still work - another 1790178825Sdfr * YY_NULL will get returned. 1791178825Sdfr */ 1792178825Sdfr (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; 1793178825Sdfr 1794178825Sdfr yy_act = YY_STATE_EOF(YY_START); 1795178825Sdfr goto do_action; 1796178825Sdfr } 1797178825Sdfr 1798178825Sdfr else 1799178825Sdfr { 1800178825Sdfr if ( ! (yy_did_buffer_switch_on_eof) ) 1801178825Sdfr YY_NEW_FILE; 1802178825Sdfr } 1803178825Sdfr break; 1804178825Sdfr } 1805178825Sdfr 1806178825Sdfr case EOB_ACT_CONTINUE_SCAN: 1807178825Sdfr (yy_c_buf_p) = 1808178825Sdfr (yytext_ptr) + yy_amount_of_matched_text; 1809178825Sdfr 1810178825Sdfr yy_current_state = yy_get_previous_state( ); 1811178825Sdfr 1812178825Sdfr yy_cp = (yy_c_buf_p); 1813178825Sdfr yy_bp = (yytext_ptr) + YY_MORE_ADJ; 1814178825Sdfr goto yy_match; 1815178825Sdfr 1816178825Sdfr case EOB_ACT_LAST_MATCH: 1817178825Sdfr (yy_c_buf_p) = 1818178825Sdfr &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; 1819178825Sdfr 1820178825Sdfr yy_current_state = yy_get_previous_state( ); 1821178825Sdfr 1822178825Sdfr yy_cp = (yy_c_buf_p); 1823178825Sdfr yy_bp = (yytext_ptr) + YY_MORE_ADJ; 1824178825Sdfr goto yy_find_action; 1825178825Sdfr } 1826178825Sdfr break; 1827178825Sdfr } 1828178825Sdfr 1829178825Sdfr default: 1830178825Sdfr YY_FATAL_ERROR( 1831178825Sdfr "fatal flex scanner internal error--no action found" ); 1832178825Sdfr } /* end of action switch */ 1833178825Sdfr } /* end of scanning one token */ 1834178825Sdfr} /* end of yylex */ 1835178825Sdfr 1836178825Sdfr/* yy_get_next_buffer - try to read in a new buffer 1837178825Sdfr * 1838178825Sdfr * Returns a code representing an action: 1839178825Sdfr * EOB_ACT_LAST_MATCH - 1840178825Sdfr * EOB_ACT_CONTINUE_SCAN - continue scanning from current position 1841178825Sdfr * EOB_ACT_END_OF_FILE - end of file 1842178825Sdfr */ 1843178825Sdfrstatic int yy_get_next_buffer (void) 1844178825Sdfr{ 1845178825Sdfr register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; 1846178825Sdfr register char *source = (yytext_ptr); 1847178825Sdfr register int number_to_move, i; 1848178825Sdfr int ret_val; 1849178825Sdfr 1850178825Sdfr if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) 1851178825Sdfr YY_FATAL_ERROR( 1852178825Sdfr "fatal flex scanner internal error--end of buffer missed" ); 1853178825Sdfr 1854178825Sdfr if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) 1855178825Sdfr { /* Don't try to fill the buffer, so this is an EOF. */ 1856178825Sdfr if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) 1857178825Sdfr { 1858178825Sdfr /* We matched a single character, the EOB, so 1859178825Sdfr * treat this as a final EOF. 1860178825Sdfr */ 1861178825Sdfr return EOB_ACT_END_OF_FILE; 1862178825Sdfr } 1863178825Sdfr 1864178825Sdfr else 1865178825Sdfr { 1866178825Sdfr /* We matched some text prior to the EOB, first 1867178825Sdfr * process it. 1868178825Sdfr */ 1869178825Sdfr return EOB_ACT_LAST_MATCH; 1870178825Sdfr } 1871178825Sdfr } 1872178825Sdfr 1873178825Sdfr /* Try to read more data. */ 1874178825Sdfr 1875178825Sdfr /* First move last chars to start of buffer. */ 1876178825Sdfr number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; 1877178825Sdfr 1878178825Sdfr for ( i = 0; i < number_to_move; ++i ) 1879178825Sdfr *(dest++) = *(source++); 1880178825Sdfr 1881178825Sdfr if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) 1882178825Sdfr /* don't do the read, it's not guaranteed to return an EOF, 1883178825Sdfr * just force an EOF 1884178825Sdfr */ 1885178825Sdfr YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; 1886178825Sdfr 1887178825Sdfr else 1888178825Sdfr { 1889233294Sstas yy_size_t num_to_read = 1890178825Sdfr YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; 1891178825Sdfr 1892178825Sdfr while ( num_to_read <= 0 ) 1893178825Sdfr { /* Not enough room in the buffer - grow it. */ 1894178825Sdfr 1895178825Sdfr /* just a shorter name for the current buffer */ 1896178825Sdfr YY_BUFFER_STATE b = YY_CURRENT_BUFFER; 1897178825Sdfr 1898178825Sdfr int yy_c_buf_p_offset = 1899178825Sdfr (int) ((yy_c_buf_p) - b->yy_ch_buf); 1900178825Sdfr 1901178825Sdfr if ( b->yy_is_our_buffer ) 1902178825Sdfr { 1903233294Sstas yy_size_t new_size = b->yy_buf_size * 2; 1904178825Sdfr 1905178825Sdfr if ( new_size <= 0 ) 1906178825Sdfr b->yy_buf_size += b->yy_buf_size / 8; 1907178825Sdfr else 1908178825Sdfr b->yy_buf_size *= 2; 1909178825Sdfr 1910178825Sdfr b->yy_ch_buf = (char *) 1911178825Sdfr /* Include room in for 2 EOB chars. */ 1912178825Sdfr yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); 1913178825Sdfr } 1914178825Sdfr else 1915178825Sdfr /* Can't grow it, we don't own it. */ 1916178825Sdfr b->yy_ch_buf = 0; 1917178825Sdfr 1918178825Sdfr if ( ! b->yy_ch_buf ) 1919178825Sdfr YY_FATAL_ERROR( 1920178825Sdfr "fatal error - scanner input buffer overflow" ); 1921178825Sdfr 1922178825Sdfr (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; 1923178825Sdfr 1924178825Sdfr num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - 1925178825Sdfr number_to_move - 1; 1926178825Sdfr 1927178825Sdfr } 1928178825Sdfr 1929178825Sdfr if ( num_to_read > YY_READ_BUF_SIZE ) 1930178825Sdfr num_to_read = YY_READ_BUF_SIZE; 1931178825Sdfr 1932178825Sdfr /* Read in more data. */ 1933178825Sdfr YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), 1934178825Sdfr (yy_n_chars), num_to_read ); 1935178825Sdfr 1936178825Sdfr YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 1937178825Sdfr } 1938178825Sdfr 1939178825Sdfr if ( (yy_n_chars) == 0 ) 1940178825Sdfr { 1941178825Sdfr if ( number_to_move == YY_MORE_ADJ ) 1942178825Sdfr { 1943178825Sdfr ret_val = EOB_ACT_END_OF_FILE; 1944178825Sdfr yyrestart(yyin ); 1945178825Sdfr } 1946178825Sdfr 1947178825Sdfr else 1948178825Sdfr { 1949178825Sdfr ret_val = EOB_ACT_LAST_MATCH; 1950178825Sdfr YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = 1951178825Sdfr YY_BUFFER_EOF_PENDING; 1952178825Sdfr } 1953178825Sdfr } 1954178825Sdfr 1955178825Sdfr else 1956178825Sdfr ret_val = EOB_ACT_CONTINUE_SCAN; 1957178825Sdfr 1958233294Sstas if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { 1959233294Sstas /* Extend the array by 50%, plus the number we really need. */ 1960233294Sstas yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); 1961233294Sstas YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); 1962233294Sstas if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) 1963233294Sstas YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); 1964233294Sstas } 1965233294Sstas 1966178825Sdfr (yy_n_chars) += number_to_move; 1967178825Sdfr YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; 1968178825Sdfr YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; 1969178825Sdfr 1970178825Sdfr (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; 1971178825Sdfr 1972178825Sdfr return ret_val; 1973178825Sdfr} 1974178825Sdfr 1975178825Sdfr/* yy_get_previous_state - get the state just before the EOB char was reached */ 1976178825Sdfr 1977178825Sdfr static yy_state_type yy_get_previous_state (void) 1978178825Sdfr{ 1979178825Sdfr register yy_state_type yy_current_state; 1980178825Sdfr register char *yy_cp; 1981178825Sdfr 1982178825Sdfr yy_current_state = (yy_start); 1983178825Sdfr 1984178825Sdfr for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) 1985178825Sdfr { 1986178825Sdfr register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); 1987178825Sdfr if ( yy_accept[yy_current_state] ) 1988178825Sdfr { 1989178825Sdfr (yy_last_accepting_state) = yy_current_state; 1990178825Sdfr (yy_last_accepting_cpos) = yy_cp; 1991178825Sdfr } 1992178825Sdfr while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 1993178825Sdfr { 1994178825Sdfr yy_current_state = (int) yy_def[yy_current_state]; 1995178825Sdfr if ( yy_current_state >= 568 ) 1996178825Sdfr yy_c = yy_meta[(unsigned int) yy_c]; 1997178825Sdfr } 1998178825Sdfr yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 1999178825Sdfr } 2000178825Sdfr 2001178825Sdfr return yy_current_state; 2002178825Sdfr} 2003178825Sdfr 2004178825Sdfr/* yy_try_NUL_trans - try to make a transition on the NUL character 2005178825Sdfr * 2006178825Sdfr * synopsis 2007178825Sdfr * next_state = yy_try_NUL_trans( current_state ); 2008178825Sdfr */ 2009178825Sdfr static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) 2010178825Sdfr{ 2011178825Sdfr register int yy_is_jam; 2012178825Sdfr register char *yy_cp = (yy_c_buf_p); 2013178825Sdfr 2014178825Sdfr register YY_CHAR yy_c = 1; 2015178825Sdfr if ( yy_accept[yy_current_state] ) 2016178825Sdfr { 2017178825Sdfr (yy_last_accepting_state) = yy_current_state; 2018178825Sdfr (yy_last_accepting_cpos) = yy_cp; 2019178825Sdfr } 2020178825Sdfr while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 2021178825Sdfr { 2022178825Sdfr yy_current_state = (int) yy_def[yy_current_state]; 2023178825Sdfr if ( yy_current_state >= 568 ) 2024178825Sdfr yy_c = yy_meta[(unsigned int) yy_c]; 2025178825Sdfr } 2026178825Sdfr yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 2027178825Sdfr yy_is_jam = (yy_current_state == 567); 2028178825Sdfr 2029178825Sdfr return yy_is_jam ? 0 : yy_current_state; 2030178825Sdfr} 2031178825Sdfr 2032178825Sdfr static void yyunput (int c, register char * yy_bp ) 2033178825Sdfr{ 2034178825Sdfr register char *yy_cp; 2035178825Sdfr 2036178825Sdfr yy_cp = (yy_c_buf_p); 2037178825Sdfr 2038178825Sdfr /* undo effects of setting up yytext */ 2039178825Sdfr *yy_cp = (yy_hold_char); 2040178825Sdfr 2041178825Sdfr if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) 2042178825Sdfr { /* need to shift things up to make room */ 2043178825Sdfr /* +2 for EOB chars. */ 2044233294Sstas register yy_size_t number_to_move = (yy_n_chars) + 2; 2045178825Sdfr register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ 2046178825Sdfr YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; 2047178825Sdfr register char *source = 2048178825Sdfr &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; 2049178825Sdfr 2050178825Sdfr while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) 2051178825Sdfr *--dest = *--source; 2052178825Sdfr 2053178825Sdfr yy_cp += (int) (dest - source); 2054178825Sdfr yy_bp += (int) (dest - source); 2055178825Sdfr YY_CURRENT_BUFFER_LVALUE->yy_n_chars = 2056178825Sdfr (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size; 2057178825Sdfr 2058178825Sdfr if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) 2059178825Sdfr YY_FATAL_ERROR( "flex scanner push-back overflow" ); 2060178825Sdfr } 2061178825Sdfr 2062178825Sdfr *--yy_cp = (char) c; 2063178825Sdfr 2064178825Sdfr (yytext_ptr) = yy_bp; 2065178825Sdfr (yy_hold_char) = *yy_cp; 2066178825Sdfr (yy_c_buf_p) = yy_cp; 2067178825Sdfr} 2068178825Sdfr 2069178825Sdfr#ifndef YY_NO_INPUT 2070178825Sdfr#ifdef __cplusplus 2071178825Sdfr static int yyinput (void) 2072178825Sdfr#else 2073178825Sdfr static int input (void) 2074178825Sdfr#endif 2075178825Sdfr 2076178825Sdfr{ 2077178825Sdfr int c; 2078178825Sdfr 2079178825Sdfr *(yy_c_buf_p) = (yy_hold_char); 2080178825Sdfr 2081178825Sdfr if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) 2082178825Sdfr { 2083178825Sdfr /* yy_c_buf_p now points to the character we want to return. 2084178825Sdfr * If this occurs *before* the EOB characters, then it's a 2085178825Sdfr * valid NUL; if not, then we've hit the end of the buffer. 2086178825Sdfr */ 2087178825Sdfr if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) 2088178825Sdfr /* This was really a NUL. */ 2089178825Sdfr *(yy_c_buf_p) = '\0'; 2090178825Sdfr 2091178825Sdfr else 2092178825Sdfr { /* need more input */ 2093233294Sstas yy_size_t offset = (yy_c_buf_p) - (yytext_ptr); 2094178825Sdfr ++(yy_c_buf_p); 2095178825Sdfr 2096178825Sdfr switch ( yy_get_next_buffer( ) ) 2097178825Sdfr { 2098178825Sdfr case EOB_ACT_LAST_MATCH: 2099178825Sdfr /* This happens because yy_g_n_b() 2100178825Sdfr * sees that we've accumulated a 2101178825Sdfr * token and flags that we need to 2102178825Sdfr * try matching the token before 2103178825Sdfr * proceeding. But for input(), 2104178825Sdfr * there's no matching to consider. 2105178825Sdfr * So convert the EOB_ACT_LAST_MATCH 2106178825Sdfr * to EOB_ACT_END_OF_FILE. 2107178825Sdfr */ 2108178825Sdfr 2109178825Sdfr /* Reset buffer status. */ 2110178825Sdfr yyrestart(yyin ); 2111178825Sdfr 2112178825Sdfr /*FALLTHROUGH*/ 2113178825Sdfr 2114178825Sdfr case EOB_ACT_END_OF_FILE: 2115178825Sdfr { 2116178825Sdfr if ( yywrap( ) ) 2117178825Sdfr return 0; 2118178825Sdfr 2119178825Sdfr if ( ! (yy_did_buffer_switch_on_eof) ) 2120178825Sdfr YY_NEW_FILE; 2121178825Sdfr#ifdef __cplusplus 2122178825Sdfr return yyinput(); 2123178825Sdfr#else 2124178825Sdfr return input(); 2125178825Sdfr#endif 2126178825Sdfr } 2127178825Sdfr 2128178825Sdfr case EOB_ACT_CONTINUE_SCAN: 2129178825Sdfr (yy_c_buf_p) = (yytext_ptr) + offset; 2130178825Sdfr break; 2131178825Sdfr } 2132178825Sdfr } 2133178825Sdfr } 2134178825Sdfr 2135178825Sdfr c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ 2136178825Sdfr *(yy_c_buf_p) = '\0'; /* preserve yytext */ 2137178825Sdfr (yy_hold_char) = *++(yy_c_buf_p); 2138178825Sdfr 2139178825Sdfr return c; 2140178825Sdfr} 2141178825Sdfr#endif /* ifndef YY_NO_INPUT */ 2142178825Sdfr 2143178825Sdfr/** Immediately switch to a different input stream. 2144178825Sdfr * @param input_file A readable stream. 2145178825Sdfr * 2146178825Sdfr * @note This function does not reset the start condition to @c INITIAL . 2147178825Sdfr */ 2148178825Sdfr void yyrestart (FILE * input_file ) 2149178825Sdfr{ 2150178825Sdfr 2151178825Sdfr if ( ! YY_CURRENT_BUFFER ){ 2152178825Sdfr yyensure_buffer_stack (); 2153178825Sdfr YY_CURRENT_BUFFER_LVALUE = 2154178825Sdfr yy_create_buffer(yyin,YY_BUF_SIZE ); 2155178825Sdfr } 2156178825Sdfr 2157178825Sdfr yy_init_buffer(YY_CURRENT_BUFFER,input_file ); 2158178825Sdfr yy_load_buffer_state( ); 2159178825Sdfr} 2160178825Sdfr 2161178825Sdfr/** Switch to a different input buffer. 2162178825Sdfr * @param new_buffer The new input buffer. 2163178825Sdfr * 2164178825Sdfr */ 2165178825Sdfr void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) 2166178825Sdfr{ 2167178825Sdfr 2168178825Sdfr /* TODO. We should be able to replace this entire function body 2169178825Sdfr * with 2170178825Sdfr * yypop_buffer_state(); 2171178825Sdfr * yypush_buffer_state(new_buffer); 2172178825Sdfr */ 2173178825Sdfr yyensure_buffer_stack (); 2174178825Sdfr if ( YY_CURRENT_BUFFER == new_buffer ) 2175178825Sdfr return; 2176178825Sdfr 2177178825Sdfr if ( YY_CURRENT_BUFFER ) 2178178825Sdfr { 2179178825Sdfr /* Flush out information for old buffer. */ 2180178825Sdfr *(yy_c_buf_p) = (yy_hold_char); 2181178825Sdfr YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); 2182178825Sdfr YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 2183178825Sdfr } 2184178825Sdfr 2185178825Sdfr YY_CURRENT_BUFFER_LVALUE = new_buffer; 2186178825Sdfr yy_load_buffer_state( ); 2187178825Sdfr 2188178825Sdfr /* We don't actually know whether we did this switch during 2189178825Sdfr * EOF (yywrap()) processing, but the only time this flag 2190178825Sdfr * is looked at is after yywrap() is called, so it's safe 2191178825Sdfr * to go ahead and always set it. 2192178825Sdfr */ 2193178825Sdfr (yy_did_buffer_switch_on_eof) = 1; 2194178825Sdfr} 2195178825Sdfr 2196178825Sdfrstatic void yy_load_buffer_state (void) 2197178825Sdfr{ 2198178825Sdfr (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 2199178825Sdfr (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; 2200178825Sdfr yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; 2201178825Sdfr (yy_hold_char) = *(yy_c_buf_p); 2202178825Sdfr} 2203178825Sdfr 2204178825Sdfr/** Allocate and initialize an input buffer state. 2205178825Sdfr * @param file A readable stream. 2206178825Sdfr * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. 2207178825Sdfr * 2208178825Sdfr * @return the allocated buffer state. 2209178825Sdfr */ 2210178825Sdfr YY_BUFFER_STATE yy_create_buffer (FILE * file, int size ) 2211178825Sdfr{ 2212178825Sdfr YY_BUFFER_STATE b; 2213178825Sdfr 2214178825Sdfr b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); 2215178825Sdfr if ( ! b ) 2216178825Sdfr YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 2217178825Sdfr 2218178825Sdfr b->yy_buf_size = size; 2219178825Sdfr 2220178825Sdfr /* yy_ch_buf has to be 2 characters longer than the size given because 2221178825Sdfr * we need to put in 2 end-of-buffer characters. 2222178825Sdfr */ 2223178825Sdfr b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 ); 2224178825Sdfr if ( ! b->yy_ch_buf ) 2225178825Sdfr YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 2226178825Sdfr 2227178825Sdfr b->yy_is_our_buffer = 1; 2228178825Sdfr 2229178825Sdfr yy_init_buffer(b,file ); 2230178825Sdfr 2231178825Sdfr return b; 2232178825Sdfr} 2233178825Sdfr 2234178825Sdfr/** Destroy the buffer. 2235178825Sdfr * @param b a buffer created with yy_create_buffer() 2236178825Sdfr * 2237178825Sdfr */ 2238178825Sdfr void yy_delete_buffer (YY_BUFFER_STATE b ) 2239178825Sdfr{ 2240178825Sdfr 2241178825Sdfr if ( ! b ) 2242178825Sdfr return; 2243178825Sdfr 2244178825Sdfr if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ 2245178825Sdfr YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; 2246178825Sdfr 2247178825Sdfr if ( b->yy_is_our_buffer ) 2248178825Sdfr yyfree((void *) b->yy_ch_buf ); 2249178825Sdfr 2250178825Sdfr yyfree((void *) b ); 2251178825Sdfr} 2252178825Sdfr 2253178825Sdfr#ifndef __cplusplus 2254178825Sdfrextern int isatty (int ); 2255178825Sdfr#endif /* __cplusplus */ 2256178825Sdfr 2257178825Sdfr/* Initializes or reinitializes a buffer. 2258178825Sdfr * This function is sometimes called more than once on the same buffer, 2259178825Sdfr * such as during a yyrestart() or at EOF. 2260178825Sdfr */ 2261178825Sdfr static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) 2262178825Sdfr 2263178825Sdfr{ 2264178825Sdfr int oerrno = errno; 2265178825Sdfr 2266178825Sdfr yy_flush_buffer(b ); 2267178825Sdfr 2268178825Sdfr b->yy_input_file = file; 2269178825Sdfr b->yy_fill_buffer = 1; 2270178825Sdfr 2271178825Sdfr /* If b is the current buffer, then yy_init_buffer was _probably_ 2272178825Sdfr * called from yyrestart() or through yy_get_next_buffer. 2273178825Sdfr * In that case, we don't want to reset the lineno or column. 2274178825Sdfr */ 2275178825Sdfr if (b != YY_CURRENT_BUFFER){ 2276178825Sdfr b->yy_bs_lineno = 1; 2277178825Sdfr b->yy_bs_column = 0; 2278178825Sdfr } 2279178825Sdfr 2280178825Sdfr b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; 2281178825Sdfr 2282178825Sdfr errno = oerrno; 2283178825Sdfr} 2284178825Sdfr 2285178825Sdfr/** Discard all buffered characters. On the next scan, YY_INPUT will be called. 2286178825Sdfr * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. 2287178825Sdfr * 2288178825Sdfr */ 2289178825Sdfr void yy_flush_buffer (YY_BUFFER_STATE b ) 2290178825Sdfr{ 2291178825Sdfr if ( ! b ) 2292178825Sdfr return; 2293178825Sdfr 2294178825Sdfr b->yy_n_chars = 0; 2295178825Sdfr 2296178825Sdfr /* We always need two end-of-buffer characters. The first causes 2297178825Sdfr * a transition to the end-of-buffer state. The second causes 2298178825Sdfr * a jam in that state. 2299178825Sdfr */ 2300178825Sdfr b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; 2301178825Sdfr b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; 2302178825Sdfr 2303178825Sdfr b->yy_buf_pos = &b->yy_ch_buf[0]; 2304178825Sdfr 2305178825Sdfr b->yy_at_bol = 1; 2306178825Sdfr b->yy_buffer_status = YY_BUFFER_NEW; 2307178825Sdfr 2308178825Sdfr if ( b == YY_CURRENT_BUFFER ) 2309178825Sdfr yy_load_buffer_state( ); 2310178825Sdfr} 2311178825Sdfr 2312178825Sdfr/** Pushes the new state onto the stack. The new state becomes 2313178825Sdfr * the current state. This function will allocate the stack 2314178825Sdfr * if necessary. 2315178825Sdfr * @param new_buffer The new state. 2316178825Sdfr * 2317178825Sdfr */ 2318178825Sdfrvoid yypush_buffer_state (YY_BUFFER_STATE new_buffer ) 2319178825Sdfr{ 2320178825Sdfr if (new_buffer == NULL) 2321178825Sdfr return; 2322178825Sdfr 2323178825Sdfr yyensure_buffer_stack(); 2324178825Sdfr 2325178825Sdfr /* This block is copied from yy_switch_to_buffer. */ 2326178825Sdfr if ( YY_CURRENT_BUFFER ) 2327178825Sdfr { 2328178825Sdfr /* Flush out information for old buffer. */ 2329178825Sdfr *(yy_c_buf_p) = (yy_hold_char); 2330178825Sdfr YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); 2331178825Sdfr YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 2332178825Sdfr } 2333178825Sdfr 2334178825Sdfr /* Only push if top exists. Otherwise, replace top. */ 2335178825Sdfr if (YY_CURRENT_BUFFER) 2336178825Sdfr (yy_buffer_stack_top)++; 2337178825Sdfr YY_CURRENT_BUFFER_LVALUE = new_buffer; 2338178825Sdfr 2339178825Sdfr /* copied from yy_switch_to_buffer. */ 2340178825Sdfr yy_load_buffer_state( ); 2341178825Sdfr (yy_did_buffer_switch_on_eof) = 1; 2342178825Sdfr} 2343178825Sdfr 2344178825Sdfr/** Removes and deletes the top of the stack, if present. 2345178825Sdfr * The next element becomes the new top. 2346178825Sdfr * 2347178825Sdfr */ 2348178825Sdfrvoid yypop_buffer_state (void) 2349178825Sdfr{ 2350178825Sdfr if (!YY_CURRENT_BUFFER) 2351178825Sdfr return; 2352178825Sdfr 2353178825Sdfr yy_delete_buffer(YY_CURRENT_BUFFER ); 2354178825Sdfr YY_CURRENT_BUFFER_LVALUE = NULL; 2355178825Sdfr if ((yy_buffer_stack_top) > 0) 2356178825Sdfr --(yy_buffer_stack_top); 2357178825Sdfr 2358178825Sdfr if (YY_CURRENT_BUFFER) { 2359178825Sdfr yy_load_buffer_state( ); 2360178825Sdfr (yy_did_buffer_switch_on_eof) = 1; 2361178825Sdfr } 2362178825Sdfr} 2363178825Sdfr 2364178825Sdfr/* Allocates the stack if it does not exist. 2365178825Sdfr * Guarantees space for at least one push. 2366178825Sdfr */ 2367178825Sdfrstatic void yyensure_buffer_stack (void) 2368178825Sdfr{ 2369233294Sstas yy_size_t num_to_alloc; 2370178825Sdfr 2371178825Sdfr if (!(yy_buffer_stack)) { 2372178825Sdfr 2373178825Sdfr /* First allocation is just for 2 elements, since we don't know if this 2374178825Sdfr * scanner will even need a stack. We use 2 instead of 1 to avoid an 2375178825Sdfr * immediate realloc on the next call. 2376178825Sdfr */ 2377178825Sdfr num_to_alloc = 1; 2378178825Sdfr (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc 2379178825Sdfr (num_to_alloc * sizeof(struct yy_buffer_state*) 2380178825Sdfr ); 2381233294Sstas if ( ! (yy_buffer_stack) ) 2382233294Sstas YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); 2383233294Sstas 2384178825Sdfr memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); 2385178825Sdfr 2386178825Sdfr (yy_buffer_stack_max) = num_to_alloc; 2387178825Sdfr (yy_buffer_stack_top) = 0; 2388178825Sdfr return; 2389178825Sdfr } 2390178825Sdfr 2391178825Sdfr if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ 2392178825Sdfr 2393178825Sdfr /* Increase the buffer to prepare for a possible push. */ 2394178825Sdfr int grow_size = 8 /* arbitrary grow size */; 2395178825Sdfr 2396178825Sdfr num_to_alloc = (yy_buffer_stack_max) + grow_size; 2397178825Sdfr (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc 2398178825Sdfr ((yy_buffer_stack), 2399178825Sdfr num_to_alloc * sizeof(struct yy_buffer_state*) 2400178825Sdfr ); 2401233294Sstas if ( ! (yy_buffer_stack) ) 2402233294Sstas YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); 2403178825Sdfr 2404178825Sdfr /* zero only the new slots.*/ 2405178825Sdfr memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); 2406178825Sdfr (yy_buffer_stack_max) = num_to_alloc; 2407178825Sdfr } 2408178825Sdfr} 2409178825Sdfr 2410178825Sdfr/** Setup the input buffer state to scan directly from a user-specified character buffer. 2411178825Sdfr * @param base the character buffer 2412178825Sdfr * @param size the size in bytes of the character buffer 2413178825Sdfr * 2414178825Sdfr * @return the newly allocated buffer state object. 2415178825Sdfr */ 2416178825SdfrYY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) 2417178825Sdfr{ 2418178825Sdfr YY_BUFFER_STATE b; 2419178825Sdfr 2420178825Sdfr if ( size < 2 || 2421178825Sdfr base[size-2] != YY_END_OF_BUFFER_CHAR || 2422178825Sdfr base[size-1] != YY_END_OF_BUFFER_CHAR ) 2423178825Sdfr /* They forgot to leave room for the EOB's. */ 2424178825Sdfr return 0; 2425178825Sdfr 2426178825Sdfr b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); 2427178825Sdfr if ( ! b ) 2428178825Sdfr YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); 2429178825Sdfr 2430178825Sdfr b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ 2431178825Sdfr b->yy_buf_pos = b->yy_ch_buf = base; 2432178825Sdfr b->yy_is_our_buffer = 0; 2433178825Sdfr b->yy_input_file = 0; 2434178825Sdfr b->yy_n_chars = b->yy_buf_size; 2435178825Sdfr b->yy_is_interactive = 0; 2436178825Sdfr b->yy_at_bol = 1; 2437178825Sdfr b->yy_fill_buffer = 0; 2438178825Sdfr b->yy_buffer_status = YY_BUFFER_NEW; 2439178825Sdfr 2440178825Sdfr yy_switch_to_buffer(b ); 2441178825Sdfr 2442178825Sdfr return b; 2443178825Sdfr} 2444178825Sdfr 2445178825Sdfr/** Setup the input buffer state to scan a string. The next call to yylex() will 2446178825Sdfr * scan from a @e copy of @a str. 2447233294Sstas * @param yystr a NUL-terminated string to scan 2448178825Sdfr * 2449178825Sdfr * @return the newly allocated buffer state object. 2450178825Sdfr * @note If you want to scan bytes that may contain NUL values, then use 2451178825Sdfr * yy_scan_bytes() instead. 2452178825Sdfr */ 2453178825SdfrYY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) 2454178825Sdfr{ 2455178825Sdfr 2456178825Sdfr return yy_scan_bytes(yystr,strlen(yystr) ); 2457178825Sdfr} 2458178825Sdfr 2459178825Sdfr/** Setup the input buffer state to scan the given bytes. The next call to yylex() will 2460178825Sdfr * scan from a @e copy of @a bytes. 2461178825Sdfr * @param bytes the byte buffer to scan 2462178825Sdfr * @param len the number of bytes in the buffer pointed to by @a bytes. 2463178825Sdfr * 2464178825Sdfr * @return the newly allocated buffer state object. 2465178825Sdfr */ 2466233294SstasYY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len ) 2467178825Sdfr{ 2468178825Sdfr YY_BUFFER_STATE b; 2469178825Sdfr char *buf; 2470233294Sstas yy_size_t n, i; 2471178825Sdfr 2472178825Sdfr /* Get memory for full buffer, including space for trailing EOB's. */ 2473178825Sdfr n = _yybytes_len + 2; 2474178825Sdfr buf = (char *) yyalloc(n ); 2475178825Sdfr if ( ! buf ) 2476178825Sdfr YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); 2477178825Sdfr 2478178825Sdfr for ( i = 0; i < _yybytes_len; ++i ) 2479178825Sdfr buf[i] = yybytes[i]; 2480178825Sdfr 2481178825Sdfr buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; 2482178825Sdfr 2483178825Sdfr b = yy_scan_buffer(buf,n ); 2484178825Sdfr if ( ! b ) 2485178825Sdfr YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); 2486178825Sdfr 2487178825Sdfr /* It's okay to grow etc. this buffer, and we should throw it 2488178825Sdfr * away when we're done. 2489178825Sdfr */ 2490178825Sdfr b->yy_is_our_buffer = 1; 2491178825Sdfr 2492178825Sdfr return b; 2493178825Sdfr} 2494178825Sdfr 2495178825Sdfr#ifndef YY_EXIT_FAILURE 2496178825Sdfr#define YY_EXIT_FAILURE 2 2497178825Sdfr#endif 2498178825Sdfr 2499178825Sdfrstatic void yy_fatal_error (yyconst char* msg ) 2500178825Sdfr{ 2501178825Sdfr (void) fprintf( stderr, "%s\n", msg ); 2502178825Sdfr exit( YY_EXIT_FAILURE ); 2503178825Sdfr} 2504178825Sdfr 2505178825Sdfr/* Redefine yyless() so it works in section 3 code. */ 2506178825Sdfr 2507178825Sdfr#undef yyless 2508178825Sdfr#define yyless(n) \ 2509178825Sdfr do \ 2510178825Sdfr { \ 2511178825Sdfr /* Undo effects of setting up yytext. */ \ 2512178825Sdfr int yyless_macro_arg = (n); \ 2513178825Sdfr YY_LESS_LINENO(yyless_macro_arg);\ 2514178825Sdfr yytext[yyleng] = (yy_hold_char); \ 2515178825Sdfr (yy_c_buf_p) = yytext + yyless_macro_arg; \ 2516178825Sdfr (yy_hold_char) = *(yy_c_buf_p); \ 2517178825Sdfr *(yy_c_buf_p) = '\0'; \ 2518178825Sdfr yyleng = yyless_macro_arg; \ 2519178825Sdfr } \ 2520178825Sdfr while ( 0 ) 2521178825Sdfr 2522178825Sdfr/* Accessor methods (get/set functions) to struct members. */ 2523178825Sdfr 2524178825Sdfr/** Get the current line number. 2525178825Sdfr * 2526178825Sdfr */ 2527178825Sdfrint yyget_lineno (void) 2528178825Sdfr{ 2529178825Sdfr 2530178825Sdfr return yylineno; 2531178825Sdfr} 2532178825Sdfr 2533178825Sdfr/** Get the input stream. 2534178825Sdfr * 2535178825Sdfr */ 2536178825SdfrFILE *yyget_in (void) 2537178825Sdfr{ 2538178825Sdfr return yyin; 2539178825Sdfr} 2540178825Sdfr 2541178825Sdfr/** Get the output stream. 2542178825Sdfr * 2543178825Sdfr */ 2544178825SdfrFILE *yyget_out (void) 2545178825Sdfr{ 2546178825Sdfr return yyout; 2547178825Sdfr} 2548178825Sdfr 2549178825Sdfr/** Get the length of the current token. 2550178825Sdfr * 2551178825Sdfr */ 2552233294Sstasyy_size_t yyget_leng (void) 2553178825Sdfr{ 2554178825Sdfr return yyleng; 2555178825Sdfr} 2556178825Sdfr 2557178825Sdfr/** Get the current token. 2558178825Sdfr * 2559178825Sdfr */ 2560178825Sdfr 2561178825Sdfrchar *yyget_text (void) 2562178825Sdfr{ 2563178825Sdfr return yytext; 2564178825Sdfr} 2565178825Sdfr 2566178825Sdfr/** Set the current line number. 2567178825Sdfr * @param line_number 2568178825Sdfr * 2569178825Sdfr */ 2570178825Sdfrvoid yyset_lineno (int line_number ) 2571178825Sdfr{ 2572178825Sdfr 2573178825Sdfr yylineno = line_number; 2574178825Sdfr} 2575178825Sdfr 2576178825Sdfr/** Set the input stream. This does not discard the current 2577178825Sdfr * input buffer. 2578178825Sdfr * @param in_str A readable stream. 2579178825Sdfr * 2580178825Sdfr * @see yy_switch_to_buffer 2581178825Sdfr */ 2582178825Sdfrvoid yyset_in (FILE * in_str ) 2583178825Sdfr{ 2584178825Sdfr yyin = in_str ; 2585178825Sdfr} 2586178825Sdfr 2587178825Sdfrvoid yyset_out (FILE * out_str ) 2588178825Sdfr{ 2589178825Sdfr yyout = out_str ; 2590178825Sdfr} 2591178825Sdfr 2592178825Sdfrint yyget_debug (void) 2593178825Sdfr{ 2594178825Sdfr return yy_flex_debug; 2595178825Sdfr} 2596178825Sdfr 2597178825Sdfrvoid yyset_debug (int bdebug ) 2598178825Sdfr{ 2599178825Sdfr yy_flex_debug = bdebug ; 2600178825Sdfr} 2601178825Sdfr 2602178825Sdfrstatic int yy_init_globals (void) 2603178825Sdfr{ 2604178825Sdfr /* Initialization is the same as for the non-reentrant scanner. 2605178825Sdfr * This function is called from yylex_destroy(), so don't allocate here. 2606178825Sdfr */ 2607178825Sdfr 2608178825Sdfr (yy_buffer_stack) = 0; 2609178825Sdfr (yy_buffer_stack_top) = 0; 2610178825Sdfr (yy_buffer_stack_max) = 0; 2611178825Sdfr (yy_c_buf_p) = (char *) 0; 2612178825Sdfr (yy_init) = 0; 2613178825Sdfr (yy_start) = 0; 2614178825Sdfr 2615178825Sdfr/* Defined in main.c */ 2616178825Sdfr#ifdef YY_STDINIT 2617178825Sdfr yyin = stdin; 2618178825Sdfr yyout = stdout; 2619178825Sdfr#else 2620178825Sdfr yyin = (FILE *) 0; 2621178825Sdfr yyout = (FILE *) 0; 2622178825Sdfr#endif 2623178825Sdfr 2624178825Sdfr /* For future reference: Set errno on error, since we are called by 2625178825Sdfr * yylex_init() 2626178825Sdfr */ 2627178825Sdfr return 0; 2628178825Sdfr} 2629178825Sdfr 2630178825Sdfr/* yylex_destroy is for both reentrant and non-reentrant scanners. */ 2631178825Sdfrint yylex_destroy (void) 2632178825Sdfr{ 2633178825Sdfr 2634178825Sdfr /* Pop the buffer stack, destroying each element. */ 2635178825Sdfr while(YY_CURRENT_BUFFER){ 2636178825Sdfr yy_delete_buffer(YY_CURRENT_BUFFER ); 2637178825Sdfr YY_CURRENT_BUFFER_LVALUE = NULL; 2638178825Sdfr yypop_buffer_state(); 2639178825Sdfr } 2640178825Sdfr 2641178825Sdfr /* Destroy the stack itself. */ 2642178825Sdfr yyfree((yy_buffer_stack) ); 2643178825Sdfr (yy_buffer_stack) = NULL; 2644178825Sdfr 2645178825Sdfr /* Reset the globals. This is important in a non-reentrant scanner so the next time 2646178825Sdfr * yylex() is called, initialization will occur. */ 2647178825Sdfr yy_init_globals( ); 2648178825Sdfr 2649178825Sdfr return 0; 2650178825Sdfr} 2651178825Sdfr 2652178825Sdfr/* 2653178825Sdfr * Internal utility routines. 2654178825Sdfr */ 2655178825Sdfr 2656178825Sdfr#ifndef yytext_ptr 2657178825Sdfrstatic void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) 2658178825Sdfr{ 2659178825Sdfr register int i; 2660178825Sdfr for ( i = 0; i < n; ++i ) 2661178825Sdfr s1[i] = s2[i]; 2662178825Sdfr} 2663178825Sdfr#endif 2664178825Sdfr 2665178825Sdfr#ifdef YY_NEED_STRLEN 2666178825Sdfrstatic int yy_flex_strlen (yyconst char * s ) 2667178825Sdfr{ 2668178825Sdfr register int n; 2669178825Sdfr for ( n = 0; s[n]; ++n ) 2670178825Sdfr ; 2671178825Sdfr 2672178825Sdfr return n; 2673178825Sdfr} 2674178825Sdfr#endif 2675178825Sdfr 2676178825Sdfrvoid *yyalloc (yy_size_t size ) 2677178825Sdfr{ 2678178825Sdfr return (void *) malloc( size ); 2679178825Sdfr} 2680178825Sdfr 2681178825Sdfrvoid *yyrealloc (void * ptr, yy_size_t size ) 2682178825Sdfr{ 2683178825Sdfr /* The cast to (char *) in the following accommodates both 2684178825Sdfr * implementations that use char* generic pointers, and those 2685178825Sdfr * that use void* generic pointers. It works with the latter 2686178825Sdfr * because both ANSI C and C++ allow castless assignment from 2687178825Sdfr * any pointer type to void*, and deal with argument conversions 2688178825Sdfr * as though doing an assignment. 2689178825Sdfr */ 2690178825Sdfr return (void *) realloc( (char *) ptr, size ); 2691178825Sdfr} 2692178825Sdfr 2693178825Sdfrvoid yyfree (void * ptr ) 2694178825Sdfr{ 2695178825Sdfr free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ 2696178825Sdfr} 2697178825Sdfr 2698178825Sdfr#define YYTABLES_NAME "yytables" 2699178825Sdfr 2700178825Sdfr#line 274 "lex.l" 2701178825Sdfr 2702178825Sdfr 2703178825Sdfr 2704178825Sdfr#ifndef yywrap /* XXX */ 2705178825Sdfrint 2706233294Sstasyywrap () 2707178825Sdfr{ 2708178825Sdfr return 1; 2709178825Sdfr} 2710178825Sdfr#endif 2711178825Sdfr 2712178825Sdfrvoid 2713233294Sstaslex_error_message (const char *format, ...) 2714178825Sdfr{ 2715178825Sdfr va_list args; 2716178825Sdfr 2717178825Sdfr va_start (args, format); 2718178825Sdfr fprintf (stderr, "%s:%d: ", get_filename(), lineno); 2719178825Sdfr vfprintf (stderr, format, args); 2720178825Sdfr va_end (args); 2721178825Sdfr error_flag++; 2722178825Sdfr} 2723178825Sdfr 2724178825Sdfrstatic void 2725178825Sdfrunterminated(const char *type, unsigned start_lineno) 2726178825Sdfr{ 2727233294Sstas lex_error_message("unterminated %s, possibly started on line %d\n", type, start_lineno); 2728178825Sdfr} 2729178825Sdfr 2730