1706f2543Smrg 2706f2543Smrg#line 3 "winprefslex.c" 3706f2543Smrg 4706f2543Smrg#define YY_INT_ALIGNED short int 5706f2543Smrg 6706f2543Smrg/* A lexical scanner generated by flex */ 7706f2543Smrg 8706f2543Smrg#define FLEX_SCANNER 9706f2543Smrg#define YY_FLEX_MAJOR_VERSION 2 10706f2543Smrg#define YY_FLEX_MINOR_VERSION 5 11706f2543Smrg#define YY_FLEX_SUBMINOR_VERSION 35 12706f2543Smrg#if YY_FLEX_SUBMINOR_VERSION > 0 13706f2543Smrg#define FLEX_BETA 14706f2543Smrg#endif 15706f2543Smrg 16706f2543Smrg/* First, we deal with platform-specific or compiler-specific issues. */ 17706f2543Smrg 18706f2543Smrg/* begin standard C headers. */ 19706f2543Smrg#include <stdio.h> 20706f2543Smrg#include <string.h> 21706f2543Smrg#include <errno.h> 22706f2543Smrg#include <stdlib.h> 23706f2543Smrg 24706f2543Smrg/* end standard C headers. */ 25706f2543Smrg 26706f2543Smrg/* flex integer type definitions */ 27706f2543Smrg 28706f2543Smrg#ifndef FLEXINT_H 29706f2543Smrg#define FLEXINT_H 30706f2543Smrg 31706f2543Smrg/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */ 32706f2543Smrg 33706f2543Smrg#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 34706f2543Smrg 35706f2543Smrg/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, 36706f2543Smrg * if you want the limit (max/min) macros for int types. 37706f2543Smrg */ 38706f2543Smrg#ifndef __STDC_LIMIT_MACROS 39706f2543Smrg#define __STDC_LIMIT_MACROS 1 40706f2543Smrg#endif 41706f2543Smrg 42706f2543Smrg#include <inttypes.h> 43706f2543Smrgtypedef int8_t flex_int8_t; 44706f2543Smrgtypedef uint8_t flex_uint8_t; 45706f2543Smrgtypedef int16_t flex_int16_t; 46706f2543Smrgtypedef uint16_t flex_uint16_t; 47706f2543Smrgtypedef int32_t flex_int32_t; 48706f2543Smrgtypedef uint32_t flex_uint32_t; 49706f2543Smrg#else 50706f2543Smrgtypedef signed char flex_int8_t; 51706f2543Smrgtypedef short int flex_int16_t; 52706f2543Smrgtypedef int flex_int32_t; 53706f2543Smrgtypedef unsigned char flex_uint8_t; 54706f2543Smrgtypedef unsigned short int flex_uint16_t; 55706f2543Smrgtypedef unsigned int flex_uint32_t; 56706f2543Smrg#endif /* ! C99 */ 57706f2543Smrg 58706f2543Smrg/* Limits of integral types. */ 59706f2543Smrg#ifndef INT8_MIN 60706f2543Smrg#define INT8_MIN (-128) 61706f2543Smrg#endif 62706f2543Smrg#ifndef INT16_MIN 63706f2543Smrg#define INT16_MIN (-32767-1) 64706f2543Smrg#endif 65706f2543Smrg#ifndef INT32_MIN 66706f2543Smrg#define INT32_MIN (-2147483647-1) 67706f2543Smrg#endif 68706f2543Smrg#ifndef INT8_MAX 69706f2543Smrg#define INT8_MAX (127) 70706f2543Smrg#endif 71706f2543Smrg#ifndef INT16_MAX 72706f2543Smrg#define INT16_MAX (32767) 73706f2543Smrg#endif 74706f2543Smrg#ifndef INT32_MAX 75706f2543Smrg#define INT32_MAX (2147483647) 76706f2543Smrg#endif 77706f2543Smrg#ifndef UINT8_MAX 78706f2543Smrg#define UINT8_MAX (255U) 79706f2543Smrg#endif 80706f2543Smrg#ifndef UINT16_MAX 81706f2543Smrg#define UINT16_MAX (65535U) 82706f2543Smrg#endif 83706f2543Smrg#ifndef UINT32_MAX 84706f2543Smrg#define UINT32_MAX (4294967295U) 85706f2543Smrg#endif 86706f2543Smrg 87706f2543Smrg#endif /* ! FLEXINT_H */ 88706f2543Smrg 89706f2543Smrg#ifdef __cplusplus 90706f2543Smrg 91706f2543Smrg/* The "const" storage-class-modifier is valid. */ 92706f2543Smrg#define YY_USE_CONST 93706f2543Smrg 94706f2543Smrg#else /* ! __cplusplus */ 95706f2543Smrg 96706f2543Smrg/* C99 requires __STDC__ to be defined as 1. */ 97706f2543Smrg#if defined (__STDC__) 98706f2543Smrg 99706f2543Smrg#define YY_USE_CONST 100706f2543Smrg 101706f2543Smrg#endif /* defined (__STDC__) */ 102706f2543Smrg#endif /* ! __cplusplus */ 103706f2543Smrg 104706f2543Smrg#ifdef YY_USE_CONST 105706f2543Smrg#define yyconst const 106706f2543Smrg#else 107706f2543Smrg#define yyconst 108706f2543Smrg#endif 109706f2543Smrg 110706f2543Smrg/* Returned upon end-of-file. */ 111706f2543Smrg#define YY_NULL 0 112706f2543Smrg 113706f2543Smrg/* Promotes a possibly negative, possibly signed char to an unsigned 114706f2543Smrg * integer for use as an array index. If the signed char is negative, 115706f2543Smrg * we want to instead treat it as an 8-bit unsigned char, hence the 116706f2543Smrg * double cast. 117706f2543Smrg */ 118706f2543Smrg#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) 119706f2543Smrg 120706f2543Smrg/* Enter a start condition. This macro really ought to take a parameter, 121706f2543Smrg * but we do it the disgusting crufty way forced on us by the ()-less 122706f2543Smrg * definition of BEGIN. 123706f2543Smrg */ 124706f2543Smrg#define BEGIN (yy_start) = 1 + 2 * 125706f2543Smrg 126706f2543Smrg/* Translate the current start state into a value that can be later handed 127706f2543Smrg * to BEGIN to return to the state. The YYSTATE alias is for lex 128706f2543Smrg * compatibility. 129706f2543Smrg */ 130706f2543Smrg#define YY_START (((yy_start) - 1) / 2) 131706f2543Smrg#define YYSTATE YY_START 132706f2543Smrg 133706f2543Smrg/* Action number for EOF rule of a given start state. */ 134706f2543Smrg#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) 135706f2543Smrg 136706f2543Smrg/* Special action meaning "start processing a new file". */ 137706f2543Smrg#define YY_NEW_FILE yyrestart(yyin ) 138706f2543Smrg 139706f2543Smrg#define YY_END_OF_BUFFER_CHAR 0 140706f2543Smrg 141706f2543Smrg/* Size of default input buffer. */ 142706f2543Smrg#ifndef YY_BUF_SIZE 143706f2543Smrg#define YY_BUF_SIZE 16384 144706f2543Smrg#endif 145706f2543Smrg 146706f2543Smrg/* The state buf must be large enough to hold one state per character in the main buffer. 147706f2543Smrg */ 148706f2543Smrg#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) 149706f2543Smrg 150706f2543Smrg#ifndef YY_TYPEDEF_YY_BUFFER_STATE 151706f2543Smrg#define YY_TYPEDEF_YY_BUFFER_STATE 152706f2543Smrgtypedef struct yy_buffer_state *YY_BUFFER_STATE; 153706f2543Smrg#endif 154706f2543Smrg 155706f2543Smrgextern int yyleng; 156706f2543Smrg 157706f2543Smrgextern FILE *yyin, *yyout; 158706f2543Smrg 159706f2543Smrg#define EOB_ACT_CONTINUE_SCAN 0 160706f2543Smrg#define EOB_ACT_END_OF_FILE 1 161706f2543Smrg#define EOB_ACT_LAST_MATCH 2 162706f2543Smrg 163706f2543Smrg /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires 164706f2543Smrg * access to the local variable yy_act. Since yyless() is a macro, it would break 165706f2543Smrg * existing scanners that call yyless() from OUTSIDE yylex. 166706f2543Smrg * One obvious solution it to make yy_act a global. I tried that, and saw 167706f2543Smrg * a 5% performance hit in a non-yylineno scanner, because yy_act is 168706f2543Smrg * normally declared as a register variable-- so it is not worth it. 169706f2543Smrg */ 170706f2543Smrg #define YY_LESS_LINENO(n) \ 171706f2543Smrg do { \ 172706f2543Smrg int yyl;\ 173706f2543Smrg for ( yyl = n; yyl < yyleng; ++yyl )\ 174706f2543Smrg if ( yytext[yyl] == '\n' )\ 175706f2543Smrg --yylineno;\ 176706f2543Smrg }while(0) 177706f2543Smrg 178706f2543Smrg/* Return all but the first "n" matched characters back to the input stream. */ 179706f2543Smrg#define yyless(n) \ 180706f2543Smrg do \ 181706f2543Smrg { \ 182706f2543Smrg /* Undo effects of setting up yytext. */ \ 183706f2543Smrg int yyless_macro_arg = (n); \ 184706f2543Smrg YY_LESS_LINENO(yyless_macro_arg);\ 185706f2543Smrg *yy_cp = (yy_hold_char); \ 186706f2543Smrg YY_RESTORE_YY_MORE_OFFSET \ 187706f2543Smrg (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ 188706f2543Smrg YY_DO_BEFORE_ACTION; /* set up yytext again */ \ 189706f2543Smrg } \ 190706f2543Smrg while ( 0 ) 191706f2543Smrg 192706f2543Smrg#define unput(c) yyunput( c, (yytext_ptr) ) 193706f2543Smrg 194706f2543Smrg#ifndef YY_TYPEDEF_YY_SIZE_T 195706f2543Smrg#define YY_TYPEDEF_YY_SIZE_T 196706f2543Smrgtypedef size_t yy_size_t; 197706f2543Smrg#endif 198706f2543Smrg 199706f2543Smrg#ifndef YY_STRUCT_YY_BUFFER_STATE 200706f2543Smrg#define YY_STRUCT_YY_BUFFER_STATE 201706f2543Smrgstruct yy_buffer_state 202706f2543Smrg { 203706f2543Smrg FILE *yy_input_file; 204706f2543Smrg 205706f2543Smrg char *yy_ch_buf; /* input buffer */ 206706f2543Smrg char *yy_buf_pos; /* current position in input buffer */ 207706f2543Smrg 208706f2543Smrg /* Size of input buffer in bytes, not including room for EOB 209706f2543Smrg * characters. 210706f2543Smrg */ 211706f2543Smrg yy_size_t yy_buf_size; 212706f2543Smrg 213706f2543Smrg /* Number of characters read into yy_ch_buf, not including EOB 214706f2543Smrg * characters. 215706f2543Smrg */ 216706f2543Smrg int yy_n_chars; 217706f2543Smrg 218706f2543Smrg /* Whether we "own" the buffer - i.e., we know we created it, 219706f2543Smrg * and can realloc() it to grow it, and should free() it to 220706f2543Smrg * delete it. 221706f2543Smrg */ 222706f2543Smrg int yy_is_our_buffer; 223706f2543Smrg 224706f2543Smrg /* Whether this is an "interactive" input source; if so, and 225706f2543Smrg * if we're using stdio for input, then we want to use getc() 226706f2543Smrg * instead of fread(), to make sure we stop fetching input after 227706f2543Smrg * each newline. 228706f2543Smrg */ 229706f2543Smrg int yy_is_interactive; 230706f2543Smrg 231706f2543Smrg /* Whether we're considered to be at the beginning of a line. 232706f2543Smrg * If so, '^' rules will be active on the next match, otherwise 233706f2543Smrg * not. 234706f2543Smrg */ 235706f2543Smrg int yy_at_bol; 236706f2543Smrg 237706f2543Smrg int yy_bs_lineno; /**< The line count. */ 238706f2543Smrg int yy_bs_column; /**< The column count. */ 239706f2543Smrg 240706f2543Smrg /* Whether to try to fill the input buffer when we reach the 241706f2543Smrg * end of it. 242706f2543Smrg */ 243706f2543Smrg int yy_fill_buffer; 244706f2543Smrg 245706f2543Smrg int yy_buffer_status; 246706f2543Smrg 247706f2543Smrg#define YY_BUFFER_NEW 0 248706f2543Smrg#define YY_BUFFER_NORMAL 1 249706f2543Smrg /* When an EOF's been seen but there's still some text to process 250706f2543Smrg * then we mark the buffer as YY_EOF_PENDING, to indicate that we 251706f2543Smrg * shouldn't try reading from the input source any more. We might 252706f2543Smrg * still have a bunch of tokens to match, though, because of 253706f2543Smrg * possible backing-up. 254706f2543Smrg * 255706f2543Smrg * When we actually see the EOF, we change the status to "new" 256706f2543Smrg * (via yyrestart()), so that the user can continue scanning by 257706f2543Smrg * just pointing yyin at a new input file. 258706f2543Smrg */ 259706f2543Smrg#define YY_BUFFER_EOF_PENDING 2 260706f2543Smrg 261706f2543Smrg }; 262706f2543Smrg#endif /* !YY_STRUCT_YY_BUFFER_STATE */ 263706f2543Smrg 264706f2543Smrg/* Stack of input buffers. */ 265706f2543Smrgstatic size_t yy_buffer_stack_top = 0; /**< index of top of stack. */ 266706f2543Smrgstatic size_t yy_buffer_stack_max = 0; /**< capacity of stack. */ 267706f2543Smrgstatic YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */ 268706f2543Smrg 269706f2543Smrg/* We provide macros for accessing buffer states in case in the 270706f2543Smrg * future we want to put the buffer states in a more general 271706f2543Smrg * "scanner state". 272706f2543Smrg * 273706f2543Smrg * Returns the top of the stack, or NULL. 274706f2543Smrg */ 275706f2543Smrg#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \ 276706f2543Smrg ? (yy_buffer_stack)[(yy_buffer_stack_top)] \ 277706f2543Smrg : NULL) 278706f2543Smrg 279706f2543Smrg/* Same as previous macro, but useful when we know that the buffer stack is not 280706f2543Smrg * NULL or when we need an lvalue. For internal use only. 281706f2543Smrg */ 282706f2543Smrg#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)] 283706f2543Smrg 284706f2543Smrg/* yy_hold_char holds the character lost when yytext is formed. */ 285706f2543Smrgstatic char yy_hold_char; 286706f2543Smrgstatic int yy_n_chars; /* number of characters read into yy_ch_buf */ 287706f2543Smrgint yyleng; 288706f2543Smrg 289706f2543Smrg/* Points to current character in buffer. */ 290706f2543Smrgstatic char *yy_c_buf_p = (char *) 0; 291706f2543Smrgstatic int yy_init = 0; /* whether we need to initialize */ 292706f2543Smrgstatic int yy_start = 0; /* start state number */ 293706f2543Smrg 294706f2543Smrg/* Flag which is used to allow yywrap()'s to do buffer switches 295706f2543Smrg * instead of setting up a fresh yyin. A bit of a hack ... 296706f2543Smrg */ 297706f2543Smrgstatic int yy_did_buffer_switch_on_eof; 298706f2543Smrg 299706f2543Smrgvoid yyrestart (FILE *input_file ); 300706f2543Smrgvoid yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ); 301706f2543SmrgYY_BUFFER_STATE yy_create_buffer (FILE *file,int size ); 302706f2543Smrgvoid yy_delete_buffer (YY_BUFFER_STATE b ); 303706f2543Smrgvoid yy_flush_buffer (YY_BUFFER_STATE b ); 304706f2543Smrgvoid yypush_buffer_state (YY_BUFFER_STATE new_buffer ); 305706f2543Smrgvoid yypop_buffer_state (void ); 306706f2543Smrg 307706f2543Smrgstatic void yyensure_buffer_stack (void ); 308706f2543Smrgstatic void yy_load_buffer_state (void ); 309706f2543Smrgstatic void yy_init_buffer (YY_BUFFER_STATE b,FILE *file ); 310706f2543Smrg 311706f2543Smrg#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER ) 312706f2543Smrg 313706f2543SmrgYY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size ); 314706f2543SmrgYY_BUFFER_STATE yy_scan_string (yyconst char *yy_str ); 315706f2543SmrgYY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len ); 316706f2543Smrg 317706f2543Smrgvoid *yyalloc (yy_size_t ); 318706f2543Smrgvoid *yyrealloc (void *,yy_size_t ); 319706f2543Smrgvoid yyfree (void * ); 320706f2543Smrg 321706f2543Smrg#define yy_new_buffer yy_create_buffer 322706f2543Smrg 323706f2543Smrg#define yy_set_interactive(is_interactive) \ 324706f2543Smrg { \ 325706f2543Smrg if ( ! YY_CURRENT_BUFFER ){ \ 326706f2543Smrg yyensure_buffer_stack (); \ 327706f2543Smrg YY_CURRENT_BUFFER_LVALUE = \ 328706f2543Smrg yy_create_buffer(yyin,YY_BUF_SIZE ); \ 329706f2543Smrg } \ 330706f2543Smrg YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ 331706f2543Smrg } 332706f2543Smrg 333706f2543Smrg#define yy_set_bol(at_bol) \ 334706f2543Smrg { \ 335706f2543Smrg if ( ! YY_CURRENT_BUFFER ){\ 336706f2543Smrg yyensure_buffer_stack (); \ 337706f2543Smrg YY_CURRENT_BUFFER_LVALUE = \ 338706f2543Smrg yy_create_buffer(yyin,YY_BUF_SIZE ); \ 339706f2543Smrg } \ 340706f2543Smrg YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ 341706f2543Smrg } 342706f2543Smrg 343706f2543Smrg#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) 344706f2543Smrg 345706f2543Smrg/* Begin user sect3 */ 346706f2543Smrg 347706f2543Smrgtypedef unsigned char YY_CHAR; 348706f2543Smrg 349706f2543SmrgFILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; 350706f2543Smrg 351706f2543Smrgtypedef int yy_state_type; 352706f2543Smrg 353706f2543Smrgextern int yylineno; 354706f2543Smrg 355706f2543Smrgint yylineno = 1; 356706f2543Smrg 357706f2543Smrgextern char *yytext; 358706f2543Smrg#define yytext_ptr yytext 359706f2543Smrg 360706f2543Smrgstatic yy_state_type yy_get_previous_state (void ); 361706f2543Smrgstatic yy_state_type yy_try_NUL_trans (yy_state_type current_state ); 362706f2543Smrgstatic int yy_get_next_buffer (void ); 363706f2543Smrgstatic void yy_fatal_error (yyconst char msg[] ); 364706f2543Smrg 365706f2543Smrg/* Done after the current pattern has been matched and before the 366706f2543Smrg * corresponding action - sets up yytext. 367706f2543Smrg */ 368706f2543Smrg#define YY_DO_BEFORE_ACTION \ 369706f2543Smrg (yytext_ptr) = yy_bp; \ 370706f2543Smrg yyleng = (size_t) (yy_cp - yy_bp); \ 371706f2543Smrg (yy_hold_char) = *yy_cp; \ 372706f2543Smrg *yy_cp = '\0'; \ 373706f2543Smrg (yy_c_buf_p) = yy_cp; 374706f2543Smrg 375706f2543Smrg#define YY_NUM_RULES 33 376706f2543Smrg#define YY_END_OF_BUFFER 34 377706f2543Smrg/* This struct is not used in this scanner, 378706f2543Smrg but its presence is necessary. */ 379706f2543Smrgstruct yy_trans_info 380706f2543Smrg { 381706f2543Smrg flex_int32_t yy_verify; 382706f2543Smrg flex_int32_t yy_nxt; 383706f2543Smrg }; 384706f2543Smrgstatic yyconst flex_int16_t yy_accept[186] = 385706f2543Smrg { 0, 386706f2543Smrg 0, 0, 34, 32, 4, 3, 32, 32, 32, 32, 387706f2543Smrg 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 388706f2543Smrg 29, 30, 32, 4, 32, 0, 32, 0, 1, 1, 389706f2543Smrg 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 390706f2543Smrg 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 391706f2543Smrg 31, 31, 32, 0, 2, 2, 32, 32, 32, 32, 392706f2543Smrg 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 393706f2543Smrg 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 394706f2543Smrg 32, 32, 32, 32, 23, 32, 32, 5, 32, 32, 395706f2543Smrg 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 396706f2543Smrg 397706f2543Smrg 32, 22, 32, 32, 25, 32, 32, 8, 32, 32, 398706f2543Smrg 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 399706f2543Smrg 32, 32, 32, 13, 32, 32, 32, 32, 32, 32, 400706f2543Smrg 32, 26, 32, 32, 32, 9, 32, 32, 32, 32, 401706f2543Smrg 21, 32, 32, 32, 32, 16, 14, 15, 32, 32, 402706f2543Smrg 32, 19, 10, 32, 32, 32, 32, 32, 11, 12, 403706f2543Smrg 17, 32, 32, 27, 32, 32, 32, 32, 20, 32, 404706f2543Smrg 32, 32, 32, 32, 28, 24, 7, 32, 32, 32, 405706f2543Smrg 32, 32, 6, 18, 0 406706f2543Smrg } ; 407706f2543Smrg 408706f2543Smrgstatic yyconst flex_int32_t yy_ec[256] = 409706f2543Smrg { 0, 410706f2543Smrg 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 411706f2543Smrg 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 412706f2543Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 413706f2543Smrg 1, 2, 1, 5, 6, 1, 1, 1, 1, 1, 414706f2543Smrg 1, 1, 1, 1, 1, 1, 7, 1, 1, 1, 415706f2543Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 416706f2543Smrg 1, 1, 1, 1, 8, 9, 10, 11, 12, 13, 417706f2543Smrg 14, 1, 15, 1, 1, 16, 17, 18, 19, 20, 418706f2543Smrg 1, 21, 22, 23, 24, 1, 25, 26, 27, 28, 419706f2543Smrg 1, 1, 1, 1, 1, 1, 29, 30, 31, 32, 420706f2543Smrg 421706f2543Smrg 33, 34, 35, 1, 36, 1, 1, 37, 38, 39, 422706f2543Smrg 40, 41, 1, 42, 43, 44, 45, 1, 46, 47, 423706f2543Smrg 48, 49, 50, 1, 51, 1, 1, 1, 1, 1, 424706f2543Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 425706f2543Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 426706f2543Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 427706f2543Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 428706f2543Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 429706f2543Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 430706f2543Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 431706f2543Smrg 432706f2543Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 433706f2543Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 434706f2543Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 435706f2543Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 436706f2543Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 437706f2543Smrg 1, 1, 1, 1, 1 438706f2543Smrg } ; 439706f2543Smrg 440706f2543Smrgstatic yyconst flex_int32_t yy_meta[52] = 441706f2543Smrg { 0, 442706f2543Smrg 1, 2, 3, 3, 1, 1, 1, 1, 1, 1, 443706f2543Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 444706f2543Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 445706f2543Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 446706f2543Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 447706f2543Smrg 1 448706f2543Smrg } ; 449706f2543Smrg 450706f2543Smrgstatic yyconst flex_int16_t yy_base[193] = 451706f2543Smrg { 0, 452706f2543Smrg 0, 0, 373, 0, 370, 403, 50, 54, 363, 37, 453706f2543Smrg 35, 47, 35, 52, 55, 45, 41, 54, 83, 50, 454706f2543Smrg 0, 0, 0, 367, 74, 362, 97, 74, 403, 93, 455706f2543Smrg 100, 43, 93, 49, 98, 96, 90, 86, 95, 96, 456706f2543Smrg 124, 94, 102, 101, 101, 106, 96, 102, 105, 132, 457706f2543Smrg 0, 403, 146, 148, 403, 150, 147, 138, 134, 136, 458706f2543Smrg 136, 154, 153, 146, 150, 142, 152, 148, 155, 155, 459706f2543Smrg 153, 150, 166, 163, 163, 165, 172, 170, 171, 188, 460706f2543Smrg 193, 183, 190, 181, 0, 195, 190, 0, 191, 201, 461706f2543Smrg 188, 197, 205, 197, 194, 198, 209, 212, 212, 224, 462706f2543Smrg 463706f2543Smrg 218, 0, 220, 226, 0, 228, 231, 0, 232, 233, 464706f2543Smrg 232, 234, 233, 242, 242, 247, 233, 235, 240, 237, 465706f2543Smrg 253, 247, 250, 0, 258, 261, 255, 257, 274, 276, 466706f2543Smrg 277, 0, 272, 268, 280, 0, 269, 272, 277, 279, 467706f2543Smrg 0, 283, 287, 288, 289, 0, 0, 0, 284, 296, 468706f2543Smrg 297, 0, 0, 306, 302, 317, 301, 320, 0, 0, 469706f2543Smrg 0, 310, 317, 0, 314, 315, 313, 314, 0, 315, 470706f2543Smrg 319, 322, 324, 323, 0, 0, 0, 331, 326, 332, 471706f2543Smrg 330, 341, 0, 0, 403, 365, 386, 388, 391, 393, 472706f2543Smrg 396, 399 473706f2543Smrg 474706f2543Smrg } ; 475706f2543Smrg 476706f2543Smrgstatic yyconst flex_int16_t yy_def[193] = 477706f2543Smrg { 0, 478706f2543Smrg 185, 1, 185, 186, 185, 185, 187, 188, 186, 186, 479706f2543Smrg 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 480706f2543Smrg 186, 186, 186, 185, 187, 189, 188, 190, 185, 190, 481706f2543Smrg 191, 186, 186, 186, 186, 186, 186, 186, 186, 186, 482706f2543Smrg 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 483706f2543Smrg 186, 185, 191, 192, 185, 192, 186, 186, 186, 186, 484706f2543Smrg 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 485706f2543Smrg 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 486706f2543Smrg 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 487706f2543Smrg 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 488706f2543Smrg 489706f2543Smrg 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 490706f2543Smrg 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 491706f2543Smrg 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 492706f2543Smrg 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 493706f2543Smrg 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 494706f2543Smrg 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 495706f2543Smrg 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 496706f2543Smrg 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 497706f2543Smrg 186, 186, 186, 186, 0, 185, 185, 185, 185, 185, 498706f2543Smrg 185, 185 499706f2543Smrg 500706f2543Smrg } ; 501706f2543Smrg 502706f2543Smrgstatic yyconst flex_int16_t yy_nxt[455] = 503706f2543Smrg { 0, 504706f2543Smrg 4, 5, 6, 6, 7, 8, 9, 10, 11, 4, 505706f2543Smrg 12, 13, 4, 4, 14, 4, 15, 16, 17, 4, 506706f2543Smrg 18, 19, 20, 4, 4, 4, 4, 4, 10, 11, 507706f2543Smrg 4, 12, 13, 4, 4, 14, 4, 15, 16, 17, 508706f2543Smrg 4, 18, 19, 20, 4, 4, 4, 4, 4, 21, 509706f2543Smrg 22, 26, 32, 34, 23, 28, 29, 30, 35, 33, 510706f2543Smrg 36, 37, 38, 41, 42, 43, 39, 57, 49, 40, 511706f2543Smrg 50, 60, 44, 32, 34, 26, 29, 30, 51, 35, 512706f2543Smrg 33, 36, 37, 38, 41, 42, 43, 39, 57, 49, 513706f2543Smrg 40, 50, 60, 44, 45, 29, 30, 46, 28, 29, 514706f2543Smrg 515706f2543Smrg 30, 54, 55, 56, 58, 47, 61, 63, 64, 48, 516706f2543Smrg 62, 65, 66, 67, 59, 45, 70, 71, 46, 72, 517706f2543Smrg 73, 74, 75, 76, 77, 58, 47, 61, 63, 64, 518706f2543Smrg 48, 62, 65, 66, 67, 59, 68, 70, 71, 78, 519706f2543Smrg 72, 73, 74, 75, 76, 77, 69, 54, 55, 56, 520706f2543Smrg 55, 56, 55, 56, 79, 80, 81, 68, 82, 83, 521706f2543Smrg 78, 84, 85, 86, 87, 88, 89, 69, 90, 91, 522706f2543Smrg 92, 93, 94, 95, 96, 79, 80, 81, 97, 82, 523706f2543Smrg 83, 98, 84, 85, 86, 87, 88, 89, 99, 90, 524706f2543Smrg 91, 92, 93, 94, 95, 96, 100, 101, 102, 97, 525706f2543Smrg 526706f2543Smrg 103, 104, 98, 105, 106, 107, 109, 110, 111, 99, 527706f2543Smrg 112, 113, 114, 115, 116, 117, 108, 100, 101, 102, 528706f2543Smrg 118, 103, 104, 119, 105, 106, 107, 109, 110, 111, 529706f2543Smrg 120, 112, 113, 114, 115, 116, 117, 108, 121, 122, 530706f2543Smrg 123, 118, 124, 125, 119, 126, 127, 128, 129, 130, 531706f2543Smrg 131, 120, 132, 133, 134, 135, 136, 137, 138, 121, 532706f2543Smrg 122, 123, 139, 124, 125, 140, 126, 127, 128, 129, 533706f2543Smrg 130, 131, 141, 132, 133, 134, 135, 136, 137, 138, 534706f2543Smrg 142, 143, 144, 139, 145, 146, 140, 147, 148, 149, 535706f2543Smrg 150, 151, 152, 141, 153, 154, 155, 156, 158, 159, 536706f2543Smrg 537706f2543Smrg 160, 142, 143, 144, 157, 145, 146, 161, 147, 148, 538706f2543Smrg 149, 150, 151, 152, 162, 153, 154, 155, 156, 158, 539706f2543Smrg 159, 160, 163, 164, 165, 157, 166, 167, 161, 168, 540706f2543Smrg 169, 170, 171, 172, 173, 162, 174, 175, 176, 177, 541706f2543Smrg 178, 179, 180, 163, 164, 165, 181, 166, 167, 182, 542706f2543Smrg 168, 169, 170, 171, 172, 173, 183, 174, 175, 176, 543706f2543Smrg 177, 178, 179, 180, 184, 23, 52, 181, 24, 31, 544706f2543Smrg 182, 24, 185, 185, 185, 185, 185, 183, 185, 185, 545706f2543Smrg 185, 185, 185, 185, 185, 184, 25, 25, 27, 27, 546706f2543Smrg 27, 26, 26, 28, 28, 28, 53, 53, 53, 54, 547706f2543Smrg 548706f2543Smrg 54, 54, 3, 185, 185, 185, 185, 185, 185, 185, 549706f2543Smrg 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 550706f2543Smrg 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 551706f2543Smrg 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 552706f2543Smrg 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 553706f2543Smrg 185, 185, 185, 185 554706f2543Smrg } ; 555706f2543Smrg 556706f2543Smrgstatic yyconst flex_int16_t yy_chk[455] = 557706f2543Smrg { 0, 558706f2543Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 559706f2543Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 560706f2543Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 561706f2543Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 562706f2543Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 563706f2543Smrg 1, 7, 10, 11, 7, 8, 8, 8, 12, 10, 564706f2543Smrg 13, 14, 15, 16, 17, 18, 15, 32, 20, 15, 565706f2543Smrg 20, 34, 18, 10, 11, 25, 28, 28, 25, 12, 566706f2543Smrg 10, 13, 14, 15, 16, 17, 18, 15, 32, 20, 567706f2543Smrg 15, 20, 34, 18, 19, 30, 30, 19, 27, 27, 568706f2543Smrg 569706f2543Smrg 27, 31, 31, 31, 33, 19, 35, 36, 37, 19, 570706f2543Smrg 35, 38, 39, 40, 33, 19, 42, 43, 19, 44, 571706f2543Smrg 45, 46, 47, 48, 49, 33, 19, 35, 36, 37, 572706f2543Smrg 19, 35, 38, 39, 40, 33, 41, 42, 43, 50, 573706f2543Smrg 44, 45, 46, 47, 48, 49, 41, 53, 53, 53, 574706f2543Smrg 54, 54, 56, 56, 57, 58, 59, 41, 60, 61, 575706f2543Smrg 50, 62, 63, 64, 65, 66, 67, 41, 68, 69, 576706f2543Smrg 70, 71, 72, 73, 74, 57, 58, 59, 75, 60, 577706f2543Smrg 61, 76, 62, 63, 64, 65, 66, 67, 77, 68, 578706f2543Smrg 69, 70, 71, 72, 73, 74, 78, 79, 80, 75, 579706f2543Smrg 580706f2543Smrg 81, 82, 76, 83, 84, 86, 87, 89, 90, 77, 581706f2543Smrg 91, 92, 93, 94, 95, 96, 86, 78, 79, 80, 582706f2543Smrg 97, 81, 82, 98, 83, 84, 86, 87, 89, 90, 583706f2543Smrg 99, 91, 92, 93, 94, 95, 96, 86, 100, 101, 584706f2543Smrg 103, 97, 104, 106, 98, 107, 109, 110, 111, 112, 585706f2543Smrg 113, 99, 114, 115, 116, 117, 118, 119, 120, 100, 586706f2543Smrg 101, 103, 121, 104, 106, 122, 107, 109, 110, 111, 587706f2543Smrg 112, 113, 123, 114, 115, 116, 117, 118, 119, 120, 588706f2543Smrg 125, 126, 127, 121, 128, 129, 122, 130, 131, 133, 589706f2543Smrg 134, 135, 137, 123, 138, 139, 140, 142, 143, 144, 590706f2543Smrg 591706f2543Smrg 145, 125, 126, 127, 142, 128, 129, 149, 130, 131, 592706f2543Smrg 133, 134, 135, 137, 150, 138, 139, 140, 142, 143, 593706f2543Smrg 144, 145, 151, 154, 155, 142, 156, 157, 149, 158, 594706f2543Smrg 162, 163, 165, 166, 167, 150, 168, 170, 171, 172, 595706f2543Smrg 173, 174, 178, 151, 154, 155, 179, 156, 157, 180, 596706f2543Smrg 158, 162, 163, 165, 166, 167, 181, 168, 170, 171, 597706f2543Smrg 172, 173, 174, 178, 182, 186, 26, 179, 24, 9, 598706f2543Smrg 180, 5, 3, 0, 0, 0, 0, 181, 0, 0, 599706f2543Smrg 0, 0, 0, 0, 0, 182, 187, 187, 188, 188, 600706f2543Smrg 188, 189, 189, 190, 190, 190, 191, 191, 191, 192, 601706f2543Smrg 602706f2543Smrg 192, 192, 185, 185, 185, 185, 185, 185, 185, 185, 603706f2543Smrg 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 604706f2543Smrg 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 605706f2543Smrg 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 606706f2543Smrg 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 607706f2543Smrg 185, 185, 185, 185 608706f2543Smrg } ; 609706f2543Smrg 610706f2543Smrg/* Table of booleans, true if rule could match eol. */ 611706f2543Smrgstatic yyconst flex_int32_t yy_rule_can_match_eol[34] = 612706f2543Smrg { 0, 613706f2543Smrg1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 614706f2543Smrg 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; 615706f2543Smrg 616706f2543Smrgstatic yy_state_type yy_last_accepting_state; 617706f2543Smrgstatic char *yy_last_accepting_cpos; 618706f2543Smrg 619706f2543Smrgextern int yy_flex_debug; 620706f2543Smrgint yy_flex_debug = 0; 621706f2543Smrg 622706f2543Smrg/* The intent behind this definition is that it'll catch 623706f2543Smrg * any uses of REJECT which flex missed. 624706f2543Smrg */ 625706f2543Smrg#define REJECT reject_used_but_not_detected 626706f2543Smrg#define yymore() yymore_used_but_not_detected 627706f2543Smrg#define YY_MORE_ADJ 0 628706f2543Smrg#define YY_RESTORE_YY_MORE_OFFSET 629706f2543Smrgchar *yytext; 630706f2543Smrg#line 1 "winprefslex.l" 631706f2543Smrg#line 2 "winprefslex.l" 632706f2543Smrg/* 633706f2543Smrg * Copyright (C) 1994-2000 The XFree86 Project, Inc. All Rights Reserved. 634706f2543Smrg * Copyright (C) Colin Harrison 2005-2008 635706f2543Smrg * 636706f2543Smrg * Permission is hereby granted, free of charge, to any person obtaining 637706f2543Smrg * a copy of this software and associated documentation files (the 638706f2543Smrg * "Software"), to deal in the Software without restriction, including 639706f2543Smrg * without limitation the rights to use, copy, modify, merge, publish, 640706f2543Smrg * distribute, sublicense, and/or sell copies of the Software, and to 641706f2543Smrg * permit persons to whom the Software is furnished to do so, subject to 642706f2543Smrg * the following conditions: 643706f2543Smrg * 644706f2543Smrg * The above copyright notice and this permission notice shall be 645706f2543Smrg * included in all copies or substantial portions of the Software. 646706f2543Smrg * 647706f2543Smrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 648706f2543Smrg * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 649706f2543Smrg * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 650706f2543Smrg * NONINFRINGEMENT. IN NO EVENT SHALL THE XFREE86 PROJECT BE LIABLE FOR 651706f2543Smrg * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF 652706f2543Smrg * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 653706f2543Smrg * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 654706f2543Smrg * 655706f2543Smrg * Except as contained in this notice, the name of the XFree86 Project 656706f2543Smrg * shall not be used in advertising or otherwise to promote the sale, use 657706f2543Smrg * or other dealings in this Software without prior written authorization 658706f2543Smrg * from the XFree86 Project. 659706f2543Smrg * 660706f2543Smrg * Authors: Earle F. Philhower, III 661706f2543Smrg * Colin Harrison 662706f2543Smrg */ 663706f2543Smrg/* $XFree86: $ */ 664706f2543Smrg 665706f2543Smrg#include <stdio.h> 666706f2543Smrg#include <stdlib.h> 667706f2543Smrg#include <string.h> 668706f2543Smrg#include "winprefsyacc.h" 669706f2543Smrg 670706f2543Smrgextern YYSTYPE yylval; 671706f2543Smrgextern char *yytext; 672706f2543Smrgextern int yyparse(void); 673706f2543Smrg 674706f2543Smrgextern void ErrorF (const char* /*f*/, ...); 675706f2543Smrg 676706f2543Smrgint yylineno; 677706f2543Smrg 678706f2543Smrg/* Copy the parsed string, must be free()d in yacc parser */ 679706f2543Smrgstatic char *makestr(char *str) 680706f2543Smrg{ 681706f2543Smrg char *ptr; 682706f2543Smrg ptr = (char*)malloc (strlen(str)+1); 683706f2543Smrg if (!ptr) 684706f2543Smrg { 685706f2543Smrg ErrorF ("winMultiWindowLex:makestr() out of memory\n"); 686706f2543Smrg exit (-1); 687706f2543Smrg } 688706f2543Smrg strcpy(ptr, str); 689706f2543Smrg return ptr; 690706f2543Smrg} 691706f2543Smrg 692706f2543Smrg#line 693 "winprefslex.c" 693706f2543Smrg 694706f2543Smrg#define INITIAL 0 695706f2543Smrg 696706f2543Smrg#ifndef YY_NO_UNISTD_H 697706f2543Smrg/* Special case for "unistd.h", since it is non-ANSI. We include it way 698706f2543Smrg * down here because we want the user's section 1 to have been scanned first. 699706f2543Smrg * The user has a chance to override it with an option. 700706f2543Smrg */ 701706f2543Smrg#include <unistd.h> 702706f2543Smrg#endif 703706f2543Smrg 704706f2543Smrg#ifndef YY_EXTRA_TYPE 705706f2543Smrg#define YY_EXTRA_TYPE void * 706706f2543Smrg#endif 707706f2543Smrg 708706f2543Smrgstatic int yy_init_globals (void ); 709706f2543Smrg 710706f2543Smrg/* Accessor methods to globals. 711706f2543Smrg These are made visible to non-reentrant scanners for convenience. */ 712706f2543Smrg 713706f2543Smrgint yylex_destroy (void ); 714706f2543Smrg 715706f2543Smrgint yyget_debug (void ); 716706f2543Smrg 717706f2543Smrgvoid yyset_debug (int debug_flag ); 718706f2543Smrg 719706f2543SmrgYY_EXTRA_TYPE yyget_extra (void ); 720706f2543Smrg 721706f2543Smrgvoid yyset_extra (YY_EXTRA_TYPE user_defined ); 722706f2543Smrg 723706f2543SmrgFILE *yyget_in (void ); 724706f2543Smrg 725706f2543Smrgvoid yyset_in (FILE * in_str ); 726706f2543Smrg 727706f2543SmrgFILE *yyget_out (void ); 728706f2543Smrg 729706f2543Smrgvoid yyset_out (FILE * out_str ); 730706f2543Smrg 731706f2543Smrgint yyget_leng (void ); 732706f2543Smrg 733706f2543Smrgchar *yyget_text (void ); 734706f2543Smrg 735706f2543Smrgint yyget_lineno (void ); 736706f2543Smrg 737706f2543Smrgvoid yyset_lineno (int line_number ); 738706f2543Smrg 739706f2543Smrg/* Macros after this point can all be overridden by user definitions in 740706f2543Smrg * section 1. 741706f2543Smrg */ 742706f2543Smrg 743706f2543Smrg#ifndef YY_SKIP_YYWRAP 744706f2543Smrg#ifdef __cplusplus 745706f2543Smrgextern "C" int yywrap (void ); 746706f2543Smrg#else 747706f2543Smrgextern int yywrap (void ); 748706f2543Smrg#endif 749706f2543Smrg#endif 750706f2543Smrg 751706f2543Smrg static void yyunput (int c,char *buf_ptr ); 752706f2543Smrg 753706f2543Smrg#ifndef yytext_ptr 754706f2543Smrgstatic void yy_flex_strncpy (char *,yyconst char *,int ); 755706f2543Smrg#endif 756706f2543Smrg 757706f2543Smrg#ifdef YY_NEED_STRLEN 758706f2543Smrgstatic int yy_flex_strlen (yyconst char * ); 759706f2543Smrg#endif 760706f2543Smrg 761706f2543Smrg#ifndef YY_NO_INPUT 762706f2543Smrg 763706f2543Smrg#ifdef __cplusplus 764706f2543Smrgstatic int yyinput (void ); 765706f2543Smrg#else 766706f2543Smrgstatic int input (void ); 767706f2543Smrg#endif 768706f2543Smrg 769706f2543Smrg#endif 770706f2543Smrg 771706f2543Smrg/* Amount of stuff to slurp up with each read. */ 772706f2543Smrg#ifndef YY_READ_BUF_SIZE 773706f2543Smrg#define YY_READ_BUF_SIZE 8192 774706f2543Smrg#endif 775706f2543Smrg 776706f2543Smrg/* Copy whatever the last rule matched to the standard output. */ 777706f2543Smrg#ifndef ECHO 778706f2543Smrg/* This used to be an fputs(), but since the string might contain NUL's, 779706f2543Smrg * we now use fwrite(). 780706f2543Smrg */ 781706f2543Smrg#define ECHO fwrite( yytext, yyleng, 1, yyout ) 782706f2543Smrg#endif 783706f2543Smrg 784706f2543Smrg/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, 785706f2543Smrg * is returned in "result". 786706f2543Smrg */ 787706f2543Smrg#ifndef YY_INPUT 788706f2543Smrg#define YY_INPUT(buf,result,max_size) \ 789706f2543Smrg if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ 790706f2543Smrg { \ 791706f2543Smrg int c = '*'; \ 792706f2543Smrg int n; \ 793706f2543Smrg for ( n = 0; n < max_size && \ 794706f2543Smrg (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ 795706f2543Smrg buf[n] = (char) c; \ 796706f2543Smrg if ( c == '\n' ) \ 797706f2543Smrg buf[n++] = (char) c; \ 798706f2543Smrg if ( c == EOF && ferror( yyin ) ) \ 799706f2543Smrg YY_FATAL_ERROR( "input in flex scanner failed" ); \ 800706f2543Smrg result = n; \ 801706f2543Smrg } \ 802706f2543Smrg else \ 803706f2543Smrg { \ 804706f2543Smrg errno=0; \ 805706f2543Smrg while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ 806706f2543Smrg { \ 807706f2543Smrg if( errno != EINTR) \ 808706f2543Smrg { \ 809706f2543Smrg YY_FATAL_ERROR( "input in flex scanner failed" ); \ 810706f2543Smrg break; \ 811706f2543Smrg } \ 812706f2543Smrg errno=0; \ 813706f2543Smrg clearerr(yyin); \ 814706f2543Smrg } \ 815706f2543Smrg }\ 816706f2543Smrg\ 817706f2543Smrg 818706f2543Smrg#endif 819706f2543Smrg 820706f2543Smrg/* No semi-colon after return; correct usage is to write "yyterminate();" - 821706f2543Smrg * we don't want an extra ';' after the "return" because that will cause 822706f2543Smrg * some compilers to complain about unreachable statements. 823706f2543Smrg */ 824706f2543Smrg#ifndef yyterminate 825706f2543Smrg#define yyterminate() return YY_NULL 826706f2543Smrg#endif 827706f2543Smrg 828706f2543Smrg/* Number of entries by which start-condition stack grows. */ 829706f2543Smrg#ifndef YY_START_STACK_INCR 830706f2543Smrg#define YY_START_STACK_INCR 25 831706f2543Smrg#endif 832706f2543Smrg 833706f2543Smrg/* Report a fatal error. */ 834706f2543Smrg#ifndef YY_FATAL_ERROR 835706f2543Smrg#define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) 836706f2543Smrg#endif 837706f2543Smrg 838706f2543Smrg/* end tables serialization structures and prototypes */ 839706f2543Smrg 840706f2543Smrg/* Default declaration of generated scanner - a define so the user can 841706f2543Smrg * easily add parameters. 842706f2543Smrg */ 843706f2543Smrg#ifndef YY_DECL 844706f2543Smrg#define YY_DECL_IS_OURS 1 845706f2543Smrg 846706f2543Smrgextern int yylex (void); 847706f2543Smrg 848706f2543Smrg#define YY_DECL int yylex (void) 849706f2543Smrg#endif /* !YY_DECL */ 850706f2543Smrg 851706f2543Smrg/* Code executed at the beginning of each rule, after yytext and yyleng 852706f2543Smrg * have been set up. 853706f2543Smrg */ 854706f2543Smrg#ifndef YY_USER_ACTION 855706f2543Smrg#define YY_USER_ACTION 856706f2543Smrg#endif 857706f2543Smrg 858706f2543Smrg/* Code executed at the end of each rule. */ 859706f2543Smrg#ifndef YY_BREAK 860706f2543Smrg#define YY_BREAK break; 861706f2543Smrg#endif 862706f2543Smrg 863706f2543Smrg#define YY_RULE_SETUP \ 864706f2543Smrg YY_USER_ACTION 865706f2543Smrg 866706f2543Smrg/** The main scanner function which does all the work. 867706f2543Smrg */ 868706f2543SmrgYY_DECL 869706f2543Smrg{ 870706f2543Smrg register yy_state_type yy_current_state; 871706f2543Smrg register char *yy_cp, *yy_bp; 872706f2543Smrg register int yy_act; 873706f2543Smrg 874706f2543Smrg#line 66 "winprefslex.l" 875706f2543Smrg 876706f2543Smrg#line 877 "winprefslex.c" 877706f2543Smrg 878706f2543Smrg if ( !(yy_init) ) 879706f2543Smrg { 880706f2543Smrg (yy_init) = 1; 881706f2543Smrg 882706f2543Smrg#ifdef YY_USER_INIT 883706f2543Smrg YY_USER_INIT; 884706f2543Smrg#endif 885706f2543Smrg 886706f2543Smrg if ( ! (yy_start) ) 887706f2543Smrg (yy_start) = 1; /* first start state */ 888706f2543Smrg 889706f2543Smrg if ( ! yyin ) 890706f2543Smrg yyin = stdin; 891706f2543Smrg 892706f2543Smrg if ( ! yyout ) 893706f2543Smrg yyout = stdout; 894706f2543Smrg 895706f2543Smrg if ( ! YY_CURRENT_BUFFER ) { 896706f2543Smrg yyensure_buffer_stack (); 897706f2543Smrg YY_CURRENT_BUFFER_LVALUE = 898706f2543Smrg yy_create_buffer(yyin,YY_BUF_SIZE ); 899706f2543Smrg } 900706f2543Smrg 901706f2543Smrg yy_load_buffer_state( ); 902706f2543Smrg } 903706f2543Smrg 904706f2543Smrg while ( 1 ) /* loops until end-of-file is reached */ 905706f2543Smrg { 906706f2543Smrg yy_cp = (yy_c_buf_p); 907706f2543Smrg 908706f2543Smrg /* Support of yytext. */ 909706f2543Smrg *yy_cp = (yy_hold_char); 910706f2543Smrg 911706f2543Smrg /* yy_bp points to the position in yy_ch_buf of the start of 912706f2543Smrg * the current run. 913706f2543Smrg */ 914706f2543Smrg yy_bp = yy_cp; 915706f2543Smrg 916706f2543Smrg yy_current_state = (yy_start); 917706f2543Smrgyy_match: 918706f2543Smrg do 919706f2543Smrg { 920706f2543Smrg register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; 921706f2543Smrg if ( yy_accept[yy_current_state] ) 922706f2543Smrg { 923706f2543Smrg (yy_last_accepting_state) = yy_current_state; 924706f2543Smrg (yy_last_accepting_cpos) = yy_cp; 925706f2543Smrg } 926706f2543Smrg while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 927706f2543Smrg { 928706f2543Smrg yy_current_state = (int) yy_def[yy_current_state]; 929706f2543Smrg if ( yy_current_state >= 186 ) 930706f2543Smrg yy_c = yy_meta[(unsigned int) yy_c]; 931706f2543Smrg } 932706f2543Smrg yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 933706f2543Smrg ++yy_cp; 934706f2543Smrg } 935706f2543Smrg while ( yy_base[yy_current_state] != 403 ); 936706f2543Smrg 937706f2543Smrgyy_find_action: 938706f2543Smrg yy_act = yy_accept[yy_current_state]; 939706f2543Smrg if ( yy_act == 0 ) 940706f2543Smrg { /* have to back up */ 941706f2543Smrg yy_cp = (yy_last_accepting_cpos); 942706f2543Smrg yy_current_state = (yy_last_accepting_state); 943706f2543Smrg yy_act = yy_accept[yy_current_state]; 944706f2543Smrg } 945706f2543Smrg 946706f2543Smrg YY_DO_BEFORE_ACTION; 947706f2543Smrg 948706f2543Smrg if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] ) 949706f2543Smrg { 950706f2543Smrg int yyl; 951706f2543Smrg for ( yyl = 0; yyl < yyleng; ++yyl ) 952706f2543Smrg if ( yytext[yyl] == '\n' ) 953706f2543Smrg 954706f2543Smrg yylineno++; 955706f2543Smrg; 956706f2543Smrg } 957706f2543Smrg 958706f2543Smrgdo_action: /* This label is used only to access EOF actions. */ 959706f2543Smrg 960706f2543Smrg switch ( yy_act ) 961706f2543Smrg { /* beginning of action switch */ 962706f2543Smrg case 0: /* must back up */ 963706f2543Smrg /* undo the effects of YY_DO_BEFORE_ACTION */ 964706f2543Smrg *yy_cp = (yy_hold_char); 965706f2543Smrg yy_cp = (yy_last_accepting_cpos); 966706f2543Smrg yy_current_state = (yy_last_accepting_state); 967706f2543Smrg goto yy_find_action; 968706f2543Smrg 969706f2543Smrgcase 1: 970706f2543Smrg/* rule 1 can match eol */ 971706f2543SmrgYY_RULE_SETUP 972706f2543Smrg#line 67 "winprefslex.l" 973706f2543Smrg{ /* comment */ return NEWLINE; } 974706f2543Smrg YY_BREAK 975706f2543Smrgcase 2: 976706f2543Smrg/* rule 2 can match eol */ 977706f2543SmrgYY_RULE_SETUP 978706f2543Smrg#line 68 "winprefslex.l" 979706f2543Smrg{ /* comment */ return NEWLINE; } 980706f2543Smrg YY_BREAK 981706f2543Smrgcase 3: 982706f2543Smrg/* rule 3 can match eol */ 983706f2543SmrgYY_RULE_SETUP 984706f2543Smrg#line 69 "winprefslex.l" 985706f2543Smrg{ return NEWLINE; } 986706f2543Smrg YY_BREAK 987706f2543Smrgcase 4: 988706f2543SmrgYY_RULE_SETUP 989706f2543Smrg#line 70 "winprefslex.l" 990706f2543Smrg{ /* ignore whitespace */ } 991706f2543Smrg YY_BREAK 992706f2543Smrgcase 5: 993706f2543SmrgYY_RULE_SETUP 994706f2543Smrg#line 71 "winprefslex.l" 995706f2543Smrg{ return MENU; } 996706f2543Smrg YY_BREAK 997706f2543Smrgcase 6: 998706f2543SmrgYY_RULE_SETUP 999706f2543Smrg#line 72 "winprefslex.l" 1000706f2543Smrg{ return ICONDIRECTORY; } 1001706f2543Smrg YY_BREAK 1002706f2543Smrgcase 7: 1003706f2543SmrgYY_RULE_SETUP 1004706f2543Smrg#line 73 "winprefslex.l" 1005706f2543Smrg{ return DEFAULTICON; } 1006706f2543Smrg YY_BREAK 1007706f2543Smrgcase 8: 1008706f2543SmrgYY_RULE_SETUP 1009706f2543Smrg#line 74 "winprefslex.l" 1010706f2543Smrg{ return ICONS; } 1011706f2543Smrg YY_BREAK 1012706f2543Smrgcase 9: 1013706f2543SmrgYY_RULE_SETUP 1014706f2543Smrg#line 75 "winprefslex.l" 1015706f2543Smrg{ return STYLES; } 1016706f2543Smrg YY_BREAK 1017706f2543Smrgcase 10: 1018706f2543SmrgYY_RULE_SETUP 1019706f2543Smrg#line 76 "winprefslex.l" 1020706f2543Smrg{ return TOPMOST; } 1021706f2543Smrg YY_BREAK 1022706f2543Smrgcase 11: 1023706f2543SmrgYY_RULE_SETUP 1024706f2543Smrg#line 77 "winprefslex.l" 1025706f2543Smrg{ return MAXIMIZE; } 1026706f2543Smrg YY_BREAK 1027706f2543Smrgcase 12: 1028706f2543SmrgYY_RULE_SETUP 1029706f2543Smrg#line 78 "winprefslex.l" 1030706f2543Smrg{ return MINIMIZE; } 1031706f2543Smrg YY_BREAK 1032706f2543Smrgcase 13: 1033706f2543SmrgYY_RULE_SETUP 1034706f2543Smrg#line 79 "winprefslex.l" 1035706f2543Smrg{ return BOTTOM; } 1036706f2543Smrg YY_BREAK 1037706f2543Smrgcase 14: 1038706f2543SmrgYY_RULE_SETUP 1039706f2543Smrg#line 80 "winprefslex.l" 1040706f2543Smrg{ return NOTITLE; } 1041706f2543Smrg YY_BREAK 1042706f2543Smrgcase 15: 1043706f2543SmrgYY_RULE_SETUP 1044706f2543Smrg#line 81 "winprefslex.l" 1045706f2543Smrg{ return OUTLINE; } 1046706f2543Smrg YY_BREAK 1047706f2543Smrgcase 16: 1048706f2543SmrgYY_RULE_SETUP 1049706f2543Smrg#line 82 "winprefslex.l" 1050706f2543Smrg{ return NOFRAME; } 1051706f2543Smrg YY_BREAK 1052706f2543Smrgcase 17: 1053706f2543SmrgYY_RULE_SETUP 1054706f2543Smrg#line 83 "winprefslex.l" 1055706f2543Smrg{ return ROOTMENU; } 1056706f2543Smrg YY_BREAK 1057706f2543Smrgcase 18: 1058706f2543SmrgYY_RULE_SETUP 1059706f2543Smrg#line 84 "winprefslex.l" 1060706f2543Smrg{ return DEFAULTSYSMENU; } 1061706f2543Smrg YY_BREAK 1062706f2543Smrgcase 19: 1063706f2543SmrgYY_RULE_SETUP 1064706f2543Smrg#line 85 "winprefslex.l" 1065706f2543Smrg{ return SYSMENU; } 1066706f2543Smrg YY_BREAK 1067706f2543Smrgcase 20: 1068706f2543SmrgYY_RULE_SETUP 1069706f2543Smrg#line 86 "winprefslex.l" 1070706f2543Smrg{ return SEPARATOR; } 1071706f2543Smrg YY_BREAK 1072706f2543Smrgcase 21: 1073706f2543SmrgYY_RULE_SETUP 1074706f2543Smrg#line 87 "winprefslex.l" 1075706f2543Smrg{ return ATSTART; } 1076706f2543Smrg YY_BREAK 1077706f2543Smrgcase 22: 1078706f2543SmrgYY_RULE_SETUP 1079706f2543Smrg#line 88 "winprefslex.l" 1080706f2543Smrg{ return ATEND; } 1081706f2543Smrg YY_BREAK 1082706f2543Smrgcase 23: 1083706f2543SmrgYY_RULE_SETUP 1084706f2543Smrg#line 89 "winprefslex.l" 1085706f2543Smrg{ return EXEC; } 1086706f2543Smrg YY_BREAK 1087706f2543Smrgcase 24: 1088706f2543SmrgYY_RULE_SETUP 1089706f2543Smrg#line 90 "winprefslex.l" 1090706f2543Smrg{ return ALWAYSONTOP; } 1091706f2543Smrg YY_BREAK 1092706f2543Smrgcase 25: 1093706f2543SmrgYY_RULE_SETUP 1094706f2543Smrg#line 91 "winprefslex.l" 1095706f2543Smrg{ return DEBUGOUTPUT; } 1096706f2543Smrg YY_BREAK 1097706f2543Smrgcase 26: 1098706f2543SmrgYY_RULE_SETUP 1099706f2543Smrg#line 92 "winprefslex.l" 1100706f2543Smrg{ return RELOAD; } 1101706f2543Smrg YY_BREAK 1102706f2543Smrgcase 27: 1103706f2543SmrgYY_RULE_SETUP 1104706f2543Smrg#line 93 "winprefslex.l" 1105706f2543Smrg{ return TRAYICON; } 1106706f2543Smrg YY_BREAK 1107706f2543Smrgcase 28: 1108706f2543SmrgYY_RULE_SETUP 1109706f2543Smrg#line 94 "winprefslex.l" 1110706f2543Smrg{ return SILENTEXIT; } 1111706f2543Smrg YY_BREAK 1112706f2543Smrgcase 29: 1113706f2543SmrgYY_RULE_SETUP 1114706f2543Smrg#line 95 "winprefslex.l" 1115706f2543Smrg{ return LB; } 1116706f2543Smrg YY_BREAK 1117706f2543Smrgcase 30: 1118706f2543SmrgYY_RULE_SETUP 1119706f2543Smrg#line 96 "winprefslex.l" 1120706f2543Smrg{ return RB; } 1121706f2543Smrg YY_BREAK 1122706f2543Smrgcase 31: 1123706f2543SmrgYY_RULE_SETUP 1124706f2543Smrg#line 97 "winprefslex.l" 1125706f2543Smrg{ yylval.sVal = makestr(yytext+1); \ 1126706f2543Smrg yylval.sVal[strlen(yylval.sVal)-1] = 0; \ 1127706f2543Smrg return STRING; } 1128706f2543Smrg YY_BREAK 1129706f2543Smrgcase 32: 1130706f2543SmrgYY_RULE_SETUP 1131706f2543Smrg#line 100 "winprefslex.l" 1132706f2543Smrg{ yylval.sVal = makestr(yytext); \ 1133706f2543Smrg return STRING; } 1134706f2543Smrg YY_BREAK 1135706f2543Smrgcase 33: 1136706f2543SmrgYY_RULE_SETUP 1137706f2543Smrg#line 102 "winprefslex.l" 1138706f2543SmrgECHO; 1139706f2543Smrg YY_BREAK 1140706f2543Smrg#line 1141 "winprefslex.c" 1141706f2543Smrgcase YY_STATE_EOF(INITIAL): 1142706f2543Smrg yyterminate(); 1143706f2543Smrg 1144706f2543Smrg case YY_END_OF_BUFFER: 1145706f2543Smrg { 1146706f2543Smrg /* Amount of text matched not including the EOB char. */ 1147706f2543Smrg int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1; 1148706f2543Smrg 1149706f2543Smrg /* Undo the effects of YY_DO_BEFORE_ACTION. */ 1150706f2543Smrg *yy_cp = (yy_hold_char); 1151706f2543Smrg YY_RESTORE_YY_MORE_OFFSET 1152706f2543Smrg 1153706f2543Smrg if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) 1154706f2543Smrg { 1155706f2543Smrg /* We're scanning a new file or input source. It's 1156706f2543Smrg * possible that this happened because the user 1157706f2543Smrg * just pointed yyin at a new source and called 1158706f2543Smrg * yylex(). If so, then we have to assure 1159706f2543Smrg * consistency between YY_CURRENT_BUFFER and our 1160706f2543Smrg * globals. Here is the right place to do so, because 1161706f2543Smrg * this is the first action (other than possibly a 1162706f2543Smrg * back-up) that will match for the new input source. 1163706f2543Smrg */ 1164706f2543Smrg (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 1165706f2543Smrg YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; 1166706f2543Smrg YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; 1167706f2543Smrg } 1168706f2543Smrg 1169706f2543Smrg /* Note that here we test for yy_c_buf_p "<=" to the position 1170706f2543Smrg * of the first EOB in the buffer, since yy_c_buf_p will 1171706f2543Smrg * already have been incremented past the NUL character 1172706f2543Smrg * (since all states make transitions on EOB to the 1173706f2543Smrg * end-of-buffer state). Contrast this with the test 1174706f2543Smrg * in input(). 1175706f2543Smrg */ 1176706f2543Smrg if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) 1177706f2543Smrg { /* This was really a NUL. */ 1178706f2543Smrg yy_state_type yy_next_state; 1179706f2543Smrg 1180706f2543Smrg (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text; 1181706f2543Smrg 1182706f2543Smrg yy_current_state = yy_get_previous_state( ); 1183706f2543Smrg 1184706f2543Smrg /* Okay, we're now positioned to make the NUL 1185706f2543Smrg * transition. We couldn't have 1186706f2543Smrg * yy_get_previous_state() go ahead and do it 1187706f2543Smrg * for us because it doesn't know how to deal 1188706f2543Smrg * with the possibility of jamming (and we don't 1189706f2543Smrg * want to build jamming into it because then it 1190706f2543Smrg * will run more slowly). 1191706f2543Smrg */ 1192706f2543Smrg 1193706f2543Smrg yy_next_state = yy_try_NUL_trans( yy_current_state ); 1194706f2543Smrg 1195706f2543Smrg yy_bp = (yytext_ptr) + YY_MORE_ADJ; 1196706f2543Smrg 1197706f2543Smrg if ( yy_next_state ) 1198706f2543Smrg { 1199706f2543Smrg /* Consume the NUL. */ 1200706f2543Smrg yy_cp = ++(yy_c_buf_p); 1201706f2543Smrg yy_current_state = yy_next_state; 1202706f2543Smrg goto yy_match; 1203706f2543Smrg } 1204706f2543Smrg 1205706f2543Smrg else 1206706f2543Smrg { 1207706f2543Smrg yy_cp = (yy_c_buf_p); 1208706f2543Smrg goto yy_find_action; 1209706f2543Smrg } 1210706f2543Smrg } 1211706f2543Smrg 1212706f2543Smrg else switch ( yy_get_next_buffer( ) ) 1213706f2543Smrg { 1214706f2543Smrg case EOB_ACT_END_OF_FILE: 1215706f2543Smrg { 1216706f2543Smrg (yy_did_buffer_switch_on_eof) = 0; 1217706f2543Smrg 1218706f2543Smrg if ( yywrap( ) ) 1219706f2543Smrg { 1220706f2543Smrg /* Note: because we've taken care in 1221706f2543Smrg * yy_get_next_buffer() to have set up 1222706f2543Smrg * yytext, we can now set up 1223706f2543Smrg * yy_c_buf_p so that if some total 1224706f2543Smrg * hoser (like flex itself) wants to 1225706f2543Smrg * call the scanner after we return the 1226706f2543Smrg * YY_NULL, it'll still work - another 1227706f2543Smrg * YY_NULL will get returned. 1228706f2543Smrg */ 1229706f2543Smrg (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ; 1230706f2543Smrg 1231706f2543Smrg yy_act = YY_STATE_EOF(YY_START); 1232706f2543Smrg goto do_action; 1233706f2543Smrg } 1234706f2543Smrg 1235706f2543Smrg else 1236706f2543Smrg { 1237706f2543Smrg if ( ! (yy_did_buffer_switch_on_eof) ) 1238706f2543Smrg YY_NEW_FILE; 1239706f2543Smrg } 1240706f2543Smrg break; 1241706f2543Smrg } 1242706f2543Smrg 1243706f2543Smrg case EOB_ACT_CONTINUE_SCAN: 1244706f2543Smrg (yy_c_buf_p) = 1245706f2543Smrg (yytext_ptr) + yy_amount_of_matched_text; 1246706f2543Smrg 1247706f2543Smrg yy_current_state = yy_get_previous_state( ); 1248706f2543Smrg 1249706f2543Smrg yy_cp = (yy_c_buf_p); 1250706f2543Smrg yy_bp = (yytext_ptr) + YY_MORE_ADJ; 1251706f2543Smrg goto yy_match; 1252706f2543Smrg 1253706f2543Smrg case EOB_ACT_LAST_MATCH: 1254706f2543Smrg (yy_c_buf_p) = 1255706f2543Smrg &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)]; 1256706f2543Smrg 1257706f2543Smrg yy_current_state = yy_get_previous_state( ); 1258706f2543Smrg 1259706f2543Smrg yy_cp = (yy_c_buf_p); 1260706f2543Smrg yy_bp = (yytext_ptr) + YY_MORE_ADJ; 1261706f2543Smrg goto yy_find_action; 1262706f2543Smrg } 1263706f2543Smrg break; 1264706f2543Smrg } 1265706f2543Smrg 1266706f2543Smrg default: 1267706f2543Smrg YY_FATAL_ERROR( 1268706f2543Smrg "fatal flex scanner internal error--no action found" ); 1269706f2543Smrg } /* end of action switch */ 1270706f2543Smrg } /* end of scanning one token */ 1271706f2543Smrg} /* end of yylex */ 1272706f2543Smrg 1273706f2543Smrg/* yy_get_next_buffer - try to read in a new buffer 1274706f2543Smrg * 1275706f2543Smrg * Returns a code representing an action: 1276706f2543Smrg * EOB_ACT_LAST_MATCH - 1277706f2543Smrg * EOB_ACT_CONTINUE_SCAN - continue scanning from current position 1278706f2543Smrg * EOB_ACT_END_OF_FILE - end of file 1279706f2543Smrg */ 1280706f2543Smrgstatic int yy_get_next_buffer (void) 1281706f2543Smrg{ 1282706f2543Smrg register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; 1283706f2543Smrg register char *source = (yytext_ptr); 1284706f2543Smrg register int number_to_move, i; 1285706f2543Smrg int ret_val; 1286706f2543Smrg 1287706f2543Smrg if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] ) 1288706f2543Smrg YY_FATAL_ERROR( 1289706f2543Smrg "fatal flex scanner internal error--end of buffer missed" ); 1290706f2543Smrg 1291706f2543Smrg if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) 1292706f2543Smrg { /* Don't try to fill the buffer, so this is an EOF. */ 1293706f2543Smrg if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 ) 1294706f2543Smrg { 1295706f2543Smrg /* We matched a single character, the EOB, so 1296706f2543Smrg * treat this as a final EOF. 1297706f2543Smrg */ 1298706f2543Smrg return EOB_ACT_END_OF_FILE; 1299706f2543Smrg } 1300706f2543Smrg 1301706f2543Smrg else 1302706f2543Smrg { 1303706f2543Smrg /* We matched some text prior to the EOB, first 1304706f2543Smrg * process it. 1305706f2543Smrg */ 1306706f2543Smrg return EOB_ACT_LAST_MATCH; 1307706f2543Smrg } 1308706f2543Smrg } 1309706f2543Smrg 1310706f2543Smrg /* Try to read more data. */ 1311706f2543Smrg 1312706f2543Smrg /* First move last chars to start of buffer. */ 1313706f2543Smrg number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1; 1314706f2543Smrg 1315706f2543Smrg for ( i = 0; i < number_to_move; ++i ) 1316706f2543Smrg *(dest++) = *(source++); 1317706f2543Smrg 1318706f2543Smrg if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) 1319706f2543Smrg /* don't do the read, it's not guaranteed to return an EOF, 1320706f2543Smrg * just force an EOF 1321706f2543Smrg */ 1322706f2543Smrg YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0; 1323706f2543Smrg 1324706f2543Smrg else 1325706f2543Smrg { 1326706f2543Smrg int num_to_read = 1327706f2543Smrg YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; 1328706f2543Smrg 1329706f2543Smrg while ( num_to_read <= 0 ) 1330706f2543Smrg { /* Not enough room in the buffer - grow it. */ 1331706f2543Smrg 1332706f2543Smrg /* just a shorter name for the current buffer */ 1333706f2543Smrg YY_BUFFER_STATE b = YY_CURRENT_BUFFER; 1334706f2543Smrg 1335706f2543Smrg int yy_c_buf_p_offset = 1336706f2543Smrg (int) ((yy_c_buf_p) - b->yy_ch_buf); 1337706f2543Smrg 1338706f2543Smrg if ( b->yy_is_our_buffer ) 1339706f2543Smrg { 1340706f2543Smrg int new_size = b->yy_buf_size * 2; 1341706f2543Smrg 1342706f2543Smrg if ( new_size <= 0 ) 1343706f2543Smrg b->yy_buf_size += b->yy_buf_size / 8; 1344706f2543Smrg else 1345706f2543Smrg b->yy_buf_size *= 2; 1346706f2543Smrg 1347706f2543Smrg b->yy_ch_buf = (char *) 1348706f2543Smrg /* Include room in for 2 EOB chars. */ 1349706f2543Smrg yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ); 1350706f2543Smrg } 1351706f2543Smrg else 1352706f2543Smrg /* Can't grow it, we don't own it. */ 1353706f2543Smrg b->yy_ch_buf = 0; 1354706f2543Smrg 1355706f2543Smrg if ( ! b->yy_ch_buf ) 1356706f2543Smrg YY_FATAL_ERROR( 1357706f2543Smrg "fatal error - scanner input buffer overflow" ); 1358706f2543Smrg 1359706f2543Smrg (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset]; 1360706f2543Smrg 1361706f2543Smrg num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - 1362706f2543Smrg number_to_move - 1; 1363706f2543Smrg 1364706f2543Smrg } 1365706f2543Smrg 1366706f2543Smrg if ( num_to_read > YY_READ_BUF_SIZE ) 1367706f2543Smrg num_to_read = YY_READ_BUF_SIZE; 1368706f2543Smrg 1369706f2543Smrg /* Read in more data. */ 1370706f2543Smrg YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), 1371706f2543Smrg (yy_n_chars), (size_t) num_to_read ); 1372706f2543Smrg 1373706f2543Smrg YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 1374706f2543Smrg } 1375706f2543Smrg 1376706f2543Smrg if ( (yy_n_chars) == 0 ) 1377706f2543Smrg { 1378706f2543Smrg if ( number_to_move == YY_MORE_ADJ ) 1379706f2543Smrg { 1380706f2543Smrg ret_val = EOB_ACT_END_OF_FILE; 1381706f2543Smrg yyrestart(yyin ); 1382706f2543Smrg } 1383706f2543Smrg 1384706f2543Smrg else 1385706f2543Smrg { 1386706f2543Smrg ret_val = EOB_ACT_LAST_MATCH; 1387706f2543Smrg YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = 1388706f2543Smrg YY_BUFFER_EOF_PENDING; 1389706f2543Smrg } 1390706f2543Smrg } 1391706f2543Smrg 1392706f2543Smrg else 1393706f2543Smrg ret_val = EOB_ACT_CONTINUE_SCAN; 1394706f2543Smrg 1395706f2543Smrg if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { 1396706f2543Smrg /* Extend the array by 50%, plus the number we really need. */ 1397706f2543Smrg yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1); 1398706f2543Smrg YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ); 1399706f2543Smrg if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) 1400706f2543Smrg YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); 1401706f2543Smrg } 1402706f2543Smrg 1403706f2543Smrg (yy_n_chars) += number_to_move; 1404706f2543Smrg YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR; 1405706f2543Smrg YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR; 1406706f2543Smrg 1407706f2543Smrg (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; 1408706f2543Smrg 1409706f2543Smrg return ret_val; 1410706f2543Smrg} 1411706f2543Smrg 1412706f2543Smrg/* yy_get_previous_state - get the state just before the EOB char was reached */ 1413706f2543Smrg 1414706f2543Smrg static yy_state_type yy_get_previous_state (void) 1415706f2543Smrg{ 1416706f2543Smrg register yy_state_type yy_current_state; 1417706f2543Smrg register char *yy_cp; 1418706f2543Smrg 1419706f2543Smrg yy_current_state = (yy_start); 1420706f2543Smrg 1421706f2543Smrg for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) 1422706f2543Smrg { 1423706f2543Smrg register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); 1424706f2543Smrg if ( yy_accept[yy_current_state] ) 1425706f2543Smrg { 1426706f2543Smrg (yy_last_accepting_state) = yy_current_state; 1427706f2543Smrg (yy_last_accepting_cpos) = yy_cp; 1428706f2543Smrg } 1429706f2543Smrg while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 1430706f2543Smrg { 1431706f2543Smrg yy_current_state = (int) yy_def[yy_current_state]; 1432706f2543Smrg if ( yy_current_state >= 186 ) 1433706f2543Smrg yy_c = yy_meta[(unsigned int) yy_c]; 1434706f2543Smrg } 1435706f2543Smrg yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 1436706f2543Smrg } 1437706f2543Smrg 1438706f2543Smrg return yy_current_state; 1439706f2543Smrg} 1440706f2543Smrg 1441706f2543Smrg/* yy_try_NUL_trans - try to make a transition on the NUL character 1442706f2543Smrg * 1443706f2543Smrg * synopsis 1444706f2543Smrg * next_state = yy_try_NUL_trans( current_state ); 1445706f2543Smrg */ 1446706f2543Smrg static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) 1447706f2543Smrg{ 1448706f2543Smrg register int yy_is_jam; 1449706f2543Smrg register char *yy_cp = (yy_c_buf_p); 1450706f2543Smrg 1451706f2543Smrg register YY_CHAR yy_c = 1; 1452706f2543Smrg if ( yy_accept[yy_current_state] ) 1453706f2543Smrg { 1454706f2543Smrg (yy_last_accepting_state) = yy_current_state; 1455706f2543Smrg (yy_last_accepting_cpos) = yy_cp; 1456706f2543Smrg } 1457706f2543Smrg while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 1458706f2543Smrg { 1459706f2543Smrg yy_current_state = (int) yy_def[yy_current_state]; 1460706f2543Smrg if ( yy_current_state >= 186 ) 1461706f2543Smrg yy_c = yy_meta[(unsigned int) yy_c]; 1462706f2543Smrg } 1463706f2543Smrg yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 1464706f2543Smrg yy_is_jam = (yy_current_state == 185); 1465706f2543Smrg 1466706f2543Smrg return yy_is_jam ? 0 : yy_current_state; 1467706f2543Smrg} 1468706f2543Smrg 1469706f2543Smrg static void yyunput (int c, register char * yy_bp ) 1470706f2543Smrg{ 1471706f2543Smrg register char *yy_cp; 1472706f2543Smrg 1473706f2543Smrg yy_cp = (yy_c_buf_p); 1474706f2543Smrg 1475706f2543Smrg /* undo effects of setting up yytext */ 1476706f2543Smrg *yy_cp = (yy_hold_char); 1477706f2543Smrg 1478706f2543Smrg if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) 1479706f2543Smrg { /* need to shift things up to make room */ 1480706f2543Smrg /* +2 for EOB chars. */ 1481706f2543Smrg register int number_to_move = (yy_n_chars) + 2; 1482706f2543Smrg register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ 1483706f2543Smrg YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; 1484706f2543Smrg register char *source = 1485706f2543Smrg &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; 1486706f2543Smrg 1487706f2543Smrg while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) 1488706f2543Smrg *--dest = *--source; 1489706f2543Smrg 1490706f2543Smrg yy_cp += (int) (dest - source); 1491706f2543Smrg yy_bp += (int) (dest - source); 1492706f2543Smrg YY_CURRENT_BUFFER_LVALUE->yy_n_chars = 1493706f2543Smrg (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size; 1494706f2543Smrg 1495706f2543Smrg if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) 1496706f2543Smrg YY_FATAL_ERROR( "flex scanner push-back overflow" ); 1497706f2543Smrg } 1498706f2543Smrg 1499706f2543Smrg *--yy_cp = (char) c; 1500706f2543Smrg 1501706f2543Smrg if ( c == '\n' ){ 1502706f2543Smrg --yylineno; 1503706f2543Smrg } 1504706f2543Smrg 1505706f2543Smrg (yytext_ptr) = yy_bp; 1506706f2543Smrg (yy_hold_char) = *yy_cp; 1507706f2543Smrg (yy_c_buf_p) = yy_cp; 1508706f2543Smrg} 1509706f2543Smrg 1510706f2543Smrg#ifndef YY_NO_INPUT 1511706f2543Smrg#ifdef __cplusplus 1512706f2543Smrg static int yyinput (void) 1513706f2543Smrg#else 1514706f2543Smrg static int input (void) 1515706f2543Smrg#endif 1516706f2543Smrg 1517706f2543Smrg{ 1518706f2543Smrg int c; 1519706f2543Smrg 1520706f2543Smrg *(yy_c_buf_p) = (yy_hold_char); 1521706f2543Smrg 1522706f2543Smrg if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) 1523706f2543Smrg { 1524706f2543Smrg /* yy_c_buf_p now points to the character we want to return. 1525706f2543Smrg * If this occurs *before* the EOB characters, then it's a 1526706f2543Smrg * valid NUL; if not, then we've hit the end of the buffer. 1527706f2543Smrg */ 1528706f2543Smrg if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] ) 1529706f2543Smrg /* This was really a NUL. */ 1530706f2543Smrg *(yy_c_buf_p) = '\0'; 1531706f2543Smrg 1532706f2543Smrg else 1533706f2543Smrg { /* need more input */ 1534706f2543Smrg int offset = (yy_c_buf_p) - (yytext_ptr); 1535706f2543Smrg ++(yy_c_buf_p); 1536706f2543Smrg 1537706f2543Smrg switch ( yy_get_next_buffer( ) ) 1538706f2543Smrg { 1539706f2543Smrg case EOB_ACT_LAST_MATCH: 1540706f2543Smrg /* This happens because yy_g_n_b() 1541706f2543Smrg * sees that we've accumulated a 1542706f2543Smrg * token and flags that we need to 1543706f2543Smrg * try matching the token before 1544706f2543Smrg * proceeding. But for input(), 1545706f2543Smrg * there's no matching to consider. 1546706f2543Smrg * So convert the EOB_ACT_LAST_MATCH 1547706f2543Smrg * to EOB_ACT_END_OF_FILE. 1548706f2543Smrg */ 1549706f2543Smrg 1550706f2543Smrg /* Reset buffer status. */ 1551706f2543Smrg yyrestart(yyin ); 1552706f2543Smrg 1553706f2543Smrg /*FALLTHROUGH*/ 1554706f2543Smrg 1555706f2543Smrg case EOB_ACT_END_OF_FILE: 1556706f2543Smrg { 1557706f2543Smrg if ( yywrap( ) ) 1558706f2543Smrg return EOF; 1559706f2543Smrg 1560706f2543Smrg if ( ! (yy_did_buffer_switch_on_eof) ) 1561706f2543Smrg YY_NEW_FILE; 1562706f2543Smrg#ifdef __cplusplus 1563706f2543Smrg return yyinput(); 1564706f2543Smrg#else 1565706f2543Smrg return input(); 1566706f2543Smrg#endif 1567706f2543Smrg } 1568706f2543Smrg 1569706f2543Smrg case EOB_ACT_CONTINUE_SCAN: 1570706f2543Smrg (yy_c_buf_p) = (yytext_ptr) + offset; 1571706f2543Smrg break; 1572706f2543Smrg } 1573706f2543Smrg } 1574706f2543Smrg } 1575706f2543Smrg 1576706f2543Smrg c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */ 1577706f2543Smrg *(yy_c_buf_p) = '\0'; /* preserve yytext */ 1578706f2543Smrg (yy_hold_char) = *++(yy_c_buf_p); 1579706f2543Smrg 1580706f2543Smrg if ( c == '\n' ) 1581706f2543Smrg 1582706f2543Smrg yylineno++; 1583706f2543Smrg; 1584706f2543Smrg 1585706f2543Smrg return c; 1586706f2543Smrg} 1587706f2543Smrg#endif /* ifndef YY_NO_INPUT */ 1588706f2543Smrg 1589706f2543Smrg/** Immediately switch to a different input stream. 1590706f2543Smrg * @param input_file A readable stream. 1591706f2543Smrg * 1592706f2543Smrg * @note This function does not reset the start condition to @c INITIAL . 1593706f2543Smrg */ 1594706f2543Smrg void yyrestart (FILE * input_file ) 1595706f2543Smrg{ 1596706f2543Smrg 1597706f2543Smrg if ( ! YY_CURRENT_BUFFER ){ 1598706f2543Smrg yyensure_buffer_stack (); 1599706f2543Smrg YY_CURRENT_BUFFER_LVALUE = 1600706f2543Smrg yy_create_buffer(yyin,YY_BUF_SIZE ); 1601706f2543Smrg } 1602706f2543Smrg 1603706f2543Smrg yy_init_buffer(YY_CURRENT_BUFFER,input_file ); 1604706f2543Smrg yy_load_buffer_state( ); 1605706f2543Smrg} 1606706f2543Smrg 1607706f2543Smrg/** Switch to a different input buffer. 1608706f2543Smrg * @param new_buffer The new input buffer. 1609706f2543Smrg * 1610706f2543Smrg */ 1611706f2543Smrg void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) 1612706f2543Smrg{ 1613706f2543Smrg 1614706f2543Smrg /* TODO. We should be able to replace this entire function body 1615706f2543Smrg * with 1616706f2543Smrg * yypop_buffer_state(); 1617706f2543Smrg * yypush_buffer_state(new_buffer); 1618706f2543Smrg */ 1619706f2543Smrg yyensure_buffer_stack (); 1620706f2543Smrg if ( YY_CURRENT_BUFFER == new_buffer ) 1621706f2543Smrg return; 1622706f2543Smrg 1623706f2543Smrg if ( YY_CURRENT_BUFFER ) 1624706f2543Smrg { 1625706f2543Smrg /* Flush out information for old buffer. */ 1626706f2543Smrg *(yy_c_buf_p) = (yy_hold_char); 1627706f2543Smrg YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); 1628706f2543Smrg YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 1629706f2543Smrg } 1630706f2543Smrg 1631706f2543Smrg YY_CURRENT_BUFFER_LVALUE = new_buffer; 1632706f2543Smrg yy_load_buffer_state( ); 1633706f2543Smrg 1634706f2543Smrg /* We don't actually know whether we did this switch during 1635706f2543Smrg * EOF (yywrap()) processing, but the only time this flag 1636706f2543Smrg * is looked at is after yywrap() is called, so it's safe 1637706f2543Smrg * to go ahead and always set it. 1638706f2543Smrg */ 1639706f2543Smrg (yy_did_buffer_switch_on_eof) = 1; 1640706f2543Smrg} 1641706f2543Smrg 1642706f2543Smrgstatic void yy_load_buffer_state (void) 1643706f2543Smrg{ 1644706f2543Smrg (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; 1645706f2543Smrg (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; 1646706f2543Smrg yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; 1647706f2543Smrg (yy_hold_char) = *(yy_c_buf_p); 1648706f2543Smrg} 1649706f2543Smrg 1650706f2543Smrg/** Allocate and initialize an input buffer state. 1651706f2543Smrg * @param file A readable stream. 1652706f2543Smrg * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. 1653706f2543Smrg * 1654706f2543Smrg * @return the allocated buffer state. 1655706f2543Smrg */ 1656706f2543Smrg YY_BUFFER_STATE yy_create_buffer (FILE * file, int size ) 1657706f2543Smrg{ 1658706f2543Smrg YY_BUFFER_STATE b; 1659706f2543Smrg 1660706f2543Smrg b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); 1661706f2543Smrg if ( ! b ) 1662706f2543Smrg YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 1663706f2543Smrg 1664706f2543Smrg b->yy_buf_size = size; 1665706f2543Smrg 1666706f2543Smrg /* yy_ch_buf has to be 2 characters longer than the size given because 1667706f2543Smrg * we need to put in 2 end-of-buffer characters. 1668706f2543Smrg */ 1669706f2543Smrg b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 ); 1670706f2543Smrg if ( ! b->yy_ch_buf ) 1671706f2543Smrg YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 1672706f2543Smrg 1673706f2543Smrg b->yy_is_our_buffer = 1; 1674706f2543Smrg 1675706f2543Smrg yy_init_buffer(b,file ); 1676706f2543Smrg 1677706f2543Smrg return b; 1678706f2543Smrg} 1679706f2543Smrg 1680706f2543Smrg/** Destroy the buffer. 1681706f2543Smrg * @param b a buffer created with yy_create_buffer() 1682706f2543Smrg * 1683706f2543Smrg */ 1684706f2543Smrg void yy_delete_buffer (YY_BUFFER_STATE b ) 1685706f2543Smrg{ 1686706f2543Smrg 1687706f2543Smrg if ( ! b ) 1688706f2543Smrg return; 1689706f2543Smrg 1690706f2543Smrg if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ 1691706f2543Smrg YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; 1692706f2543Smrg 1693706f2543Smrg if ( b->yy_is_our_buffer ) 1694706f2543Smrg yyfree((void *) b->yy_ch_buf ); 1695706f2543Smrg 1696706f2543Smrg yyfree((void *) b ); 1697706f2543Smrg} 1698706f2543Smrg 1699706f2543Smrg#ifndef __cplusplus 1700706f2543Smrgextern int isatty (int ); 1701706f2543Smrg#endif /* __cplusplus */ 1702706f2543Smrg 1703706f2543Smrg/* Initializes or reinitializes a buffer. 1704706f2543Smrg * This function is sometimes called more than once on the same buffer, 1705706f2543Smrg * such as during a yyrestart() or at EOF. 1706706f2543Smrg */ 1707706f2543Smrg static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file ) 1708706f2543Smrg 1709706f2543Smrg{ 1710706f2543Smrg int oerrno = errno; 1711706f2543Smrg 1712706f2543Smrg yy_flush_buffer(b ); 1713706f2543Smrg 1714706f2543Smrg b->yy_input_file = file; 1715706f2543Smrg b->yy_fill_buffer = 1; 1716706f2543Smrg 1717706f2543Smrg /* If b is the current buffer, then yy_init_buffer was _probably_ 1718706f2543Smrg * called from yyrestart() or through yy_get_next_buffer. 1719706f2543Smrg * In that case, we don't want to reset the lineno or column. 1720706f2543Smrg */ 1721706f2543Smrg if (b != YY_CURRENT_BUFFER){ 1722706f2543Smrg b->yy_bs_lineno = 1; 1723706f2543Smrg b->yy_bs_column = 0; 1724706f2543Smrg } 1725706f2543Smrg 1726706f2543Smrg b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; 1727706f2543Smrg 1728706f2543Smrg errno = oerrno; 1729706f2543Smrg} 1730706f2543Smrg 1731706f2543Smrg/** Discard all buffered characters. On the next scan, YY_INPUT will be called. 1732706f2543Smrg * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. 1733706f2543Smrg * 1734706f2543Smrg */ 1735706f2543Smrg void yy_flush_buffer (YY_BUFFER_STATE b ) 1736706f2543Smrg{ 1737706f2543Smrg if ( ! b ) 1738706f2543Smrg return; 1739706f2543Smrg 1740706f2543Smrg b->yy_n_chars = 0; 1741706f2543Smrg 1742706f2543Smrg /* We always need two end-of-buffer characters. The first causes 1743706f2543Smrg * a transition to the end-of-buffer state. The second causes 1744706f2543Smrg * a jam in that state. 1745706f2543Smrg */ 1746706f2543Smrg b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; 1747706f2543Smrg b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; 1748706f2543Smrg 1749706f2543Smrg b->yy_buf_pos = &b->yy_ch_buf[0]; 1750706f2543Smrg 1751706f2543Smrg b->yy_at_bol = 1; 1752706f2543Smrg b->yy_buffer_status = YY_BUFFER_NEW; 1753706f2543Smrg 1754706f2543Smrg if ( b == YY_CURRENT_BUFFER ) 1755706f2543Smrg yy_load_buffer_state( ); 1756706f2543Smrg} 1757706f2543Smrg 1758706f2543Smrg/** Pushes the new state onto the stack. The new state becomes 1759706f2543Smrg * the current state. This function will allocate the stack 1760706f2543Smrg * if necessary. 1761706f2543Smrg * @param new_buffer The new state. 1762706f2543Smrg * 1763706f2543Smrg */ 1764706f2543Smrgvoid yypush_buffer_state (YY_BUFFER_STATE new_buffer ) 1765706f2543Smrg{ 1766706f2543Smrg if (new_buffer == NULL) 1767706f2543Smrg return; 1768706f2543Smrg 1769706f2543Smrg yyensure_buffer_stack(); 1770706f2543Smrg 1771706f2543Smrg /* This block is copied from yy_switch_to_buffer. */ 1772706f2543Smrg if ( YY_CURRENT_BUFFER ) 1773706f2543Smrg { 1774706f2543Smrg /* Flush out information for old buffer. */ 1775706f2543Smrg *(yy_c_buf_p) = (yy_hold_char); 1776706f2543Smrg YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p); 1777706f2543Smrg YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars); 1778706f2543Smrg } 1779706f2543Smrg 1780706f2543Smrg /* Only push if top exists. Otherwise, replace top. */ 1781706f2543Smrg if (YY_CURRENT_BUFFER) 1782706f2543Smrg (yy_buffer_stack_top)++; 1783706f2543Smrg YY_CURRENT_BUFFER_LVALUE = new_buffer; 1784706f2543Smrg 1785706f2543Smrg /* copied from yy_switch_to_buffer. */ 1786706f2543Smrg yy_load_buffer_state( ); 1787706f2543Smrg (yy_did_buffer_switch_on_eof) = 1; 1788706f2543Smrg} 1789706f2543Smrg 1790706f2543Smrg/** Removes and deletes the top of the stack, if present. 1791706f2543Smrg * The next element becomes the new top. 1792706f2543Smrg * 1793706f2543Smrg */ 1794706f2543Smrgvoid yypop_buffer_state (void) 1795706f2543Smrg{ 1796706f2543Smrg if (!YY_CURRENT_BUFFER) 1797706f2543Smrg return; 1798706f2543Smrg 1799706f2543Smrg yy_delete_buffer(YY_CURRENT_BUFFER ); 1800706f2543Smrg YY_CURRENT_BUFFER_LVALUE = NULL; 1801706f2543Smrg if ((yy_buffer_stack_top) > 0) 1802706f2543Smrg --(yy_buffer_stack_top); 1803706f2543Smrg 1804706f2543Smrg if (YY_CURRENT_BUFFER) { 1805706f2543Smrg yy_load_buffer_state( ); 1806706f2543Smrg (yy_did_buffer_switch_on_eof) = 1; 1807706f2543Smrg } 1808706f2543Smrg} 1809706f2543Smrg 1810706f2543Smrg/* Allocates the stack if it does not exist. 1811706f2543Smrg * Guarantees space for at least one push. 1812706f2543Smrg */ 1813706f2543Smrgstatic void yyensure_buffer_stack (void) 1814706f2543Smrg{ 1815706f2543Smrg int num_to_alloc; 1816706f2543Smrg 1817706f2543Smrg if (!(yy_buffer_stack)) { 1818706f2543Smrg 1819706f2543Smrg /* First allocation is just for 2 elements, since we don't know if this 1820706f2543Smrg * scanner will even need a stack. We use 2 instead of 1 to avoid an 1821706f2543Smrg * immediate realloc on the next call. 1822706f2543Smrg */ 1823706f2543Smrg num_to_alloc = 1; 1824706f2543Smrg (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc 1825706f2543Smrg (num_to_alloc * sizeof(struct yy_buffer_state*) 1826706f2543Smrg ); 1827706f2543Smrg if ( ! (yy_buffer_stack) ) 1828706f2543Smrg YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); 1829706f2543Smrg 1830706f2543Smrg memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); 1831706f2543Smrg 1832706f2543Smrg (yy_buffer_stack_max) = num_to_alloc; 1833706f2543Smrg (yy_buffer_stack_top) = 0; 1834706f2543Smrg return; 1835706f2543Smrg } 1836706f2543Smrg 1837706f2543Smrg if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){ 1838706f2543Smrg 1839706f2543Smrg /* Increase the buffer to prepare for a possible push. */ 1840706f2543Smrg int grow_size = 8 /* arbitrary grow size */; 1841706f2543Smrg 1842706f2543Smrg num_to_alloc = (yy_buffer_stack_max) + grow_size; 1843706f2543Smrg (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc 1844706f2543Smrg ((yy_buffer_stack), 1845706f2543Smrg num_to_alloc * sizeof(struct yy_buffer_state*) 1846706f2543Smrg ); 1847706f2543Smrg if ( ! (yy_buffer_stack) ) 1848706f2543Smrg YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); 1849706f2543Smrg 1850706f2543Smrg /* zero only the new slots.*/ 1851706f2543Smrg memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*)); 1852706f2543Smrg (yy_buffer_stack_max) = num_to_alloc; 1853706f2543Smrg } 1854706f2543Smrg} 1855706f2543Smrg 1856706f2543Smrg/** Setup the input buffer state to scan directly from a user-specified character buffer. 1857706f2543Smrg * @param base the character buffer 1858706f2543Smrg * @param size the size in bytes of the character buffer 1859706f2543Smrg * 1860706f2543Smrg * @return the newly allocated buffer state object. 1861706f2543Smrg */ 1862706f2543SmrgYY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) 1863706f2543Smrg{ 1864706f2543Smrg YY_BUFFER_STATE b; 1865706f2543Smrg 1866706f2543Smrg if ( size < 2 || 1867706f2543Smrg base[size-2] != YY_END_OF_BUFFER_CHAR || 1868706f2543Smrg base[size-1] != YY_END_OF_BUFFER_CHAR ) 1869706f2543Smrg /* They forgot to leave room for the EOB's. */ 1870706f2543Smrg return 0; 1871706f2543Smrg 1872706f2543Smrg b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); 1873706f2543Smrg if ( ! b ) 1874706f2543Smrg YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); 1875706f2543Smrg 1876706f2543Smrg b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ 1877706f2543Smrg b->yy_buf_pos = b->yy_ch_buf = base; 1878706f2543Smrg b->yy_is_our_buffer = 0; 1879706f2543Smrg b->yy_input_file = 0; 1880706f2543Smrg b->yy_n_chars = b->yy_buf_size; 1881706f2543Smrg b->yy_is_interactive = 0; 1882706f2543Smrg b->yy_at_bol = 1; 1883706f2543Smrg b->yy_fill_buffer = 0; 1884706f2543Smrg b->yy_buffer_status = YY_BUFFER_NEW; 1885706f2543Smrg 1886706f2543Smrg yy_switch_to_buffer(b ); 1887706f2543Smrg 1888706f2543Smrg return b; 1889706f2543Smrg} 1890706f2543Smrg 1891706f2543Smrg/** Setup the input buffer state to scan a string. The next call to yylex() will 1892706f2543Smrg * scan from a @e copy of @a str. 1893706f2543Smrg * @param yystr a NUL-terminated string to scan 1894706f2543Smrg * 1895706f2543Smrg * @return the newly allocated buffer state object. 1896706f2543Smrg * @note If you want to scan bytes that may contain NUL values, then use 1897706f2543Smrg * yy_scan_bytes() instead. 1898706f2543Smrg */ 1899706f2543SmrgYY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) 1900706f2543Smrg{ 1901706f2543Smrg 1902706f2543Smrg return yy_scan_bytes(yystr,strlen(yystr) ); 1903706f2543Smrg} 1904706f2543Smrg 1905706f2543Smrg/** Setup the input buffer state to scan the given bytes. The next call to yylex() will 1906706f2543Smrg * scan from a @e copy of @a bytes. 1907706f2543Smrg * @param bytes the byte buffer to scan 1908706f2543Smrg * @param len the number of bytes in the buffer pointed to by @a bytes. 1909706f2543Smrg * 1910706f2543Smrg * @return the newly allocated buffer state object. 1911706f2543Smrg */ 1912706f2543SmrgYY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len ) 1913706f2543Smrg{ 1914706f2543Smrg YY_BUFFER_STATE b; 1915706f2543Smrg char *buf; 1916706f2543Smrg yy_size_t n; 1917706f2543Smrg int i; 1918706f2543Smrg 1919706f2543Smrg /* Get memory for full buffer, including space for trailing EOB's. */ 1920706f2543Smrg n = _yybytes_len + 2; 1921706f2543Smrg buf = (char *) yyalloc(n ); 1922706f2543Smrg if ( ! buf ) 1923706f2543Smrg YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); 1924706f2543Smrg 1925706f2543Smrg for ( i = 0; i < _yybytes_len; ++i ) 1926706f2543Smrg buf[i] = yybytes[i]; 1927706f2543Smrg 1928706f2543Smrg buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; 1929706f2543Smrg 1930706f2543Smrg b = yy_scan_buffer(buf,n ); 1931706f2543Smrg if ( ! b ) 1932706f2543Smrg YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); 1933706f2543Smrg 1934706f2543Smrg /* It's okay to grow etc. this buffer, and we should throw it 1935706f2543Smrg * away when we're done. 1936706f2543Smrg */ 1937706f2543Smrg b->yy_is_our_buffer = 1; 1938706f2543Smrg 1939706f2543Smrg return b; 1940706f2543Smrg} 1941706f2543Smrg 1942706f2543Smrg#ifndef YY_EXIT_FAILURE 1943706f2543Smrg#define YY_EXIT_FAILURE 2 1944706f2543Smrg#endif 1945706f2543Smrg 1946706f2543Smrgstatic void yy_fatal_error (yyconst char* msg ) 1947706f2543Smrg{ 1948706f2543Smrg (void) fprintf( stderr, "%s\n", msg ); 1949706f2543Smrg exit( YY_EXIT_FAILURE ); 1950706f2543Smrg} 1951706f2543Smrg 1952706f2543Smrg/* Redefine yyless() so it works in section 3 code. */ 1953706f2543Smrg 1954706f2543Smrg#undef yyless 1955706f2543Smrg#define yyless(n) \ 1956706f2543Smrg do \ 1957706f2543Smrg { \ 1958706f2543Smrg /* Undo effects of setting up yytext. */ \ 1959706f2543Smrg int yyless_macro_arg = (n); \ 1960706f2543Smrg YY_LESS_LINENO(yyless_macro_arg);\ 1961706f2543Smrg yytext[yyleng] = (yy_hold_char); \ 1962706f2543Smrg (yy_c_buf_p) = yytext + yyless_macro_arg; \ 1963706f2543Smrg (yy_hold_char) = *(yy_c_buf_p); \ 1964706f2543Smrg *(yy_c_buf_p) = '\0'; \ 1965706f2543Smrg yyleng = yyless_macro_arg; \ 1966706f2543Smrg } \ 1967706f2543Smrg while ( 0 ) 1968706f2543Smrg 1969706f2543Smrg/* Accessor methods (get/set functions) to struct members. */ 1970706f2543Smrg 1971706f2543Smrg/** Get the current line number. 1972706f2543Smrg * 1973706f2543Smrg */ 1974706f2543Smrgint yyget_lineno (void) 1975706f2543Smrg{ 1976706f2543Smrg 1977706f2543Smrg return yylineno; 1978706f2543Smrg} 1979706f2543Smrg 1980706f2543Smrg/** Get the input stream. 1981706f2543Smrg * 1982706f2543Smrg */ 1983706f2543SmrgFILE *yyget_in (void) 1984706f2543Smrg{ 1985706f2543Smrg return yyin; 1986706f2543Smrg} 1987706f2543Smrg 1988706f2543Smrg/** Get the output stream. 1989706f2543Smrg * 1990706f2543Smrg */ 1991706f2543SmrgFILE *yyget_out (void) 1992706f2543Smrg{ 1993706f2543Smrg return yyout; 1994706f2543Smrg} 1995706f2543Smrg 1996706f2543Smrg/** Get the length of the current token. 1997706f2543Smrg * 1998706f2543Smrg */ 1999706f2543Smrgint yyget_leng (void) 2000706f2543Smrg{ 2001706f2543Smrg return yyleng; 2002706f2543Smrg} 2003706f2543Smrg 2004706f2543Smrg/** Get the current token. 2005706f2543Smrg * 2006706f2543Smrg */ 2007706f2543Smrg 2008706f2543Smrgchar *yyget_text (void) 2009706f2543Smrg{ 2010706f2543Smrg return yytext; 2011706f2543Smrg} 2012706f2543Smrg 2013706f2543Smrg/** Set the current line number. 2014706f2543Smrg * @param line_number 2015706f2543Smrg * 2016706f2543Smrg */ 2017706f2543Smrgvoid yyset_lineno (int line_number ) 2018706f2543Smrg{ 2019706f2543Smrg 2020706f2543Smrg yylineno = line_number; 2021706f2543Smrg} 2022706f2543Smrg 2023706f2543Smrg/** Set the input stream. This does not discard the current 2024706f2543Smrg * input buffer. 2025706f2543Smrg * @param in_str A readable stream. 2026706f2543Smrg * 2027706f2543Smrg * @see yy_switch_to_buffer 2028706f2543Smrg */ 2029706f2543Smrgvoid yyset_in (FILE * in_str ) 2030706f2543Smrg{ 2031706f2543Smrg yyin = in_str ; 2032706f2543Smrg} 2033706f2543Smrg 2034706f2543Smrgvoid yyset_out (FILE * out_str ) 2035706f2543Smrg{ 2036706f2543Smrg yyout = out_str ; 2037706f2543Smrg} 2038706f2543Smrg 2039706f2543Smrgint yyget_debug (void) 2040706f2543Smrg{ 2041706f2543Smrg return yy_flex_debug; 2042706f2543Smrg} 2043706f2543Smrg 2044706f2543Smrgvoid yyset_debug (int bdebug ) 2045706f2543Smrg{ 2046706f2543Smrg yy_flex_debug = bdebug ; 2047706f2543Smrg} 2048706f2543Smrg 2049706f2543Smrgstatic int yy_init_globals (void) 2050706f2543Smrg{ 2051706f2543Smrg /* Initialization is the same as for the non-reentrant scanner. 2052706f2543Smrg * This function is called from yylex_destroy(), so don't allocate here. 2053706f2543Smrg */ 2054706f2543Smrg 2055706f2543Smrg /* We do not touch yylineno unless the option is enabled. */ 2056706f2543Smrg yylineno = 1; 2057706f2543Smrg 2058706f2543Smrg (yy_buffer_stack) = 0; 2059706f2543Smrg (yy_buffer_stack_top) = 0; 2060706f2543Smrg (yy_buffer_stack_max) = 0; 2061706f2543Smrg (yy_c_buf_p) = (char *) 0; 2062706f2543Smrg (yy_init) = 0; 2063706f2543Smrg (yy_start) = 0; 2064706f2543Smrg 2065706f2543Smrg/* Defined in main.c */ 2066706f2543Smrg#ifdef YY_STDINIT 2067706f2543Smrg yyin = stdin; 2068706f2543Smrg yyout = stdout; 2069706f2543Smrg#else 2070706f2543Smrg yyin = (FILE *) 0; 2071706f2543Smrg yyout = (FILE *) 0; 2072706f2543Smrg#endif 2073706f2543Smrg 2074706f2543Smrg /* For future reference: Set errno on error, since we are called by 2075706f2543Smrg * yylex_init() 2076706f2543Smrg */ 2077706f2543Smrg return 0; 2078706f2543Smrg} 2079706f2543Smrg 2080706f2543Smrg/* yylex_destroy is for both reentrant and non-reentrant scanners. */ 2081706f2543Smrgint yylex_destroy (void) 2082706f2543Smrg{ 2083706f2543Smrg 2084706f2543Smrg /* Pop the buffer stack, destroying each element. */ 2085706f2543Smrg while(YY_CURRENT_BUFFER){ 2086706f2543Smrg yy_delete_buffer(YY_CURRENT_BUFFER ); 2087706f2543Smrg YY_CURRENT_BUFFER_LVALUE = NULL; 2088706f2543Smrg yypop_buffer_state(); 2089706f2543Smrg } 2090706f2543Smrg 2091706f2543Smrg /* Destroy the stack itself. */ 2092706f2543Smrg yyfree((yy_buffer_stack) ); 2093706f2543Smrg (yy_buffer_stack) = NULL; 2094706f2543Smrg 2095706f2543Smrg /* Reset the globals. This is important in a non-reentrant scanner so the next time 2096706f2543Smrg * yylex() is called, initialization will occur. */ 2097706f2543Smrg yy_init_globals( ); 2098706f2543Smrg 2099706f2543Smrg return 0; 2100706f2543Smrg} 2101706f2543Smrg 2102706f2543Smrg/* 2103706f2543Smrg * Internal utility routines. 2104706f2543Smrg */ 2105706f2543Smrg 2106706f2543Smrg#ifndef yytext_ptr 2107706f2543Smrgstatic void yy_flex_strncpy (char* s1, yyconst char * s2, int n ) 2108706f2543Smrg{ 2109706f2543Smrg register int i; 2110706f2543Smrg for ( i = 0; i < n; ++i ) 2111706f2543Smrg s1[i] = s2[i]; 2112706f2543Smrg} 2113706f2543Smrg#endif 2114706f2543Smrg 2115706f2543Smrg#ifdef YY_NEED_STRLEN 2116706f2543Smrgstatic int yy_flex_strlen (yyconst char * s ) 2117706f2543Smrg{ 2118706f2543Smrg register int n; 2119706f2543Smrg for ( n = 0; s[n]; ++n ) 2120706f2543Smrg ; 2121706f2543Smrg 2122706f2543Smrg return n; 2123706f2543Smrg} 2124706f2543Smrg#endif 2125706f2543Smrg 2126706f2543Smrgvoid *yyalloc (yy_size_t size ) 2127706f2543Smrg{ 2128706f2543Smrg return (void *) malloc( size ); 2129706f2543Smrg} 2130706f2543Smrg 2131706f2543Smrgvoid *yyrealloc (void * ptr, yy_size_t size ) 2132706f2543Smrg{ 2133706f2543Smrg /* The cast to (char *) in the following accommodates both 2134706f2543Smrg * implementations that use char* generic pointers, and those 2135706f2543Smrg * that use void* generic pointers. It works with the latter 2136706f2543Smrg * because both ANSI C and C++ allow castless assignment from 2137706f2543Smrg * any pointer type to void*, and deal with argument conversions 2138706f2543Smrg * as though doing an assignment. 2139706f2543Smrg */ 2140706f2543Smrg return (void *) realloc( (char *) ptr, size ); 2141706f2543Smrg} 2142706f2543Smrg 2143706f2543Smrgvoid yyfree (void * ptr ) 2144706f2543Smrg{ 2145706f2543Smrg free( (char *) ptr ); /* see yyrealloc() for (char *) cast */ 2146706f2543Smrg} 2147706f2543Smrg 2148706f2543Smrg#define YYTABLES_NAME "yytables" 2149706f2543Smrg 2150706f2543Smrg#line 102 "winprefslex.l" 2151706f2543Smrg 2152706f2543Smrg 2153706f2543Smrg 2154706f2543Smrg/* 2155706f2543Smrg * Run-of-the mill requirement for yacc 2156706f2543Smrg */ 2157706f2543Smrgint 2158706f2543Smrgyywrap (void) 2159706f2543Smrg{ 2160706f2543Smrg return 1; 2161706f2543Smrg} 2162706f2543Smrg 2163706f2543Smrg/* 2164706f2543Smrg * Run a file through the yacc parser 2165706f2543Smrg */ 2166706f2543Smrgvoid 2167706f2543Smrgparse_file (FILE *file) 2168706f2543Smrg{ 2169706f2543Smrg if (!file) 2170706f2543Smrg return; 2171706f2543Smrg 2172706f2543Smrg yylineno = 1; 2173706f2543Smrg yyin = file; 2174706f2543Smrg yyparse (); 2175706f2543Smrg} 2176706f2543Smrg 2177706f2543Smrg 2178