lex.c revision 350952b9
1fd7d9bd3Smrg 2350952b9Smrg#line 3 "lex.c" 3350952b9Smrg 4350952b9Smrg#define YY_INT_ALIGNED short int 5350952b9Smrg 6350952b9Smrg/* A lexical scanner generated by flex */ 7fd7d9bd3Smrg 8fd7d9bd3Smrg#define FLEX_SCANNER 9fd7d9bd3Smrg#define YY_FLEX_MAJOR_VERSION 2 10fd7d9bd3Smrg#define YY_FLEX_MINOR_VERSION 5 11350952b9Smrg#define YY_FLEX_SUBMINOR_VERSION 35 12350952b9Smrg#if YY_FLEX_SUBMINOR_VERSION > 0 13350952b9Smrg#define FLEX_BETA 14350952b9Smrg#endif 15fd7d9bd3Smrg 16350952b9Smrg/* First, we deal with platform-specific or compiler-specific issues. */ 17350952b9Smrg 18350952b9Smrg/* begin standard C headers. */ 19fd7d9bd3Smrg#include <stdio.h> 20350952b9Smrg#include <string.h> 21350952b9Smrg#include <errno.h> 22350952b9Smrg#include <stdlib.h> 23fd7d9bd3Smrg 24350952b9Smrg/* end standard C headers. */ 25fd7d9bd3Smrg 26350952b9Smrg/* flex integer type definitions */ 27350952b9Smrg 28350952b9Smrg#ifndef FLEXINT_H 29350952b9Smrg#define FLEXINT_H 30350952b9Smrg 31350952b9Smrg/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */ 32350952b9Smrg 33350952b9Smrg#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 34350952b9Smrg 35350952b9Smrg/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, 36350952b9Smrg * if you want the limit (max/min) macros for int types. 37350952b9Smrg */ 38350952b9Smrg#ifndef __STDC_LIMIT_MACROS 39350952b9Smrg#define __STDC_LIMIT_MACROS 1 40fd7d9bd3Smrg#endif 41fd7d9bd3Smrg 42350952b9Smrg#include <inttypes.h> 43350952b9Smrgtypedef int8_t flex_int8_t; 44350952b9Smrgtypedef uint8_t flex_uint8_t; 45350952b9Smrgtypedef int16_t flex_int16_t; 46350952b9Smrgtypedef uint16_t flex_uint16_t; 47350952b9Smrgtypedef int32_t flex_int32_t; 48350952b9Smrgtypedef uint32_t flex_uint32_t; 49350952b9Smrg#else 50350952b9Smrgtypedef signed char flex_int8_t; 51350952b9Smrgtypedef short int flex_int16_t; 52350952b9Smrgtypedef int flex_int32_t; 53350952b9Smrgtypedef unsigned char flex_uint8_t; 54350952b9Smrgtypedef unsigned short int flex_uint16_t; 55350952b9Smrgtypedef unsigned int flex_uint32_t; 56350952b9Smrg#endif /* ! C99 */ 57fd7d9bd3Smrg 58350952b9Smrg/* Limits of integral types. */ 59350952b9Smrg#ifndef INT8_MIN 60350952b9Smrg#define INT8_MIN (-128) 61350952b9Smrg#endif 62350952b9Smrg#ifndef INT16_MIN 63350952b9Smrg#define INT16_MIN (-32767-1) 64350952b9Smrg#endif 65350952b9Smrg#ifndef INT32_MIN 66350952b9Smrg#define INT32_MIN (-2147483647-1) 67350952b9Smrg#endif 68350952b9Smrg#ifndef INT8_MAX 69350952b9Smrg#define INT8_MAX (127) 70350952b9Smrg#endif 71350952b9Smrg#ifndef INT16_MAX 72350952b9Smrg#define INT16_MAX (32767) 73350952b9Smrg#endif 74350952b9Smrg#ifndef INT32_MAX 75350952b9Smrg#define INT32_MAX (2147483647) 76350952b9Smrg#endif 77350952b9Smrg#ifndef UINT8_MAX 78350952b9Smrg#define UINT8_MAX (255U) 79350952b9Smrg#endif 80350952b9Smrg#ifndef UINT16_MAX 81350952b9Smrg#define UINT16_MAX (65535U) 82350952b9Smrg#endif 83350952b9Smrg#ifndef UINT32_MAX 84350952b9Smrg#define UINT32_MAX (4294967295U) 85350952b9Smrg#endif 86fd7d9bd3Smrg 87350952b9Smrg#endif /* ! FLEXINT_H */ 88fd7d9bd3Smrg 89350952b9Smrg#ifdef __cplusplus 90fd7d9bd3Smrg 91fd7d9bd3Smrg/* The "const" storage-class-modifier is valid. */ 92fd7d9bd3Smrg#define YY_USE_CONST 93fd7d9bd3Smrg 94fd7d9bd3Smrg#else /* ! __cplusplus */ 95fd7d9bd3Smrg 96350952b9Smrg/* C99 requires __STDC__ to be defined as 1. */ 97350952b9Smrg#if defined (__STDC__) 98fd7d9bd3Smrg 99fd7d9bd3Smrg#define YY_USE_CONST 100fd7d9bd3Smrg 101350952b9Smrg#endif /* defined (__STDC__) */ 102fd7d9bd3Smrg#endif /* ! __cplusplus */ 103fd7d9bd3Smrg 104fd7d9bd3Smrg#ifdef YY_USE_CONST 105fd7d9bd3Smrg#define yyconst const 106fd7d9bd3Smrg#else 107fd7d9bd3Smrg#define yyconst 108fd7d9bd3Smrg#endif 109fd7d9bd3Smrg 110fd7d9bd3Smrg/* Returned upon end-of-file. */ 111fd7d9bd3Smrg#define YY_NULL 0 112fd7d9bd3Smrg 113fd7d9bd3Smrg/* Promotes a possibly negative, possibly signed char to an unsigned 114fd7d9bd3Smrg * integer for use as an array index. If the signed char is negative, 115fd7d9bd3Smrg * we want to instead treat it as an 8-bit unsigned char, hence the 116fd7d9bd3Smrg * double cast. 117fd7d9bd3Smrg */ 118fd7d9bd3Smrg#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) 119fd7d9bd3Smrg 120fd7d9bd3Smrg/* Enter a start condition. This macro really ought to take a parameter, 121fd7d9bd3Smrg * but we do it the disgusting crufty way forced on us by the ()-less 122fd7d9bd3Smrg * definition of BEGIN. 123fd7d9bd3Smrg */ 124350952b9Smrg#define BEGIN (yy_start) = 1 + 2 * 125fd7d9bd3Smrg 126fd7d9bd3Smrg/* Translate the current start state into a value that can be later handed 127fd7d9bd3Smrg * to BEGIN to return to the state. The YYSTATE alias is for lex 128fd7d9bd3Smrg * compatibility. 129fd7d9bd3Smrg */ 130350952b9Smrg#define YY_START (((yy_start) - 1) / 2) 131fd7d9bd3Smrg#define YYSTATE YY_START 132fd7d9bd3Smrg 133fd7d9bd3Smrg/* Action number for EOF rule of a given start state. */ 134fd7d9bd3Smrg#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) 135fd7d9bd3Smrg 136fd7d9bd3Smrg/* Special action meaning "start processing a new file". */ 137350952b9Smrg#define YY_NEW_FILE yyrestart(yyin ) 138fd7d9bd3Smrg 139fd7d9bd3Smrg#define YY_END_OF_BUFFER_CHAR 0 140fd7d9bd3Smrg 141fd7d9bd3Smrg/* Size of default input buffer. */ 142350952b9Smrg#ifndef YY_BUF_SIZE 143fd7d9bd3Smrg#define YY_BUF_SIZE 16384 144350952b9Smrg#endif 145350952b9Smrg 146350952b9Smrg/* The state buf must be large enough to hold one state per character in the main buffer. 147350952b9Smrg */ 148350952b9Smrg#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) 149fd7d9bd3Smrg 150350952b9Smrg#ifndef YY_TYPEDEF_YY_BUFFER_STATE 151350952b9Smrg#define YY_TYPEDEF_YY_BUFFER_STATE 152fd7d9bd3Smrgtypedef struct yy_buffer_state *YY_BUFFER_STATE; 153350952b9Smrg#endif 154fd7d9bd3Smrg 155fd7d9bd3Smrgextern int yyleng; 156350952b9Smrg 157fd7d9bd3Smrgextern FILE *yyin, *yyout; 158fd7d9bd3Smrg 159fd7d9bd3Smrg#define EOB_ACT_CONTINUE_SCAN 0 160fd7d9bd3Smrg#define EOB_ACT_END_OF_FILE 1 161fd7d9bd3Smrg#define EOB_ACT_LAST_MATCH 2 162fd7d9bd3Smrg 163350952b9Smrg #define YY_LESS_LINENO(n) 164350952b9Smrg 165350952b9Smrg/* Return all but the first "n" matched characters back to the input stream. */ 166fd7d9bd3Smrg#define yyless(n) \ 167fd7d9bd3Smrg do \ 168fd7d9bd3Smrg { \ 169fd7d9bd3Smrg /* Undo effects of setting up yytext. */ \ 170350952b9Smrg int yyless_macro_arg = (n); \ 171350952b9Smrg YY_LESS_LINENO(yyless_macro_arg);\ 172350952b9Smrg *yy_cp = (yy_hold_char); \ 173fd7d9bd3Smrg YY_RESTORE_YY_MORE_OFFSET \ 174350952b9Smrg (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ 175fd7d9bd3Smrg YY_DO_BEFORE_ACTION; /* set up yytext again */ \ 176fd7d9bd3Smrg } \ 177fd7d9bd3Smrg while ( 0 ) 178fd7d9bd3Smrg 179350952b9Smrg#define unput(c) yyunput( c, (yytext_ptr) ) 180fd7d9bd3Smrg 181350952b9Smrg#ifndef YY_TYPEDEF_YY_SIZE_T 182350952b9Smrg#define YY_TYPEDEF_YY_SIZE_T 183350952b9Smrgtypedef size_t yy_size_t; 184350952b9Smrg#endif 185fd7d9bd3Smrg 186350952b9Smrg#ifndef YY_STRUCT_YY_BUFFER_STATE 187350952b9Smrg#define YY_STRUCT_YY_BUFFER_STATE 188fd7d9bd3Smrgstruct yy_buffer_state 189fd7d9bd3Smrg { 190fd7d9bd3Smrg FILE *yy_input_file; 191fd7d9bd3Smrg 192fd7d9bd3Smrg char *yy_ch_buf; /* input buffer */ 193fd7d9bd3Smrg char *yy_buf_pos; /* current position in input buffer */ 194fd7d9bd3Smrg 195fd7d9bd3Smrg /* Size of input buffer in bytes, not including room for EOB 196fd7d9bd3Smrg * characters. 197fd7d9bd3Smrg */ 198fd7d9bd3Smrg yy_size_t yy_buf_size; 199fd7d9bd3Smrg 200fd7d9bd3Smrg /* Number of characters read into yy_ch_buf, not including EOB 201fd7d9bd3Smrg * characters. 202fd7d9bd3Smrg */ 203fd7d9bd3Smrg int yy_n_chars; 204fd7d9bd3Smrg 205fd7d9bd3Smrg /* Whether we "own" the buffer - i.e., we know we created it, 206fd7d9bd3Smrg * and can realloc() it to grow it, and should free() it to 207fd7d9bd3Smrg * delete it. 208fd7d9bd3Smrg */ 209fd7d9bd3Smrg int yy_is_our_buffer; 210fd7d9bd3Smrg 211fd7d9bd3Smrg /* Whether this is an "interactive" input source; if so, and 212fd7d9bd3Smrg * if we're using stdio for input, then we want to use getc() 213fd7d9bd3Smrg * instead of fread(), to make sure we stop fetching input after 214fd7d9bd3Smrg * each newline. 215fd7d9bd3Smrg */ 216fd7d9bd3Smrg int yy_is_interactive; 217fd7d9bd3Smrg 218fd7d9bd3Smrg /* Whether we're considered to be at the beginning of a line. 219fd7d9bd3Smrg * If so, '^' rules will be active on the next match, otherwise 220fd7d9bd3Smrg * not. 221fd7d9bd3Smrg */ 222fd7d9bd3Smrg int yy_at_bol; 223fd7d9bd3Smrg 224350952b9Smrg int yy_bs_lineno; /**< The line count. */ 225350952b9Smrg int yy_bs_column; /**< The column count. */ 226350952b9Smrg 227fd7d9bd3Smrg /* Whether to try to fill the input buffer when we reach the 228fd7d9bd3Smrg * end of it. 229fd7d9bd3Smrg */ 230fd7d9bd3Smrg int yy_fill_buffer; 231fd7d9bd3Smrg 232fd7d9bd3Smrg int yy_buffer_status; 233350952b9Smrg 234fd7d9bd3Smrg#define YY_BUFFER_NEW 0 235fd7d9bd3Smrg#define YY_BUFFER_NORMAL 1 236fd7d9bd3Smrg /* When an EOF's been seen but there's still some text to process 237fd7d9bd3Smrg * then we mark the buffer as YY_EOF_PENDING, to indicate that we 238fd7d9bd3Smrg * shouldn't try reading from the input source any more. We might 239fd7d9bd3Smrg * still have a bunch of tokens to match, though, because of 240fd7d9bd3Smrg * possible backing-up. 241fd7d9bd3Smrg * 242fd7d9bd3Smrg * When we actually see the EOF, we change the status to "new" 243fd7d9bd3Smrg * (via yyrestart()), so that the user can continue scanning by 244fd7d9bd3Smrg * just pointing yyin at a new input file. 245fd7d9bd3Smrg */ 246fd7d9bd3Smrg#define YY_BUFFER_EOF_PENDING 2 247350952b9Smrg 248fd7d9bd3Smrg }; 249350952b9Smrg#endif /* !YY_STRUCT_YY_BUFFER_STATE */ 250fd7d9bd3Smrg 251350952b9Smrg/* Stack of input buffers. */ 252350952b9Smrgstatic size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ 253350952b9Smrgstatic size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ 254350952b9Smrgstatic YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ 255fd7d9bd3Smrg 256fd7d9bd3Smrg/* We provide macros for accessing buffer states in case in the 257fd7d9bd3Smrg * future we want to put the buffer states in a more general 258fd7d9bd3Smrg * "scanner state". 259350952b9Smrg * 260350952b9Smrg * Returns the top of the stack, or NULL. 261fd7d9bd3Smrg */ 262350952b9Smrg#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ 263350952b9Smrg ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ 264350952b9Smrg : NULL) 265fd7d9bd3Smrg 266350952b9Smrg/* Same as previous macro, but useful when we know that the buffer stack is not 267350952b9Smrg * NULL or when we need an lvalue. For internal use only. 268350952b9Smrg */ 269350952b9Smrg#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] 270fd7d9bd3Smrg 271fd7d9bd3Smrg/* yy_hold_char holds the character lost when yytext is formed. */ 272fd7d9bd3Smrgstatic char yy_hold_char; 273fd7d9bd3Smrgstatic int yy_n_chars; /* number of characters read into yy_ch_buf */ 274fd7d9bd3Smrgint yyleng; 275fd7d9bd3Smrg 276fd7d9bd3Smrg/* Points to current character in buffer. */ 277fd7d9bd3Smrgstatic char *yy_c_buf_p = (char *) 0; 278350952b9Smrgstatic int yy_init = 0; /* whether we need to initialize */ 279fd7d9bd3Smrgstatic int yy_start = 0; /* start state number */ 280fd7d9bd3Smrg 281fd7d9bd3Smrg/* Flag which is used to allow yywrap()'s to do buffer switches 282fd7d9bd3Smrg * instead of setting up a fresh yyin. A bit of a hack ... 283fd7d9bd3Smrg */ 284fd7d9bd3Smrgstatic int yy_did_buffer_switch_on_eof; 285fd7d9bd3Smrg 286350952b9Smrgvoid yyrestart (FILE *input_file ); 287350952b9Smrgvoid yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ); 288350952b9SmrgYY_BUFFER_STATE yy_create_buffer (FILE *file,int size ); 289350952b9Smrgvoid yy_delete_buffer (YY_BUFFER_STATE b ); 290350952b9Smrgvoid yy_flush_buffer (YY_BUFFER_STATE b ); 291350952b9Smrgvoid yypush_buffer_state (YY_BUFFER_STATE new_buffer ); 292350952b9Smrgvoid yypop_buffer_state (void ); 293350952b9Smrg 294350952b9Smrgstatic void yyensure_buffer_stack (void ); 295350952b9Smrgstatic void yy_load_buffer_state (void ); 296350952b9Smrgstatic void yy_init_buffer (YY_BUFFER_STATE b,FILE *file ); 297fd7d9bd3Smrg 298350952b9Smrg#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER ) 299fd7d9bd3Smrg 300350952b9SmrgYY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ); 301350952b9SmrgYY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ); 302350952b9SmrgYY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len ); 303fd7d9bd3Smrg 304350952b9Smrgvoid *yyalloc (yy_size_t ); 305350952b9Smrgvoid *yyrealloc (void *,yy_size_t ); 306350952b9Smrgvoid yyfree (void * ); 307fd7d9bd3Smrg 308fd7d9bd3Smrg#define yy_new_buffer yy_create_buffer 309fd7d9bd3Smrg 310fd7d9bd3Smrg#define yy_set_interactive(is_interactive) \ 311fd7d9bd3Smrg { \ 312350952b9Smrg if ( ! YY_CURRENT_BUFFER ){ \ 313350952b9Smrg yyensure_buffer_stack (); \ 314350952b9Smrg YY_CURRENT_BUFFER_LVALUE = \ 315350952b9Smrg yy_create_buffer(yyin,YY_BUF_SIZE ); \ 316350952b9Smrg } \ 317350952b9Smrg YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ 318fd7d9bd3Smrg } 319fd7d9bd3Smrg 320fd7d9bd3Smrg#define yy_set_bol(at_bol) \ 321fd7d9bd3Smrg { \ 322350952b9Smrg if ( ! YY_CURRENT_BUFFER ){\ 323350952b9Smrg yyensure_buffer_stack (); \ 324350952b9Smrg YY_CURRENT_BUFFER_LVALUE = \ 325350952b9Smrg yy_create_buffer(yyin,YY_BUF_SIZE ); \ 326350952b9Smrg } \ 327350952b9Smrg YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ 328fd7d9bd3Smrg } 329fd7d9bd3Smrg 330350952b9Smrg#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) 331350952b9Smrg 332350952b9Smrg/* Begin user sect3 */ 333fd7d9bd3Smrg 334fd7d9bd3Smrgtypedef unsigned char YY_CHAR; 335350952b9Smrg 336fd7d9bd3SmrgFILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; 337350952b9Smrg 338fd7d9bd3Smrgtypedef int yy_state_type; 339350952b9Smrg 340350952b9Smrgextern int yylineno; 341350952b9Smrg 342350952b9Smrgint yylineno = 1; 343350952b9Smrg 344fd7d9bd3Smrgextern char *yytext; 345fd7d9bd3Smrg#define yytext_ptr yytext 346fd7d9bd3Smrg 347350952b9Smrgstatic yy_state_type yy_get_previous_state (void ); 348350952b9Smrgstatic yy_state_type yy_try_NUL_trans (yy_state_type current_state ); 349350952b9Smrgstatic int yy_get_next_buffer (void ); 350350952b9Smrgstatic void yy_fatal_error (yyconst char msg[] ); 351fd7d9bd3Smrg 352fd7d9bd3Smrg/* Done after the current pattern has been matched and before the 353fd7d9bd3Smrg * corresponding action - sets up yytext. 354fd7d9bd3Smrg */ 355fd7d9bd3Smrg#define YY_DO_BEFORE_ACTION \ 356350952b9Smrg (yytext_ptr) = yy_bp; \ 357350952b9Smrg yyleng = (size_t) (yy_cp - yy_bp); \ 358350952b9Smrg (yy_hold_char) = *yy_cp; \ 359fd7d9bd3Smrg *yy_cp = '\0'; \ 360350952b9Smrg (yy_c_buf_p) = yy_cp; 361fd7d9bd3Smrg 362fd7d9bd3Smrg#define YY_NUM_RULES 72 363fd7d9bd3Smrg#define YY_END_OF_BUFFER 73 364350952b9Smrg/* This struct is not used in this scanner, 365350952b9Smrg but its presence is necessary. */ 366350952b9Smrgstruct yy_trans_info 367350952b9Smrg { 368350952b9Smrg flex_int32_t yy_verify; 369350952b9Smrg flex_int32_t yy_nxt; 370350952b9Smrg }; 371350952b9Smrgstatic yyconst flex_int16_t yy_accept[420] = 372fd7d9bd3Smrg { 0, 373fd7d9bd3Smrg 0, 0, 73, 70, 68, 69, 70, 70, 65, 70, 374fd7d9bd3Smrg 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 375fd7d9bd3Smrg 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 376fd7d9bd3Smrg 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 377fd7d9bd3Smrg 70, 70, 0, 66, 70, 70, 0, 67, 65, 70, 378fd7d9bd3Smrg 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 379fd7d9bd3Smrg 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 380fd7d9bd3Smrg 70, 70, 70, 70, 70, 10, 70, 70, 70, 70, 381fd7d9bd3Smrg 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 382fd7d9bd3Smrg 70, 70, 70, 70, 66, 0, 70, 0, 66, 70, 383fd7d9bd3Smrg 384fd7d9bd3Smrg 4, 70, 70, 70, 70, 70, 70, 70, 70, 70, 385fd7d9bd3Smrg 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 386fd7d9bd3Smrg 70, 70, 70, 70, 70, 11, 70, 70, 70, 70, 387fd7d9bd3Smrg 70, 70, 70, 70, 70, 70, 70, 70, 1, 18, 388fd7d9bd3Smrg 70, 70, 70, 70, 70, 9, 70, 70, 66, 0, 389fd7d9bd3Smrg 70, 70, 70, 70, 70, 41, 70, 70, 70, 6, 390fd7d9bd3Smrg 70, 70, 70, 70, 70, 63, 70, 70, 70, 70, 391fd7d9bd3Smrg 70, 70, 70, 70, 17, 8, 70, 70, 70, 70, 392fd7d9bd3Smrg 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 393fd7d9bd3Smrg 19, 70, 70, 6, 70, 70, 70, 70, 70, 45, 394fd7d9bd3Smrg 395fd7d9bd3Smrg 70, 56, 3, 70, 70, 70, 70, 70, 12, 70, 396fd7d9bd3Smrg 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 397fd7d9bd3Smrg 70, 44, 70, 70, 70, 70, 70, 70, 70, 70, 398fd7d9bd3Smrg 70, 70, 70, 70, 70, 70, 70, 70, 70, 46, 399fd7d9bd3Smrg 51, 70, 48, 70, 70, 70, 70, 70, 70, 70, 400fd7d9bd3Smrg 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 401fd7d9bd3Smrg 70, 70, 13, 70, 70, 70, 70, 70, 70, 70, 402fd7d9bd3Smrg 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 403fd7d9bd3Smrg 70, 70, 70, 70, 70, 70, 70, 55, 70, 70, 404fd7d9bd3Smrg 70, 70, 70, 70, 70, 53, 70, 70, 70, 70, 405fd7d9bd3Smrg 406fd7d9bd3Smrg 70, 70, 70, 70, 70, 70, 40, 70, 70, 70, 407fd7d9bd3Smrg 70, 64, 70, 70, 26, 70, 70, 70, 70, 70, 408fd7d9bd3Smrg 70, 70, 70, 70, 54, 70, 70, 70, 39, 20, 409fd7d9bd3Smrg 70, 70, 62, 70, 70, 52, 70, 70, 2, 31, 410fd7d9bd3Smrg 70, 70, 70, 70, 70, 70, 70, 70, 57, 70, 411fd7d9bd3Smrg 70, 23, 70, 70, 70, 70, 70, 30, 49, 70, 412fd7d9bd3Smrg 70, 70, 70, 21, 70, 70, 47, 70, 70, 43, 413fd7d9bd3Smrg 36, 60, 37, 70, 70, 14, 61, 70, 70, 22, 414fd7d9bd3Smrg 70, 70, 70, 32, 70, 70, 5, 59, 70, 38, 415fd7d9bd3Smrg 70, 58, 70, 33, 70, 16, 70, 70, 70, 70, 416fd7d9bd3Smrg 417fd7d9bd3Smrg 34, 42, 7, 70, 27, 35, 70, 29, 70, 70, 418fd7d9bd3Smrg 24, 15, 70, 28, 70, 70, 25, 50, 0 419fd7d9bd3Smrg } ; 420fd7d9bd3Smrg 421350952b9Smrgstatic yyconst flex_int32_t yy_ec[256] = 422fd7d9bd3Smrg { 0, 423fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 424fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 425fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 426fd7d9bd3Smrg 1, 2, 1, 4, 5, 1, 1, 1, 1, 1, 427fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 6, 7, 6, 428fd7d9bd3Smrg 6, 6, 6, 8, 6, 9, 6, 1, 1, 1, 429fd7d9bd3Smrg 1, 1, 1, 1, 10, 11, 12, 13, 14, 15, 430fd7d9bd3Smrg 16, 1, 17, 18, 1, 19, 20, 21, 22, 23, 431fd7d9bd3Smrg 1, 24, 25, 26, 1, 1, 27, 28, 1, 1, 432fd7d9bd3Smrg 1, 29, 1, 1, 1, 1, 30, 31, 32, 33, 433fd7d9bd3Smrg 434fd7d9bd3Smrg 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 435fd7d9bd3Smrg 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 436fd7d9bd3Smrg 54, 1, 1, 1, 1, 1, 1, 1, 1, 1, 437fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 438fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 439fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 440fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 441fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 442fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 443fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 444fd7d9bd3Smrg 445fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 446fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 447fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 448fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 449fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 450fd7d9bd3Smrg 1, 1, 1, 1, 1 451fd7d9bd3Smrg } ; 452fd7d9bd3Smrg 453350952b9Smrgstatic yyconst flex_int32_t yy_meta[55] = 454fd7d9bd3Smrg { 0, 455fd7d9bd3Smrg 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 456fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 457fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 458fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 459fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 460fd7d9bd3Smrg 1, 1, 1, 1 461fd7d9bd3Smrg } ; 462fd7d9bd3Smrg 463350952b9Smrgstatic yyconst flex_int16_t yy_base[427] = 464fd7d9bd3Smrg { 0, 465fd7d9bd3Smrg 0, 0, 498, 0, 499, 499, 53, 56, 54, 21, 466fd7d9bd3Smrg 35, 36, 37, 24, 34, 463, 44, 452, 457, 456, 467fd7d9bd3Smrg 44, 46, 56, 48, 61, 45, 455, 448, 461, 71, 468fd7d9bd3Smrg 460, 443, 58, 445, 69, 440, 70, 436, 451, 450, 469fd7d9bd3Smrg 0, 114, 103, 0, 117, 120, 480, 499, 118, 449, 470fd7d9bd3Smrg 449, 448, 428, 429, 432, 432, 441, 429, 425, 422, 471fd7d9bd3Smrg 421, 436, 428, 86, 425, 418, 436, 414, 426, 420, 472fd7d9bd3Smrg 413, 418, 87, 438, 429, 111, 411, 423, 426, 414, 473fd7d9bd3Smrg 410, 404, 402, 408, 401, 408, 410, 399, 405, 402, 474fd7d9bd3Smrg 397, 398, 401, 93, 499, 135, 145, 126, 148, 154, 475fd7d9bd3Smrg 476fd7d9bd3Smrg 136, 399, 400, 405, 389, 389, 389, 405, 380, 396, 477fd7d9bd3Smrg 401, 393, 387, 388, 379, 393, 394, 408, 388, 389, 478fd7d9bd3Smrg 379, 387, 386, 386, 373, 0, 398, 381, 369, 371, 479fd7d9bd3Smrg 379, 380, 386, 367, 355, 369, 390, 363, 0, 0, 480fd7d9bd3Smrg 367, 359, 354, 368, 368, 0, 346, 358, 137, 141, 481fd7d9bd3Smrg 355, 363, 352, 359, 353, 0, 344, 359, 344, 144, 482fd7d9bd3Smrg 349, 348, 337, 365, 139, 0, 350, 336, 342, 349, 483fd7d9bd3Smrg 335, 333, 111, 333, 0, 0, 349, 343, 327, 325, 484fd7d9bd3Smrg 324, 340, 332, 338, 165, 337, 328, 336, 335, 322, 485fd7d9bd3Smrg 0, 333, 327, 347, 121, 312, 311, 328, 313, 0, 486fd7d9bd3Smrg 487fd7d9bd3Smrg 305, 0, 0, 311, 314, 315, 317, 320, 0, 320, 488fd7d9bd3Smrg 308, 301, 301, 302, 310, 317, 320, 296, 295, 294, 489fd7d9bd3Smrg 304, 0, 293, 327, 305, 304, 303, 293, 297, 292, 490fd7d9bd3Smrg 286, 294, 293, 286, 295, 294, 293, 294, 295, 0, 491fd7d9bd3Smrg 0, 283, 0, 280, 288, 287, 286, 275, 277, 283, 492fd7d9bd3Smrg 265, 285, 266, 300, 279, 270, 269, 255, 264, 263, 493fd7d9bd3Smrg 270, 271, 0, 250, 249, 269, 252, 270, 274, 251, 494fd7d9bd3Smrg 250, 247, 263, 264, 261, 251, 248, 252, 257, 252, 495fd7d9bd3Smrg 234, 237, 249, 250, 247, 235, 234, 0, 230, 245, 496fd7d9bd3Smrg 248, 243, 233, 226, 244, 0, 219, 238, 230, 220, 497fd7d9bd3Smrg 498fd7d9bd3Smrg 226, 234, 214, 225, 224, 215, 0, 215, 213, 212, 499fd7d9bd3Smrg 212, 0, 225, 210, 0, 216, 222, 212, 205, 211, 500fd7d9bd3Smrg 203, 213, 216, 216, 0, 199, 199, 203, 0, 0, 501fd7d9bd3Smrg 198, 210, 0, 195, 206, 0, 207, 197, 0, 0, 502fd7d9bd3Smrg 190, 204, 203, 199, 198, 196, 199, 198, 0, 191, 503fd7d9bd3Smrg 155, 0, 181, 199, 194, 164, 184, 0, 0, 192, 504fd7d9bd3Smrg 191, 191, 174, 0, 185, 177, 0, 187, 169, 0, 505fd7d9bd3Smrg 0, 0, 0, 174, 185, 0, 0, 170, 182, 0, 506fd7d9bd3Smrg 172, 171, 205, 0, 176, 178, 0, 0, 176, 0, 507fd7d9bd3Smrg 166, 0, 200, 0, 162, 0, 174, 173, 168, 136, 508fd7d9bd3Smrg 509fd7d9bd3Smrg 0, 0, 0, 149, 0, 0, 140, 0, 123, 101, 510fd7d9bd3Smrg 0, 0, 80, 0, 75, 43, 0, 0, 499, 70, 511fd7d9bd3Smrg 191, 193, 195, 197, 199, 201 512fd7d9bd3Smrg } ; 513fd7d9bd3Smrg 514350952b9Smrgstatic yyconst flex_int16_t yy_def[427] = 515fd7d9bd3Smrg { 0, 516fd7d9bd3Smrg 419, 1, 419, 420, 419, 419, 421, 422, 420, 420, 517fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 518fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 519fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 520fd7d9bd3Smrg 420, 421, 423, 420, 424, 422, 425, 419, 420, 420, 521fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 522fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 523fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 524fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 525fd7d9bd3Smrg 420, 420, 420, 420, 419, 426, 421, 423, 421, 424, 526fd7d9bd3Smrg 527fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 528fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 529fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 530fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 531fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 423, 426, 532fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 533fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 534fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 535fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 536fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 537fd7d9bd3Smrg 538fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 539fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 540fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 541fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 542fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 543fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 544fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 545fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 546fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 547fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 548fd7d9bd3Smrg 549fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 550fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 551fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 552fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 553fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 554fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 555fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 556fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 557fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 558fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 559fd7d9bd3Smrg 560fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 561fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 0, 419, 562fd7d9bd3Smrg 419, 419, 419, 419, 419, 419 563fd7d9bd3Smrg } ; 564fd7d9bd3Smrg 565350952b9Smrgstatic yyconst flex_int16_t yy_nxt[554] = 566fd7d9bd3Smrg { 0, 567fd7d9bd3Smrg 4, 5, 6, 7, 8, 9, 9, 9, 9, 10, 568fd7d9bd3Smrg 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 569fd7d9bd3Smrg 21, 22, 23, 24, 25, 26, 27, 28, 4, 10, 570fd7d9bd3Smrg 29, 30, 31, 32, 33, 4, 4, 34, 18, 4, 571fd7d9bd3Smrg 19, 4, 35, 36, 37, 4, 38, 39, 40, 4, 572fd7d9bd3Smrg 4, 4, 28, 4, 43, 43, 44, 47, 48, 49, 573fd7d9bd3Smrg 49, 49, 49, 50, 52, 55, 59, 51, 53, 61, 574fd7d9bd3Smrg 41, 63, 56, 72, 62, 418, 57, 64, 88, 58, 575fd7d9bd3Smrg 60, 45, 89, 65, 54, 67, 68, 73, 74, 77, 576fd7d9bd3Smrg 75, 83, 76, 78, 85, 93, 79, 84, 72, 80, 577fd7d9bd3Smrg 578fd7d9bd3Smrg 55, 64, 81, 77, 86, 82, 95, 65, 417, 87, 579fd7d9bd3Smrg 79, 57, 94, 416, 92, 43, 43, 44, 98, 43, 580fd7d9bd3Smrg 99, 47, 48, 49, 49, 49, 49, 130, 115, 95, 581fd7d9bd3Smrg 125, 96, 116, 126, 131, 127, 125, 43, 149, 126, 582fd7d9bd3Smrg 95, 415, 45, 43, 149, 100, 43, 43, 44, 43, 583fd7d9bd3Smrg 43, 44, 151, 204, 96, 98, 43, 99, 220, 152, 584fd7d9bd3Smrg 205, 211, 221, 150, 378, 96, 206, 212, 213, 150, 585fd7d9bd3Smrg 383, 414, 384, 45, 231, 393, 45, 394, 379, 232, 586fd7d9bd3Smrg 413, 412, 100, 233, 411, 212, 213, 234, 235, 236, 587fd7d9bd3Smrg 237, 42, 42, 46, 46, 43, 43, 97, 97, 47, 588fd7d9bd3Smrg 589fd7d9bd3Smrg 47, 98, 98, 410, 409, 408, 407, 406, 405, 404, 590fd7d9bd3Smrg 403, 402, 401, 400, 399, 398, 397, 396, 395, 392, 591fd7d9bd3Smrg 391, 390, 389, 388, 387, 386, 385, 382, 381, 380, 592fd7d9bd3Smrg 377, 376, 375, 374, 373, 372, 371, 370, 369, 368, 593fd7d9bd3Smrg 367, 366, 365, 364, 363, 362, 361, 360, 359, 358, 594fd7d9bd3Smrg 357, 356, 355, 354, 353, 352, 351, 350, 349, 348, 595fd7d9bd3Smrg 347, 346, 345, 344, 343, 342, 341, 340, 339, 338, 596fd7d9bd3Smrg 337, 336, 335, 334, 333, 332, 331, 330, 329, 328, 597fd7d9bd3Smrg 327, 326, 325, 324, 323, 322, 321, 320, 319, 318, 598fd7d9bd3Smrg 317, 316, 315, 314, 313, 312, 311, 310, 309, 308, 599fd7d9bd3Smrg 600fd7d9bd3Smrg 307, 306, 305, 304, 303, 302, 301, 300, 299, 298, 601fd7d9bd3Smrg 297, 296, 295, 294, 293, 292, 291, 290, 289, 288, 602fd7d9bd3Smrg 287, 286, 285, 284, 283, 282, 281, 280, 279, 278, 603fd7d9bd3Smrg 277, 276, 275, 274, 273, 272, 271, 270, 269, 268, 604fd7d9bd3Smrg 267, 266, 265, 264, 263, 262, 261, 260, 259, 258, 605fd7d9bd3Smrg 257, 256, 255, 254, 253, 252, 251, 250, 249, 248, 606fd7d9bd3Smrg 247, 246, 245, 205, 244, 243, 242, 241, 240, 239, 607fd7d9bd3Smrg 238, 230, 229, 228, 227, 226, 225, 224, 223, 222, 608fd7d9bd3Smrg 219, 218, 217, 216, 215, 214, 210, 209, 208, 207, 609fd7d9bd3Smrg 203, 202, 201, 200, 199, 198, 197, 196, 195, 194, 610fd7d9bd3Smrg 611fd7d9bd3Smrg 193, 192, 191, 190, 189, 188, 187, 186, 185, 184, 612fd7d9bd3Smrg 183, 182, 181, 180, 179, 178, 177, 176, 175, 174, 613fd7d9bd3Smrg 173, 172, 171, 170, 169, 168, 167, 166, 165, 164, 614fd7d9bd3Smrg 163, 162, 161, 160, 159, 158, 157, 156, 155, 154, 615fd7d9bd3Smrg 153, 148, 147, 146, 145, 144, 143, 142, 141, 140, 616fd7d9bd3Smrg 139, 138, 137, 136, 135, 134, 133, 132, 129, 128, 617fd7d9bd3Smrg 124, 123, 122, 121, 120, 119, 118, 117, 114, 113, 618fd7d9bd3Smrg 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 619fd7d9bd3Smrg 102, 101, 48, 88, 85, 84, 76, 68, 61, 59, 620fd7d9bd3Smrg 52, 91, 90, 71, 70, 69, 66, 419, 3, 419, 621fd7d9bd3Smrg 622fd7d9bd3Smrg 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 623fd7d9bd3Smrg 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 624fd7d9bd3Smrg 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 625fd7d9bd3Smrg 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 626fd7d9bd3Smrg 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 627fd7d9bd3Smrg 419, 419, 419 628fd7d9bd3Smrg } ; 629fd7d9bd3Smrg 630350952b9Smrgstatic yyconst flex_int16_t yy_chk[554] = 631fd7d9bd3Smrg { 0, 632fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 633fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 634fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 635fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 636fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 637fd7d9bd3Smrg 1, 1, 1, 1, 7, 7, 7, 8, 8, 9, 638fd7d9bd3Smrg 9, 9, 9, 10, 11, 12, 13, 10, 11, 14, 639fd7d9bd3Smrg 420, 15, 12, 21, 14, 416, 12, 15, 26, 12, 640fd7d9bd3Smrg 13, 7, 26, 15, 11, 17, 17, 21, 22, 23, 641fd7d9bd3Smrg 22, 24, 22, 23, 25, 33, 23, 24, 35, 23, 642fd7d9bd3Smrg 643fd7d9bd3Smrg 30, 33, 23, 37, 25, 23, 43, 33, 415, 25, 644fd7d9bd3Smrg 37, 30, 35, 413, 30, 42, 42, 42, 45, 45, 645fd7d9bd3Smrg 45, 46, 46, 49, 49, 49, 49, 76, 64, 98, 646fd7d9bd3Smrg 73, 43, 64, 73, 76, 73, 94, 96, 96, 94, 647fd7d9bd3Smrg 149, 410, 42, 150, 150, 45, 97, 97, 97, 99, 648fd7d9bd3Smrg 99, 99, 101, 160, 98, 100, 100, 100, 173, 101, 649fd7d9bd3Smrg 160, 165, 173, 96, 351, 149, 160, 195, 195, 150, 650fd7d9bd3Smrg 356, 409, 356, 97, 185, 369, 99, 369, 351, 185, 651fd7d9bd3Smrg 407, 404, 100, 185, 400, 165, 165, 185, 185, 185, 652fd7d9bd3Smrg 185, 421, 421, 422, 422, 423, 423, 424, 424, 425, 653fd7d9bd3Smrg 654fd7d9bd3Smrg 425, 426, 426, 399, 398, 397, 395, 393, 391, 389, 655fd7d9bd3Smrg 386, 385, 383, 382, 381, 379, 378, 375, 374, 368, 656fd7d9bd3Smrg 366, 365, 363, 362, 361, 360, 357, 355, 354, 353, 657fd7d9bd3Smrg 350, 348, 347, 346, 345, 344, 343, 342, 341, 338, 658fd7d9bd3Smrg 337, 335, 334, 332, 331, 328, 327, 326, 324, 323, 659fd7d9bd3Smrg 322, 321, 320, 319, 318, 317, 316, 314, 313, 311, 660fd7d9bd3Smrg 310, 309, 308, 306, 305, 304, 303, 302, 301, 300, 661fd7d9bd3Smrg 299, 298, 297, 295, 294, 293, 292, 291, 290, 289, 662fd7d9bd3Smrg 287, 286, 285, 284, 283, 282, 281, 280, 279, 278, 663fd7d9bd3Smrg 277, 276, 275, 274, 273, 272, 271, 270, 269, 268, 664fd7d9bd3Smrg 665fd7d9bd3Smrg 267, 266, 265, 264, 262, 261, 260, 259, 258, 257, 666fd7d9bd3Smrg 256, 255, 254, 253, 252, 251, 250, 249, 248, 247, 667fd7d9bd3Smrg 246, 245, 244, 242, 239, 238, 237, 236, 235, 234, 668fd7d9bd3Smrg 233, 232, 231, 230, 229, 228, 227, 226, 225, 224, 669fd7d9bd3Smrg 223, 221, 220, 219, 218, 217, 216, 215, 214, 213, 670fd7d9bd3Smrg 212, 211, 210, 208, 207, 206, 205, 204, 201, 199, 671fd7d9bd3Smrg 198, 197, 196, 194, 193, 192, 190, 189, 188, 187, 672fd7d9bd3Smrg 186, 184, 183, 182, 181, 180, 179, 178, 177, 174, 673fd7d9bd3Smrg 172, 171, 170, 169, 168, 167, 164, 163, 162, 161, 674fd7d9bd3Smrg 159, 158, 157, 155, 154, 153, 152, 151, 148, 147, 675fd7d9bd3Smrg 676fd7d9bd3Smrg 145, 144, 143, 142, 141, 138, 137, 136, 135, 134, 677fd7d9bd3Smrg 133, 132, 131, 130, 129, 128, 127, 125, 124, 123, 678fd7d9bd3Smrg 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 679fd7d9bd3Smrg 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 680fd7d9bd3Smrg 102, 93, 92, 91, 90, 89, 88, 87, 86, 85, 681fd7d9bd3Smrg 84, 83, 82, 81, 80, 79, 78, 77, 75, 74, 682fd7d9bd3Smrg 72, 71, 70, 69, 68, 67, 66, 65, 63, 62, 683fd7d9bd3Smrg 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 684fd7d9bd3Smrg 51, 50, 47, 40, 39, 38, 36, 34, 32, 31, 685fd7d9bd3Smrg 29, 28, 27, 20, 19, 18, 16, 3, 419, 419, 686fd7d9bd3Smrg 687fd7d9bd3Smrg 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 688fd7d9bd3Smrg 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 689fd7d9bd3Smrg 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 690fd7d9bd3Smrg 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 691fd7d9bd3Smrg 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 692fd7d9bd3Smrg 419, 419, 419 693fd7d9bd3Smrg } ; 694fd7d9bd3Smrg 695fd7d9bd3Smrgstatic yy_state_type yy_last_accepting_state; 696fd7d9bd3Smrgstatic char *yy_last_accepting_cpos; 697fd7d9bd3Smrg 698350952b9Smrgextern int yy_flex_debug; 699350952b9Smrgint yy_flex_debug = 0; 700350952b9Smrg 701fd7d9bd3Smrg/* The intent behind this definition is that it'll catch 702fd7d9bd3Smrg * any uses of REJECT which flex missed. 703fd7d9bd3Smrg */ 704fd7d9bd3Smrg#define REJECT reject_used_but_not_detected 705fd7d9bd3Smrg#define yymore() yymore_used_but_not_detected 706fd7d9bd3Smrg#define YY_MORE_ADJ 0 707fd7d9bd3Smrg#define YY_RESTORE_YY_MORE_OFFSET 708fd7d9bd3Smrgchar *yytext; 709fd7d9bd3Smrg#line 1 "lex.l" 710fd7d9bd3Smrg/* $XConsortium: lex.l,v 1.8 94/03/31 20:40:44 rws Exp $ */ 711fd7d9bd3Smrg/* $XFree86: xc/programs/xgc/lex.l,v 1.3 2000/04/05 18:14:07 dawes Exp $ */ 712fd7d9bd3Smrg/* 713fd7d9bd3Smrg** lex file for xgc syntax 714fd7d9bd3Smrg*/ 715fd7d9bd3Smrg/* Lots of stuff stolen from gwm's wool.lex */ 716fd7d9bd3Smrg#line 10 "lex.l" 717fd7d9bd3Smrg 718fd7d9bd3Smrg#include <X11/X.h> 719fd7d9bd3Smrg#include <stdlib.h> 720fd7d9bd3Smrg#include "gram.h" 721fd7d9bd3Smrg#include "constants.h" 722fd7d9bd3Smrg#if defined(FLEX_SCANNER) && !defined(YY_FLEX_LEX_COMPAT) && !defined(__UNIXOS2__) 723fd7d9bd3Smrgint yylineno; 724fd7d9bd3Smrg#endif 725350952b9Smrg#line 726 "lex.c" 726350952b9Smrg 727350952b9Smrg#define INITIAL 0 728350952b9Smrg 729350952b9Smrg#ifndef YY_NO_UNISTD_H 730350952b9Smrg/* Special case for "unistd.h", since it is non-ANSI. We include it way 731350952b9Smrg * down here because we want the user's section 1 to have been scanned first. 732350952b9Smrg * The user has a chance to override it with an option. 733350952b9Smrg */ 734350952b9Smrg#include <unistd.h> 735350952b9Smrg#endif 736350952b9Smrg 737350952b9Smrg#ifndef YY_EXTRA_TYPE 738350952b9Smrg#define YY_EXTRA_TYPE void * 739350952b9Smrg#endif 740350952b9Smrg 741350952b9Smrgstatic int yy_init_globals (void ); 742350952b9Smrg 743350952b9Smrg/* Accessor methods to globals. 744350952b9Smrg These are made visible to non-reentrant scanners for convenience. */ 745350952b9Smrg 746350952b9Smrgint yylex_destroy (void ); 747350952b9Smrg 748350952b9Smrgint yyget_debug (void ); 749350952b9Smrg 750350952b9Smrgvoid yyset_debug (int debug_flag ); 751350952b9Smrg 752350952b9SmrgYY_EXTRA_TYPE yyget_extra (void ); 753350952b9Smrg 754350952b9Smrgvoid yyset_extra (YY_EXTRA_TYPE user_defined ); 755350952b9Smrg 756350952b9SmrgFILE *yyget_in (void ); 757350952b9Smrg 758350952b9Smrgvoid yyset_in (FILE * in_str ); 759350952b9Smrg 760350952b9SmrgFILE *yyget_out (void ); 761350952b9Smrg 762350952b9Smrgvoid yyset_out (FILE * out_str ); 763350952b9Smrg 764350952b9Smrgint yyget_leng (void ); 765350952b9Smrg 766350952b9Smrgchar *yyget_text (void ); 767350952b9Smrg 768350952b9Smrgint yyget_lineno (void ); 769350952b9Smrg 770350952b9Smrgvoid yyset_lineno (int line_number ); 771fd7d9bd3Smrg 772fd7d9bd3Smrg/* Macros after this point can all be overridden by user definitions in 773fd7d9bd3Smrg * section 1. 774fd7d9bd3Smrg */ 775fd7d9bd3Smrg 776fd7d9bd3Smrg#ifndef YY_SKIP_YYWRAP 777fd7d9bd3Smrg#ifdef __cplusplus 778350952b9Smrgextern "C" int yywrap (void ); 779fd7d9bd3Smrg#else 780350952b9Smrgextern int yywrap (void ); 781fd7d9bd3Smrg#endif 782fd7d9bd3Smrg#endif 783fd7d9bd3Smrg 784350952b9Smrg static void yyunput (int c,char *buf_ptr ); 785350952b9Smrg 786fd7d9bd3Smrg#ifndef yytext_ptr 787350952b9Smrgstatic void yy_flex_strncpy (char *,yyconst char *,int ); 788fd7d9bd3Smrg#endif 789fd7d9bd3Smrg 790fd7d9bd3Smrg#ifdef YY_NEED_STRLEN 791350952b9Smrgstatic int yy_flex_strlen (yyconst char * ); 792fd7d9bd3Smrg#endif 793fd7d9bd3Smrg 794fd7d9bd3Smrg#ifndef YY_NO_INPUT 795fd7d9bd3Smrg 796350952b9Smrg#ifdef __cplusplus 797350952b9Smrgstatic int yyinput (void ); 798fd7d9bd3Smrg#else 799350952b9Smrgstatic int input (void ); 800fd7d9bd3Smrg#endif 801fd7d9bd3Smrg 802fd7d9bd3Smrg#endif 803fd7d9bd3Smrg 804fd7d9bd3Smrg/* Amount of stuff to slurp up with each read. */ 805fd7d9bd3Smrg#ifndef YY_READ_BUF_SIZE 806fd7d9bd3Smrg#define YY_READ_BUF_SIZE 8192 807fd7d9bd3Smrg#endif 808fd7d9bd3Smrg 809fd7d9bd3Smrg/* Copy whatever the last rule matched to the standard output. */ 810fd7d9bd3Smrg#ifndef ECHO 811fd7d9bd3Smrg/* This used to be an fputs(), but since the string might contain NUL's, 812fd7d9bd3Smrg * we now use fwrite(). 813fd7d9bd3Smrg */ 814350952b9Smrg#define ECHO fwrite( yytext, yyleng, 1, yyout ) 815fd7d9bd3Smrg#endif 816fd7d9bd3Smrg 817fd7d9bd3Smrg/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, 818fd7d9bd3Smrg * is returned in "result". 819fd7d9bd3Smrg */ 820fd7d9bd3Smrg#ifndef YY_INPUT 821fd7d9bd3Smrg#define YY_INPUT(buf,result,max_size) \ 822350952b9Smrg if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ 823fd7d9bd3Smrg { \ 824350952b9Smrg int c = '*'; \ 825350952b9Smrg int n; \ 826fd7d9bd3Smrg for ( n = 0; n < max_size && \ 827fd7d9bd3Smrg (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ 828fd7d9bd3Smrg buf[n] = (char) c; \ 829fd7d9bd3Smrg if ( c == '\n' ) \ 830fd7d9bd3Smrg buf[n++] = (char) c; \ 831fd7d9bd3Smrg if ( c == EOF && ferror( yyin ) ) \ 832fd7d9bd3Smrg YY_FATAL_ERROR( "input in flex scanner failed" ); \ 833fd7d9bd3Smrg result = n; \ 834fd7d9bd3Smrg } \ 835350952b9Smrg else \ 836350952b9Smrg { \ 837350952b9Smrg errno=0; \ 838350952b9Smrg while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ 839350952b9Smrg { \ 840350952b9Smrg if( errno != EINTR) \ 841350952b9Smrg { \ 842350952b9Smrg YY_FATAL_ERROR( "input in flex scanner failed" ); \ 843350952b9Smrg break; \ 844350952b9Smrg } \ 845350952b9Smrg errno=0; \ 846350952b9Smrg clearerr(yyin); \ 847350952b9Smrg } \ 848350952b9Smrg }\ 849350952b9Smrg\ 850350952b9Smrg 851fd7d9bd3Smrg#endif 852fd7d9bd3Smrg 853fd7d9bd3Smrg/* No semi-colon after return; correct usage is to write "yyterminate();" - 854fd7d9bd3Smrg * we don't want an extra ';' after the "return" because that will cause 855fd7d9bd3Smrg * some compilers to complain about unreachable statements. 856fd7d9bd3Smrg */ 857fd7d9bd3Smrg#ifndef yyterminate 858fd7d9bd3Smrg#define yyterminate() return YY_NULL 859fd7d9bd3Smrg#endif 860fd7d9bd3Smrg 861fd7d9bd3Smrg/* Number of entries by which start-condition stack grows. */ 862fd7d9bd3Smrg#ifndef YY_START_STACK_INCR 863fd7d9bd3Smrg#define YY_START_STACK_INCR 25 864fd7d9bd3Smrg#endif 865fd7d9bd3Smrg 866fd7d9bd3Smrg/* Report a fatal error. */ 867fd7d9bd3Smrg#ifndef YY_FATAL_ERROR 868fd7d9bd3Smrg#define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) 869fd7d9bd3Smrg#endif 870fd7d9bd3Smrg 871350952b9Smrg/* end tables serialization structures and prototypes */ 872350952b9Smrg 873fd7d9bd3Smrg/* Default declaration of generated scanner - a define so the user can 874fd7d9bd3Smrg * easily add parameters. 875fd7d9bd3Smrg */ 876fd7d9bd3Smrg#ifndef YY_DECL 877350952b9Smrg#define YY_DECL_IS_OURS 1 878350952b9Smrg 879350952b9Smrgextern int yylex (void); 880350952b9Smrg 881350952b9Smrg#define YY_DECL int yylex (void) 882350952b9Smrg#endif /* !YY_DECL */ 883fd7d9bd3Smrg 884fd7d9bd3Smrg/* Code executed at the beginning of each rule, after yytext and yyleng 885fd7d9bd3Smrg * have been set up. 886fd7d9bd3Smrg */ 887fd7d9bd3Smrg#ifndef YY_USER_ACTION 888fd7d9bd3Smrg#define YY_USER_ACTION 889fd7d9bd3Smrg#endif 890fd7d9bd3Smrg 891fd7d9bd3Smrg/* Code executed at the end of each rule. */ 892fd7d9bd3Smrg#ifndef YY_BREAK 893fd7d9bd3Smrg#define YY_BREAK break; 894fd7d9bd3Smrg#endif 895fd7d9bd3Smrg 896fd7d9bd3Smrg#define YY_RULE_SETUP \ 897fd7d9bd3Smrg YY_USER_ACTION 898fd7d9bd3Smrg 899350952b9Smrg/** The main scanner function which does all the work. 900350952b9Smrg */ 901fd7d9bd3SmrgYY_DECL 902350952b9Smrg{ 903fd7d9bd3Smrg register yy_state_type yy_current_state; 904350952b9Smrg register char *yy_cp, *yy_bp; 905fd7d9bd3Smrg register int yy_act; 906350952b9Smrg 907fd7d9bd3Smrg#line 27 "lex.l" 908fd7d9bd3Smrg 909fd7d9bd3Smrg 910350952b9Smrg#line 911 "lex.c" 911fd7d9bd3Smrg 912350952b9Smrg if ( !(yy_init) ) 913fd7d9bd3Smrg { 914350952b9Smrg (yy_init) = 1; 915fd7d9bd3Smrg 916fd7d9bd3Smrg#ifdef YY_USER_INIT 917fd7d9bd3Smrg YY_USER_INIT; 918fd7d9bd3Smrg#endif 919fd7d9bd3Smrg 920350952b9Smrg if ( ! (yy_start) ) 921350952b9Smrg (yy_start) = 1; /* first start state */ 922fd7d9bd3Smrg 923fd7d9bd3Smrg if ( ! yyin ) 924fd7d9bd3Smrg yyin = stdin; 925fd7d9bd3Smrg 926fd7d9bd3Smrg if ( ! yyout ) 927fd7d9bd3Smrg yyout = stdout; 928fd7d9bd3Smrg 929350952b9Smrg if ( ! YY_CURRENT_BUFFER ) { 930350952b9Smrg yyensure_buffer_stack (); 931350952b9Smrg YY_CURRENT_BUFFER_LVALUE = 932350952b9Smrg yy_create_buffer(yyin,YY_BUF_SIZE ); 933350952b9Smrg } 934fd7d9bd3Smrg 935350952b9Smrg yy_load_buffer_state( ); 936fd7d9bd3Smrg } 937fd7d9bd3Smrg 938fd7d9bd3Smrg while ( 1 ) /* loops until end-of-file is reached */ 939fd7d9bd3Smrg { 940350952b9Smrg yy_cp = (yy_c_buf_p); 941fd7d9bd3Smrg 942fd7d9bd3Smrg /* Support of yytext. */ 943350952b9Smrg *yy_cp = (yy_hold_char); 944fd7d9bd3Smrg 945fd7d9bd3Smrg /* yy_bp points to the position in yy_ch_buf of the start of 946fd7d9bd3Smrg * the current run. 947fd7d9bd3Smrg */ 948fd7d9bd3Smrg yy_bp = yy_cp; 949fd7d9bd3Smrg 950350952b9Smrg yy_current_state = (yy_start); 951fd7d9bd3Smrgyy_match: 952fd7d9bd3Smrg do 953fd7d9bd3Smrg { 954fd7d9bd3Smrg register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; 955fd7d9bd3Smrg if ( yy_accept[yy_current_state] ) 956fd7d9bd3Smrg { 957350952b9Smrg (yy_last_accepting_state) = yy_current_state; 958350952b9Smrg (yy_last_accepting_cpos) = yy_cp; 959fd7d9bd3Smrg } 960fd7d9bd3Smrg while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 961fd7d9bd3Smrg { 962fd7d9bd3Smrg yy_current_state = (int) yy_def[yy_current_state]; 963fd7d9bd3Smrg if ( yy_current_state >= 420 ) 964fd7d9bd3Smrg yy_c = yy_meta[(unsigned int) yy_c]; 965fd7d9bd3Smrg } 966fd7d9bd3Smrg yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 967fd7d9bd3Smrg ++yy_cp; 968fd7d9bd3Smrg } 969fd7d9bd3Smrg while ( yy_base[yy_current_state] != 499 ); 970fd7d9bd3Smrg 971fd7d9bd3Smrgyy_find_action: 972fd7d9bd3Smrg yy_act = yy_accept[yy_current_state]; 973fd7d9bd3Smrg if ( yy_act == 0 ) 974fd7d9bd3Smrg { /* have to back up */ 975350952b9Smrg yy_cp = (yy_last_accepting_cpos); 976350952b9Smrg yy_current_state = (yy_last_accepting_state); 977fd7d9bd3Smrg yy_act = yy_accept[yy_current_state]; 978fd7d9bd3Smrg } 979fd7d9bd3Smrg 980fd7d9bd3Smrg YY_DO_BEFORE_ACTION; 981fd7d9bd3Smrg 982fd7d9bd3Smrgdo_action: /* This label is used only to access EOF actions. */ 983fd7d9bd3Smrg 984fd7d9bd3Smrg switch ( yy_act ) 985fd7d9bd3Smrg { /* beginning of action switch */ 986fd7d9bd3Smrg case 0: /* must back up */ 987fd7d9bd3Smrg /* undo the effects of YY_DO_BEFORE_ACTION */ 988350952b9Smrg *yy_cp = (yy_hold_char); 989350952b9Smrg yy_cp = (yy_last_accepting_cpos); 990350952b9Smrg yy_current_state = (yy_last_accepting_state); 991fd7d9bd3Smrg goto yy_find_action; 992fd7d9bd3Smrg 993fd7d9bd3Smrgcase 1: 994fd7d9bd3SmrgYY_RULE_SETUP 995fd7d9bd3Smrg#line 29 "lex.l" 996fd7d9bd3Smrg{ return (RUN); } 997fd7d9bd3Smrg YY_BREAK 998fd7d9bd3Smrgcase 2: 999fd7d9bd3SmrgYY_RULE_SETUP 1000fd7d9bd3Smrg#line 31 "lex.l" 1001fd7d9bd3Smrg{ return (FUNCTION); } 1002fd7d9bd3Smrg YY_BREAK 1003fd7d9bd3Smrgcase 3: 1004fd7d9bd3SmrgYY_RULE_SETUP 1005fd7d9bd3Smrg#line 32 "lex.l" 1006fd7d9bd3Smrg{ yylval.num = GXclear; 1007fd7d9bd3Smrg return (FUNCTIONTYPE); } 1008fd7d9bd3Smrg YY_BREAK 1009fd7d9bd3Smrgcase 4: 1010fd7d9bd3SmrgYY_RULE_SETUP 1011fd7d9bd3Smrg#line 34 "lex.l" 1012fd7d9bd3Smrg{ yylval.num = GXand; 1013fd7d9bd3Smrg return (FUNCTIONTYPE); } 1014fd7d9bd3Smrg YY_BREAK 1015fd7d9bd3Smrgcase 5: 1016fd7d9bd3SmrgYY_RULE_SETUP 1017fd7d9bd3Smrg#line 36 "lex.l" 1018fd7d9bd3Smrg{ yylval.num = GXandReverse; 1019fd7d9bd3Smrg return (FUNCTIONTYPE); } 1020fd7d9bd3Smrg YY_BREAK 1021fd7d9bd3Smrgcase 6: 1022fd7d9bd3SmrgYY_RULE_SETUP 1023fd7d9bd3Smrg#line 38 "lex.l" 1024fd7d9bd3Smrg{ yylval.num = GXcopy; 1025fd7d9bd3Smrg return (FUNCTIONTYPE); } 1026fd7d9bd3Smrg YY_BREAK 1027fd7d9bd3Smrgcase 7: 1028fd7d9bd3SmrgYY_RULE_SETUP 1029fd7d9bd3Smrg#line 40 "lex.l" 1030fd7d9bd3Smrg{ yylval.num = GXandInverted; 1031fd7d9bd3Smrg return (FUNCTIONTYPE); } 1032fd7d9bd3Smrg YY_BREAK 1033fd7d9bd3Smrgcase 8: 1034fd7d9bd3SmrgYY_RULE_SETUP 1035fd7d9bd3Smrg#line 42 "lex.l" 1036fd7d9bd3Smrg{ yylval.num = GXnoop; 1037fd7d9bd3Smrg return (FUNCTIONTYPE); } 1038fd7d9bd3Smrg YY_BREAK 1039fd7d9bd3Smrgcase 9: 1040fd7d9bd3SmrgYY_RULE_SETUP 1041fd7d9bd3Smrg#line 44 "lex.l" 1042fd7d9bd3Smrg{ yylval.num = GXxor; 1043fd7d9bd3Smrg return (FUNCTIONTYPE); } 1044fd7d9bd3Smrg YY_BREAK 1045fd7d9bd3Smrgcase 10: 1046fd7d9bd3SmrgYY_RULE_SETUP 1047fd7d9bd3Smrg#line 46 "lex.l" 1048fd7d9bd3Smrg{ yylval.num = GXor; 1049fd7d9bd3Smrg return (FUNCTIONTYPE); } 1050fd7d9bd3Smrg YY_BREAK 1051fd7d9bd3Smrgcase 11: 1052fd7d9bd3SmrgYY_RULE_SETUP 1053fd7d9bd3Smrg#line 48 "lex.l" 1054fd7d9bd3Smrg{ yylval.num = GXnor; 1055fd7d9bd3Smrg return (FUNCTIONTYPE); } 1056fd7d9bd3Smrg YY_BREAK 1057fd7d9bd3Smrgcase 12: 1058fd7d9bd3SmrgYY_RULE_SETUP 1059fd7d9bd3Smrg#line 50 "lex.l" 1060fd7d9bd3Smrg{ yylval.num = GXequiv; 1061fd7d9bd3Smrg return (FUNCTIONTYPE); } 1062fd7d9bd3Smrg YY_BREAK 1063fd7d9bd3Smrgcase 13: 1064fd7d9bd3SmrgYY_RULE_SETUP 1065fd7d9bd3Smrg#line 52 "lex.l" 1066fd7d9bd3Smrg{ yylval.num = GXinvert; 1067fd7d9bd3Smrg return (FUNCTIONTYPE); } 1068fd7d9bd3Smrg YY_BREAK 1069fd7d9bd3Smrgcase 14: 1070fd7d9bd3SmrgYY_RULE_SETUP 1071fd7d9bd3Smrg#line 54 "lex.l" 1072fd7d9bd3Smrg{ yylval.num = GXorReverse; 1073fd7d9bd3Smrg return (FUNCTIONTYPE); } 1074fd7d9bd3Smrg YY_BREAK 1075fd7d9bd3Smrgcase 15: 1076fd7d9bd3SmrgYY_RULE_SETUP 1077fd7d9bd3Smrg#line 56 "lex.l" 1078fd7d9bd3Smrg{ yylval.num = GXcopyInverted; 1079fd7d9bd3Smrg return (FUNCTIONTYPE); } 1080fd7d9bd3Smrg YY_BREAK 1081fd7d9bd3Smrgcase 16: 1082fd7d9bd3SmrgYY_RULE_SETUP 1083fd7d9bd3Smrg#line 58 "lex.l" 1084fd7d9bd3Smrg{ yylval.num = GXorInverted; 1085fd7d9bd3Smrg return (FUNCTIONTYPE); } 1086fd7d9bd3Smrg YY_BREAK 1087fd7d9bd3Smrgcase 17: 1088fd7d9bd3SmrgYY_RULE_SETUP 1089fd7d9bd3Smrg#line 60 "lex.l" 1090fd7d9bd3Smrg{ yylval.num = GXnand; 1091fd7d9bd3Smrg return (FUNCTIONTYPE); } 1092fd7d9bd3Smrg YY_BREAK 1093fd7d9bd3Smrgcase 18: 1094fd7d9bd3SmrgYY_RULE_SETUP 1095fd7d9bd3Smrg#line 62 "lex.l" 1096fd7d9bd3Smrg{ yylval.num = GXset; 1097fd7d9bd3Smrg return (FUNCTIONTYPE); } 1098fd7d9bd3Smrg YY_BREAK 1099fd7d9bd3Smrgcase 19: 1100fd7d9bd3SmrgYY_RULE_SETUP 1101fd7d9bd3Smrg#line 65 "lex.l" 1102fd7d9bd3Smrg{ return (TEST); } 1103fd7d9bd3Smrg YY_BREAK 1104fd7d9bd3Smrgcase 20: 1105fd7d9bd3SmrgYY_RULE_SETUP 1106fd7d9bd3Smrg#line 66 "lex.l" 1107fd7d9bd3Smrg{ yylval.num = CopyArea; 1108fd7d9bd3Smrg return (TESTTYPE); } 1109fd7d9bd3Smrg YY_BREAK 1110fd7d9bd3Smrgcase 21: 1111fd7d9bd3SmrgYY_RULE_SETUP 1112fd7d9bd3Smrg#line 68 "lex.l" 1113fd7d9bd3Smrg{ yylval.num = CopyPlane; 1114fd7d9bd3Smrg return (TESTTYPE); } 1115fd7d9bd3Smrg YY_BREAK 1116fd7d9bd3Smrgcase 22: 1117fd7d9bd3SmrgYY_RULE_SETUP 1118fd7d9bd3Smrg#line 70 "lex.l" 1119fd7d9bd3Smrg{ yylval.num = PolyPoint; 1120fd7d9bd3Smrg return (TESTTYPE); } 1121fd7d9bd3Smrg YY_BREAK 1122fd7d9bd3Smrgcase 23: 1123fd7d9bd3SmrgYY_RULE_SETUP 1124fd7d9bd3Smrg#line 72 "lex.l" 1125fd7d9bd3Smrg{ yylval.num = PolyLine; 1126fd7d9bd3Smrg return (TESTTYPE); } 1127fd7d9bd3Smrg YY_BREAK 1128fd7d9bd3Smrgcase 24: 1129fd7d9bd3SmrgYY_RULE_SETUP 1130fd7d9bd3Smrg#line 74 "lex.l" 1131fd7d9bd3Smrg{ yylval.num = PolySegment; 1132fd7d9bd3Smrg return (TESTTYPE); } 1133fd7d9bd3Smrg YY_BREAK 1134fd7d9bd3Smrgcase 25: 1135fd7d9bd3SmrgYY_RULE_SETUP 1136fd7d9bd3Smrg#line 76 "lex.l" 1137fd7d9bd3Smrg{ yylval.num = PolyRectangle; 1138fd7d9bd3Smrg return (TESTTYPE); } 1139fd7d9bd3Smrg YY_BREAK 1140fd7d9bd3Smrgcase 26: 1141fd7d9bd3SmrgYY_RULE_SETUP 1142fd7d9bd3Smrg#line 78 "lex.l" 1143fd7d9bd3Smrg{ yylval.num = PolyArc; 1144fd7d9bd3Smrg return (TESTTYPE); } 1145fd7d9bd3Smrg YY_BREAK 1146fd7d9bd3Smrgcase 27: 1147fd7d9bd3SmrgYY_RULE_SETUP 1148fd7d9bd3Smrg#line 80 "lex.l" 1149fd7d9bd3Smrg{ yylval.num = FillPolygon; 1150fd7d9bd3Smrg return (TESTTYPE); } 1151fd7d9bd3Smrg YY_BREAK 1152fd7d9bd3Smrgcase 28: 1153fd7d9bd3SmrgYY_RULE_SETUP 1154fd7d9bd3Smrg#line 82 "lex.l" 1155fd7d9bd3Smrg{ yylval.num = PolyFillRect; 1156fd7d9bd3Smrg return (TESTTYPE); } 1157fd7d9bd3Smrg YY_BREAK 1158fd7d9bd3Smrgcase 29: 1159fd7d9bd3SmrgYY_RULE_SETUP 1160fd7d9bd3Smrg#line 84 "lex.l" 1161fd7d9bd3Smrg{ yylval.num = PolyFillArc; 1162fd7d9bd3Smrg return (TESTTYPE); } 1163fd7d9bd3Smrg YY_BREAK 1164fd7d9bd3Smrgcase 30: 1165fd7d9bd3SmrgYY_RULE_SETUP 1166fd7d9bd3Smrg#line 86 "lex.l" 1167fd7d9bd3Smrg{ yylval.num = PutImage; 1168fd7d9bd3Smrg return (TESTTYPE); } 1169fd7d9bd3Smrg YY_BREAK 1170fd7d9bd3Smrgcase 31: 1171fd7d9bd3SmrgYY_RULE_SETUP 1172fd7d9bd3Smrg#line 88 "lex.l" 1173fd7d9bd3Smrg{ yylval.num = GetImage; 1174fd7d9bd3Smrg return (TESTTYPE); } 1175fd7d9bd3Smrg YY_BREAK 1176fd7d9bd3Smrgcase 32: 1177fd7d9bd3SmrgYY_RULE_SETUP 1178fd7d9bd3Smrg#line 90 "lex.l" 1179fd7d9bd3Smrg{ yylval.num = PolyText8; 1180fd7d9bd3Smrg return (TESTTYPE); } 1181fd7d9bd3Smrg YY_BREAK 1182fd7d9bd3Smrgcase 33: 1183fd7d9bd3SmrgYY_RULE_SETUP 1184fd7d9bd3Smrg#line 92 "lex.l" 1185fd7d9bd3Smrg{ yylval.num = ImageText8; 1186fd7d9bd3Smrg return (TESTTYPE); } 1187fd7d9bd3Smrg YY_BREAK 1188fd7d9bd3Smrgcase 34: 1189fd7d9bd3SmrgYY_RULE_SETUP 1190fd7d9bd3Smrg#line 94 "lex.l" 1191fd7d9bd3Smrg{ yylval.num = PolyText16; 1192fd7d9bd3Smrg return (TESTTYPE); } 1193fd7d9bd3Smrg YY_BREAK 1194fd7d9bd3Smrgcase 35: 1195fd7d9bd3SmrgYY_RULE_SETUP 1196fd7d9bd3Smrg#line 96 "lex.l" 1197fd7d9bd3Smrg{ yylval.num = ImageText16; 1198fd7d9bd3Smrg return (TESTTYPE); } 1199fd7d9bd3Smrg YY_BREAK 1200fd7d9bd3Smrgcase 36: 1201fd7d9bd3SmrgYY_RULE_SETUP 1202fd7d9bd3Smrg#line 99 "lex.l" 1203fd7d9bd3Smrg{ return (LINESTYLE); } 1204fd7d9bd3Smrg YY_BREAK 1205fd7d9bd3Smrgcase 37: 1206fd7d9bd3SmrgYY_RULE_SETUP 1207fd7d9bd3Smrg#line 100 "lex.l" 1208fd7d9bd3Smrg{ yylval.num = LineOnOffDash; 1209fd7d9bd3Smrg return (LINESTYLETYPE); } 1210fd7d9bd3Smrg YY_BREAK 1211fd7d9bd3Smrgcase 38: 1212fd7d9bd3SmrgYY_RULE_SETUP 1213fd7d9bd3Smrg#line 102 "lex.l" 1214fd7d9bd3Smrg{ yylval.num = LineDoubleDash; 1215fd7d9bd3Smrg return (LINESTYLETYPE); } 1216fd7d9bd3Smrg YY_BREAK 1217fd7d9bd3Smrgcase 39: 1218fd7d9bd3SmrgYY_RULE_SETUP 1219fd7d9bd3Smrg#line 105 "lex.l" 1220fd7d9bd3Smrg{ return (CAPSTYLE); } 1221fd7d9bd3Smrg YY_BREAK 1222fd7d9bd3Smrgcase 40: 1223fd7d9bd3SmrgYY_RULE_SETUP 1224fd7d9bd3Smrg#line 106 "lex.l" 1225fd7d9bd3Smrg{ yylval.num = CapNotLast; 1226fd7d9bd3Smrg return (CAPSTYLETYPE); } 1227fd7d9bd3Smrg YY_BREAK 1228fd7d9bd3Smrgcase 41: 1229fd7d9bd3SmrgYY_RULE_SETUP 1230fd7d9bd3Smrg#line 108 "lex.l" 1231fd7d9bd3Smrg{ yylval.num = CapButt; 1232fd7d9bd3Smrg return (CAPSTYLETYPE); } 1233fd7d9bd3Smrg YY_BREAK 1234fd7d9bd3Smrgcase 42: 1235fd7d9bd3SmrgYY_RULE_SETUP 1236fd7d9bd3Smrg#line 110 "lex.l" 1237fd7d9bd3Smrg{ yylval.num = CapProjecting; 1238fd7d9bd3Smrg return (CAPSTYLETYPE); } 1239fd7d9bd3Smrg YY_BREAK 1240fd7d9bd3Smrgcase 43: 1241fd7d9bd3SmrgYY_RULE_SETUP 1242fd7d9bd3Smrg#line 113 "lex.l" 1243fd7d9bd3Smrg{ return (JOINSTYLE); } 1244fd7d9bd3Smrg YY_BREAK 1245fd7d9bd3Smrgcase 44: 1246fd7d9bd3SmrgYY_RULE_SETUP 1247fd7d9bd3Smrg#line 114 "lex.l" 1248fd7d9bd3Smrg{ yylval.num = JoinMiter; 1249fd7d9bd3Smrg return (JOINSTYLETYPE); } 1250fd7d9bd3Smrg YY_BREAK 1251fd7d9bd3Smrgcase 45: 1252fd7d9bd3SmrgYY_RULE_SETUP 1253fd7d9bd3Smrg#line 116 "lex.l" 1254fd7d9bd3Smrg{ yylval.num = JoinBevel; 1255fd7d9bd3Smrg return (JOINSTYLETYPE); } 1256fd7d9bd3Smrg YY_BREAK 1257fd7d9bd3Smrgcase 46: 1258fd7d9bd3SmrgYY_RULE_SETUP 1259fd7d9bd3Smrg#line 119 "lex.l" 1260fd7d9bd3Smrg{ return (ROUND); } 1261fd7d9bd3Smrg YY_BREAK 1262fd7d9bd3Smrgcase 47: 1263fd7d9bd3SmrgYY_RULE_SETUP 1264fd7d9bd3Smrg#line 121 "lex.l" 1265fd7d9bd3Smrg{ return (FILLSTYLE); } 1266fd7d9bd3Smrg YY_BREAK 1267fd7d9bd3Smrgcase 48: 1268fd7d9bd3SmrgYY_RULE_SETUP 1269fd7d9bd3Smrg#line 122 "lex.l" 1270fd7d9bd3Smrg{ yylval.num = FillTiled; 1271fd7d9bd3Smrg return (FILLSTYLETYPE); } 1272fd7d9bd3Smrg YY_BREAK 1273fd7d9bd3Smrgcase 49: 1274fd7d9bd3SmrgYY_RULE_SETUP 1275fd7d9bd3Smrg#line 124 "lex.l" 1276fd7d9bd3Smrg{ yylval.num = FillStippled; 1277fd7d9bd3Smrg return (FILLSTYLETYPE); } 1278fd7d9bd3Smrg YY_BREAK 1279fd7d9bd3Smrgcase 50: 1280fd7d9bd3SmrgYY_RULE_SETUP 1281fd7d9bd3Smrg#line 126 "lex.l" 1282fd7d9bd3Smrg{ yylval.num = FillOpaqueStippled; 1283fd7d9bd3Smrg return (FILLSTYLETYPE); } 1284fd7d9bd3Smrg YY_BREAK 1285fd7d9bd3Smrgcase 51: 1286fd7d9bd3SmrgYY_RULE_SETUP 1287fd7d9bd3Smrg#line 129 "lex.l" 1288fd7d9bd3Smrg{ return (SOLID); } 1289fd7d9bd3Smrg YY_BREAK 1290fd7d9bd3Smrgcase 52: 1291fd7d9bd3SmrgYY_RULE_SETUP 1292fd7d9bd3Smrg#line 131 "lex.l" 1293fd7d9bd3Smrg{ return (FILLRULE); } 1294fd7d9bd3Smrg YY_BREAK 1295fd7d9bd3Smrgcase 53: 1296fd7d9bd3SmrgYY_RULE_SETUP 1297fd7d9bd3Smrg#line 132 "lex.l" 1298fd7d9bd3Smrg{ yylval.num = EvenOddRule; 1299fd7d9bd3Smrg return (FILLRULETYPE); } 1300fd7d9bd3Smrg YY_BREAK 1301fd7d9bd3Smrgcase 54: 1302fd7d9bd3SmrgYY_RULE_SETUP 1303fd7d9bd3Smrg#line 134 "lex.l" 1304fd7d9bd3Smrg{ yylval.num = WindingRule; 1305fd7d9bd3Smrg return (FILLRULETYPE); } 1306fd7d9bd3Smrg YY_BREAK 1307fd7d9bd3Smrgcase 55: 1308fd7d9bd3SmrgYY_RULE_SETUP 1309fd7d9bd3Smrg#line 137 "lex.l" 1310fd7d9bd3Smrg{ return (ARCMODE); } 1311fd7d9bd3Smrg YY_BREAK 1312fd7d9bd3Smrgcase 56: 1313fd7d9bd3SmrgYY_RULE_SETUP 1314fd7d9bd3Smrg#line 138 "lex.l" 1315fd7d9bd3Smrg{ yylval.num = ArcChord; 1316fd7d9bd3Smrg return (ARCMODETYPE); } 1317fd7d9bd3Smrg YY_BREAK 1318fd7d9bd3Smrgcase 57: 1319fd7d9bd3SmrgYY_RULE_SETUP 1320fd7d9bd3Smrg#line 140 "lex.l" 1321fd7d9bd3Smrg{ yylval.num = ArcPieSlice; 1322fd7d9bd3Smrg return (ARCMODETYPE); } 1323fd7d9bd3Smrg YY_BREAK 1324fd7d9bd3Smrgcase 58: 1325fd7d9bd3SmrgYY_RULE_SETUP 1326fd7d9bd3Smrg#line 143 "lex.l" 1327fd7d9bd3Smrg{ return (FOREGROUND); } 1328fd7d9bd3Smrg YY_BREAK 1329fd7d9bd3Smrgcase 59: 1330fd7d9bd3SmrgYY_RULE_SETUP 1331fd7d9bd3Smrg#line 144 "lex.l" 1332fd7d9bd3Smrg{ return (BACKGROUND); } 1333fd7d9bd3Smrg YY_BREAK 1334fd7d9bd3Smrgcase 60: 1335fd7d9bd3SmrgYY_RULE_SETUP 1336fd7d9bd3Smrg#line 145 "lex.l" 1337fd7d9bd3Smrg{ return (LINEWIDTH); } 1338fd7d9bd3Smrg YY_BREAK 1339fd7d9bd3Smrgcase 61: 1340fd7d9bd3SmrgYY_RULE_SETUP 1341fd7d9bd3Smrg#line 146 "lex.l" 1342fd7d9bd3Smrg{ return (PLANEMASK); } 1343fd7d9bd3Smrg YY_BREAK 1344fd7d9bd3Smrgcase 62: 1345fd7d9bd3SmrgYY_RULE_SETUP 1346fd7d9bd3Smrg#line 147 "lex.l" 1347fd7d9bd3Smrg{ return (DASHLIST); } 1348fd7d9bd3Smrg YY_BREAK 1349fd7d9bd3Smrgcase 63: 1350fd7d9bd3SmrgYY_RULE_SETUP 1351fd7d9bd3Smrg#line 148 "lex.l" 1352fd7d9bd3Smrg{ return (FONT); } 1353fd7d9bd3Smrg YY_BREAK 1354fd7d9bd3Smrgcase 64: 1355fd7d9bd3SmrgYY_RULE_SETUP 1356fd7d9bd3Smrg#line 149 "lex.l" 1357fd7d9bd3Smrg{ return (PERCENT); } 1358fd7d9bd3Smrg YY_BREAK 1359fd7d9bd3Smrgcase 65: 1360fd7d9bd3SmrgYY_RULE_SETUP 1361fd7d9bd3Smrg#line 151 "lex.l" 1362fd7d9bd3Smrg{ (void) sscanf ((char *)yytext, "%d", &yylval.num); 1363fd7d9bd3Smrg return (NUMBER); } 1364fd7d9bd3Smrg YY_BREAK 1365fd7d9bd3Smrgcase 66: 1366350952b9Smrg/* rule 66 can match eol */ 1367fd7d9bd3SmrgYY_RULE_SETUP 1368fd7d9bd3Smrg#line 153 "lex.l" 1369fd7d9bd3Smrg{ yylval.ptr = (char *) yytext; 1370fd7d9bd3Smrg return (STRING); } 1371fd7d9bd3Smrg YY_BREAK 1372fd7d9bd3Smrgcase 67: 1373350952b9Smrg/* rule 67 can match eol */ 1374fd7d9bd3SmrgYY_RULE_SETUP 1375fd7d9bd3Smrg#line 155 "lex.l" 1376fd7d9bd3Smrg{ ; } 1377fd7d9bd3Smrg YY_BREAK 1378fd7d9bd3Smrgcase 68: 1379fd7d9bd3SmrgYY_RULE_SETUP 1380fd7d9bd3Smrg#line 156 "lex.l" 1381fd7d9bd3Smrg{ ; } 1382fd7d9bd3Smrg YY_BREAK 1383fd7d9bd3Smrgcase 69: 1384350952b9Smrg/* rule 69 can match eol */ 1385fd7d9bd3SmrgYY_RULE_SETUP 1386fd7d9bd3Smrg#line 157 "lex.l" 1387fd7d9bd3Smrg{ return ('\n'); } 1388fd7d9bd3Smrg YY_BREAK 1389fd7d9bd3Smrgcase 70: 1390fd7d9bd3SmrgYY_RULE_SETUP 1391fd7d9bd3Smrg#line 159 "lex.l" 1392fd7d9bd3Smrg{ yylval.ptr = (char *) yytext; 1393fd7d9bd3Smrg return (STRING); } 1394fd7d9bd3Smrg YY_BREAK 1395fd7d9bd3Smrgcase 71: 1396fd7d9bd3SmrgYY_RULE_SETUP 1397fd7d9bd3Smrg#line 162 "lex.l" 1398fd7d9bd3Smrg{ fprintf(stderr, 1399fd7d9bd3Smrg "xgc: bad character `%s', line %d\n", 1400fd7d9bd3Smrg yytext, yylineno); } 1401fd7d9bd3Smrg YY_BREAK 1402fd7d9bd3Smrgcase 72: 1403fd7d9bd3SmrgYY_RULE_SETUP 1404fd7d9bd3Smrg#line 166 "lex.l" 1405fd7d9bd3SmrgECHO; 1406fd7d9bd3Smrg YY_BREAK 1407350952b9Smrg#line 1408 "lex.c" 1408fd7d9bd3Smrgcase YY_STATE_EOF(INITIAL): 1409fd7d9bd3Smrg yyterminate(); 1410fd7d9bd3Smrg 1411fd7d9bd3Smrg case YY_END_OF_BUFFER: 1412fd7d9bd3Smrg { 1413fd7d9bd3Smrg /* Amount of text matched not including the EOB char. */ 1414350952b9Smrg int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; 1415fd7d9bd3Smrg 1416fd7d9bd3Smrg /* Undo the effects of YY_DO_BEFORE_ACTION. */ 1417350952b9Smrg *yy_cp = (yy_hold_char); 1418fd7d9bd3Smrg YY_RESTORE_YY_MORE_OFFSET 1419fd7d9bd3Smrg 1420350952b9Smrg if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) 1421fd7d9bd3Smrg { 1422fd7d9bd3Smrg /* We're scanning a new file or input source. It's 1423fd7d9bd3Smrg * possible that this happened because the user 1424fd7d9bd3Smrg * just pointed yyin at a new source and called 1425fd7d9bd3Smrg * yylex(). If so, then we have to assure 1426350952b9Smrg * consistency between YY_CURRENT_BUFFER and our 1427fd7d9bd3Smrg * globals. Here is the right place to do so, because 1428fd7d9bd3Smrg * this is the first action (other than possibly a 1429fd7d9bd3Smrg * back-up) that will match for the new input source. 1430fd7d9bd3Smrg */ 1431350952b9Smrg (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 1432350952b9Smrg YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; 1433350952b9Smrg YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; 1434fd7d9bd3Smrg } 1435fd7d9bd3Smrg 1436fd7d9bd3Smrg /* Note that here we test for yy_c_buf_p "<=" to the position 1437fd7d9bd3Smrg * of the first EOB in the buffer, since yy_c_buf_p will 1438fd7d9bd3Smrg * already have been incremented past the NUL character 1439fd7d9bd3Smrg * (since all states make transitions on EOB to the 1440fd7d9bd3Smrg * end-of-buffer state). Contrast this with the test 1441fd7d9bd3Smrg * in input(). 1442fd7d9bd3Smrg */ 1443350952b9Smrg if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) 1444fd7d9bd3Smrg { /* This was really a NUL. */ 1445fd7d9bd3Smrg yy_state_type yy_next_state; 1446fd7d9bd3Smrg 1447350952b9Smrg (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; 1448fd7d9bd3Smrg 1449350952b9Smrg yy_current_state = yy_get_previous_state( ); 1450fd7d9bd3Smrg 1451fd7d9bd3Smrg /* Okay, we're now positioned to make the NUL 1452fd7d9bd3Smrg * transition. We couldn't have 1453fd7d9bd3Smrg * yy_get_previous_state() go ahead and do it 1454fd7d9bd3Smrg * for us because it doesn't know how to deal 1455fd7d9bd3Smrg * with the possibility of jamming (and we don't 1456fd7d9bd3Smrg * want to build jamming into it because then it 1457fd7d9bd3Smrg * will run more slowly). 1458fd7d9bd3Smrg */ 1459fd7d9bd3Smrg 1460fd7d9bd3Smrg yy_next_state = yy_try_NUL_trans( yy_current_state ); 1461fd7d9bd3Smrg 1462350952b9Smrg yy_bp = (yytext_ptr) + YY_MORE_ADJ; 1463fd7d9bd3Smrg 1464fd7d9bd3Smrg if ( yy_next_state ) 1465fd7d9bd3Smrg { 1466fd7d9bd3Smrg /* Consume the NUL. */ 1467350952b9Smrg yy_cp = ++(yy_c_buf_p); 1468fd7d9bd3Smrg yy_current_state = yy_next_state; 1469fd7d9bd3Smrg goto yy_match; 1470fd7d9bd3Smrg } 1471fd7d9bd3Smrg 1472fd7d9bd3Smrg else 1473fd7d9bd3Smrg { 1474350952b9Smrg yy_cp = (yy_c_buf_p); 1475fd7d9bd3Smrg goto yy_find_action; 1476fd7d9bd3Smrg } 1477fd7d9bd3Smrg } 1478fd7d9bd3Smrg 1479350952b9Smrg else switch ( yy_get_next_buffer( ) ) 1480fd7d9bd3Smrg { 1481fd7d9bd3Smrg case EOB_ACT_END_OF_FILE: 1482fd7d9bd3Smrg { 1483350952b9Smrg (yy_did_buffer_switch_on_eof) = 0; 1484fd7d9bd3Smrg 1485350952b9Smrg if ( yywrap( ) ) 1486fd7d9bd3Smrg { 1487fd7d9bd3Smrg /* Note: because we've taken care in 1488fd7d9bd3Smrg * yy_get_next_buffer() to have set up 1489fd7d9bd3Smrg * yytext, we can now set up 1490fd7d9bd3Smrg * yy_c_buf_p so that if some total 1491fd7d9bd3Smrg * hoser (like flex itself) wants to 1492fd7d9bd3Smrg * call the scanner after we return the 1493fd7d9bd3Smrg * YY_NULL, it'll still work - another 1494fd7d9bd3Smrg * YY_NULL will get returned. 1495fd7d9bd3Smrg */ 1496350952b9Smrg (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; 1497fd7d9bd3Smrg 1498fd7d9bd3Smrg yy_act = YY_STATE_EOF(YY_START); 1499fd7d9bd3Smrg goto do_action; 1500fd7d9bd3Smrg } 1501fd7d9bd3Smrg 1502fd7d9bd3Smrg else 1503fd7d9bd3Smrg { 1504350952b9Smrg if ( ! (yy_did_buffer_switch_on_eof) ) 1505fd7d9bd3Smrg YY_NEW_FILE; 1506fd7d9bd3Smrg } 1507fd7d9bd3Smrg break; 1508fd7d9bd3Smrg } 1509fd7d9bd3Smrg 1510fd7d9bd3Smrg case EOB_ACT_CONTINUE_SCAN: 1511350952b9Smrg (yy_c_buf_p) = 1512350952b9Smrg (yytext_ptr) + yy_amount_of_matched_text; 1513fd7d9bd3Smrg 1514350952b9Smrg yy_current_state = yy_get_previous_state( ); 1515fd7d9bd3Smrg 1516350952b9Smrg yy_cp = (yy_c_buf_p); 1517350952b9Smrg yy_bp = (yytext_ptr) + YY_MORE_ADJ; 1518fd7d9bd3Smrg goto yy_match; 1519fd7d9bd3Smrg 1520fd7d9bd3Smrg case EOB_ACT_LAST_MATCH: 1521350952b9Smrg (yy_c_buf_p) = 1522350952b9Smrg &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; 1523fd7d9bd3Smrg 1524350952b9Smrg yy_current_state = yy_get_previous_state( ); 1525fd7d9bd3Smrg 1526350952b9Smrg yy_cp = (yy_c_buf_p); 1527350952b9Smrg yy_bp = (yytext_ptr) + YY_MORE_ADJ; 1528fd7d9bd3Smrg goto yy_find_action; 1529fd7d9bd3Smrg } 1530fd7d9bd3Smrg break; 1531fd7d9bd3Smrg } 1532fd7d9bd3Smrg 1533fd7d9bd3Smrg default: 1534fd7d9bd3Smrg YY_FATAL_ERROR( 1535fd7d9bd3Smrg "fatal flex scanner internal error--no action found" ); 1536fd7d9bd3Smrg } /* end of action switch */ 1537fd7d9bd3Smrg } /* end of scanning one token */ 1538350952b9Smrg} /* end of yylex */ 1539fd7d9bd3Smrg 1540fd7d9bd3Smrg/* yy_get_next_buffer - try to read in a new buffer 1541fd7d9bd3Smrg * 1542fd7d9bd3Smrg * Returns a code representing an action: 1543fd7d9bd3Smrg * EOB_ACT_LAST_MATCH - 1544fd7d9bd3Smrg * EOB_ACT_CONTINUE_SCAN - continue scanning from current position 1545fd7d9bd3Smrg * EOB_ACT_END_OF_FILE - end of file 1546fd7d9bd3Smrg */ 1547350952b9Smrgstatic int yy_get_next_buffer (void) 1548350952b9Smrg{ 1549350952b9Smrg register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; 1550350952b9Smrg register char *source = (yytext_ptr); 1551fd7d9bd3Smrg register int number_to_move, i; 1552fd7d9bd3Smrg int ret_val; 1553fd7d9bd3Smrg 1554350952b9Smrg if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) 1555fd7d9bd3Smrg YY_FATAL_ERROR( 1556fd7d9bd3Smrg "fatal flex scanner internal error--end of buffer missed" ); 1557fd7d9bd3Smrg 1558350952b9Smrg if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) 1559fd7d9bd3Smrg { /* Don't try to fill the buffer, so this is an EOF. */ 1560350952b9Smrg if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) 1561fd7d9bd3Smrg { 1562fd7d9bd3Smrg /* We matched a single character, the EOB, so 1563fd7d9bd3Smrg * treat this as a final EOF. 1564fd7d9bd3Smrg */ 1565fd7d9bd3Smrg return EOB_ACT_END_OF_FILE; 1566fd7d9bd3Smrg } 1567fd7d9bd3Smrg 1568fd7d9bd3Smrg else 1569fd7d9bd3Smrg { 1570fd7d9bd3Smrg /* We matched some text prior to the EOB, first 1571fd7d9bd3Smrg * process it. 1572fd7d9bd3Smrg */ 1573fd7d9bd3Smrg return EOB_ACT_LAST_MATCH; 1574fd7d9bd3Smrg } 1575fd7d9bd3Smrg } 1576fd7d9bd3Smrg 1577fd7d9bd3Smrg /* Try to read more data. */ 1578fd7d9bd3Smrg 1579fd7d9bd3Smrg /* First move last chars to start of buffer. */ 1580350952b9Smrg number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; 1581fd7d9bd3Smrg 1582fd7d9bd3Smrg for ( i = 0; i < number_to_move; ++i ) 1583fd7d9bd3Smrg *(dest++) = *(source++); 1584fd7d9bd3Smrg 1585350952b9Smrg if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) 1586fd7d9bd3Smrg /* don't do the read, it's not guaranteed to return an EOF, 1587fd7d9bd3Smrg * just force an EOF 1588fd7d9bd3Smrg */ 1589350952b9Smrg YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; 1590fd7d9bd3Smrg 1591fd7d9bd3Smrg else 1592fd7d9bd3Smrg { 1593350952b9Smrg int num_to_read = 1594350952b9Smrg YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; 1595fd7d9bd3Smrg 1596fd7d9bd3Smrg while ( num_to_read <= 0 ) 1597fd7d9bd3Smrg { /* Not enough room in the buffer - grow it. */ 1598fd7d9bd3Smrg 1599fd7d9bd3Smrg /* just a shorter name for the current buffer */ 1600350952b9Smrg YY_BUFFER_STATE b = YY_CURRENT_BUFFER; 1601fd7d9bd3Smrg 1602fd7d9bd3Smrg int yy_c_buf_p_offset = 1603350952b9Smrg (int) ((yy_c_buf_p) - b->yy_ch_buf); 1604fd7d9bd3Smrg 1605fd7d9bd3Smrg if ( b->yy_is_our_buffer ) 1606fd7d9bd3Smrg { 1607fd7d9bd3Smrg int new_size = b->yy_buf_size * 2; 1608fd7d9bd3Smrg 1609fd7d9bd3Smrg if ( new_size <= 0 ) 1610fd7d9bd3Smrg b->yy_buf_size += b->yy_buf_size / 8; 1611fd7d9bd3Smrg else 1612fd7d9bd3Smrg b->yy_buf_size *= 2; 1613fd7d9bd3Smrg 1614fd7d9bd3Smrg b->yy_ch_buf = (char *) 1615fd7d9bd3Smrg /* Include room in for 2 EOB chars. */ 1616350952b9Smrg yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); 1617fd7d9bd3Smrg } 1618fd7d9bd3Smrg else 1619fd7d9bd3Smrg /* Can't grow it, we don't own it. */ 1620fd7d9bd3Smrg b->yy_ch_buf = 0; 1621fd7d9bd3Smrg 1622fd7d9bd3Smrg if ( ! b->yy_ch_buf ) 1623fd7d9bd3Smrg YY_FATAL_ERROR( 1624fd7d9bd3Smrg "fatal error - scanner input buffer overflow" ); 1625fd7d9bd3Smrg 1626350952b9Smrg (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; 1627fd7d9bd3Smrg 1628350952b9Smrg num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - 1629fd7d9bd3Smrg number_to_move - 1; 1630350952b9Smrg 1631fd7d9bd3Smrg } 1632fd7d9bd3Smrg 1633fd7d9bd3Smrg if ( num_to_read > YY_READ_BUF_SIZE ) 1634fd7d9bd3Smrg num_to_read = YY_READ_BUF_SIZE; 1635fd7d9bd3Smrg 1636fd7d9bd3Smrg /* Read in more data. */ 1637350952b9Smrg YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), 1638350952b9Smrg (yy_n_chars), (size_t) num_to_read ); 1639fd7d9bd3Smrg 1640350952b9Smrg YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 1641fd7d9bd3Smrg } 1642fd7d9bd3Smrg 1643350952b9Smrg if ( (yy_n_chars) == 0 ) 1644fd7d9bd3Smrg { 1645fd7d9bd3Smrg if ( number_to_move == YY_MORE_ADJ ) 1646fd7d9bd3Smrg { 1647fd7d9bd3Smrg ret_val = EOB_ACT_END_OF_FILE; 1648350952b9Smrg yyrestart(yyin ); 1649fd7d9bd3Smrg } 1650fd7d9bd3Smrg 1651fd7d9bd3Smrg else 1652fd7d9bd3Smrg { 1653fd7d9bd3Smrg ret_val = EOB_ACT_LAST_MATCH; 1654350952b9Smrg YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = 1655fd7d9bd3Smrg YY_BUFFER_EOF_PENDING; 1656fd7d9bd3Smrg } 1657fd7d9bd3Smrg } 1658fd7d9bd3Smrg 1659fd7d9bd3Smrg else 1660fd7d9bd3Smrg ret_val = EOB_ACT_CONTINUE_SCAN; 1661fd7d9bd3Smrg 1662350952b9Smrg if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { 1663350952b9Smrg /* Extend the array by 50%, plus the number we really need. */ 1664350952b9Smrg yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); 1665350952b9Smrg YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); 1666350952b9Smrg if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) 1667350952b9Smrg YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); 1668350952b9Smrg } 1669350952b9Smrg 1670350952b9Smrg (yy_n_chars) += number_to_move; 1671350952b9Smrg YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; 1672350952b9Smrg YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; 1673fd7d9bd3Smrg 1674350952b9Smrg (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; 1675fd7d9bd3Smrg 1676fd7d9bd3Smrg return ret_val; 1677350952b9Smrg} 1678fd7d9bd3Smrg 1679fd7d9bd3Smrg/* yy_get_previous_state - get the state just before the EOB char was reached */ 1680fd7d9bd3Smrg 1681350952b9Smrg static yy_state_type yy_get_previous_state (void) 1682350952b9Smrg{ 1683fd7d9bd3Smrg register yy_state_type yy_current_state; 1684fd7d9bd3Smrg register char *yy_cp; 1685350952b9Smrg 1686350952b9Smrg yy_current_state = (yy_start); 1687fd7d9bd3Smrg 1688350952b9Smrg for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) 1689fd7d9bd3Smrg { 1690fd7d9bd3Smrg register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); 1691fd7d9bd3Smrg if ( yy_accept[yy_current_state] ) 1692fd7d9bd3Smrg { 1693350952b9Smrg (yy_last_accepting_state) = yy_current_state; 1694350952b9Smrg (yy_last_accepting_cpos) = yy_cp; 1695fd7d9bd3Smrg } 1696fd7d9bd3Smrg while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 1697fd7d9bd3Smrg { 1698fd7d9bd3Smrg yy_current_state = (int) yy_def[yy_current_state]; 1699fd7d9bd3Smrg if ( yy_current_state >= 420 ) 1700fd7d9bd3Smrg yy_c = yy_meta[(unsigned int) yy_c]; 1701fd7d9bd3Smrg } 1702fd7d9bd3Smrg yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 1703fd7d9bd3Smrg } 1704fd7d9bd3Smrg 1705fd7d9bd3Smrg return yy_current_state; 1706350952b9Smrg} 1707fd7d9bd3Smrg 1708fd7d9bd3Smrg/* yy_try_NUL_trans - try to make a transition on the NUL character 1709fd7d9bd3Smrg * 1710fd7d9bd3Smrg * synopsis 1711fd7d9bd3Smrg * next_state = yy_try_NUL_trans( current_state ); 1712fd7d9bd3Smrg */ 1713350952b9Smrg static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) 1714350952b9Smrg{ 1715fd7d9bd3Smrg register int yy_is_jam; 1716350952b9Smrg register char *yy_cp = (yy_c_buf_p); 1717fd7d9bd3Smrg 1718fd7d9bd3Smrg register YY_CHAR yy_c = 1; 1719fd7d9bd3Smrg if ( yy_accept[yy_current_state] ) 1720fd7d9bd3Smrg { 1721350952b9Smrg (yy_last_accepting_state) = yy_current_state; 1722350952b9Smrg (yy_last_accepting_cpos) = yy_cp; 1723fd7d9bd3Smrg } 1724fd7d9bd3Smrg while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 1725fd7d9bd3Smrg { 1726fd7d9bd3Smrg yy_current_state = (int) yy_def[yy_current_state]; 1727fd7d9bd3Smrg if ( yy_current_state >= 420 ) 1728fd7d9bd3Smrg yy_c = yy_meta[(unsigned int) yy_c]; 1729fd7d9bd3Smrg } 1730fd7d9bd3Smrg yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 1731fd7d9bd3Smrg yy_is_jam = (yy_current_state == 419); 1732fd7d9bd3Smrg 1733fd7d9bd3Smrg return yy_is_jam ? 0 : yy_current_state; 1734350952b9Smrg} 1735fd7d9bd3Smrg 1736350952b9Smrg static void yyunput (int c, register char * yy_bp ) 1737350952b9Smrg{ 1738350952b9Smrg register char *yy_cp; 1739350952b9Smrg 1740350952b9Smrg yy_cp = (yy_c_buf_p); 1741fd7d9bd3Smrg 1742fd7d9bd3Smrg /* undo effects of setting up yytext */ 1743350952b9Smrg *yy_cp = (yy_hold_char); 1744fd7d9bd3Smrg 1745350952b9Smrg if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) 1746fd7d9bd3Smrg { /* need to shift things up to make room */ 1747fd7d9bd3Smrg /* +2 for EOB chars. */ 1748350952b9Smrg register int number_to_move = (yy_n_chars) + 2; 1749350952b9Smrg register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ 1750350952b9Smrg YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; 1751fd7d9bd3Smrg register char *source = 1752350952b9Smrg &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; 1753fd7d9bd3Smrg 1754350952b9Smrg while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) 1755fd7d9bd3Smrg *--dest = *--source; 1756fd7d9bd3Smrg 1757fd7d9bd3Smrg yy_cp += (int) (dest - source); 1758fd7d9bd3Smrg yy_bp += (int) (dest - source); 1759350952b9Smrg YY_CURRENT_BUFFER_LVALUE->yy_n_chars = 1760350952b9Smrg (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size; 1761fd7d9bd3Smrg 1762350952b9Smrg if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) 1763fd7d9bd3Smrg YY_FATAL_ERROR( "flex scanner push-back overflow" ); 1764fd7d9bd3Smrg } 1765fd7d9bd3Smrg 1766fd7d9bd3Smrg *--yy_cp = (char) c; 1767fd7d9bd3Smrg 1768350952b9Smrg (yytext_ptr) = yy_bp; 1769350952b9Smrg (yy_hold_char) = *yy_cp; 1770350952b9Smrg (yy_c_buf_p) = yy_cp; 1771350952b9Smrg} 1772fd7d9bd3Smrg 1773fd7d9bd3Smrg#ifndef YY_NO_INPUT 1774fd7d9bd3Smrg#ifdef __cplusplus 1775350952b9Smrg static int yyinput (void) 1776fd7d9bd3Smrg#else 1777350952b9Smrg static int input (void) 1778fd7d9bd3Smrg#endif 1779fd7d9bd3Smrg 1780350952b9Smrg{ 1781350952b9Smrg int c; 1782350952b9Smrg 1783350952b9Smrg *(yy_c_buf_p) = (yy_hold_char); 1784fd7d9bd3Smrg 1785350952b9Smrg if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) 1786fd7d9bd3Smrg { 1787fd7d9bd3Smrg /* yy_c_buf_p now points to the character we want to return. 1788fd7d9bd3Smrg * If this occurs *before* the EOB characters, then it's a 1789fd7d9bd3Smrg * valid NUL; if not, then we've hit the end of the buffer. 1790fd7d9bd3Smrg */ 1791350952b9Smrg if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) 1792fd7d9bd3Smrg /* This was really a NUL. */ 1793350952b9Smrg *(yy_c_buf_p) = '\0'; 1794fd7d9bd3Smrg 1795fd7d9bd3Smrg else 1796fd7d9bd3Smrg { /* need more input */ 1797350952b9Smrg int offset = (yy_c_buf_p) - (yytext_ptr); 1798350952b9Smrg ++(yy_c_buf_p); 1799fd7d9bd3Smrg 1800350952b9Smrg switch ( yy_get_next_buffer( ) ) 1801fd7d9bd3Smrg { 1802fd7d9bd3Smrg case EOB_ACT_LAST_MATCH: 1803fd7d9bd3Smrg /* This happens because yy_g_n_b() 1804fd7d9bd3Smrg * sees that we've accumulated a 1805fd7d9bd3Smrg * token and flags that we need to 1806fd7d9bd3Smrg * try matching the token before 1807fd7d9bd3Smrg * proceeding. But for input(), 1808fd7d9bd3Smrg * there's no matching to consider. 1809fd7d9bd3Smrg * So convert the EOB_ACT_LAST_MATCH 1810fd7d9bd3Smrg * to EOB_ACT_END_OF_FILE. 1811fd7d9bd3Smrg */ 1812fd7d9bd3Smrg 1813fd7d9bd3Smrg /* Reset buffer status. */ 1814350952b9Smrg yyrestart(yyin ); 1815fd7d9bd3Smrg 1816350952b9Smrg /*FALLTHROUGH*/ 1817fd7d9bd3Smrg 1818fd7d9bd3Smrg case EOB_ACT_END_OF_FILE: 1819fd7d9bd3Smrg { 1820350952b9Smrg if ( yywrap( ) ) 1821fd7d9bd3Smrg return EOF; 1822fd7d9bd3Smrg 1823350952b9Smrg if ( ! (yy_did_buffer_switch_on_eof) ) 1824fd7d9bd3Smrg YY_NEW_FILE; 1825fd7d9bd3Smrg#ifdef __cplusplus 1826fd7d9bd3Smrg return yyinput(); 1827fd7d9bd3Smrg#else 1828fd7d9bd3Smrg return input(); 1829fd7d9bd3Smrg#endif 1830fd7d9bd3Smrg } 1831fd7d9bd3Smrg 1832fd7d9bd3Smrg case EOB_ACT_CONTINUE_SCAN: 1833350952b9Smrg (yy_c_buf_p) = (yytext_ptr) + offset; 1834fd7d9bd3Smrg break; 1835fd7d9bd3Smrg } 1836fd7d9bd3Smrg } 1837fd7d9bd3Smrg } 1838fd7d9bd3Smrg 1839350952b9Smrg c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ 1840350952b9Smrg *(yy_c_buf_p) = '\0'; /* preserve yytext */ 1841350952b9Smrg (yy_hold_char) = *++(yy_c_buf_p); 1842fd7d9bd3Smrg 1843fd7d9bd3Smrg return c; 1844350952b9Smrg} 1845350952b9Smrg#endif /* ifndef YY_NO_INPUT */ 1846fd7d9bd3Smrg 1847350952b9Smrg/** Immediately switch to a different input stream. 1848350952b9Smrg * @param input_file A readable stream. 1849350952b9Smrg * 1850350952b9Smrg * @note This function does not reset the start condition to @c INITIAL . 1851350952b9Smrg */ 1852350952b9Smrg void yyrestart (FILE * input_file ) 1853350952b9Smrg{ 1854350952b9Smrg 1855350952b9Smrg if ( ! YY_CURRENT_BUFFER ){ 1856350952b9Smrg yyensure_buffer_stack (); 1857350952b9Smrg YY_CURRENT_BUFFER_LVALUE = 1858350952b9Smrg yy_create_buffer(yyin,YY_BUF_SIZE ); 1859fd7d9bd3Smrg } 1860fd7d9bd3Smrg 1861350952b9Smrg yy_init_buffer(YY_CURRENT_BUFFER,input_file ); 1862350952b9Smrg yy_load_buffer_state( ); 1863350952b9Smrg} 1864fd7d9bd3Smrg 1865350952b9Smrg/** Switch to a different input buffer. 1866350952b9Smrg * @param new_buffer The new input buffer. 1867350952b9Smrg * 1868350952b9Smrg */ 1869350952b9Smrg void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) 1870350952b9Smrg{ 1871350952b9Smrg 1872350952b9Smrg /* TODO. We should be able to replace this entire function body 1873350952b9Smrg * with 1874350952b9Smrg * yypop_buffer_state(); 1875350952b9Smrg * yypush_buffer_state(new_buffer); 1876350952b9Smrg */ 1877350952b9Smrg yyensure_buffer_stack (); 1878350952b9Smrg if ( YY_CURRENT_BUFFER == new_buffer ) 1879fd7d9bd3Smrg return; 1880fd7d9bd3Smrg 1881350952b9Smrg if ( YY_CURRENT_BUFFER ) 1882fd7d9bd3Smrg { 1883fd7d9bd3Smrg /* Flush out information for old buffer. */ 1884350952b9Smrg *(yy_c_buf_p) = (yy_hold_char); 1885350952b9Smrg YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); 1886350952b9Smrg YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 1887fd7d9bd3Smrg } 1888fd7d9bd3Smrg 1889350952b9Smrg YY_CURRENT_BUFFER_LVALUE = new_buffer; 1890350952b9Smrg yy_load_buffer_state( ); 1891fd7d9bd3Smrg 1892fd7d9bd3Smrg /* We don't actually know whether we did this switch during 1893fd7d9bd3Smrg * EOF (yywrap()) processing, but the only time this flag 1894fd7d9bd3Smrg * is looked at is after yywrap() is called, so it's safe 1895fd7d9bd3Smrg * to go ahead and always set it. 1896fd7d9bd3Smrg */ 1897350952b9Smrg (yy_did_buffer_switch_on_eof) = 1; 1898350952b9Smrg} 1899350952b9Smrg 1900350952b9Smrgstatic void yy_load_buffer_state (void) 1901350952b9Smrg{ 1902350952b9Smrg (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 1903350952b9Smrg (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; 1904350952b9Smrg yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; 1905350952b9Smrg (yy_hold_char) = *(yy_c_buf_p); 1906350952b9Smrg} 1907350952b9Smrg 1908350952b9Smrg/** Allocate and initialize an input buffer state. 1909350952b9Smrg * @param file A readable stream. 1910350952b9Smrg * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. 1911350952b9Smrg * 1912350952b9Smrg * @return the allocated buffer state. 1913350952b9Smrg */ 1914350952b9Smrg YY_BUFFER_STATE yy_create_buffer (FILE * file, int size ) 1915350952b9Smrg{ 1916fd7d9bd3Smrg YY_BUFFER_STATE b; 1917350952b9Smrg 1918350952b9Smrg b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); 1919fd7d9bd3Smrg if ( ! b ) 1920fd7d9bd3Smrg YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 1921fd7d9bd3Smrg 1922fd7d9bd3Smrg b->yy_buf_size = size; 1923fd7d9bd3Smrg 1924fd7d9bd3Smrg /* yy_ch_buf has to be 2 characters longer than the size given because 1925fd7d9bd3Smrg * we need to put in 2 end-of-buffer characters. 1926fd7d9bd3Smrg */ 1927350952b9Smrg b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 ); 1928fd7d9bd3Smrg if ( ! b->yy_ch_buf ) 1929fd7d9bd3Smrg YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 1930fd7d9bd3Smrg 1931fd7d9bd3Smrg b->yy_is_our_buffer = 1; 1932fd7d9bd3Smrg 1933350952b9Smrg yy_init_buffer(b,file ); 1934fd7d9bd3Smrg 1935fd7d9bd3Smrg return b; 1936350952b9Smrg} 1937fd7d9bd3Smrg 1938350952b9Smrg/** Destroy the buffer. 1939350952b9Smrg * @param b a buffer created with yy_create_buffer() 1940350952b9Smrg * 1941350952b9Smrg */ 1942350952b9Smrg void yy_delete_buffer (YY_BUFFER_STATE b ) 1943350952b9Smrg{ 1944350952b9Smrg 1945fd7d9bd3Smrg if ( ! b ) 1946fd7d9bd3Smrg return; 1947fd7d9bd3Smrg 1948350952b9Smrg if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ 1949350952b9Smrg YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; 1950fd7d9bd3Smrg 1951fd7d9bd3Smrg if ( b->yy_is_our_buffer ) 1952350952b9Smrg yyfree((void *) b->yy_ch_buf ); 1953fd7d9bd3Smrg 1954350952b9Smrg yyfree((void *) b ); 1955350952b9Smrg} 1956fd7d9bd3Smrg 1957350952b9Smrg#ifndef __cplusplus 1958350952b9Smrgextern int isatty (int ); 1959350952b9Smrg#endif /* __cplusplus */ 1960350952b9Smrg 1961350952b9Smrg/* Initializes or reinitializes a buffer. 1962350952b9Smrg * This function is sometimes called more than once on the same buffer, 1963350952b9Smrg * such as during a yyrestart() or at EOF. 1964350952b9Smrg */ 1965350952b9Smrg static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) 1966fd7d9bd3Smrg 1967350952b9Smrg{ 1968350952b9Smrg int oerrno = errno; 1969350952b9Smrg 1970350952b9Smrg yy_flush_buffer(b ); 1971fd7d9bd3Smrg 1972fd7d9bd3Smrg b->yy_input_file = file; 1973fd7d9bd3Smrg b->yy_fill_buffer = 1; 1974fd7d9bd3Smrg 1975350952b9Smrg /* If b is the current buffer, then yy_init_buffer was _probably_ 1976350952b9Smrg * called from yyrestart() or through yy_get_next_buffer. 1977350952b9Smrg * In that case, we don't want to reset the lineno or column. 1978350952b9Smrg */ 1979350952b9Smrg if (b != YY_CURRENT_BUFFER){ 1980350952b9Smrg b->yy_bs_lineno = 1; 1981350952b9Smrg b->yy_bs_column = 0; 1982350952b9Smrg } 1983350952b9Smrg 1984350952b9Smrg b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; 1985350952b9Smrg 1986350952b9Smrg errno = oerrno; 1987350952b9Smrg} 1988350952b9Smrg 1989350952b9Smrg/** Discard all buffered characters. On the next scan, YY_INPUT will be called. 1990350952b9Smrg * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. 1991350952b9Smrg * 1992350952b9Smrg */ 1993350952b9Smrg void yy_flush_buffer (YY_BUFFER_STATE b ) 1994350952b9Smrg{ 1995350952b9Smrg if ( ! b ) 1996fd7d9bd3Smrg return; 1997fd7d9bd3Smrg 1998fd7d9bd3Smrg b->yy_n_chars = 0; 1999fd7d9bd3Smrg 2000fd7d9bd3Smrg /* We always need two end-of-buffer characters. The first causes 2001fd7d9bd3Smrg * a transition to the end-of-buffer state. The second causes 2002fd7d9bd3Smrg * a jam in that state. 2003fd7d9bd3Smrg */ 2004fd7d9bd3Smrg b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; 2005fd7d9bd3Smrg b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; 2006fd7d9bd3Smrg 2007fd7d9bd3Smrg b->yy_buf_pos = &b->yy_ch_buf[0]; 2008fd7d9bd3Smrg 2009fd7d9bd3Smrg b->yy_at_bol = 1; 2010fd7d9bd3Smrg b->yy_buffer_status = YY_BUFFER_NEW; 2011fd7d9bd3Smrg 2012350952b9Smrg if ( b == YY_CURRENT_BUFFER ) 2013350952b9Smrg yy_load_buffer_state( ); 2014350952b9Smrg} 2015350952b9Smrg 2016350952b9Smrg/** Pushes the new state onto the stack. The new state becomes 2017350952b9Smrg * the current state. This function will allocate the stack 2018350952b9Smrg * if necessary. 2019350952b9Smrg * @param new_buffer The new state. 2020350952b9Smrg * 2021350952b9Smrg */ 2022350952b9Smrgvoid yypush_buffer_state (YY_BUFFER_STATE new_buffer ) 2023350952b9Smrg{ 2024350952b9Smrg if (new_buffer == NULL) 2025350952b9Smrg return; 2026350952b9Smrg 2027350952b9Smrg yyensure_buffer_stack(); 2028350952b9Smrg 2029350952b9Smrg /* This block is copied from yy_switch_to_buffer. */ 2030350952b9Smrg if ( YY_CURRENT_BUFFER ) 2031350952b9Smrg { 2032350952b9Smrg /* Flush out information for old buffer. */ 2033350952b9Smrg *(yy_c_buf_p) = (yy_hold_char); 2034350952b9Smrg YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); 2035350952b9Smrg YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 2036350952b9Smrg } 2037350952b9Smrg 2038350952b9Smrg /* Only push if top exists. Otherwise, replace top. */ 2039350952b9Smrg if (YY_CURRENT_BUFFER) 2040350952b9Smrg (yy_buffer_stack_top)++; 2041350952b9Smrg YY_CURRENT_BUFFER_LVALUE = new_buffer; 2042350952b9Smrg 2043350952b9Smrg /* copied from yy_switch_to_buffer. */ 2044350952b9Smrg yy_load_buffer_state( ); 2045350952b9Smrg (yy_did_buffer_switch_on_eof) = 1; 2046350952b9Smrg} 2047350952b9Smrg 2048350952b9Smrg/** Removes and deletes the top of the stack, if present. 2049350952b9Smrg * The next element becomes the new top. 2050350952b9Smrg * 2051350952b9Smrg */ 2052350952b9Smrgvoid yypop_buffer_state (void) 2053350952b9Smrg{ 2054350952b9Smrg if (!YY_CURRENT_BUFFER) 2055350952b9Smrg return; 2056350952b9Smrg 2057350952b9Smrg yy_delete_buffer(YY_CURRENT_BUFFER ); 2058350952b9Smrg YY_CURRENT_BUFFER_LVALUE = NULL; 2059350952b9Smrg if ((yy_buffer_stack_top) > 0) 2060350952b9Smrg --(yy_buffer_stack_top); 2061350952b9Smrg 2062350952b9Smrg if (YY_CURRENT_BUFFER) { 2063350952b9Smrg yy_load_buffer_state( ); 2064350952b9Smrg (yy_did_buffer_switch_on_eof) = 1; 2065fd7d9bd3Smrg } 2066350952b9Smrg} 2067fd7d9bd3Smrg 2068350952b9Smrg/* Allocates the stack if it does not exist. 2069350952b9Smrg * Guarantees space for at least one push. 2070350952b9Smrg */ 2071350952b9Smrgstatic void yyensure_buffer_stack (void) 2072350952b9Smrg{ 2073350952b9Smrg int num_to_alloc; 2074350952b9Smrg 2075350952b9Smrg if (!(yy_buffer_stack)) { 2076350952b9Smrg 2077350952b9Smrg /* First allocation is just for 2 elements, since we don't know if this 2078350952b9Smrg * scanner will even need a stack. We use 2 instead of 1 to avoid an 2079350952b9Smrg * immediate realloc on the next call. 2080350952b9Smrg */ 2081350952b9Smrg num_to_alloc = 1; 2082350952b9Smrg (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc 2083350952b9Smrg (num_to_alloc * sizeof(struct yy_buffer_state*) 2084350952b9Smrg ); 2085350952b9Smrg if ( ! (yy_buffer_stack) ) 2086350952b9Smrg YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); 2087350952b9Smrg 2088350952b9Smrg memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); 2089350952b9Smrg 2090350952b9Smrg (yy_buffer_stack_max) = num_to_alloc; 2091350952b9Smrg (yy_buffer_stack_top) = 0; 2092350952b9Smrg return; 2093350952b9Smrg } 2094fd7d9bd3Smrg 2095350952b9Smrg if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ 2096350952b9Smrg 2097350952b9Smrg /* Increase the buffer to prepare for a possible push. */ 2098350952b9Smrg int grow_size = 8 /* arbitrary grow size */; 2099350952b9Smrg 2100350952b9Smrg num_to_alloc = (yy_buffer_stack_max) + grow_size; 2101350952b9Smrg (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc 2102350952b9Smrg ((yy_buffer_stack), 2103350952b9Smrg num_to_alloc * sizeof(struct yy_buffer_state*) 2104350952b9Smrg ); 2105350952b9Smrg if ( ! (yy_buffer_stack) ) 2106350952b9Smrg YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); 2107350952b9Smrg 2108350952b9Smrg /* zero only the new slots.*/ 2109350952b9Smrg memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); 2110350952b9Smrg (yy_buffer_stack_max) = num_to_alloc; 2111350952b9Smrg } 2112350952b9Smrg} 2113fd7d9bd3Smrg 2114350952b9Smrg/** Setup the input buffer state to scan directly from a user-specified character buffer. 2115350952b9Smrg * @param base the character buffer 2116350952b9Smrg * @param size the size in bytes of the character buffer 2117350952b9Smrg * 2118350952b9Smrg * @return the newly allocated buffer state object. 2119350952b9Smrg */ 2120350952b9SmrgYY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) 2121350952b9Smrg{ 2122350952b9Smrg YY_BUFFER_STATE b; 2123350952b9Smrg 2124fd7d9bd3Smrg if ( size < 2 || 2125fd7d9bd3Smrg base[size-2] != YY_END_OF_BUFFER_CHAR || 2126fd7d9bd3Smrg base[size-1] != YY_END_OF_BUFFER_CHAR ) 2127fd7d9bd3Smrg /* They forgot to leave room for the EOB's. */ 2128fd7d9bd3Smrg return 0; 2129fd7d9bd3Smrg 2130350952b9Smrg b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); 2131fd7d9bd3Smrg if ( ! b ) 2132fd7d9bd3Smrg YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); 2133fd7d9bd3Smrg 2134fd7d9bd3Smrg b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ 2135fd7d9bd3Smrg b->yy_buf_pos = b->yy_ch_buf = base; 2136fd7d9bd3Smrg b->yy_is_our_buffer = 0; 2137fd7d9bd3Smrg b->yy_input_file = 0; 2138fd7d9bd3Smrg b->yy_n_chars = b->yy_buf_size; 2139fd7d9bd3Smrg b->yy_is_interactive = 0; 2140fd7d9bd3Smrg b->yy_at_bol = 1; 2141fd7d9bd3Smrg b->yy_fill_buffer = 0; 2142fd7d9bd3Smrg b->yy_buffer_status = YY_BUFFER_NEW; 2143fd7d9bd3Smrg 2144350952b9Smrg yy_switch_to_buffer(b ); 2145fd7d9bd3Smrg 2146fd7d9bd3Smrg return b; 2147350952b9Smrg} 2148350952b9Smrg 2149350952b9Smrg/** Setup the input buffer state to scan a string. The next call to yylex() will 2150350952b9Smrg * scan from a @e copy of @a str. 2151350952b9Smrg * @param yystr a NUL-terminated string to scan 2152350952b9Smrg * 2153350952b9Smrg * @return the newly allocated buffer state object. 2154350952b9Smrg * @note If you want to scan bytes that may contain NUL values, then use 2155350952b9Smrg * yy_scan_bytes() instead. 2156350952b9Smrg */ 2157350952b9SmrgYY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) 2158350952b9Smrg{ 2159350952b9Smrg 2160350952b9Smrg return yy_scan_bytes(yystr,strlen(yystr) ); 2161350952b9Smrg} 2162350952b9Smrg 2163350952b9Smrg/** Setup the input buffer state to scan the given bytes. The next call to yylex() will 2164350952b9Smrg * scan from a @e copy of @a bytes. 2165350952b9Smrg * @param bytes the byte buffer to scan 2166350952b9Smrg * @param len the number of bytes in the buffer pointed to by @a bytes. 2167350952b9Smrg * 2168350952b9Smrg * @return the newly allocated buffer state object. 2169350952b9Smrg */ 2170350952b9SmrgYY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len ) 2171350952b9Smrg{ 2172fd7d9bd3Smrg YY_BUFFER_STATE b; 2173fd7d9bd3Smrg char *buf; 2174fd7d9bd3Smrg yy_size_t n; 2175fd7d9bd3Smrg int i; 2176350952b9Smrg 2177fd7d9bd3Smrg /* Get memory for full buffer, including space for trailing EOB's. */ 2178350952b9Smrg n = _yybytes_len + 2; 2179350952b9Smrg buf = (char *) yyalloc(n ); 2180fd7d9bd3Smrg if ( ! buf ) 2181fd7d9bd3Smrg YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); 2182fd7d9bd3Smrg 2183350952b9Smrg for ( i = 0; i < _yybytes_len; ++i ) 2184350952b9Smrg buf[i] = yybytes[i]; 2185fd7d9bd3Smrg 2186350952b9Smrg buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; 2187fd7d9bd3Smrg 2188350952b9Smrg b = yy_scan_buffer(buf,n ); 2189fd7d9bd3Smrg if ( ! b ) 2190fd7d9bd3Smrg YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); 2191fd7d9bd3Smrg 2192fd7d9bd3Smrg /* It's okay to grow etc. this buffer, and we should throw it 2193fd7d9bd3Smrg * away when we're done. 2194fd7d9bd3Smrg */ 2195fd7d9bd3Smrg b->yy_is_our_buffer = 1; 2196fd7d9bd3Smrg 2197fd7d9bd3Smrg return b; 2198350952b9Smrg} 2199fd7d9bd3Smrg 2200fd7d9bd3Smrg#ifndef YY_EXIT_FAILURE 2201fd7d9bd3Smrg#define YY_EXIT_FAILURE 2 2202fd7d9bd3Smrg#endif 2203fd7d9bd3Smrg 2204350952b9Smrgstatic void yy_fatal_error (yyconst char* msg ) 2205350952b9Smrg{ 2206350952b9Smrg (void) fprintf( stderr, "%s\n", msg ); 2207fd7d9bd3Smrg exit( YY_EXIT_FAILURE ); 2208350952b9Smrg} 2209fd7d9bd3Smrg 2210fd7d9bd3Smrg/* Redefine yyless() so it works in section 3 code. */ 2211fd7d9bd3Smrg 2212fd7d9bd3Smrg#undef yyless 2213fd7d9bd3Smrg#define yyless(n) \ 2214fd7d9bd3Smrg do \ 2215fd7d9bd3Smrg { \ 2216fd7d9bd3Smrg /* Undo effects of setting up yytext. */ \ 2217350952b9Smrg int yyless_macro_arg = (n); \ 2218350952b9Smrg YY_LESS_LINENO(yyless_macro_arg);\ 2219350952b9Smrg yytext[yyleng] = (yy_hold_char); \ 2220350952b9Smrg (yy_c_buf_p) = yytext + yyless_macro_arg; \ 2221350952b9Smrg (yy_hold_char) = *(yy_c_buf_p); \ 2222350952b9Smrg *(yy_c_buf_p) = '\0'; \ 2223350952b9Smrg yyleng = yyless_macro_arg; \ 2224fd7d9bd3Smrg } \ 2225fd7d9bd3Smrg while ( 0 ) 2226fd7d9bd3Smrg 2227350952b9Smrg/* Accessor methods (get/set functions) to struct members. */ 2228350952b9Smrg 2229350952b9Smrg/** Get the current line number. 2230350952b9Smrg * 2231350952b9Smrg */ 2232350952b9Smrgint yyget_lineno (void) 2233350952b9Smrg{ 2234350952b9Smrg 2235350952b9Smrg return yylineno; 2236350952b9Smrg} 2237350952b9Smrg 2238350952b9Smrg/** Get the input stream. 2239350952b9Smrg * 2240350952b9Smrg */ 2241350952b9SmrgFILE *yyget_in (void) 2242350952b9Smrg{ 2243350952b9Smrg return yyin; 2244350952b9Smrg} 2245fd7d9bd3Smrg 2246350952b9Smrg/** Get the output stream. 2247350952b9Smrg * 2248350952b9Smrg */ 2249350952b9SmrgFILE *yyget_out (void) 2250350952b9Smrg{ 2251350952b9Smrg return yyout; 2252350952b9Smrg} 2253fd7d9bd3Smrg 2254350952b9Smrg/** Get the length of the current token. 2255350952b9Smrg * 2256350952b9Smrg */ 2257350952b9Smrgint yyget_leng (void) 2258350952b9Smrg{ 2259350952b9Smrg return yyleng; 2260350952b9Smrg} 2261350952b9Smrg 2262350952b9Smrg/** Get the current token. 2263350952b9Smrg * 2264350952b9Smrg */ 2265350952b9Smrg 2266350952b9Smrgchar *yyget_text (void) 2267350952b9Smrg{ 2268350952b9Smrg return yytext; 2269350952b9Smrg} 2270350952b9Smrg 2271350952b9Smrg/** Set the current line number. 2272350952b9Smrg * @param line_number 2273350952b9Smrg * 2274350952b9Smrg */ 2275350952b9Smrgvoid yyset_lineno (int line_number ) 2276350952b9Smrg{ 2277350952b9Smrg 2278350952b9Smrg yylineno = line_number; 2279350952b9Smrg} 2280350952b9Smrg 2281350952b9Smrg/** Set the input stream. This does not discard the current 2282350952b9Smrg * input buffer. 2283350952b9Smrg * @param in_str A readable stream. 2284350952b9Smrg * 2285350952b9Smrg * @see yy_switch_to_buffer 2286350952b9Smrg */ 2287350952b9Smrgvoid yyset_in (FILE * in_str ) 2288350952b9Smrg{ 2289350952b9Smrg yyin = in_str ; 2290350952b9Smrg} 2291350952b9Smrg 2292350952b9Smrgvoid yyset_out (FILE * out_str ) 2293350952b9Smrg{ 2294350952b9Smrg yyout = out_str ; 2295350952b9Smrg} 2296350952b9Smrg 2297350952b9Smrgint yyget_debug (void) 2298350952b9Smrg{ 2299350952b9Smrg return yy_flex_debug; 2300350952b9Smrg} 2301350952b9Smrg 2302350952b9Smrgvoid yyset_debug (int bdebug ) 2303350952b9Smrg{ 2304350952b9Smrg yy_flex_debug = bdebug ; 2305350952b9Smrg} 2306350952b9Smrg 2307350952b9Smrgstatic int yy_init_globals (void) 2308350952b9Smrg{ 2309350952b9Smrg /* Initialization is the same as for the non-reentrant scanner. 2310350952b9Smrg * This function is called from yylex_destroy(), so don't allocate here. 2311350952b9Smrg */ 2312350952b9Smrg 2313350952b9Smrg (yy_buffer_stack) = 0; 2314350952b9Smrg (yy_buffer_stack_top) = 0; 2315350952b9Smrg (yy_buffer_stack_max) = 0; 2316350952b9Smrg (yy_c_buf_p) = (char *) 0; 2317350952b9Smrg (yy_init) = 0; 2318350952b9Smrg (yy_start) = 0; 2319350952b9Smrg 2320350952b9Smrg/* Defined in main.c */ 2321350952b9Smrg#ifdef YY_STDINIT 2322350952b9Smrg yyin = stdin; 2323350952b9Smrg yyout = stdout; 2324fd7d9bd3Smrg#else 2325350952b9Smrg yyin = (FILE *) 0; 2326350952b9Smrg yyout = (FILE *) 0; 2327350952b9Smrg#endif 2328350952b9Smrg 2329350952b9Smrg /* For future reference: Set errno on error, since we are called by 2330350952b9Smrg * yylex_init() 2331350952b9Smrg */ 2332350952b9Smrg return 0; 2333350952b9Smrg} 2334350952b9Smrg 2335350952b9Smrg/* yylex_destroy is for both reentrant and non-reentrant scanners. */ 2336350952b9Smrgint yylex_destroy (void) 2337350952b9Smrg{ 2338350952b9Smrg 2339350952b9Smrg /* Pop the buffer stack, destroying each element. */ 2340350952b9Smrg while(YY_CURRENT_BUFFER){ 2341350952b9Smrg yy_delete_buffer(YY_CURRENT_BUFFER ); 2342350952b9Smrg YY_CURRENT_BUFFER_LVALUE = NULL; 2343350952b9Smrg yypop_buffer_state(); 2344350952b9Smrg } 2345350952b9Smrg 2346350952b9Smrg /* Destroy the stack itself. */ 2347350952b9Smrg yyfree((yy_buffer_stack) ); 2348350952b9Smrg (yy_buffer_stack) = NULL; 2349350952b9Smrg 2350350952b9Smrg /* Reset the globals. This is important in a non-reentrant scanner so the next time 2351350952b9Smrg * yylex() is called, initialization will occur. */ 2352350952b9Smrg yy_init_globals( ); 2353350952b9Smrg 2354350952b9Smrg return 0; 2355350952b9Smrg} 2356350952b9Smrg 2357350952b9Smrg/* 2358350952b9Smrg * Internal utility routines. 2359350952b9Smrg */ 2360350952b9Smrg 2361350952b9Smrg#ifndef yytext_ptr 2362350952b9Smrgstatic void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) 2363350952b9Smrg{ 2364fd7d9bd3Smrg register int i; 2365fd7d9bd3Smrg for ( i = 0; i < n; ++i ) 2366fd7d9bd3Smrg s1[i] = s2[i]; 2367350952b9Smrg} 2368fd7d9bd3Smrg#endif 2369fd7d9bd3Smrg 2370fd7d9bd3Smrg#ifdef YY_NEED_STRLEN 2371350952b9Smrgstatic int yy_flex_strlen (yyconst char * s ) 2372350952b9Smrg{ 2373fd7d9bd3Smrg register int n; 2374fd7d9bd3Smrg for ( n = 0; s[n]; ++n ) 2375fd7d9bd3Smrg ; 2376fd7d9bd3Smrg 2377fd7d9bd3Smrg return n; 2378350952b9Smrg} 2379fd7d9bd3Smrg#endif 2380fd7d9bd3Smrg 2381350952b9Smrgvoid *yyalloc (yy_size_t size ) 2382350952b9Smrg{ 2383fd7d9bd3Smrg return (void *) malloc( size ); 2384350952b9Smrg} 2385fd7d9bd3Smrg 2386350952b9Smrgvoid *yyrealloc (void * ptr, yy_size_t size ) 2387350952b9Smrg{ 2388fd7d9bd3Smrg /* The cast to (char *) in the following accommodates both 2389fd7d9bd3Smrg * implementations that use char* generic pointers, and those 2390fd7d9bd3Smrg * that use void* generic pointers. It works with the latter 2391fd7d9bd3Smrg * because both ANSI C and C++ allow castless assignment from 2392fd7d9bd3Smrg * any pointer type to void*, and deal with argument conversions 2393fd7d9bd3Smrg * as though doing an assignment. 2394fd7d9bd3Smrg */ 2395fd7d9bd3Smrg return (void *) realloc( (char *) ptr, size ); 2396350952b9Smrg} 2397fd7d9bd3Smrg 2398350952b9Smrgvoid yyfree (void * ptr ) 2399350952b9Smrg{ 2400350952b9Smrg free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ 2401350952b9Smrg} 2402350952b9Smrg 2403350952b9Smrg#define YYTABLES_NAME "yytables" 2404fd7d9bd3Smrg 2405fd7d9bd3Smrg#line 166 "lex.l" 2406fd7d9bd3Smrg 2407fd7d9bd3Smrg 2408350952b9Smrg 2409fd7d9bd3Smrg#ifndef yywrap 2410350952b9Smrgint yywrap(void) { return (1); } 2411fd7d9bd3Smrg#endif 2412350952b9Smrg 2413