lex.c revision fd7d9bd3
1fd7d9bd3Smrg/* A lexical scanner generated by flex */ 2fd7d9bd3Smrg 3fd7d9bd3Smrg/* Scanner skeleton version: 4fd7d9bd3Smrg * $Header: /cvsroot/xsrc/external/mit/xgc/dist/lex.c,v 1.1.1.1 2008/07/30 04:19:29 mrg Exp $ 5fd7d9bd3Smrg */ 6fd7d9bd3Smrg 7fd7d9bd3Smrg#define FLEX_SCANNER 8fd7d9bd3Smrg#define YY_FLEX_MAJOR_VERSION 2 9fd7d9bd3Smrg#define YY_FLEX_MINOR_VERSION 5 10fd7d9bd3Smrg 11fd7d9bd3Smrg#include <stdio.h> 12fd7d9bd3Smrg#include <unistd.h> 13fd7d9bd3Smrg 14fd7d9bd3Smrg 15fd7d9bd3Smrg/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */ 16fd7d9bd3Smrg#ifdef c_plusplus 17fd7d9bd3Smrg#ifndef __cplusplus 18fd7d9bd3Smrg#define __cplusplus 19fd7d9bd3Smrg#endif 20fd7d9bd3Smrg#endif 21fd7d9bd3Smrg 22fd7d9bd3Smrg 23fd7d9bd3Smrg#ifdef __cplusplus 24fd7d9bd3Smrg 25fd7d9bd3Smrg#include <stdlib.h> 26fd7d9bd3Smrg 27fd7d9bd3Smrg/* Use prototypes in function declarations. */ 28fd7d9bd3Smrg#define YY_USE_PROTOS 29fd7d9bd3Smrg 30fd7d9bd3Smrg/* The "const" storage-class-modifier is valid. */ 31fd7d9bd3Smrg#define YY_USE_CONST 32fd7d9bd3Smrg 33fd7d9bd3Smrg#else /* ! __cplusplus */ 34fd7d9bd3Smrg 35fd7d9bd3Smrg#if __STDC__ 36fd7d9bd3Smrg 37fd7d9bd3Smrg#define YY_USE_PROTOS 38fd7d9bd3Smrg#define YY_USE_CONST 39fd7d9bd3Smrg 40fd7d9bd3Smrg#endif /* __STDC__ */ 41fd7d9bd3Smrg#endif /* ! __cplusplus */ 42fd7d9bd3Smrg 43fd7d9bd3Smrg#ifdef __TURBOC__ 44fd7d9bd3Smrg #pragma warn -rch 45fd7d9bd3Smrg #pragma warn -use 46fd7d9bd3Smrg#include <io.h> 47fd7d9bd3Smrg#include <stdlib.h> 48fd7d9bd3Smrg#define YY_USE_CONST 49fd7d9bd3Smrg#define YY_USE_PROTOS 50fd7d9bd3Smrg#endif 51fd7d9bd3Smrg 52fd7d9bd3Smrg#ifdef YY_USE_CONST 53fd7d9bd3Smrg#define yyconst const 54fd7d9bd3Smrg#else 55fd7d9bd3Smrg#define yyconst 56fd7d9bd3Smrg#endif 57fd7d9bd3Smrg 58fd7d9bd3Smrg 59fd7d9bd3Smrg#ifdef YY_USE_PROTOS 60fd7d9bd3Smrg#define YY_PROTO(proto) proto 61fd7d9bd3Smrg#else 62fd7d9bd3Smrg#define YY_PROTO(proto) () 63fd7d9bd3Smrg#endif 64fd7d9bd3Smrg 65fd7d9bd3Smrg/* Returned upon end-of-file. */ 66fd7d9bd3Smrg#define YY_NULL 0 67fd7d9bd3Smrg 68fd7d9bd3Smrg/* Promotes a possibly negative, possibly signed char to an unsigned 69fd7d9bd3Smrg * integer for use as an array index. If the signed char is negative, 70fd7d9bd3Smrg * we want to instead treat it as an 8-bit unsigned char, hence the 71fd7d9bd3Smrg * double cast. 72fd7d9bd3Smrg */ 73fd7d9bd3Smrg#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) 74fd7d9bd3Smrg 75fd7d9bd3Smrg/* Enter a start condition. This macro really ought to take a parameter, 76fd7d9bd3Smrg * but we do it the disgusting crufty way forced on us by the ()-less 77fd7d9bd3Smrg * definition of BEGIN. 78fd7d9bd3Smrg */ 79fd7d9bd3Smrg#define BEGIN yy_start = 1 + 2 * 80fd7d9bd3Smrg 81fd7d9bd3Smrg/* Translate the current start state into a value that can be later handed 82fd7d9bd3Smrg * to BEGIN to return to the state. The YYSTATE alias is for lex 83fd7d9bd3Smrg * compatibility. 84fd7d9bd3Smrg */ 85fd7d9bd3Smrg#define YY_START ((yy_start - 1) / 2) 86fd7d9bd3Smrg#define YYSTATE YY_START 87fd7d9bd3Smrg 88fd7d9bd3Smrg/* Action number for EOF rule of a given start state. */ 89fd7d9bd3Smrg#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) 90fd7d9bd3Smrg 91fd7d9bd3Smrg/* Special action meaning "start processing a new file". */ 92fd7d9bd3Smrg#define YY_NEW_FILE yyrestart( yyin ) 93fd7d9bd3Smrg 94fd7d9bd3Smrg#define YY_END_OF_BUFFER_CHAR 0 95fd7d9bd3Smrg 96fd7d9bd3Smrg/* Size of default input buffer. */ 97fd7d9bd3Smrg#define YY_BUF_SIZE 16384 98fd7d9bd3Smrg 99fd7d9bd3Smrgtypedef struct yy_buffer_state *YY_BUFFER_STATE; 100fd7d9bd3Smrg 101fd7d9bd3Smrgextern int yyleng; 102fd7d9bd3Smrgextern FILE *yyin, *yyout; 103fd7d9bd3Smrg 104fd7d9bd3Smrg#define EOB_ACT_CONTINUE_SCAN 0 105fd7d9bd3Smrg#define EOB_ACT_END_OF_FILE 1 106fd7d9bd3Smrg#define EOB_ACT_LAST_MATCH 2 107fd7d9bd3Smrg 108fd7d9bd3Smrg/* The funky do-while in the following #define is used to turn the definition 109fd7d9bd3Smrg * int a single C statement (which needs a semi-colon terminator). This 110fd7d9bd3Smrg * avoids problems with code like: 111fd7d9bd3Smrg * 112fd7d9bd3Smrg * if ( condition_holds ) 113fd7d9bd3Smrg * yyless( 5 ); 114fd7d9bd3Smrg * else 115fd7d9bd3Smrg * do_something_else(); 116fd7d9bd3Smrg * 117fd7d9bd3Smrg * Prior to using the do-while the compiler would get upset at the 118fd7d9bd3Smrg * "else" because it interpreted the "if" statement as being all 119fd7d9bd3Smrg * done when it reached the ';' after the yyless() call. 120fd7d9bd3Smrg */ 121fd7d9bd3Smrg 122fd7d9bd3Smrg/* Return all but the first 'n' matched characters back to the input stream. */ 123fd7d9bd3Smrg 124fd7d9bd3Smrg#define yyless(n) \ 125fd7d9bd3Smrg do \ 126fd7d9bd3Smrg { \ 127fd7d9bd3Smrg /* Undo effects of setting up yytext. */ \ 128fd7d9bd3Smrg *yy_cp = yy_hold_char; \ 129fd7d9bd3Smrg YY_RESTORE_YY_MORE_OFFSET \ 130fd7d9bd3Smrg yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \ 131fd7d9bd3Smrg YY_DO_BEFORE_ACTION; /* set up yytext again */ \ 132fd7d9bd3Smrg } \ 133fd7d9bd3Smrg while ( 0 ) 134fd7d9bd3Smrg 135fd7d9bd3Smrg#define unput(c) yyunput( c, yytext_ptr ) 136fd7d9bd3Smrg 137fd7d9bd3Smrg/* The following is because we cannot portably get our hands on size_t 138fd7d9bd3Smrg * (without autoconf's help, which isn't available because we want 139fd7d9bd3Smrg * flex-generated scanners to compile on their own). 140fd7d9bd3Smrg */ 141fd7d9bd3Smrgtypedef unsigned int yy_size_t; 142fd7d9bd3Smrg 143fd7d9bd3Smrg 144fd7d9bd3Smrgstruct yy_buffer_state 145fd7d9bd3Smrg { 146fd7d9bd3Smrg FILE *yy_input_file; 147fd7d9bd3Smrg 148fd7d9bd3Smrg char *yy_ch_buf; /* input buffer */ 149fd7d9bd3Smrg char *yy_buf_pos; /* current position in input buffer */ 150fd7d9bd3Smrg 151fd7d9bd3Smrg /* Size of input buffer in bytes, not including room for EOB 152fd7d9bd3Smrg * characters. 153fd7d9bd3Smrg */ 154fd7d9bd3Smrg yy_size_t yy_buf_size; 155fd7d9bd3Smrg 156fd7d9bd3Smrg /* Number of characters read into yy_ch_buf, not including EOB 157fd7d9bd3Smrg * characters. 158fd7d9bd3Smrg */ 159fd7d9bd3Smrg int yy_n_chars; 160fd7d9bd3Smrg 161fd7d9bd3Smrg /* Whether we "own" the buffer - i.e., we know we created it, 162fd7d9bd3Smrg * and can realloc() it to grow it, and should free() it to 163fd7d9bd3Smrg * delete it. 164fd7d9bd3Smrg */ 165fd7d9bd3Smrg int yy_is_our_buffer; 166fd7d9bd3Smrg 167fd7d9bd3Smrg /* Whether this is an "interactive" input source; if so, and 168fd7d9bd3Smrg * if we're using stdio for input, then we want to use getc() 169fd7d9bd3Smrg * instead of fread(), to make sure we stop fetching input after 170fd7d9bd3Smrg * each newline. 171fd7d9bd3Smrg */ 172fd7d9bd3Smrg int yy_is_interactive; 173fd7d9bd3Smrg 174fd7d9bd3Smrg /* Whether we're considered to be at the beginning of a line. 175fd7d9bd3Smrg * If so, '^' rules will be active on the next match, otherwise 176fd7d9bd3Smrg * not. 177fd7d9bd3Smrg */ 178fd7d9bd3Smrg int yy_at_bol; 179fd7d9bd3Smrg 180fd7d9bd3Smrg /* Whether to try to fill the input buffer when we reach the 181fd7d9bd3Smrg * end of it. 182fd7d9bd3Smrg */ 183fd7d9bd3Smrg int yy_fill_buffer; 184fd7d9bd3Smrg 185fd7d9bd3Smrg int yy_buffer_status; 186fd7d9bd3Smrg#define YY_BUFFER_NEW 0 187fd7d9bd3Smrg#define YY_BUFFER_NORMAL 1 188fd7d9bd3Smrg /* When an EOF's been seen but there's still some text to process 189fd7d9bd3Smrg * then we mark the buffer as YY_EOF_PENDING, to indicate that we 190fd7d9bd3Smrg * shouldn't try reading from the input source any more. We might 191fd7d9bd3Smrg * still have a bunch of tokens to match, though, because of 192fd7d9bd3Smrg * possible backing-up. 193fd7d9bd3Smrg * 194fd7d9bd3Smrg * When we actually see the EOF, we change the status to "new" 195fd7d9bd3Smrg * (via yyrestart()), so that the user can continue scanning by 196fd7d9bd3Smrg * just pointing yyin at a new input file. 197fd7d9bd3Smrg */ 198fd7d9bd3Smrg#define YY_BUFFER_EOF_PENDING 2 199fd7d9bd3Smrg }; 200fd7d9bd3Smrg 201fd7d9bd3Smrgstatic YY_BUFFER_STATE yy_current_buffer = 0; 202fd7d9bd3Smrg 203fd7d9bd3Smrg/* We provide macros for accessing buffer states in case in the 204fd7d9bd3Smrg * future we want to put the buffer states in a more general 205fd7d9bd3Smrg * "scanner state". 206fd7d9bd3Smrg */ 207fd7d9bd3Smrg#define YY_CURRENT_BUFFER yy_current_buffer 208fd7d9bd3Smrg 209fd7d9bd3Smrg 210fd7d9bd3Smrg/* yy_hold_char holds the character lost when yytext is formed. */ 211fd7d9bd3Smrgstatic char yy_hold_char; 212fd7d9bd3Smrg 213fd7d9bd3Smrgstatic int yy_n_chars; /* number of characters read into yy_ch_buf */ 214fd7d9bd3Smrg 215fd7d9bd3Smrg 216fd7d9bd3Smrgint yyleng; 217fd7d9bd3Smrg 218fd7d9bd3Smrg/* Points to current character in buffer. */ 219fd7d9bd3Smrgstatic char *yy_c_buf_p = (char *) 0; 220fd7d9bd3Smrgstatic int yy_init = 1; /* whether we need to initialize */ 221fd7d9bd3Smrgstatic int yy_start = 0; /* start state number */ 222fd7d9bd3Smrg 223fd7d9bd3Smrg/* Flag which is used to allow yywrap()'s to do buffer switches 224fd7d9bd3Smrg * instead of setting up a fresh yyin. A bit of a hack ... 225fd7d9bd3Smrg */ 226fd7d9bd3Smrgstatic int yy_did_buffer_switch_on_eof; 227fd7d9bd3Smrg 228fd7d9bd3Smrgvoid yyrestart YY_PROTO(( FILE *input_file )); 229fd7d9bd3Smrg 230fd7d9bd3Smrgvoid yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer )); 231fd7d9bd3Smrgvoid yy_load_buffer_state YY_PROTO(( void )); 232fd7d9bd3SmrgYY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size )); 233fd7d9bd3Smrgvoid yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b )); 234fd7d9bd3Smrgvoid yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file )); 235fd7d9bd3Smrgvoid yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b )); 236fd7d9bd3Smrg#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer ) 237fd7d9bd3Smrg 238fd7d9bd3SmrgYY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size )); 239fd7d9bd3SmrgYY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str )); 240fd7d9bd3SmrgYY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len )); 241fd7d9bd3Smrg 242fd7d9bd3Smrgstatic void *yy_flex_alloc YY_PROTO(( yy_size_t )); 243fd7d9bd3Smrgstatic void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )); 244fd7d9bd3Smrgstatic void yy_flex_free YY_PROTO(( void * )); 245fd7d9bd3Smrg 246fd7d9bd3Smrg#define yy_new_buffer yy_create_buffer 247fd7d9bd3Smrg 248fd7d9bd3Smrg#define yy_set_interactive(is_interactive) \ 249fd7d9bd3Smrg { \ 250fd7d9bd3Smrg if ( ! yy_current_buffer ) \ 251fd7d9bd3Smrg yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ 252fd7d9bd3Smrg yy_current_buffer->yy_is_interactive = is_interactive; \ 253fd7d9bd3Smrg } 254fd7d9bd3Smrg 255fd7d9bd3Smrg#define yy_set_bol(at_bol) \ 256fd7d9bd3Smrg { \ 257fd7d9bd3Smrg if ( ! yy_current_buffer ) \ 258fd7d9bd3Smrg yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ 259fd7d9bd3Smrg yy_current_buffer->yy_at_bol = at_bol; \ 260fd7d9bd3Smrg } 261fd7d9bd3Smrg 262fd7d9bd3Smrg#define YY_AT_BOL() (yy_current_buffer->yy_at_bol) 263fd7d9bd3Smrg 264fd7d9bd3Smrgtypedef unsigned char YY_CHAR; 265fd7d9bd3SmrgFILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; 266fd7d9bd3Smrgtypedef int yy_state_type; 267fd7d9bd3Smrgextern char *yytext; 268fd7d9bd3Smrg#define yytext_ptr yytext 269fd7d9bd3Smrg 270fd7d9bd3Smrgstatic yy_state_type yy_get_previous_state YY_PROTO(( void )); 271fd7d9bd3Smrgstatic yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state )); 272fd7d9bd3Smrgstatic int yy_get_next_buffer YY_PROTO(( void )); 273fd7d9bd3Smrgstatic void yy_fatal_error YY_PROTO(( yyconst char msg[] )); 274fd7d9bd3Smrg 275fd7d9bd3Smrg/* Done after the current pattern has been matched and before the 276fd7d9bd3Smrg * corresponding action - sets up yytext. 277fd7d9bd3Smrg */ 278fd7d9bd3Smrg#define YY_DO_BEFORE_ACTION \ 279fd7d9bd3Smrg yytext_ptr = yy_bp; \ 280fd7d9bd3Smrg yyleng = (int) (yy_cp - yy_bp); \ 281fd7d9bd3Smrg yy_hold_char = *yy_cp; \ 282fd7d9bd3Smrg *yy_cp = '\0'; \ 283fd7d9bd3Smrg yy_c_buf_p = yy_cp; 284fd7d9bd3Smrg 285fd7d9bd3Smrg#define YY_NUM_RULES 72 286fd7d9bd3Smrg#define YY_END_OF_BUFFER 73 287fd7d9bd3Smrgstatic yyconst short int yy_accept[420] = 288fd7d9bd3Smrg { 0, 289fd7d9bd3Smrg 0, 0, 73, 70, 68, 69, 70, 70, 65, 70, 290fd7d9bd3Smrg 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 291fd7d9bd3Smrg 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 292fd7d9bd3Smrg 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 293fd7d9bd3Smrg 70, 70, 0, 66, 70, 70, 0, 67, 65, 70, 294fd7d9bd3Smrg 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 295fd7d9bd3Smrg 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 296fd7d9bd3Smrg 70, 70, 70, 70, 70, 10, 70, 70, 70, 70, 297fd7d9bd3Smrg 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 298fd7d9bd3Smrg 70, 70, 70, 70, 66, 0, 70, 0, 66, 70, 299fd7d9bd3Smrg 300fd7d9bd3Smrg 4, 70, 70, 70, 70, 70, 70, 70, 70, 70, 301fd7d9bd3Smrg 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 302fd7d9bd3Smrg 70, 70, 70, 70, 70, 11, 70, 70, 70, 70, 303fd7d9bd3Smrg 70, 70, 70, 70, 70, 70, 70, 70, 1, 18, 304fd7d9bd3Smrg 70, 70, 70, 70, 70, 9, 70, 70, 66, 0, 305fd7d9bd3Smrg 70, 70, 70, 70, 70, 41, 70, 70, 70, 6, 306fd7d9bd3Smrg 70, 70, 70, 70, 70, 63, 70, 70, 70, 70, 307fd7d9bd3Smrg 70, 70, 70, 70, 17, 8, 70, 70, 70, 70, 308fd7d9bd3Smrg 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 309fd7d9bd3Smrg 19, 70, 70, 6, 70, 70, 70, 70, 70, 45, 310fd7d9bd3Smrg 311fd7d9bd3Smrg 70, 56, 3, 70, 70, 70, 70, 70, 12, 70, 312fd7d9bd3Smrg 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 313fd7d9bd3Smrg 70, 44, 70, 70, 70, 70, 70, 70, 70, 70, 314fd7d9bd3Smrg 70, 70, 70, 70, 70, 70, 70, 70, 70, 46, 315fd7d9bd3Smrg 51, 70, 48, 70, 70, 70, 70, 70, 70, 70, 316fd7d9bd3Smrg 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 317fd7d9bd3Smrg 70, 70, 13, 70, 70, 70, 70, 70, 70, 70, 318fd7d9bd3Smrg 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 319fd7d9bd3Smrg 70, 70, 70, 70, 70, 70, 70, 55, 70, 70, 320fd7d9bd3Smrg 70, 70, 70, 70, 70, 53, 70, 70, 70, 70, 321fd7d9bd3Smrg 322fd7d9bd3Smrg 70, 70, 70, 70, 70, 70, 40, 70, 70, 70, 323fd7d9bd3Smrg 70, 64, 70, 70, 26, 70, 70, 70, 70, 70, 324fd7d9bd3Smrg 70, 70, 70, 70, 54, 70, 70, 70, 39, 20, 325fd7d9bd3Smrg 70, 70, 62, 70, 70, 52, 70, 70, 2, 31, 326fd7d9bd3Smrg 70, 70, 70, 70, 70, 70, 70, 70, 57, 70, 327fd7d9bd3Smrg 70, 23, 70, 70, 70, 70, 70, 30, 49, 70, 328fd7d9bd3Smrg 70, 70, 70, 21, 70, 70, 47, 70, 70, 43, 329fd7d9bd3Smrg 36, 60, 37, 70, 70, 14, 61, 70, 70, 22, 330fd7d9bd3Smrg 70, 70, 70, 32, 70, 70, 5, 59, 70, 38, 331fd7d9bd3Smrg 70, 58, 70, 33, 70, 16, 70, 70, 70, 70, 332fd7d9bd3Smrg 333fd7d9bd3Smrg 34, 42, 7, 70, 27, 35, 70, 29, 70, 70, 334fd7d9bd3Smrg 24, 15, 70, 28, 70, 70, 25, 50, 0 335fd7d9bd3Smrg } ; 336fd7d9bd3Smrg 337fd7d9bd3Smrgstatic yyconst int yy_ec[256] = 338fd7d9bd3Smrg { 0, 339fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 340fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 341fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 342fd7d9bd3Smrg 1, 2, 1, 4, 5, 1, 1, 1, 1, 1, 343fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 6, 7, 6, 344fd7d9bd3Smrg 6, 6, 6, 8, 6, 9, 6, 1, 1, 1, 345fd7d9bd3Smrg 1, 1, 1, 1, 10, 11, 12, 13, 14, 15, 346fd7d9bd3Smrg 16, 1, 17, 18, 1, 19, 20, 21, 22, 23, 347fd7d9bd3Smrg 1, 24, 25, 26, 1, 1, 27, 28, 1, 1, 348fd7d9bd3Smrg 1, 29, 1, 1, 1, 1, 30, 31, 32, 33, 349fd7d9bd3Smrg 350fd7d9bd3Smrg 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 351fd7d9bd3Smrg 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 352fd7d9bd3Smrg 54, 1, 1, 1, 1, 1, 1, 1, 1, 1, 353fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 354fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 355fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 356fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 357fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 358fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 359fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 360fd7d9bd3Smrg 361fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 362fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 363fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 364fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 365fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 366fd7d9bd3Smrg 1, 1, 1, 1, 1 367fd7d9bd3Smrg } ; 368fd7d9bd3Smrg 369fd7d9bd3Smrgstatic yyconst int yy_meta[55] = 370fd7d9bd3Smrg { 0, 371fd7d9bd3Smrg 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 372fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 373fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 374fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 375fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 376fd7d9bd3Smrg 1, 1, 1, 1 377fd7d9bd3Smrg } ; 378fd7d9bd3Smrg 379fd7d9bd3Smrgstatic yyconst short int yy_base[427] = 380fd7d9bd3Smrg { 0, 381fd7d9bd3Smrg 0, 0, 498, 0, 499, 499, 53, 56, 54, 21, 382fd7d9bd3Smrg 35, 36, 37, 24, 34, 463, 44, 452, 457, 456, 383fd7d9bd3Smrg 44, 46, 56, 48, 61, 45, 455, 448, 461, 71, 384fd7d9bd3Smrg 460, 443, 58, 445, 69, 440, 70, 436, 451, 450, 385fd7d9bd3Smrg 0, 114, 103, 0, 117, 120, 480, 499, 118, 449, 386fd7d9bd3Smrg 449, 448, 428, 429, 432, 432, 441, 429, 425, 422, 387fd7d9bd3Smrg 421, 436, 428, 86, 425, 418, 436, 414, 426, 420, 388fd7d9bd3Smrg 413, 418, 87, 438, 429, 111, 411, 423, 426, 414, 389fd7d9bd3Smrg 410, 404, 402, 408, 401, 408, 410, 399, 405, 402, 390fd7d9bd3Smrg 397, 398, 401, 93, 499, 135, 145, 126, 148, 154, 391fd7d9bd3Smrg 392fd7d9bd3Smrg 136, 399, 400, 405, 389, 389, 389, 405, 380, 396, 393fd7d9bd3Smrg 401, 393, 387, 388, 379, 393, 394, 408, 388, 389, 394fd7d9bd3Smrg 379, 387, 386, 386, 373, 0, 398, 381, 369, 371, 395fd7d9bd3Smrg 379, 380, 386, 367, 355, 369, 390, 363, 0, 0, 396fd7d9bd3Smrg 367, 359, 354, 368, 368, 0, 346, 358, 137, 141, 397fd7d9bd3Smrg 355, 363, 352, 359, 353, 0, 344, 359, 344, 144, 398fd7d9bd3Smrg 349, 348, 337, 365, 139, 0, 350, 336, 342, 349, 399fd7d9bd3Smrg 335, 333, 111, 333, 0, 0, 349, 343, 327, 325, 400fd7d9bd3Smrg 324, 340, 332, 338, 165, 337, 328, 336, 335, 322, 401fd7d9bd3Smrg 0, 333, 327, 347, 121, 312, 311, 328, 313, 0, 402fd7d9bd3Smrg 403fd7d9bd3Smrg 305, 0, 0, 311, 314, 315, 317, 320, 0, 320, 404fd7d9bd3Smrg 308, 301, 301, 302, 310, 317, 320, 296, 295, 294, 405fd7d9bd3Smrg 304, 0, 293, 327, 305, 304, 303, 293, 297, 292, 406fd7d9bd3Smrg 286, 294, 293, 286, 295, 294, 293, 294, 295, 0, 407fd7d9bd3Smrg 0, 283, 0, 280, 288, 287, 286, 275, 277, 283, 408fd7d9bd3Smrg 265, 285, 266, 300, 279, 270, 269, 255, 264, 263, 409fd7d9bd3Smrg 270, 271, 0, 250, 249, 269, 252, 270, 274, 251, 410fd7d9bd3Smrg 250, 247, 263, 264, 261, 251, 248, 252, 257, 252, 411fd7d9bd3Smrg 234, 237, 249, 250, 247, 235, 234, 0, 230, 245, 412fd7d9bd3Smrg 248, 243, 233, 226, 244, 0, 219, 238, 230, 220, 413fd7d9bd3Smrg 414fd7d9bd3Smrg 226, 234, 214, 225, 224, 215, 0, 215, 213, 212, 415fd7d9bd3Smrg 212, 0, 225, 210, 0, 216, 222, 212, 205, 211, 416fd7d9bd3Smrg 203, 213, 216, 216, 0, 199, 199, 203, 0, 0, 417fd7d9bd3Smrg 198, 210, 0, 195, 206, 0, 207, 197, 0, 0, 418fd7d9bd3Smrg 190, 204, 203, 199, 198, 196, 199, 198, 0, 191, 419fd7d9bd3Smrg 155, 0, 181, 199, 194, 164, 184, 0, 0, 192, 420fd7d9bd3Smrg 191, 191, 174, 0, 185, 177, 0, 187, 169, 0, 421fd7d9bd3Smrg 0, 0, 0, 174, 185, 0, 0, 170, 182, 0, 422fd7d9bd3Smrg 172, 171, 205, 0, 176, 178, 0, 0, 176, 0, 423fd7d9bd3Smrg 166, 0, 200, 0, 162, 0, 174, 173, 168, 136, 424fd7d9bd3Smrg 425fd7d9bd3Smrg 0, 0, 0, 149, 0, 0, 140, 0, 123, 101, 426fd7d9bd3Smrg 0, 0, 80, 0, 75, 43, 0, 0, 499, 70, 427fd7d9bd3Smrg 191, 193, 195, 197, 199, 201 428fd7d9bd3Smrg } ; 429fd7d9bd3Smrg 430fd7d9bd3Smrgstatic yyconst short int yy_def[427] = 431fd7d9bd3Smrg { 0, 432fd7d9bd3Smrg 419, 1, 419, 420, 419, 419, 421, 422, 420, 420, 433fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 434fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 435fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 436fd7d9bd3Smrg 420, 421, 423, 420, 424, 422, 425, 419, 420, 420, 437fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 438fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 439fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 440fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 441fd7d9bd3Smrg 420, 420, 420, 420, 419, 426, 421, 423, 421, 424, 442fd7d9bd3Smrg 443fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 444fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 445fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 446fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 447fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 423, 426, 448fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 449fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 450fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 451fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 452fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 453fd7d9bd3Smrg 454fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 455fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 456fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 457fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 458fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 459fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 460fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 461fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 462fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 463fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 464fd7d9bd3Smrg 465fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 466fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 467fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 468fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 469fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 470fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 471fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 472fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 473fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 474fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 475fd7d9bd3Smrg 476fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 420, 420, 477fd7d9bd3Smrg 420, 420, 420, 420, 420, 420, 420, 420, 0, 419, 478fd7d9bd3Smrg 419, 419, 419, 419, 419, 419 479fd7d9bd3Smrg } ; 480fd7d9bd3Smrg 481fd7d9bd3Smrgstatic yyconst short int yy_nxt[554] = 482fd7d9bd3Smrg { 0, 483fd7d9bd3Smrg 4, 5, 6, 7, 8, 9, 9, 9, 9, 10, 484fd7d9bd3Smrg 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 485fd7d9bd3Smrg 21, 22, 23, 24, 25, 26, 27, 28, 4, 10, 486fd7d9bd3Smrg 29, 30, 31, 32, 33, 4, 4, 34, 18, 4, 487fd7d9bd3Smrg 19, 4, 35, 36, 37, 4, 38, 39, 40, 4, 488fd7d9bd3Smrg 4, 4, 28, 4, 43, 43, 44, 47, 48, 49, 489fd7d9bd3Smrg 49, 49, 49, 50, 52, 55, 59, 51, 53, 61, 490fd7d9bd3Smrg 41, 63, 56, 72, 62, 418, 57, 64, 88, 58, 491fd7d9bd3Smrg 60, 45, 89, 65, 54, 67, 68, 73, 74, 77, 492fd7d9bd3Smrg 75, 83, 76, 78, 85, 93, 79, 84, 72, 80, 493fd7d9bd3Smrg 494fd7d9bd3Smrg 55, 64, 81, 77, 86, 82, 95, 65, 417, 87, 495fd7d9bd3Smrg 79, 57, 94, 416, 92, 43, 43, 44, 98, 43, 496fd7d9bd3Smrg 99, 47, 48, 49, 49, 49, 49, 130, 115, 95, 497fd7d9bd3Smrg 125, 96, 116, 126, 131, 127, 125, 43, 149, 126, 498fd7d9bd3Smrg 95, 415, 45, 43, 149, 100, 43, 43, 44, 43, 499fd7d9bd3Smrg 43, 44, 151, 204, 96, 98, 43, 99, 220, 152, 500fd7d9bd3Smrg 205, 211, 221, 150, 378, 96, 206, 212, 213, 150, 501fd7d9bd3Smrg 383, 414, 384, 45, 231, 393, 45, 394, 379, 232, 502fd7d9bd3Smrg 413, 412, 100, 233, 411, 212, 213, 234, 235, 236, 503fd7d9bd3Smrg 237, 42, 42, 46, 46, 43, 43, 97, 97, 47, 504fd7d9bd3Smrg 505fd7d9bd3Smrg 47, 98, 98, 410, 409, 408, 407, 406, 405, 404, 506fd7d9bd3Smrg 403, 402, 401, 400, 399, 398, 397, 396, 395, 392, 507fd7d9bd3Smrg 391, 390, 389, 388, 387, 386, 385, 382, 381, 380, 508fd7d9bd3Smrg 377, 376, 375, 374, 373, 372, 371, 370, 369, 368, 509fd7d9bd3Smrg 367, 366, 365, 364, 363, 362, 361, 360, 359, 358, 510fd7d9bd3Smrg 357, 356, 355, 354, 353, 352, 351, 350, 349, 348, 511fd7d9bd3Smrg 347, 346, 345, 344, 343, 342, 341, 340, 339, 338, 512fd7d9bd3Smrg 337, 336, 335, 334, 333, 332, 331, 330, 329, 328, 513fd7d9bd3Smrg 327, 326, 325, 324, 323, 322, 321, 320, 319, 318, 514fd7d9bd3Smrg 317, 316, 315, 314, 313, 312, 311, 310, 309, 308, 515fd7d9bd3Smrg 516fd7d9bd3Smrg 307, 306, 305, 304, 303, 302, 301, 300, 299, 298, 517fd7d9bd3Smrg 297, 296, 295, 294, 293, 292, 291, 290, 289, 288, 518fd7d9bd3Smrg 287, 286, 285, 284, 283, 282, 281, 280, 279, 278, 519fd7d9bd3Smrg 277, 276, 275, 274, 273, 272, 271, 270, 269, 268, 520fd7d9bd3Smrg 267, 266, 265, 264, 263, 262, 261, 260, 259, 258, 521fd7d9bd3Smrg 257, 256, 255, 254, 253, 252, 251, 250, 249, 248, 522fd7d9bd3Smrg 247, 246, 245, 205, 244, 243, 242, 241, 240, 239, 523fd7d9bd3Smrg 238, 230, 229, 228, 227, 226, 225, 224, 223, 222, 524fd7d9bd3Smrg 219, 218, 217, 216, 215, 214, 210, 209, 208, 207, 525fd7d9bd3Smrg 203, 202, 201, 200, 199, 198, 197, 196, 195, 194, 526fd7d9bd3Smrg 527fd7d9bd3Smrg 193, 192, 191, 190, 189, 188, 187, 186, 185, 184, 528fd7d9bd3Smrg 183, 182, 181, 180, 179, 178, 177, 176, 175, 174, 529fd7d9bd3Smrg 173, 172, 171, 170, 169, 168, 167, 166, 165, 164, 530fd7d9bd3Smrg 163, 162, 161, 160, 159, 158, 157, 156, 155, 154, 531fd7d9bd3Smrg 153, 148, 147, 146, 145, 144, 143, 142, 141, 140, 532fd7d9bd3Smrg 139, 138, 137, 136, 135, 134, 133, 132, 129, 128, 533fd7d9bd3Smrg 124, 123, 122, 121, 120, 119, 118, 117, 114, 113, 534fd7d9bd3Smrg 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 535fd7d9bd3Smrg 102, 101, 48, 88, 85, 84, 76, 68, 61, 59, 536fd7d9bd3Smrg 52, 91, 90, 71, 70, 69, 66, 419, 3, 419, 537fd7d9bd3Smrg 538fd7d9bd3Smrg 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 539fd7d9bd3Smrg 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 540fd7d9bd3Smrg 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 541fd7d9bd3Smrg 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 542fd7d9bd3Smrg 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 543fd7d9bd3Smrg 419, 419, 419 544fd7d9bd3Smrg } ; 545fd7d9bd3Smrg 546fd7d9bd3Smrgstatic yyconst short int yy_chk[554] = 547fd7d9bd3Smrg { 0, 548fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 549fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 550fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 551fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 552fd7d9bd3Smrg 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 553fd7d9bd3Smrg 1, 1, 1, 1, 7, 7, 7, 8, 8, 9, 554fd7d9bd3Smrg 9, 9, 9, 10, 11, 12, 13, 10, 11, 14, 555fd7d9bd3Smrg 420, 15, 12, 21, 14, 416, 12, 15, 26, 12, 556fd7d9bd3Smrg 13, 7, 26, 15, 11, 17, 17, 21, 22, 23, 557fd7d9bd3Smrg 22, 24, 22, 23, 25, 33, 23, 24, 35, 23, 558fd7d9bd3Smrg 559fd7d9bd3Smrg 30, 33, 23, 37, 25, 23, 43, 33, 415, 25, 560fd7d9bd3Smrg 37, 30, 35, 413, 30, 42, 42, 42, 45, 45, 561fd7d9bd3Smrg 45, 46, 46, 49, 49, 49, 49, 76, 64, 98, 562fd7d9bd3Smrg 73, 43, 64, 73, 76, 73, 94, 96, 96, 94, 563fd7d9bd3Smrg 149, 410, 42, 150, 150, 45, 97, 97, 97, 99, 564fd7d9bd3Smrg 99, 99, 101, 160, 98, 100, 100, 100, 173, 101, 565fd7d9bd3Smrg 160, 165, 173, 96, 351, 149, 160, 195, 195, 150, 566fd7d9bd3Smrg 356, 409, 356, 97, 185, 369, 99, 369, 351, 185, 567fd7d9bd3Smrg 407, 404, 100, 185, 400, 165, 165, 185, 185, 185, 568fd7d9bd3Smrg 185, 421, 421, 422, 422, 423, 423, 424, 424, 425, 569fd7d9bd3Smrg 570fd7d9bd3Smrg 425, 426, 426, 399, 398, 397, 395, 393, 391, 389, 571fd7d9bd3Smrg 386, 385, 383, 382, 381, 379, 378, 375, 374, 368, 572fd7d9bd3Smrg 366, 365, 363, 362, 361, 360, 357, 355, 354, 353, 573fd7d9bd3Smrg 350, 348, 347, 346, 345, 344, 343, 342, 341, 338, 574fd7d9bd3Smrg 337, 335, 334, 332, 331, 328, 327, 326, 324, 323, 575fd7d9bd3Smrg 322, 321, 320, 319, 318, 317, 316, 314, 313, 311, 576fd7d9bd3Smrg 310, 309, 308, 306, 305, 304, 303, 302, 301, 300, 577fd7d9bd3Smrg 299, 298, 297, 295, 294, 293, 292, 291, 290, 289, 578fd7d9bd3Smrg 287, 286, 285, 284, 283, 282, 281, 280, 279, 278, 579fd7d9bd3Smrg 277, 276, 275, 274, 273, 272, 271, 270, 269, 268, 580fd7d9bd3Smrg 581fd7d9bd3Smrg 267, 266, 265, 264, 262, 261, 260, 259, 258, 257, 582fd7d9bd3Smrg 256, 255, 254, 253, 252, 251, 250, 249, 248, 247, 583fd7d9bd3Smrg 246, 245, 244, 242, 239, 238, 237, 236, 235, 234, 584fd7d9bd3Smrg 233, 232, 231, 230, 229, 228, 227, 226, 225, 224, 585fd7d9bd3Smrg 223, 221, 220, 219, 218, 217, 216, 215, 214, 213, 586fd7d9bd3Smrg 212, 211, 210, 208, 207, 206, 205, 204, 201, 199, 587fd7d9bd3Smrg 198, 197, 196, 194, 193, 192, 190, 189, 188, 187, 588fd7d9bd3Smrg 186, 184, 183, 182, 181, 180, 179, 178, 177, 174, 589fd7d9bd3Smrg 172, 171, 170, 169, 168, 167, 164, 163, 162, 161, 590fd7d9bd3Smrg 159, 158, 157, 155, 154, 153, 152, 151, 148, 147, 591fd7d9bd3Smrg 592fd7d9bd3Smrg 145, 144, 143, 142, 141, 138, 137, 136, 135, 134, 593fd7d9bd3Smrg 133, 132, 131, 130, 129, 128, 127, 125, 124, 123, 594fd7d9bd3Smrg 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 595fd7d9bd3Smrg 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 596fd7d9bd3Smrg 102, 93, 92, 91, 90, 89, 88, 87, 86, 85, 597fd7d9bd3Smrg 84, 83, 82, 81, 80, 79, 78, 77, 75, 74, 598fd7d9bd3Smrg 72, 71, 70, 69, 68, 67, 66, 65, 63, 62, 599fd7d9bd3Smrg 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 600fd7d9bd3Smrg 51, 50, 47, 40, 39, 38, 36, 34, 32, 31, 601fd7d9bd3Smrg 29, 28, 27, 20, 19, 18, 16, 3, 419, 419, 602fd7d9bd3Smrg 603fd7d9bd3Smrg 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 604fd7d9bd3Smrg 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 605fd7d9bd3Smrg 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 606fd7d9bd3Smrg 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 607fd7d9bd3Smrg 419, 419, 419, 419, 419, 419, 419, 419, 419, 419, 608fd7d9bd3Smrg 419, 419, 419 609fd7d9bd3Smrg } ; 610fd7d9bd3Smrg 611fd7d9bd3Smrgstatic yy_state_type yy_last_accepting_state; 612fd7d9bd3Smrgstatic char *yy_last_accepting_cpos; 613fd7d9bd3Smrg 614fd7d9bd3Smrg/* The intent behind this definition is that it'll catch 615fd7d9bd3Smrg * any uses of REJECT which flex missed. 616fd7d9bd3Smrg */ 617fd7d9bd3Smrg#define REJECT reject_used_but_not_detected 618fd7d9bd3Smrg#define yymore() yymore_used_but_not_detected 619fd7d9bd3Smrg#define YY_MORE_ADJ 0 620fd7d9bd3Smrg#define YY_RESTORE_YY_MORE_OFFSET 621fd7d9bd3Smrgchar *yytext; 622fd7d9bd3Smrg#line 1 "lex.l" 623fd7d9bd3Smrg#define INITIAL 0 624fd7d9bd3Smrg/* $XConsortium: lex.l,v 1.8 94/03/31 20:40:44 rws Exp $ */ 625fd7d9bd3Smrg/* $XFree86: xc/programs/xgc/lex.l,v 1.3 2000/04/05 18:14:07 dawes Exp $ */ 626fd7d9bd3Smrg/* 627fd7d9bd3Smrg** lex file for xgc syntax 628fd7d9bd3Smrg*/ 629fd7d9bd3Smrg/* Lots of stuff stolen from gwm's wool.lex */ 630fd7d9bd3Smrg#line 10 "lex.l" 631fd7d9bd3Smrg 632fd7d9bd3Smrg#include <X11/X.h> 633fd7d9bd3Smrg#include <stdlib.h> 634fd7d9bd3Smrg#include "gram.h" 635fd7d9bd3Smrg#include "constants.h" 636fd7d9bd3Smrg#if defined(FLEX_SCANNER) && !defined(YY_FLEX_LEX_COMPAT) && !defined(__UNIXOS2__) 637fd7d9bd3Smrgint yylineno; 638fd7d9bd3Smrg#endif 639fd7d9bd3Smrg#line 640 "lex.c" 640fd7d9bd3Smrg 641fd7d9bd3Smrg/* Macros after this point can all be overridden by user definitions in 642fd7d9bd3Smrg * section 1. 643fd7d9bd3Smrg */ 644fd7d9bd3Smrg 645fd7d9bd3Smrg#ifndef YY_SKIP_YYWRAP 646fd7d9bd3Smrg#ifdef __cplusplus 647fd7d9bd3Smrgextern "C" int yywrap YY_PROTO(( void )); 648fd7d9bd3Smrg#else 649fd7d9bd3Smrgextern int yywrap YY_PROTO(( void )); 650fd7d9bd3Smrg#endif 651fd7d9bd3Smrg#endif 652fd7d9bd3Smrg 653fd7d9bd3Smrg#ifndef YY_NO_UNPUT 654fd7d9bd3Smrgstatic void yyunput YY_PROTO(( int c, char *buf_ptr )); 655fd7d9bd3Smrg#endif 656fd7d9bd3Smrg 657fd7d9bd3Smrg#ifndef yytext_ptr 658fd7d9bd3Smrgstatic void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int )); 659fd7d9bd3Smrg#endif 660fd7d9bd3Smrg 661fd7d9bd3Smrg#ifdef YY_NEED_STRLEN 662fd7d9bd3Smrgstatic int yy_flex_strlen YY_PROTO(( yyconst char * )); 663fd7d9bd3Smrg#endif 664fd7d9bd3Smrg 665fd7d9bd3Smrg#ifndef YY_NO_INPUT 666fd7d9bd3Smrg#ifdef __cplusplus 667fd7d9bd3Smrgstatic int yyinput YY_PROTO(( void )); 668fd7d9bd3Smrg#else 669fd7d9bd3Smrgstatic int input YY_PROTO(( void )); 670fd7d9bd3Smrg#endif 671fd7d9bd3Smrg#endif 672fd7d9bd3Smrg 673fd7d9bd3Smrg#if YY_STACK_USED 674fd7d9bd3Smrgstatic int yy_start_stack_ptr = 0; 675fd7d9bd3Smrgstatic int yy_start_stack_depth = 0; 676fd7d9bd3Smrgstatic int *yy_start_stack = 0; 677fd7d9bd3Smrg#ifndef YY_NO_PUSH_STATE 678fd7d9bd3Smrgstatic void yy_push_state YY_PROTO(( int new_state )); 679fd7d9bd3Smrg#endif 680fd7d9bd3Smrg#ifndef YY_NO_POP_STATE 681fd7d9bd3Smrgstatic void yy_pop_state YY_PROTO(( void )); 682fd7d9bd3Smrg#endif 683fd7d9bd3Smrg#ifndef YY_NO_TOP_STATE 684fd7d9bd3Smrgstatic int yy_top_state YY_PROTO(( void )); 685fd7d9bd3Smrg#endif 686fd7d9bd3Smrg 687fd7d9bd3Smrg#else 688fd7d9bd3Smrg#define YY_NO_PUSH_STATE 1 689fd7d9bd3Smrg#define YY_NO_POP_STATE 1 690fd7d9bd3Smrg#define YY_NO_TOP_STATE 1 691fd7d9bd3Smrg#endif 692fd7d9bd3Smrg 693fd7d9bd3Smrg#ifdef YY_MALLOC_DECL 694fd7d9bd3SmrgYY_MALLOC_DECL 695fd7d9bd3Smrg#else 696fd7d9bd3Smrg#if __STDC__ 697fd7d9bd3Smrg#ifndef __cplusplus 698fd7d9bd3Smrg#include <stdlib.h> 699fd7d9bd3Smrg#endif 700fd7d9bd3Smrg#else 701fd7d9bd3Smrg/* Just try to get by without declaring the routines. This will fail 702fd7d9bd3Smrg * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int) 703fd7d9bd3Smrg * or sizeof(void*) != sizeof(int). 704fd7d9bd3Smrg */ 705fd7d9bd3Smrg#endif 706fd7d9bd3Smrg#endif 707fd7d9bd3Smrg 708fd7d9bd3Smrg/* Amount of stuff to slurp up with each read. */ 709fd7d9bd3Smrg#ifndef YY_READ_BUF_SIZE 710fd7d9bd3Smrg#define YY_READ_BUF_SIZE 8192 711fd7d9bd3Smrg#endif 712fd7d9bd3Smrg 713fd7d9bd3Smrg/* Copy whatever the last rule matched to the standard output. */ 714fd7d9bd3Smrg 715fd7d9bd3Smrg#ifndef ECHO 716fd7d9bd3Smrg/* This used to be an fputs(), but since the string might contain NUL's, 717fd7d9bd3Smrg * we now use fwrite(). 718fd7d9bd3Smrg */ 719fd7d9bd3Smrg#define ECHO (void) fwrite( yytext, yyleng, 1, yyout ) 720fd7d9bd3Smrg#endif 721fd7d9bd3Smrg 722fd7d9bd3Smrg/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, 723fd7d9bd3Smrg * is returned in "result". 724fd7d9bd3Smrg */ 725fd7d9bd3Smrg#ifndef YY_INPUT 726fd7d9bd3Smrg#define YY_INPUT(buf,result,max_size) \ 727fd7d9bd3Smrg if ( yy_current_buffer->yy_is_interactive ) \ 728fd7d9bd3Smrg { \ 729fd7d9bd3Smrg int c = '*', n; \ 730fd7d9bd3Smrg for ( n = 0; n < max_size && \ 731fd7d9bd3Smrg (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ 732fd7d9bd3Smrg buf[n] = (char) c; \ 733fd7d9bd3Smrg if ( c == '\n' ) \ 734fd7d9bd3Smrg buf[n++] = (char) c; \ 735fd7d9bd3Smrg if ( c == EOF && ferror( yyin ) ) \ 736fd7d9bd3Smrg YY_FATAL_ERROR( "input in flex scanner failed" ); \ 737fd7d9bd3Smrg result = n; \ 738fd7d9bd3Smrg } \ 739fd7d9bd3Smrg else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \ 740fd7d9bd3Smrg && ferror( yyin ) ) \ 741fd7d9bd3Smrg YY_FATAL_ERROR( "input in flex scanner failed" ); 742fd7d9bd3Smrg#endif 743fd7d9bd3Smrg 744fd7d9bd3Smrg/* No semi-colon after return; correct usage is to write "yyterminate();" - 745fd7d9bd3Smrg * we don't want an extra ';' after the "return" because that will cause 746fd7d9bd3Smrg * some compilers to complain about unreachable statements. 747fd7d9bd3Smrg */ 748fd7d9bd3Smrg#ifndef yyterminate 749fd7d9bd3Smrg#define yyterminate() return YY_NULL 750fd7d9bd3Smrg#endif 751fd7d9bd3Smrg 752fd7d9bd3Smrg/* Number of entries by which start-condition stack grows. */ 753fd7d9bd3Smrg#ifndef YY_START_STACK_INCR 754fd7d9bd3Smrg#define YY_START_STACK_INCR 25 755fd7d9bd3Smrg#endif 756fd7d9bd3Smrg 757fd7d9bd3Smrg/* Report a fatal error. */ 758fd7d9bd3Smrg#ifndef YY_FATAL_ERROR 759fd7d9bd3Smrg#define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) 760fd7d9bd3Smrg#endif 761fd7d9bd3Smrg 762fd7d9bd3Smrg/* Default declaration of generated scanner - a define so the user can 763fd7d9bd3Smrg * easily add parameters. 764fd7d9bd3Smrg */ 765fd7d9bd3Smrg#ifndef YY_DECL 766fd7d9bd3Smrg#define YY_DECL int yylex YY_PROTO(( void )) 767fd7d9bd3Smrg#endif 768fd7d9bd3Smrg 769fd7d9bd3Smrg/* Code executed at the beginning of each rule, after yytext and yyleng 770fd7d9bd3Smrg * have been set up. 771fd7d9bd3Smrg */ 772fd7d9bd3Smrg#ifndef YY_USER_ACTION 773fd7d9bd3Smrg#define YY_USER_ACTION 774fd7d9bd3Smrg#endif 775fd7d9bd3Smrg 776fd7d9bd3Smrg/* Code executed at the end of each rule. */ 777fd7d9bd3Smrg#ifndef YY_BREAK 778fd7d9bd3Smrg#define YY_BREAK break; 779fd7d9bd3Smrg#endif 780fd7d9bd3Smrg 781fd7d9bd3Smrg#define YY_RULE_SETUP \ 782fd7d9bd3Smrg YY_USER_ACTION 783fd7d9bd3Smrg 784fd7d9bd3SmrgYY_DECL 785fd7d9bd3Smrg { 786fd7d9bd3Smrg register yy_state_type yy_current_state; 787fd7d9bd3Smrg register char *yy_cp = NULL, *yy_bp = NULL; 788fd7d9bd3Smrg register int yy_act; 789fd7d9bd3Smrg 790fd7d9bd3Smrg#line 27 "lex.l" 791fd7d9bd3Smrg 792fd7d9bd3Smrg 793fd7d9bd3Smrg#line 794 "lex.c" 794fd7d9bd3Smrg 795fd7d9bd3Smrg if ( yy_init ) 796fd7d9bd3Smrg { 797fd7d9bd3Smrg yy_init = 0; 798fd7d9bd3Smrg 799fd7d9bd3Smrg#ifdef YY_USER_INIT 800fd7d9bd3Smrg YY_USER_INIT; 801fd7d9bd3Smrg#endif 802fd7d9bd3Smrg 803fd7d9bd3Smrg if ( ! yy_start ) 804fd7d9bd3Smrg yy_start = 1; /* first start state */ 805fd7d9bd3Smrg 806fd7d9bd3Smrg if ( ! yyin ) 807fd7d9bd3Smrg yyin = stdin; 808fd7d9bd3Smrg 809fd7d9bd3Smrg if ( ! yyout ) 810fd7d9bd3Smrg yyout = stdout; 811fd7d9bd3Smrg 812fd7d9bd3Smrg if ( ! yy_current_buffer ) 813fd7d9bd3Smrg yy_current_buffer = 814fd7d9bd3Smrg yy_create_buffer( yyin, YY_BUF_SIZE ); 815fd7d9bd3Smrg 816fd7d9bd3Smrg yy_load_buffer_state(); 817fd7d9bd3Smrg } 818fd7d9bd3Smrg 819fd7d9bd3Smrg while ( 1 ) /* loops until end-of-file is reached */ 820fd7d9bd3Smrg { 821fd7d9bd3Smrg yy_cp = yy_c_buf_p; 822fd7d9bd3Smrg 823fd7d9bd3Smrg /* Support of yytext. */ 824fd7d9bd3Smrg *yy_cp = yy_hold_char; 825fd7d9bd3Smrg 826fd7d9bd3Smrg /* yy_bp points to the position in yy_ch_buf of the start of 827fd7d9bd3Smrg * the current run. 828fd7d9bd3Smrg */ 829fd7d9bd3Smrg yy_bp = yy_cp; 830fd7d9bd3Smrg 831fd7d9bd3Smrg yy_current_state = yy_start; 832fd7d9bd3Smrgyy_match: 833fd7d9bd3Smrg do 834fd7d9bd3Smrg { 835fd7d9bd3Smrg register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; 836fd7d9bd3Smrg if ( yy_accept[yy_current_state] ) 837fd7d9bd3Smrg { 838fd7d9bd3Smrg yy_last_accepting_state = yy_current_state; 839fd7d9bd3Smrg yy_last_accepting_cpos = yy_cp; 840fd7d9bd3Smrg } 841fd7d9bd3Smrg while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 842fd7d9bd3Smrg { 843fd7d9bd3Smrg yy_current_state = (int) yy_def[yy_current_state]; 844fd7d9bd3Smrg if ( yy_current_state >= 420 ) 845fd7d9bd3Smrg yy_c = yy_meta[(unsigned int) yy_c]; 846fd7d9bd3Smrg } 847fd7d9bd3Smrg yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 848fd7d9bd3Smrg ++yy_cp; 849fd7d9bd3Smrg } 850fd7d9bd3Smrg while ( yy_base[yy_current_state] != 499 ); 851fd7d9bd3Smrg 852fd7d9bd3Smrgyy_find_action: 853fd7d9bd3Smrg yy_act = yy_accept[yy_current_state]; 854fd7d9bd3Smrg if ( yy_act == 0 ) 855fd7d9bd3Smrg { /* have to back up */ 856fd7d9bd3Smrg yy_cp = yy_last_accepting_cpos; 857fd7d9bd3Smrg yy_current_state = yy_last_accepting_state; 858fd7d9bd3Smrg yy_act = yy_accept[yy_current_state]; 859fd7d9bd3Smrg } 860fd7d9bd3Smrg 861fd7d9bd3Smrg YY_DO_BEFORE_ACTION; 862fd7d9bd3Smrg 863fd7d9bd3Smrg 864fd7d9bd3Smrgdo_action: /* This label is used only to access EOF actions. */ 865fd7d9bd3Smrg 866fd7d9bd3Smrg 867fd7d9bd3Smrg switch ( yy_act ) 868fd7d9bd3Smrg { /* beginning of action switch */ 869fd7d9bd3Smrg case 0: /* must back up */ 870fd7d9bd3Smrg /* undo the effects of YY_DO_BEFORE_ACTION */ 871fd7d9bd3Smrg *yy_cp = yy_hold_char; 872fd7d9bd3Smrg yy_cp = yy_last_accepting_cpos; 873fd7d9bd3Smrg yy_current_state = yy_last_accepting_state; 874fd7d9bd3Smrg goto yy_find_action; 875fd7d9bd3Smrg 876fd7d9bd3Smrgcase 1: 877fd7d9bd3SmrgYY_RULE_SETUP 878fd7d9bd3Smrg#line 29 "lex.l" 879fd7d9bd3Smrg{ return (RUN); } 880fd7d9bd3Smrg YY_BREAK 881fd7d9bd3Smrgcase 2: 882fd7d9bd3SmrgYY_RULE_SETUP 883fd7d9bd3Smrg#line 31 "lex.l" 884fd7d9bd3Smrg{ return (FUNCTION); } 885fd7d9bd3Smrg YY_BREAK 886fd7d9bd3Smrgcase 3: 887fd7d9bd3SmrgYY_RULE_SETUP 888fd7d9bd3Smrg#line 32 "lex.l" 889fd7d9bd3Smrg{ yylval.num = GXclear; 890fd7d9bd3Smrg return (FUNCTIONTYPE); } 891fd7d9bd3Smrg YY_BREAK 892fd7d9bd3Smrgcase 4: 893fd7d9bd3SmrgYY_RULE_SETUP 894fd7d9bd3Smrg#line 34 "lex.l" 895fd7d9bd3Smrg{ yylval.num = GXand; 896fd7d9bd3Smrg return (FUNCTIONTYPE); } 897fd7d9bd3Smrg YY_BREAK 898fd7d9bd3Smrgcase 5: 899fd7d9bd3SmrgYY_RULE_SETUP 900fd7d9bd3Smrg#line 36 "lex.l" 901fd7d9bd3Smrg{ yylval.num = GXandReverse; 902fd7d9bd3Smrg return (FUNCTIONTYPE); } 903fd7d9bd3Smrg YY_BREAK 904fd7d9bd3Smrgcase 6: 905fd7d9bd3SmrgYY_RULE_SETUP 906fd7d9bd3Smrg#line 38 "lex.l" 907fd7d9bd3Smrg{ yylval.num = GXcopy; 908fd7d9bd3Smrg return (FUNCTIONTYPE); } 909fd7d9bd3Smrg YY_BREAK 910fd7d9bd3Smrgcase 7: 911fd7d9bd3SmrgYY_RULE_SETUP 912fd7d9bd3Smrg#line 40 "lex.l" 913fd7d9bd3Smrg{ yylval.num = GXandInverted; 914fd7d9bd3Smrg return (FUNCTIONTYPE); } 915fd7d9bd3Smrg YY_BREAK 916fd7d9bd3Smrgcase 8: 917fd7d9bd3SmrgYY_RULE_SETUP 918fd7d9bd3Smrg#line 42 "lex.l" 919fd7d9bd3Smrg{ yylval.num = GXnoop; 920fd7d9bd3Smrg return (FUNCTIONTYPE); } 921fd7d9bd3Smrg YY_BREAK 922fd7d9bd3Smrgcase 9: 923fd7d9bd3SmrgYY_RULE_SETUP 924fd7d9bd3Smrg#line 44 "lex.l" 925fd7d9bd3Smrg{ yylval.num = GXxor; 926fd7d9bd3Smrg return (FUNCTIONTYPE); } 927fd7d9bd3Smrg YY_BREAK 928fd7d9bd3Smrgcase 10: 929fd7d9bd3SmrgYY_RULE_SETUP 930fd7d9bd3Smrg#line 46 "lex.l" 931fd7d9bd3Smrg{ yylval.num = GXor; 932fd7d9bd3Smrg return (FUNCTIONTYPE); } 933fd7d9bd3Smrg YY_BREAK 934fd7d9bd3Smrgcase 11: 935fd7d9bd3SmrgYY_RULE_SETUP 936fd7d9bd3Smrg#line 48 "lex.l" 937fd7d9bd3Smrg{ yylval.num = GXnor; 938fd7d9bd3Smrg return (FUNCTIONTYPE); } 939fd7d9bd3Smrg YY_BREAK 940fd7d9bd3Smrgcase 12: 941fd7d9bd3SmrgYY_RULE_SETUP 942fd7d9bd3Smrg#line 50 "lex.l" 943fd7d9bd3Smrg{ yylval.num = GXequiv; 944fd7d9bd3Smrg return (FUNCTIONTYPE); } 945fd7d9bd3Smrg YY_BREAK 946fd7d9bd3Smrgcase 13: 947fd7d9bd3SmrgYY_RULE_SETUP 948fd7d9bd3Smrg#line 52 "lex.l" 949fd7d9bd3Smrg{ yylval.num = GXinvert; 950fd7d9bd3Smrg return (FUNCTIONTYPE); } 951fd7d9bd3Smrg YY_BREAK 952fd7d9bd3Smrgcase 14: 953fd7d9bd3SmrgYY_RULE_SETUP 954fd7d9bd3Smrg#line 54 "lex.l" 955fd7d9bd3Smrg{ yylval.num = GXorReverse; 956fd7d9bd3Smrg return (FUNCTIONTYPE); } 957fd7d9bd3Smrg YY_BREAK 958fd7d9bd3Smrgcase 15: 959fd7d9bd3SmrgYY_RULE_SETUP 960fd7d9bd3Smrg#line 56 "lex.l" 961fd7d9bd3Smrg{ yylval.num = GXcopyInverted; 962fd7d9bd3Smrg return (FUNCTIONTYPE); } 963fd7d9bd3Smrg YY_BREAK 964fd7d9bd3Smrgcase 16: 965fd7d9bd3SmrgYY_RULE_SETUP 966fd7d9bd3Smrg#line 58 "lex.l" 967fd7d9bd3Smrg{ yylval.num = GXorInverted; 968fd7d9bd3Smrg return (FUNCTIONTYPE); } 969fd7d9bd3Smrg YY_BREAK 970fd7d9bd3Smrgcase 17: 971fd7d9bd3SmrgYY_RULE_SETUP 972fd7d9bd3Smrg#line 60 "lex.l" 973fd7d9bd3Smrg{ yylval.num = GXnand; 974fd7d9bd3Smrg return (FUNCTIONTYPE); } 975fd7d9bd3Smrg YY_BREAK 976fd7d9bd3Smrgcase 18: 977fd7d9bd3SmrgYY_RULE_SETUP 978fd7d9bd3Smrg#line 62 "lex.l" 979fd7d9bd3Smrg{ yylval.num = GXset; 980fd7d9bd3Smrg return (FUNCTIONTYPE); } 981fd7d9bd3Smrg YY_BREAK 982fd7d9bd3Smrgcase 19: 983fd7d9bd3SmrgYY_RULE_SETUP 984fd7d9bd3Smrg#line 65 "lex.l" 985fd7d9bd3Smrg{ return (TEST); } 986fd7d9bd3Smrg YY_BREAK 987fd7d9bd3Smrgcase 20: 988fd7d9bd3SmrgYY_RULE_SETUP 989fd7d9bd3Smrg#line 66 "lex.l" 990fd7d9bd3Smrg{ yylval.num = CopyArea; 991fd7d9bd3Smrg return (TESTTYPE); } 992fd7d9bd3Smrg YY_BREAK 993fd7d9bd3Smrgcase 21: 994fd7d9bd3SmrgYY_RULE_SETUP 995fd7d9bd3Smrg#line 68 "lex.l" 996fd7d9bd3Smrg{ yylval.num = CopyPlane; 997fd7d9bd3Smrg return (TESTTYPE); } 998fd7d9bd3Smrg YY_BREAK 999fd7d9bd3Smrgcase 22: 1000fd7d9bd3SmrgYY_RULE_SETUP 1001fd7d9bd3Smrg#line 70 "lex.l" 1002fd7d9bd3Smrg{ yylval.num = PolyPoint; 1003fd7d9bd3Smrg return (TESTTYPE); } 1004fd7d9bd3Smrg YY_BREAK 1005fd7d9bd3Smrgcase 23: 1006fd7d9bd3SmrgYY_RULE_SETUP 1007fd7d9bd3Smrg#line 72 "lex.l" 1008fd7d9bd3Smrg{ yylval.num = PolyLine; 1009fd7d9bd3Smrg return (TESTTYPE); } 1010fd7d9bd3Smrg YY_BREAK 1011fd7d9bd3Smrgcase 24: 1012fd7d9bd3SmrgYY_RULE_SETUP 1013fd7d9bd3Smrg#line 74 "lex.l" 1014fd7d9bd3Smrg{ yylval.num = PolySegment; 1015fd7d9bd3Smrg return (TESTTYPE); } 1016fd7d9bd3Smrg YY_BREAK 1017fd7d9bd3Smrgcase 25: 1018fd7d9bd3SmrgYY_RULE_SETUP 1019fd7d9bd3Smrg#line 76 "lex.l" 1020fd7d9bd3Smrg{ yylval.num = PolyRectangle; 1021fd7d9bd3Smrg return (TESTTYPE); } 1022fd7d9bd3Smrg YY_BREAK 1023fd7d9bd3Smrgcase 26: 1024fd7d9bd3SmrgYY_RULE_SETUP 1025fd7d9bd3Smrg#line 78 "lex.l" 1026fd7d9bd3Smrg{ yylval.num = PolyArc; 1027fd7d9bd3Smrg return (TESTTYPE); } 1028fd7d9bd3Smrg YY_BREAK 1029fd7d9bd3Smrgcase 27: 1030fd7d9bd3SmrgYY_RULE_SETUP 1031fd7d9bd3Smrg#line 80 "lex.l" 1032fd7d9bd3Smrg{ yylval.num = FillPolygon; 1033fd7d9bd3Smrg return (TESTTYPE); } 1034fd7d9bd3Smrg YY_BREAK 1035fd7d9bd3Smrgcase 28: 1036fd7d9bd3SmrgYY_RULE_SETUP 1037fd7d9bd3Smrg#line 82 "lex.l" 1038fd7d9bd3Smrg{ yylval.num = PolyFillRect; 1039fd7d9bd3Smrg return (TESTTYPE); } 1040fd7d9bd3Smrg YY_BREAK 1041fd7d9bd3Smrgcase 29: 1042fd7d9bd3SmrgYY_RULE_SETUP 1043fd7d9bd3Smrg#line 84 "lex.l" 1044fd7d9bd3Smrg{ yylval.num = PolyFillArc; 1045fd7d9bd3Smrg return (TESTTYPE); } 1046fd7d9bd3Smrg YY_BREAK 1047fd7d9bd3Smrgcase 30: 1048fd7d9bd3SmrgYY_RULE_SETUP 1049fd7d9bd3Smrg#line 86 "lex.l" 1050fd7d9bd3Smrg{ yylval.num = PutImage; 1051fd7d9bd3Smrg return (TESTTYPE); } 1052fd7d9bd3Smrg YY_BREAK 1053fd7d9bd3Smrgcase 31: 1054fd7d9bd3SmrgYY_RULE_SETUP 1055fd7d9bd3Smrg#line 88 "lex.l" 1056fd7d9bd3Smrg{ yylval.num = GetImage; 1057fd7d9bd3Smrg return (TESTTYPE); } 1058fd7d9bd3Smrg YY_BREAK 1059fd7d9bd3Smrgcase 32: 1060fd7d9bd3SmrgYY_RULE_SETUP 1061fd7d9bd3Smrg#line 90 "lex.l" 1062fd7d9bd3Smrg{ yylval.num = PolyText8; 1063fd7d9bd3Smrg return (TESTTYPE); } 1064fd7d9bd3Smrg YY_BREAK 1065fd7d9bd3Smrgcase 33: 1066fd7d9bd3SmrgYY_RULE_SETUP 1067fd7d9bd3Smrg#line 92 "lex.l" 1068fd7d9bd3Smrg{ yylval.num = ImageText8; 1069fd7d9bd3Smrg return (TESTTYPE); } 1070fd7d9bd3Smrg YY_BREAK 1071fd7d9bd3Smrgcase 34: 1072fd7d9bd3SmrgYY_RULE_SETUP 1073fd7d9bd3Smrg#line 94 "lex.l" 1074fd7d9bd3Smrg{ yylval.num = PolyText16; 1075fd7d9bd3Smrg return (TESTTYPE); } 1076fd7d9bd3Smrg YY_BREAK 1077fd7d9bd3Smrgcase 35: 1078fd7d9bd3SmrgYY_RULE_SETUP 1079fd7d9bd3Smrg#line 96 "lex.l" 1080fd7d9bd3Smrg{ yylval.num = ImageText16; 1081fd7d9bd3Smrg return (TESTTYPE); } 1082fd7d9bd3Smrg YY_BREAK 1083fd7d9bd3Smrgcase 36: 1084fd7d9bd3SmrgYY_RULE_SETUP 1085fd7d9bd3Smrg#line 99 "lex.l" 1086fd7d9bd3Smrg{ return (LINESTYLE); } 1087fd7d9bd3Smrg YY_BREAK 1088fd7d9bd3Smrgcase 37: 1089fd7d9bd3SmrgYY_RULE_SETUP 1090fd7d9bd3Smrg#line 100 "lex.l" 1091fd7d9bd3Smrg{ yylval.num = LineOnOffDash; 1092fd7d9bd3Smrg return (LINESTYLETYPE); } 1093fd7d9bd3Smrg YY_BREAK 1094fd7d9bd3Smrgcase 38: 1095fd7d9bd3SmrgYY_RULE_SETUP 1096fd7d9bd3Smrg#line 102 "lex.l" 1097fd7d9bd3Smrg{ yylval.num = LineDoubleDash; 1098fd7d9bd3Smrg return (LINESTYLETYPE); } 1099fd7d9bd3Smrg YY_BREAK 1100fd7d9bd3Smrgcase 39: 1101fd7d9bd3SmrgYY_RULE_SETUP 1102fd7d9bd3Smrg#line 105 "lex.l" 1103fd7d9bd3Smrg{ return (CAPSTYLE); } 1104fd7d9bd3Smrg YY_BREAK 1105fd7d9bd3Smrgcase 40: 1106fd7d9bd3SmrgYY_RULE_SETUP 1107fd7d9bd3Smrg#line 106 "lex.l" 1108fd7d9bd3Smrg{ yylval.num = CapNotLast; 1109fd7d9bd3Smrg return (CAPSTYLETYPE); } 1110fd7d9bd3Smrg YY_BREAK 1111fd7d9bd3Smrgcase 41: 1112fd7d9bd3SmrgYY_RULE_SETUP 1113fd7d9bd3Smrg#line 108 "lex.l" 1114fd7d9bd3Smrg{ yylval.num = CapButt; 1115fd7d9bd3Smrg return (CAPSTYLETYPE); } 1116fd7d9bd3Smrg YY_BREAK 1117fd7d9bd3Smrgcase 42: 1118fd7d9bd3SmrgYY_RULE_SETUP 1119fd7d9bd3Smrg#line 110 "lex.l" 1120fd7d9bd3Smrg{ yylval.num = CapProjecting; 1121fd7d9bd3Smrg return (CAPSTYLETYPE); } 1122fd7d9bd3Smrg YY_BREAK 1123fd7d9bd3Smrgcase 43: 1124fd7d9bd3SmrgYY_RULE_SETUP 1125fd7d9bd3Smrg#line 113 "lex.l" 1126fd7d9bd3Smrg{ return (JOINSTYLE); } 1127fd7d9bd3Smrg YY_BREAK 1128fd7d9bd3Smrgcase 44: 1129fd7d9bd3SmrgYY_RULE_SETUP 1130fd7d9bd3Smrg#line 114 "lex.l" 1131fd7d9bd3Smrg{ yylval.num = JoinMiter; 1132fd7d9bd3Smrg return (JOINSTYLETYPE); } 1133fd7d9bd3Smrg YY_BREAK 1134fd7d9bd3Smrgcase 45: 1135fd7d9bd3SmrgYY_RULE_SETUP 1136fd7d9bd3Smrg#line 116 "lex.l" 1137fd7d9bd3Smrg{ yylval.num = JoinBevel; 1138fd7d9bd3Smrg return (JOINSTYLETYPE); } 1139fd7d9bd3Smrg YY_BREAK 1140fd7d9bd3Smrgcase 46: 1141fd7d9bd3SmrgYY_RULE_SETUP 1142fd7d9bd3Smrg#line 119 "lex.l" 1143fd7d9bd3Smrg{ return (ROUND); } 1144fd7d9bd3Smrg YY_BREAK 1145fd7d9bd3Smrgcase 47: 1146fd7d9bd3SmrgYY_RULE_SETUP 1147fd7d9bd3Smrg#line 121 "lex.l" 1148fd7d9bd3Smrg{ return (FILLSTYLE); } 1149fd7d9bd3Smrg YY_BREAK 1150fd7d9bd3Smrgcase 48: 1151fd7d9bd3SmrgYY_RULE_SETUP 1152fd7d9bd3Smrg#line 122 "lex.l" 1153fd7d9bd3Smrg{ yylval.num = FillTiled; 1154fd7d9bd3Smrg return (FILLSTYLETYPE); } 1155fd7d9bd3Smrg YY_BREAK 1156fd7d9bd3Smrgcase 49: 1157fd7d9bd3SmrgYY_RULE_SETUP 1158fd7d9bd3Smrg#line 124 "lex.l" 1159fd7d9bd3Smrg{ yylval.num = FillStippled; 1160fd7d9bd3Smrg return (FILLSTYLETYPE); } 1161fd7d9bd3Smrg YY_BREAK 1162fd7d9bd3Smrgcase 50: 1163fd7d9bd3SmrgYY_RULE_SETUP 1164fd7d9bd3Smrg#line 126 "lex.l" 1165fd7d9bd3Smrg{ yylval.num = FillOpaqueStippled; 1166fd7d9bd3Smrg return (FILLSTYLETYPE); } 1167fd7d9bd3Smrg YY_BREAK 1168fd7d9bd3Smrgcase 51: 1169fd7d9bd3SmrgYY_RULE_SETUP 1170fd7d9bd3Smrg#line 129 "lex.l" 1171fd7d9bd3Smrg{ return (SOLID); } 1172fd7d9bd3Smrg YY_BREAK 1173fd7d9bd3Smrgcase 52: 1174fd7d9bd3SmrgYY_RULE_SETUP 1175fd7d9bd3Smrg#line 131 "lex.l" 1176fd7d9bd3Smrg{ return (FILLRULE); } 1177fd7d9bd3Smrg YY_BREAK 1178fd7d9bd3Smrgcase 53: 1179fd7d9bd3SmrgYY_RULE_SETUP 1180fd7d9bd3Smrg#line 132 "lex.l" 1181fd7d9bd3Smrg{ yylval.num = EvenOddRule; 1182fd7d9bd3Smrg return (FILLRULETYPE); } 1183fd7d9bd3Smrg YY_BREAK 1184fd7d9bd3Smrgcase 54: 1185fd7d9bd3SmrgYY_RULE_SETUP 1186fd7d9bd3Smrg#line 134 "lex.l" 1187fd7d9bd3Smrg{ yylval.num = WindingRule; 1188fd7d9bd3Smrg return (FILLRULETYPE); } 1189fd7d9bd3Smrg YY_BREAK 1190fd7d9bd3Smrgcase 55: 1191fd7d9bd3SmrgYY_RULE_SETUP 1192fd7d9bd3Smrg#line 137 "lex.l" 1193fd7d9bd3Smrg{ return (ARCMODE); } 1194fd7d9bd3Smrg YY_BREAK 1195fd7d9bd3Smrgcase 56: 1196fd7d9bd3SmrgYY_RULE_SETUP 1197fd7d9bd3Smrg#line 138 "lex.l" 1198fd7d9bd3Smrg{ yylval.num = ArcChord; 1199fd7d9bd3Smrg return (ARCMODETYPE); } 1200fd7d9bd3Smrg YY_BREAK 1201fd7d9bd3Smrgcase 57: 1202fd7d9bd3SmrgYY_RULE_SETUP 1203fd7d9bd3Smrg#line 140 "lex.l" 1204fd7d9bd3Smrg{ yylval.num = ArcPieSlice; 1205fd7d9bd3Smrg return (ARCMODETYPE); } 1206fd7d9bd3Smrg YY_BREAK 1207fd7d9bd3Smrgcase 58: 1208fd7d9bd3SmrgYY_RULE_SETUP 1209fd7d9bd3Smrg#line 143 "lex.l" 1210fd7d9bd3Smrg{ return (FOREGROUND); } 1211fd7d9bd3Smrg YY_BREAK 1212fd7d9bd3Smrgcase 59: 1213fd7d9bd3SmrgYY_RULE_SETUP 1214fd7d9bd3Smrg#line 144 "lex.l" 1215fd7d9bd3Smrg{ return (BACKGROUND); } 1216fd7d9bd3Smrg YY_BREAK 1217fd7d9bd3Smrgcase 60: 1218fd7d9bd3SmrgYY_RULE_SETUP 1219fd7d9bd3Smrg#line 145 "lex.l" 1220fd7d9bd3Smrg{ return (LINEWIDTH); } 1221fd7d9bd3Smrg YY_BREAK 1222fd7d9bd3Smrgcase 61: 1223fd7d9bd3SmrgYY_RULE_SETUP 1224fd7d9bd3Smrg#line 146 "lex.l" 1225fd7d9bd3Smrg{ return (PLANEMASK); } 1226fd7d9bd3Smrg YY_BREAK 1227fd7d9bd3Smrgcase 62: 1228fd7d9bd3SmrgYY_RULE_SETUP 1229fd7d9bd3Smrg#line 147 "lex.l" 1230fd7d9bd3Smrg{ return (DASHLIST); } 1231fd7d9bd3Smrg YY_BREAK 1232fd7d9bd3Smrgcase 63: 1233fd7d9bd3SmrgYY_RULE_SETUP 1234fd7d9bd3Smrg#line 148 "lex.l" 1235fd7d9bd3Smrg{ return (FONT); } 1236fd7d9bd3Smrg YY_BREAK 1237fd7d9bd3Smrgcase 64: 1238fd7d9bd3SmrgYY_RULE_SETUP 1239fd7d9bd3Smrg#line 149 "lex.l" 1240fd7d9bd3Smrg{ return (PERCENT); } 1241fd7d9bd3Smrg YY_BREAK 1242fd7d9bd3Smrgcase 65: 1243fd7d9bd3SmrgYY_RULE_SETUP 1244fd7d9bd3Smrg#line 151 "lex.l" 1245fd7d9bd3Smrg{ (void) sscanf ((char *)yytext, "%d", &yylval.num); 1246fd7d9bd3Smrg return (NUMBER); } 1247fd7d9bd3Smrg YY_BREAK 1248fd7d9bd3Smrgcase 66: 1249fd7d9bd3SmrgYY_RULE_SETUP 1250fd7d9bd3Smrg#line 153 "lex.l" 1251fd7d9bd3Smrg{ yylval.ptr = (char *) yytext; 1252fd7d9bd3Smrg return (STRING); } 1253fd7d9bd3Smrg YY_BREAK 1254fd7d9bd3Smrgcase 67: 1255fd7d9bd3SmrgYY_RULE_SETUP 1256fd7d9bd3Smrg#line 155 "lex.l" 1257fd7d9bd3Smrg{ ; } 1258fd7d9bd3Smrg YY_BREAK 1259fd7d9bd3Smrgcase 68: 1260fd7d9bd3SmrgYY_RULE_SETUP 1261fd7d9bd3Smrg#line 156 "lex.l" 1262fd7d9bd3Smrg{ ; } 1263fd7d9bd3Smrg YY_BREAK 1264fd7d9bd3Smrgcase 69: 1265fd7d9bd3SmrgYY_RULE_SETUP 1266fd7d9bd3Smrg#line 157 "lex.l" 1267fd7d9bd3Smrg{ return ('\n'); } 1268fd7d9bd3Smrg YY_BREAK 1269fd7d9bd3Smrgcase 70: 1270fd7d9bd3SmrgYY_RULE_SETUP 1271fd7d9bd3Smrg#line 159 "lex.l" 1272fd7d9bd3Smrg{ yylval.ptr = (char *) yytext; 1273fd7d9bd3Smrg return (STRING); } 1274fd7d9bd3Smrg YY_BREAK 1275fd7d9bd3Smrgcase 71: 1276fd7d9bd3SmrgYY_RULE_SETUP 1277fd7d9bd3Smrg#line 162 "lex.l" 1278fd7d9bd3Smrg{ fprintf(stderr, 1279fd7d9bd3Smrg "xgc: bad character `%s', line %d\n", 1280fd7d9bd3Smrg yytext, yylineno); } 1281fd7d9bd3Smrg YY_BREAK 1282fd7d9bd3Smrgcase 72: 1283fd7d9bd3SmrgYY_RULE_SETUP 1284fd7d9bd3Smrg#line 166 "lex.l" 1285fd7d9bd3SmrgECHO; 1286fd7d9bd3Smrg YY_BREAK 1287fd7d9bd3Smrg#line 1288 "lex.c" 1288fd7d9bd3Smrgcase YY_STATE_EOF(INITIAL): 1289fd7d9bd3Smrg yyterminate(); 1290fd7d9bd3Smrg 1291fd7d9bd3Smrg case YY_END_OF_BUFFER: 1292fd7d9bd3Smrg { 1293fd7d9bd3Smrg /* Amount of text matched not including the EOB char. */ 1294fd7d9bd3Smrg int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1; 1295fd7d9bd3Smrg 1296fd7d9bd3Smrg /* Undo the effects of YY_DO_BEFORE_ACTION. */ 1297fd7d9bd3Smrg *yy_cp = yy_hold_char; 1298fd7d9bd3Smrg YY_RESTORE_YY_MORE_OFFSET 1299fd7d9bd3Smrg 1300fd7d9bd3Smrg if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW ) 1301fd7d9bd3Smrg { 1302fd7d9bd3Smrg /* We're scanning a new file or input source. It's 1303fd7d9bd3Smrg * possible that this happened because the user 1304fd7d9bd3Smrg * just pointed yyin at a new source and called 1305fd7d9bd3Smrg * yylex(). If so, then we have to assure 1306fd7d9bd3Smrg * consistency between yy_current_buffer and our 1307fd7d9bd3Smrg * globals. Here is the right place to do so, because 1308fd7d9bd3Smrg * this is the first action (other than possibly a 1309fd7d9bd3Smrg * back-up) that will match for the new input source. 1310fd7d9bd3Smrg */ 1311fd7d9bd3Smrg yy_n_chars = yy_current_buffer->yy_n_chars; 1312fd7d9bd3Smrg yy_current_buffer->yy_input_file = yyin; 1313fd7d9bd3Smrg yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL; 1314fd7d9bd3Smrg } 1315fd7d9bd3Smrg 1316fd7d9bd3Smrg /* Note that here we test for yy_c_buf_p "<=" to the position 1317fd7d9bd3Smrg * of the first EOB in the buffer, since yy_c_buf_p will 1318fd7d9bd3Smrg * already have been incremented past the NUL character 1319fd7d9bd3Smrg * (since all states make transitions on EOB to the 1320fd7d9bd3Smrg * end-of-buffer state). Contrast this with the test 1321fd7d9bd3Smrg * in input(). 1322fd7d9bd3Smrg */ 1323fd7d9bd3Smrg if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] ) 1324fd7d9bd3Smrg { /* This was really a NUL. */ 1325fd7d9bd3Smrg yy_state_type yy_next_state; 1326fd7d9bd3Smrg 1327fd7d9bd3Smrg yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text; 1328fd7d9bd3Smrg 1329fd7d9bd3Smrg yy_current_state = yy_get_previous_state(); 1330fd7d9bd3Smrg 1331fd7d9bd3Smrg /* Okay, we're now positioned to make the NUL 1332fd7d9bd3Smrg * transition. We couldn't have 1333fd7d9bd3Smrg * yy_get_previous_state() go ahead and do it 1334fd7d9bd3Smrg * for us because it doesn't know how to deal 1335fd7d9bd3Smrg * with the possibility of jamming (and we don't 1336fd7d9bd3Smrg * want to build jamming into it because then it 1337fd7d9bd3Smrg * will run more slowly). 1338fd7d9bd3Smrg */ 1339fd7d9bd3Smrg 1340fd7d9bd3Smrg yy_next_state = yy_try_NUL_trans( yy_current_state ); 1341fd7d9bd3Smrg 1342fd7d9bd3Smrg yy_bp = yytext_ptr + YY_MORE_ADJ; 1343fd7d9bd3Smrg 1344fd7d9bd3Smrg if ( yy_next_state ) 1345fd7d9bd3Smrg { 1346fd7d9bd3Smrg /* Consume the NUL. */ 1347fd7d9bd3Smrg yy_cp = ++yy_c_buf_p; 1348fd7d9bd3Smrg yy_current_state = yy_next_state; 1349fd7d9bd3Smrg goto yy_match; 1350fd7d9bd3Smrg } 1351fd7d9bd3Smrg 1352fd7d9bd3Smrg else 1353fd7d9bd3Smrg { 1354fd7d9bd3Smrg yy_cp = yy_c_buf_p; 1355fd7d9bd3Smrg goto yy_find_action; 1356fd7d9bd3Smrg } 1357fd7d9bd3Smrg } 1358fd7d9bd3Smrg 1359fd7d9bd3Smrg else switch ( yy_get_next_buffer() ) 1360fd7d9bd3Smrg { 1361fd7d9bd3Smrg case EOB_ACT_END_OF_FILE: 1362fd7d9bd3Smrg { 1363fd7d9bd3Smrg yy_did_buffer_switch_on_eof = 0; 1364fd7d9bd3Smrg 1365fd7d9bd3Smrg if ( yywrap() ) 1366fd7d9bd3Smrg { 1367fd7d9bd3Smrg /* Note: because we've taken care in 1368fd7d9bd3Smrg * yy_get_next_buffer() to have set up 1369fd7d9bd3Smrg * yytext, we can now set up 1370fd7d9bd3Smrg * yy_c_buf_p so that if some total 1371fd7d9bd3Smrg * hoser (like flex itself) wants to 1372fd7d9bd3Smrg * call the scanner after we return the 1373fd7d9bd3Smrg * YY_NULL, it'll still work - another 1374fd7d9bd3Smrg * YY_NULL will get returned. 1375fd7d9bd3Smrg */ 1376fd7d9bd3Smrg yy_c_buf_p = yytext_ptr + YY_MORE_ADJ; 1377fd7d9bd3Smrg 1378fd7d9bd3Smrg yy_act = YY_STATE_EOF(YY_START); 1379fd7d9bd3Smrg goto do_action; 1380fd7d9bd3Smrg } 1381fd7d9bd3Smrg 1382fd7d9bd3Smrg else 1383fd7d9bd3Smrg { 1384fd7d9bd3Smrg if ( ! yy_did_buffer_switch_on_eof ) 1385fd7d9bd3Smrg YY_NEW_FILE; 1386fd7d9bd3Smrg } 1387fd7d9bd3Smrg break; 1388fd7d9bd3Smrg } 1389fd7d9bd3Smrg 1390fd7d9bd3Smrg case EOB_ACT_CONTINUE_SCAN: 1391fd7d9bd3Smrg yy_c_buf_p = 1392fd7d9bd3Smrg yytext_ptr + yy_amount_of_matched_text; 1393fd7d9bd3Smrg 1394fd7d9bd3Smrg yy_current_state = yy_get_previous_state(); 1395fd7d9bd3Smrg 1396fd7d9bd3Smrg yy_cp = yy_c_buf_p; 1397fd7d9bd3Smrg yy_bp = yytext_ptr + YY_MORE_ADJ; 1398fd7d9bd3Smrg goto yy_match; 1399fd7d9bd3Smrg 1400fd7d9bd3Smrg case EOB_ACT_LAST_MATCH: 1401fd7d9bd3Smrg yy_c_buf_p = 1402fd7d9bd3Smrg &yy_current_buffer->yy_ch_buf[yy_n_chars]; 1403fd7d9bd3Smrg 1404fd7d9bd3Smrg yy_current_state = yy_get_previous_state(); 1405fd7d9bd3Smrg 1406fd7d9bd3Smrg yy_cp = yy_c_buf_p; 1407fd7d9bd3Smrg yy_bp = yytext_ptr + YY_MORE_ADJ; 1408fd7d9bd3Smrg goto yy_find_action; 1409fd7d9bd3Smrg } 1410fd7d9bd3Smrg break; 1411fd7d9bd3Smrg } 1412fd7d9bd3Smrg 1413fd7d9bd3Smrg default: 1414fd7d9bd3Smrg YY_FATAL_ERROR( 1415fd7d9bd3Smrg "fatal flex scanner internal error--no action found" ); 1416fd7d9bd3Smrg } /* end of action switch */ 1417fd7d9bd3Smrg } /* end of scanning one token */ 1418fd7d9bd3Smrg } /* end of yylex */ 1419fd7d9bd3Smrg 1420fd7d9bd3Smrg 1421fd7d9bd3Smrg/* yy_get_next_buffer - try to read in a new buffer 1422fd7d9bd3Smrg * 1423fd7d9bd3Smrg * Returns a code representing an action: 1424fd7d9bd3Smrg * EOB_ACT_LAST_MATCH - 1425fd7d9bd3Smrg * EOB_ACT_CONTINUE_SCAN - continue scanning from current position 1426fd7d9bd3Smrg * EOB_ACT_END_OF_FILE - end of file 1427fd7d9bd3Smrg */ 1428fd7d9bd3Smrg 1429fd7d9bd3Smrgstatic int yy_get_next_buffer() 1430fd7d9bd3Smrg { 1431fd7d9bd3Smrg register char *dest = yy_current_buffer->yy_ch_buf; 1432fd7d9bd3Smrg register char *source = yytext_ptr; 1433fd7d9bd3Smrg register int number_to_move, i; 1434fd7d9bd3Smrg int ret_val; 1435fd7d9bd3Smrg 1436fd7d9bd3Smrg if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] ) 1437fd7d9bd3Smrg YY_FATAL_ERROR( 1438fd7d9bd3Smrg "fatal flex scanner internal error--end of buffer missed" ); 1439fd7d9bd3Smrg 1440fd7d9bd3Smrg if ( yy_current_buffer->yy_fill_buffer == 0 ) 1441fd7d9bd3Smrg { /* Don't try to fill the buffer, so this is an EOF. */ 1442fd7d9bd3Smrg if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 ) 1443fd7d9bd3Smrg { 1444fd7d9bd3Smrg /* We matched a single character, the EOB, so 1445fd7d9bd3Smrg * treat this as a final EOF. 1446fd7d9bd3Smrg */ 1447fd7d9bd3Smrg return EOB_ACT_END_OF_FILE; 1448fd7d9bd3Smrg } 1449fd7d9bd3Smrg 1450fd7d9bd3Smrg else 1451fd7d9bd3Smrg { 1452fd7d9bd3Smrg /* We matched some text prior to the EOB, first 1453fd7d9bd3Smrg * process it. 1454fd7d9bd3Smrg */ 1455fd7d9bd3Smrg return EOB_ACT_LAST_MATCH; 1456fd7d9bd3Smrg } 1457fd7d9bd3Smrg } 1458fd7d9bd3Smrg 1459fd7d9bd3Smrg /* Try to read more data. */ 1460fd7d9bd3Smrg 1461fd7d9bd3Smrg /* First move last chars to start of buffer. */ 1462fd7d9bd3Smrg number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1; 1463fd7d9bd3Smrg 1464fd7d9bd3Smrg for ( i = 0; i < number_to_move; ++i ) 1465fd7d9bd3Smrg *(dest++) = *(source++); 1466fd7d9bd3Smrg 1467fd7d9bd3Smrg if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING ) 1468fd7d9bd3Smrg /* don't do the read, it's not guaranteed to return an EOF, 1469fd7d9bd3Smrg * just force an EOF 1470fd7d9bd3Smrg */ 1471fd7d9bd3Smrg yy_current_buffer->yy_n_chars = yy_n_chars = 0; 1472fd7d9bd3Smrg 1473fd7d9bd3Smrg else 1474fd7d9bd3Smrg { 1475fd7d9bd3Smrg int num_to_read = 1476fd7d9bd3Smrg yy_current_buffer->yy_buf_size - number_to_move - 1; 1477fd7d9bd3Smrg 1478fd7d9bd3Smrg while ( num_to_read <= 0 ) 1479fd7d9bd3Smrg { /* Not enough room in the buffer - grow it. */ 1480fd7d9bd3Smrg#ifdef YY_USES_REJECT 1481fd7d9bd3Smrg YY_FATAL_ERROR( 1482fd7d9bd3Smrg"input buffer overflow, can't enlarge buffer because scanner uses REJECT" ); 1483fd7d9bd3Smrg#else 1484fd7d9bd3Smrg 1485fd7d9bd3Smrg /* just a shorter name for the current buffer */ 1486fd7d9bd3Smrg YY_BUFFER_STATE b = yy_current_buffer; 1487fd7d9bd3Smrg 1488fd7d9bd3Smrg int yy_c_buf_p_offset = 1489fd7d9bd3Smrg (int) (yy_c_buf_p - b->yy_ch_buf); 1490fd7d9bd3Smrg 1491fd7d9bd3Smrg if ( b->yy_is_our_buffer ) 1492fd7d9bd3Smrg { 1493fd7d9bd3Smrg int new_size = b->yy_buf_size * 2; 1494fd7d9bd3Smrg 1495fd7d9bd3Smrg if ( new_size <= 0 ) 1496fd7d9bd3Smrg b->yy_buf_size += b->yy_buf_size / 8; 1497fd7d9bd3Smrg else 1498fd7d9bd3Smrg b->yy_buf_size *= 2; 1499fd7d9bd3Smrg 1500fd7d9bd3Smrg b->yy_ch_buf = (char *) 1501fd7d9bd3Smrg /* Include room in for 2 EOB chars. */ 1502fd7d9bd3Smrg yy_flex_realloc( (void *) b->yy_ch_buf, 1503fd7d9bd3Smrg b->yy_buf_size + 2 ); 1504fd7d9bd3Smrg } 1505fd7d9bd3Smrg else 1506fd7d9bd3Smrg /* Can't grow it, we don't own it. */ 1507fd7d9bd3Smrg b->yy_ch_buf = 0; 1508fd7d9bd3Smrg 1509fd7d9bd3Smrg if ( ! b->yy_ch_buf ) 1510fd7d9bd3Smrg YY_FATAL_ERROR( 1511fd7d9bd3Smrg "fatal error - scanner input buffer overflow" ); 1512fd7d9bd3Smrg 1513fd7d9bd3Smrg yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset]; 1514fd7d9bd3Smrg 1515fd7d9bd3Smrg num_to_read = yy_current_buffer->yy_buf_size - 1516fd7d9bd3Smrg number_to_move - 1; 1517fd7d9bd3Smrg#endif 1518fd7d9bd3Smrg } 1519fd7d9bd3Smrg 1520fd7d9bd3Smrg if ( num_to_read > YY_READ_BUF_SIZE ) 1521fd7d9bd3Smrg num_to_read = YY_READ_BUF_SIZE; 1522fd7d9bd3Smrg 1523fd7d9bd3Smrg /* Read in more data. */ 1524fd7d9bd3Smrg YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]), 1525fd7d9bd3Smrg yy_n_chars, num_to_read ); 1526fd7d9bd3Smrg 1527fd7d9bd3Smrg yy_current_buffer->yy_n_chars = yy_n_chars; 1528fd7d9bd3Smrg } 1529fd7d9bd3Smrg 1530fd7d9bd3Smrg if ( yy_n_chars == 0 ) 1531fd7d9bd3Smrg { 1532fd7d9bd3Smrg if ( number_to_move == YY_MORE_ADJ ) 1533fd7d9bd3Smrg { 1534fd7d9bd3Smrg ret_val = EOB_ACT_END_OF_FILE; 1535fd7d9bd3Smrg yyrestart( yyin ); 1536fd7d9bd3Smrg } 1537fd7d9bd3Smrg 1538fd7d9bd3Smrg else 1539fd7d9bd3Smrg { 1540fd7d9bd3Smrg ret_val = EOB_ACT_LAST_MATCH; 1541fd7d9bd3Smrg yy_current_buffer->yy_buffer_status = 1542fd7d9bd3Smrg YY_BUFFER_EOF_PENDING; 1543fd7d9bd3Smrg } 1544fd7d9bd3Smrg } 1545fd7d9bd3Smrg 1546fd7d9bd3Smrg else 1547fd7d9bd3Smrg ret_val = EOB_ACT_CONTINUE_SCAN; 1548fd7d9bd3Smrg 1549fd7d9bd3Smrg yy_n_chars += number_to_move; 1550fd7d9bd3Smrg yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR; 1551fd7d9bd3Smrg yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR; 1552fd7d9bd3Smrg 1553fd7d9bd3Smrg yytext_ptr = &yy_current_buffer->yy_ch_buf[0]; 1554fd7d9bd3Smrg 1555fd7d9bd3Smrg return ret_val; 1556fd7d9bd3Smrg } 1557fd7d9bd3Smrg 1558fd7d9bd3Smrg 1559fd7d9bd3Smrg/* yy_get_previous_state - get the state just before the EOB char was reached */ 1560fd7d9bd3Smrg 1561fd7d9bd3Smrgstatic yy_state_type yy_get_previous_state() 1562fd7d9bd3Smrg { 1563fd7d9bd3Smrg register yy_state_type yy_current_state; 1564fd7d9bd3Smrg register char *yy_cp; 1565fd7d9bd3Smrg 1566fd7d9bd3Smrg yy_current_state = yy_start; 1567fd7d9bd3Smrg 1568fd7d9bd3Smrg for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp ) 1569fd7d9bd3Smrg { 1570fd7d9bd3Smrg register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); 1571fd7d9bd3Smrg if ( yy_accept[yy_current_state] ) 1572fd7d9bd3Smrg { 1573fd7d9bd3Smrg yy_last_accepting_state = yy_current_state; 1574fd7d9bd3Smrg yy_last_accepting_cpos = yy_cp; 1575fd7d9bd3Smrg } 1576fd7d9bd3Smrg while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 1577fd7d9bd3Smrg { 1578fd7d9bd3Smrg yy_current_state = (int) yy_def[yy_current_state]; 1579fd7d9bd3Smrg if ( yy_current_state >= 420 ) 1580fd7d9bd3Smrg yy_c = yy_meta[(unsigned int) yy_c]; 1581fd7d9bd3Smrg } 1582fd7d9bd3Smrg yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 1583fd7d9bd3Smrg } 1584fd7d9bd3Smrg 1585fd7d9bd3Smrg return yy_current_state; 1586fd7d9bd3Smrg } 1587fd7d9bd3Smrg 1588fd7d9bd3Smrg 1589fd7d9bd3Smrg/* yy_try_NUL_trans - try to make a transition on the NUL character 1590fd7d9bd3Smrg * 1591fd7d9bd3Smrg * synopsis 1592fd7d9bd3Smrg * next_state = yy_try_NUL_trans( current_state ); 1593fd7d9bd3Smrg */ 1594fd7d9bd3Smrg 1595fd7d9bd3Smrg#ifdef YY_USE_PROTOS 1596fd7d9bd3Smrgstatic yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state ) 1597fd7d9bd3Smrg#else 1598fd7d9bd3Smrgstatic yy_state_type yy_try_NUL_trans( yy_current_state ) 1599fd7d9bd3Smrgyy_state_type yy_current_state; 1600fd7d9bd3Smrg#endif 1601fd7d9bd3Smrg { 1602fd7d9bd3Smrg register int yy_is_jam; 1603fd7d9bd3Smrg register char *yy_cp = yy_c_buf_p; 1604fd7d9bd3Smrg 1605fd7d9bd3Smrg register YY_CHAR yy_c = 1; 1606fd7d9bd3Smrg if ( yy_accept[yy_current_state] ) 1607fd7d9bd3Smrg { 1608fd7d9bd3Smrg yy_last_accepting_state = yy_current_state; 1609fd7d9bd3Smrg yy_last_accepting_cpos = yy_cp; 1610fd7d9bd3Smrg } 1611fd7d9bd3Smrg while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) 1612fd7d9bd3Smrg { 1613fd7d9bd3Smrg yy_current_state = (int) yy_def[yy_current_state]; 1614fd7d9bd3Smrg if ( yy_current_state >= 420 ) 1615fd7d9bd3Smrg yy_c = yy_meta[(unsigned int) yy_c]; 1616fd7d9bd3Smrg } 1617fd7d9bd3Smrg yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; 1618fd7d9bd3Smrg yy_is_jam = (yy_current_state == 419); 1619fd7d9bd3Smrg 1620fd7d9bd3Smrg return yy_is_jam ? 0 : yy_current_state; 1621fd7d9bd3Smrg } 1622fd7d9bd3Smrg 1623fd7d9bd3Smrg 1624fd7d9bd3Smrg#ifndef YY_NO_UNPUT 1625fd7d9bd3Smrg#ifdef YY_USE_PROTOS 1626fd7d9bd3Smrgstatic void yyunput( int c, register char *yy_bp ) 1627fd7d9bd3Smrg#else 1628fd7d9bd3Smrgstatic void yyunput( c, yy_bp ) 1629fd7d9bd3Smrgint c; 1630fd7d9bd3Smrgregister char *yy_bp; 1631fd7d9bd3Smrg#endif 1632fd7d9bd3Smrg { 1633fd7d9bd3Smrg register char *yy_cp = yy_c_buf_p; 1634fd7d9bd3Smrg 1635fd7d9bd3Smrg /* undo effects of setting up yytext */ 1636fd7d9bd3Smrg *yy_cp = yy_hold_char; 1637fd7d9bd3Smrg 1638fd7d9bd3Smrg if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) 1639fd7d9bd3Smrg { /* need to shift things up to make room */ 1640fd7d9bd3Smrg /* +2 for EOB chars. */ 1641fd7d9bd3Smrg register int number_to_move = yy_n_chars + 2; 1642fd7d9bd3Smrg register char *dest = &yy_current_buffer->yy_ch_buf[ 1643fd7d9bd3Smrg yy_current_buffer->yy_buf_size + 2]; 1644fd7d9bd3Smrg register char *source = 1645fd7d9bd3Smrg &yy_current_buffer->yy_ch_buf[number_to_move]; 1646fd7d9bd3Smrg 1647fd7d9bd3Smrg while ( source > yy_current_buffer->yy_ch_buf ) 1648fd7d9bd3Smrg *--dest = *--source; 1649fd7d9bd3Smrg 1650fd7d9bd3Smrg yy_cp += (int) (dest - source); 1651fd7d9bd3Smrg yy_bp += (int) (dest - source); 1652fd7d9bd3Smrg yy_current_buffer->yy_n_chars = 1653fd7d9bd3Smrg yy_n_chars = yy_current_buffer->yy_buf_size; 1654fd7d9bd3Smrg 1655fd7d9bd3Smrg if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) 1656fd7d9bd3Smrg YY_FATAL_ERROR( "flex scanner push-back overflow" ); 1657fd7d9bd3Smrg } 1658fd7d9bd3Smrg 1659fd7d9bd3Smrg *--yy_cp = (char) c; 1660fd7d9bd3Smrg 1661fd7d9bd3Smrg 1662fd7d9bd3Smrg yytext_ptr = yy_bp; 1663fd7d9bd3Smrg yy_hold_char = *yy_cp; 1664fd7d9bd3Smrg yy_c_buf_p = yy_cp; 1665fd7d9bd3Smrg } 1666fd7d9bd3Smrg#endif /* ifndef YY_NO_UNPUT */ 1667fd7d9bd3Smrg 1668fd7d9bd3Smrg 1669fd7d9bd3Smrg#ifndef YY_NO_INPUT 1670fd7d9bd3Smrg#ifdef __cplusplus 1671fd7d9bd3Smrgstatic int yyinput() 1672fd7d9bd3Smrg#else 1673fd7d9bd3Smrgstatic int input() 1674fd7d9bd3Smrg#endif 1675fd7d9bd3Smrg { 1676fd7d9bd3Smrg int c; 1677fd7d9bd3Smrg 1678fd7d9bd3Smrg *yy_c_buf_p = yy_hold_char; 1679fd7d9bd3Smrg 1680fd7d9bd3Smrg if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR ) 1681fd7d9bd3Smrg { 1682fd7d9bd3Smrg /* yy_c_buf_p now points to the character we want to return. 1683fd7d9bd3Smrg * If this occurs *before* the EOB characters, then it's a 1684fd7d9bd3Smrg * valid NUL; if not, then we've hit the end of the buffer. 1685fd7d9bd3Smrg */ 1686fd7d9bd3Smrg if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] ) 1687fd7d9bd3Smrg /* This was really a NUL. */ 1688fd7d9bd3Smrg *yy_c_buf_p = '\0'; 1689fd7d9bd3Smrg 1690fd7d9bd3Smrg else 1691fd7d9bd3Smrg { /* need more input */ 1692fd7d9bd3Smrg int offset = yy_c_buf_p - yytext_ptr; 1693fd7d9bd3Smrg ++yy_c_buf_p; 1694fd7d9bd3Smrg 1695fd7d9bd3Smrg switch ( yy_get_next_buffer() ) 1696fd7d9bd3Smrg { 1697fd7d9bd3Smrg case EOB_ACT_LAST_MATCH: 1698fd7d9bd3Smrg /* This happens because yy_g_n_b() 1699fd7d9bd3Smrg * sees that we've accumulated a 1700fd7d9bd3Smrg * token and flags that we need to 1701fd7d9bd3Smrg * try matching the token before 1702fd7d9bd3Smrg * proceeding. But for input(), 1703fd7d9bd3Smrg * there's no matching to consider. 1704fd7d9bd3Smrg * So convert the EOB_ACT_LAST_MATCH 1705fd7d9bd3Smrg * to EOB_ACT_END_OF_FILE. 1706fd7d9bd3Smrg */ 1707fd7d9bd3Smrg 1708fd7d9bd3Smrg /* Reset buffer status. */ 1709fd7d9bd3Smrg yyrestart( yyin ); 1710fd7d9bd3Smrg 1711fd7d9bd3Smrg /* fall through */ 1712fd7d9bd3Smrg 1713fd7d9bd3Smrg case EOB_ACT_END_OF_FILE: 1714fd7d9bd3Smrg { 1715fd7d9bd3Smrg if ( yywrap() ) 1716fd7d9bd3Smrg return EOF; 1717fd7d9bd3Smrg 1718fd7d9bd3Smrg if ( ! yy_did_buffer_switch_on_eof ) 1719fd7d9bd3Smrg YY_NEW_FILE; 1720fd7d9bd3Smrg#ifdef __cplusplus 1721fd7d9bd3Smrg return yyinput(); 1722fd7d9bd3Smrg#else 1723fd7d9bd3Smrg return input(); 1724fd7d9bd3Smrg#endif 1725fd7d9bd3Smrg } 1726fd7d9bd3Smrg 1727fd7d9bd3Smrg case EOB_ACT_CONTINUE_SCAN: 1728fd7d9bd3Smrg yy_c_buf_p = yytext_ptr + offset; 1729fd7d9bd3Smrg break; 1730fd7d9bd3Smrg } 1731fd7d9bd3Smrg } 1732fd7d9bd3Smrg } 1733fd7d9bd3Smrg 1734fd7d9bd3Smrg c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */ 1735fd7d9bd3Smrg *yy_c_buf_p = '\0'; /* preserve yytext */ 1736fd7d9bd3Smrg yy_hold_char = *++yy_c_buf_p; 1737fd7d9bd3Smrg 1738fd7d9bd3Smrg 1739fd7d9bd3Smrg return c; 1740fd7d9bd3Smrg } 1741fd7d9bd3Smrg#endif /* YY_NO_INPUT */ 1742fd7d9bd3Smrg 1743fd7d9bd3Smrg#ifdef YY_USE_PROTOS 1744fd7d9bd3Smrgvoid yyrestart( FILE *input_file ) 1745fd7d9bd3Smrg#else 1746fd7d9bd3Smrgvoid yyrestart( input_file ) 1747fd7d9bd3SmrgFILE *input_file; 1748fd7d9bd3Smrg#endif 1749fd7d9bd3Smrg { 1750fd7d9bd3Smrg if ( ! yy_current_buffer ) 1751fd7d9bd3Smrg yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); 1752fd7d9bd3Smrg 1753fd7d9bd3Smrg yy_init_buffer( yy_current_buffer, input_file ); 1754fd7d9bd3Smrg yy_load_buffer_state(); 1755fd7d9bd3Smrg } 1756fd7d9bd3Smrg 1757fd7d9bd3Smrg 1758fd7d9bd3Smrg#ifdef YY_USE_PROTOS 1759fd7d9bd3Smrgvoid yy_switch_to_buffer( YY_BUFFER_STATE new_buffer ) 1760fd7d9bd3Smrg#else 1761fd7d9bd3Smrgvoid yy_switch_to_buffer( new_buffer ) 1762fd7d9bd3SmrgYY_BUFFER_STATE new_buffer; 1763fd7d9bd3Smrg#endif 1764fd7d9bd3Smrg { 1765fd7d9bd3Smrg if ( yy_current_buffer == new_buffer ) 1766fd7d9bd3Smrg return; 1767fd7d9bd3Smrg 1768fd7d9bd3Smrg if ( yy_current_buffer ) 1769fd7d9bd3Smrg { 1770fd7d9bd3Smrg /* Flush out information for old buffer. */ 1771fd7d9bd3Smrg *yy_c_buf_p = yy_hold_char; 1772fd7d9bd3Smrg yy_current_buffer->yy_buf_pos = yy_c_buf_p; 1773fd7d9bd3Smrg yy_current_buffer->yy_n_chars = yy_n_chars; 1774fd7d9bd3Smrg } 1775fd7d9bd3Smrg 1776fd7d9bd3Smrg yy_current_buffer = new_buffer; 1777fd7d9bd3Smrg yy_load_buffer_state(); 1778fd7d9bd3Smrg 1779fd7d9bd3Smrg /* We don't actually know whether we did this switch during 1780fd7d9bd3Smrg * EOF (yywrap()) processing, but the only time this flag 1781fd7d9bd3Smrg * is looked at is after yywrap() is called, so it's safe 1782fd7d9bd3Smrg * to go ahead and always set it. 1783fd7d9bd3Smrg */ 1784fd7d9bd3Smrg yy_did_buffer_switch_on_eof = 1; 1785fd7d9bd3Smrg } 1786fd7d9bd3Smrg 1787fd7d9bd3Smrg 1788fd7d9bd3Smrg#ifdef YY_USE_PROTOS 1789fd7d9bd3Smrgvoid yy_load_buffer_state( void ) 1790fd7d9bd3Smrg#else 1791fd7d9bd3Smrgvoid yy_load_buffer_state() 1792fd7d9bd3Smrg#endif 1793fd7d9bd3Smrg { 1794fd7d9bd3Smrg yy_n_chars = yy_current_buffer->yy_n_chars; 1795fd7d9bd3Smrg yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos; 1796fd7d9bd3Smrg yyin = yy_current_buffer->yy_input_file; 1797fd7d9bd3Smrg yy_hold_char = *yy_c_buf_p; 1798fd7d9bd3Smrg } 1799fd7d9bd3Smrg 1800fd7d9bd3Smrg 1801fd7d9bd3Smrg#ifdef YY_USE_PROTOS 1802fd7d9bd3SmrgYY_BUFFER_STATE yy_create_buffer( FILE *file, int size ) 1803fd7d9bd3Smrg#else 1804fd7d9bd3SmrgYY_BUFFER_STATE yy_create_buffer( file, size ) 1805fd7d9bd3SmrgFILE *file; 1806fd7d9bd3Smrgint size; 1807fd7d9bd3Smrg#endif 1808fd7d9bd3Smrg { 1809fd7d9bd3Smrg YY_BUFFER_STATE b; 1810fd7d9bd3Smrg 1811fd7d9bd3Smrg b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); 1812fd7d9bd3Smrg if ( ! b ) 1813fd7d9bd3Smrg YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 1814fd7d9bd3Smrg 1815fd7d9bd3Smrg b->yy_buf_size = size; 1816fd7d9bd3Smrg 1817fd7d9bd3Smrg /* yy_ch_buf has to be 2 characters longer than the size given because 1818fd7d9bd3Smrg * we need to put in 2 end-of-buffer characters. 1819fd7d9bd3Smrg */ 1820fd7d9bd3Smrg b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 ); 1821fd7d9bd3Smrg if ( ! b->yy_ch_buf ) 1822fd7d9bd3Smrg YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); 1823fd7d9bd3Smrg 1824fd7d9bd3Smrg b->yy_is_our_buffer = 1; 1825fd7d9bd3Smrg 1826fd7d9bd3Smrg yy_init_buffer( b, file ); 1827fd7d9bd3Smrg 1828fd7d9bd3Smrg return b; 1829fd7d9bd3Smrg } 1830fd7d9bd3Smrg 1831fd7d9bd3Smrg 1832fd7d9bd3Smrg#ifdef YY_USE_PROTOS 1833fd7d9bd3Smrgvoid yy_delete_buffer( YY_BUFFER_STATE b ) 1834fd7d9bd3Smrg#else 1835fd7d9bd3Smrgvoid yy_delete_buffer( b ) 1836fd7d9bd3SmrgYY_BUFFER_STATE b; 1837fd7d9bd3Smrg#endif 1838fd7d9bd3Smrg { 1839fd7d9bd3Smrg if ( ! b ) 1840fd7d9bd3Smrg return; 1841fd7d9bd3Smrg 1842fd7d9bd3Smrg if ( b == yy_current_buffer ) 1843fd7d9bd3Smrg yy_current_buffer = (YY_BUFFER_STATE) 0; 1844fd7d9bd3Smrg 1845fd7d9bd3Smrg if ( b->yy_is_our_buffer ) 1846fd7d9bd3Smrg yy_flex_free( (void *) b->yy_ch_buf ); 1847fd7d9bd3Smrg 1848fd7d9bd3Smrg yy_flex_free( (void *) b ); 1849fd7d9bd3Smrg } 1850fd7d9bd3Smrg 1851fd7d9bd3Smrg 1852fd7d9bd3Smrg 1853fd7d9bd3Smrg#ifdef YY_USE_PROTOS 1854fd7d9bd3Smrgvoid yy_init_buffer( YY_BUFFER_STATE b, FILE *file ) 1855fd7d9bd3Smrg#else 1856fd7d9bd3Smrgvoid yy_init_buffer( b, file ) 1857fd7d9bd3SmrgYY_BUFFER_STATE b; 1858fd7d9bd3SmrgFILE *file; 1859fd7d9bd3Smrg#endif 1860fd7d9bd3Smrg 1861fd7d9bd3Smrg 1862fd7d9bd3Smrg { 1863fd7d9bd3Smrg yy_flush_buffer( b ); 1864fd7d9bd3Smrg 1865fd7d9bd3Smrg b->yy_input_file = file; 1866fd7d9bd3Smrg b->yy_fill_buffer = 1; 1867fd7d9bd3Smrg 1868fd7d9bd3Smrg#if YY_ALWAYS_INTERACTIVE 1869fd7d9bd3Smrg b->yy_is_interactive = 1; 1870fd7d9bd3Smrg#else 1871fd7d9bd3Smrg#if YY_NEVER_INTERACTIVE 1872fd7d9bd3Smrg b->yy_is_interactive = 0; 1873fd7d9bd3Smrg#else 1874fd7d9bd3Smrg b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; 1875fd7d9bd3Smrg#endif 1876fd7d9bd3Smrg#endif 1877fd7d9bd3Smrg } 1878fd7d9bd3Smrg 1879fd7d9bd3Smrg 1880fd7d9bd3Smrg#ifdef YY_USE_PROTOS 1881fd7d9bd3Smrgvoid yy_flush_buffer( YY_BUFFER_STATE b ) 1882fd7d9bd3Smrg#else 1883fd7d9bd3Smrgvoid yy_flush_buffer( b ) 1884fd7d9bd3SmrgYY_BUFFER_STATE b; 1885fd7d9bd3Smrg#endif 1886fd7d9bd3Smrg 1887fd7d9bd3Smrg { 1888fd7d9bd3Smrg if ( ! b ) 1889fd7d9bd3Smrg return; 1890fd7d9bd3Smrg 1891fd7d9bd3Smrg b->yy_n_chars = 0; 1892fd7d9bd3Smrg 1893fd7d9bd3Smrg /* We always need two end-of-buffer characters. The first causes 1894fd7d9bd3Smrg * a transition to the end-of-buffer state. The second causes 1895fd7d9bd3Smrg * a jam in that state. 1896fd7d9bd3Smrg */ 1897fd7d9bd3Smrg b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; 1898fd7d9bd3Smrg b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; 1899fd7d9bd3Smrg 1900fd7d9bd3Smrg b->yy_buf_pos = &b->yy_ch_buf[0]; 1901fd7d9bd3Smrg 1902fd7d9bd3Smrg b->yy_at_bol = 1; 1903fd7d9bd3Smrg b->yy_buffer_status = YY_BUFFER_NEW; 1904fd7d9bd3Smrg 1905fd7d9bd3Smrg if ( b == yy_current_buffer ) 1906fd7d9bd3Smrg yy_load_buffer_state(); 1907fd7d9bd3Smrg } 1908fd7d9bd3Smrg 1909fd7d9bd3Smrg 1910fd7d9bd3Smrg#ifndef YY_NO_SCAN_BUFFER 1911fd7d9bd3Smrg#ifdef YY_USE_PROTOS 1912fd7d9bd3SmrgYY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size ) 1913fd7d9bd3Smrg#else 1914fd7d9bd3SmrgYY_BUFFER_STATE yy_scan_buffer( base, size ) 1915fd7d9bd3Smrgchar *base; 1916fd7d9bd3Smrgyy_size_t size; 1917fd7d9bd3Smrg#endif 1918fd7d9bd3Smrg { 1919fd7d9bd3Smrg YY_BUFFER_STATE b; 1920fd7d9bd3Smrg 1921fd7d9bd3Smrg if ( size < 2 || 1922fd7d9bd3Smrg base[size-2] != YY_END_OF_BUFFER_CHAR || 1923fd7d9bd3Smrg base[size-1] != YY_END_OF_BUFFER_CHAR ) 1924fd7d9bd3Smrg /* They forgot to leave room for the EOB's. */ 1925fd7d9bd3Smrg return 0; 1926fd7d9bd3Smrg 1927fd7d9bd3Smrg b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); 1928fd7d9bd3Smrg if ( ! b ) 1929fd7d9bd3Smrg YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); 1930fd7d9bd3Smrg 1931fd7d9bd3Smrg b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ 1932fd7d9bd3Smrg b->yy_buf_pos = b->yy_ch_buf = base; 1933fd7d9bd3Smrg b->yy_is_our_buffer = 0; 1934fd7d9bd3Smrg b->yy_input_file = 0; 1935fd7d9bd3Smrg b->yy_n_chars = b->yy_buf_size; 1936fd7d9bd3Smrg b->yy_is_interactive = 0; 1937fd7d9bd3Smrg b->yy_at_bol = 1; 1938fd7d9bd3Smrg b->yy_fill_buffer = 0; 1939fd7d9bd3Smrg b->yy_buffer_status = YY_BUFFER_NEW; 1940fd7d9bd3Smrg 1941fd7d9bd3Smrg yy_switch_to_buffer( b ); 1942fd7d9bd3Smrg 1943fd7d9bd3Smrg return b; 1944fd7d9bd3Smrg } 1945fd7d9bd3Smrg#endif 1946fd7d9bd3Smrg 1947fd7d9bd3Smrg 1948fd7d9bd3Smrg#ifndef YY_NO_SCAN_STRING 1949fd7d9bd3Smrg#ifdef YY_USE_PROTOS 1950fd7d9bd3SmrgYY_BUFFER_STATE yy_scan_string( yyconst char *yy_str ) 1951fd7d9bd3Smrg#else 1952fd7d9bd3SmrgYY_BUFFER_STATE yy_scan_string( yy_str ) 1953fd7d9bd3Smrgyyconst char *yy_str; 1954fd7d9bd3Smrg#endif 1955fd7d9bd3Smrg { 1956fd7d9bd3Smrg int len; 1957fd7d9bd3Smrg for ( len = 0; yy_str[len]; ++len ) 1958fd7d9bd3Smrg ; 1959fd7d9bd3Smrg 1960fd7d9bd3Smrg return yy_scan_bytes( yy_str, len ); 1961fd7d9bd3Smrg } 1962fd7d9bd3Smrg#endif 1963fd7d9bd3Smrg 1964fd7d9bd3Smrg 1965fd7d9bd3Smrg#ifndef YY_NO_SCAN_BYTES 1966fd7d9bd3Smrg#ifdef YY_USE_PROTOS 1967fd7d9bd3SmrgYY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len ) 1968fd7d9bd3Smrg#else 1969fd7d9bd3SmrgYY_BUFFER_STATE yy_scan_bytes( bytes, len ) 1970fd7d9bd3Smrgyyconst char *bytes; 1971fd7d9bd3Smrgint len; 1972fd7d9bd3Smrg#endif 1973fd7d9bd3Smrg { 1974fd7d9bd3Smrg YY_BUFFER_STATE b; 1975fd7d9bd3Smrg char *buf; 1976fd7d9bd3Smrg yy_size_t n; 1977fd7d9bd3Smrg int i; 1978fd7d9bd3Smrg 1979fd7d9bd3Smrg /* Get memory for full buffer, including space for trailing EOB's. */ 1980fd7d9bd3Smrg n = len + 2; 1981fd7d9bd3Smrg buf = (char *) yy_flex_alloc( n ); 1982fd7d9bd3Smrg if ( ! buf ) 1983fd7d9bd3Smrg YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); 1984fd7d9bd3Smrg 1985fd7d9bd3Smrg for ( i = 0; i < len; ++i ) 1986fd7d9bd3Smrg buf[i] = bytes[i]; 1987fd7d9bd3Smrg 1988fd7d9bd3Smrg buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR; 1989fd7d9bd3Smrg 1990fd7d9bd3Smrg b = yy_scan_buffer( buf, n ); 1991fd7d9bd3Smrg if ( ! b ) 1992fd7d9bd3Smrg YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); 1993fd7d9bd3Smrg 1994fd7d9bd3Smrg /* It's okay to grow etc. this buffer, and we should throw it 1995fd7d9bd3Smrg * away when we're done. 1996fd7d9bd3Smrg */ 1997fd7d9bd3Smrg b->yy_is_our_buffer = 1; 1998fd7d9bd3Smrg 1999fd7d9bd3Smrg return b; 2000fd7d9bd3Smrg } 2001fd7d9bd3Smrg#endif 2002fd7d9bd3Smrg 2003fd7d9bd3Smrg 2004fd7d9bd3Smrg#ifndef YY_NO_PUSH_STATE 2005fd7d9bd3Smrg#ifdef YY_USE_PROTOS 2006fd7d9bd3Smrgstatic void yy_push_state( int new_state ) 2007fd7d9bd3Smrg#else 2008fd7d9bd3Smrgstatic void yy_push_state( new_state ) 2009fd7d9bd3Smrgint new_state; 2010fd7d9bd3Smrg#endif 2011fd7d9bd3Smrg { 2012fd7d9bd3Smrg if ( yy_start_stack_ptr >= yy_start_stack_depth ) 2013fd7d9bd3Smrg { 2014fd7d9bd3Smrg yy_size_t new_size; 2015fd7d9bd3Smrg 2016fd7d9bd3Smrg yy_start_stack_depth += YY_START_STACK_INCR; 2017fd7d9bd3Smrg new_size = yy_start_stack_depth * sizeof( int ); 2018fd7d9bd3Smrg 2019fd7d9bd3Smrg if ( ! yy_start_stack ) 2020fd7d9bd3Smrg yy_start_stack = (int *) yy_flex_alloc( new_size ); 2021fd7d9bd3Smrg 2022fd7d9bd3Smrg else 2023fd7d9bd3Smrg yy_start_stack = (int *) yy_flex_realloc( 2024fd7d9bd3Smrg (void *) yy_start_stack, new_size ); 2025fd7d9bd3Smrg 2026fd7d9bd3Smrg if ( ! yy_start_stack ) 2027fd7d9bd3Smrg YY_FATAL_ERROR( 2028fd7d9bd3Smrg "out of memory expanding start-condition stack" ); 2029fd7d9bd3Smrg } 2030fd7d9bd3Smrg 2031fd7d9bd3Smrg yy_start_stack[yy_start_stack_ptr++] = YY_START; 2032fd7d9bd3Smrg 2033fd7d9bd3Smrg BEGIN(new_state); 2034fd7d9bd3Smrg } 2035fd7d9bd3Smrg#endif 2036fd7d9bd3Smrg 2037fd7d9bd3Smrg 2038fd7d9bd3Smrg#ifndef YY_NO_POP_STATE 2039fd7d9bd3Smrgstatic void yy_pop_state() 2040fd7d9bd3Smrg { 2041fd7d9bd3Smrg if ( --yy_start_stack_ptr < 0 ) 2042fd7d9bd3Smrg YY_FATAL_ERROR( "start-condition stack underflow" ); 2043fd7d9bd3Smrg 2044fd7d9bd3Smrg BEGIN(yy_start_stack[yy_start_stack_ptr]); 2045fd7d9bd3Smrg } 2046fd7d9bd3Smrg#endif 2047fd7d9bd3Smrg 2048fd7d9bd3Smrg 2049fd7d9bd3Smrg#ifndef YY_NO_TOP_STATE 2050fd7d9bd3Smrgstatic int yy_top_state() 2051fd7d9bd3Smrg { 2052fd7d9bd3Smrg return yy_start_stack[yy_start_stack_ptr - 1]; 2053fd7d9bd3Smrg } 2054fd7d9bd3Smrg#endif 2055fd7d9bd3Smrg 2056fd7d9bd3Smrg#ifndef YY_EXIT_FAILURE 2057fd7d9bd3Smrg#define YY_EXIT_FAILURE 2 2058fd7d9bd3Smrg#endif 2059fd7d9bd3Smrg 2060fd7d9bd3Smrg#ifdef YY_USE_PROTOS 2061fd7d9bd3Smrgstatic void yy_fatal_error( yyconst char msg[] ) 2062fd7d9bd3Smrg#else 2063fd7d9bd3Smrgstatic void yy_fatal_error( msg ) 2064fd7d9bd3Smrgchar msg[]; 2065fd7d9bd3Smrg#endif 2066fd7d9bd3Smrg { 2067fd7d9bd3Smrg (void) fprintf( stderr, "%s\n", msg ); 2068fd7d9bd3Smrg exit( YY_EXIT_FAILURE ); 2069fd7d9bd3Smrg } 2070fd7d9bd3Smrg 2071fd7d9bd3Smrg 2072fd7d9bd3Smrg 2073fd7d9bd3Smrg/* Redefine yyless() so it works in section 3 code. */ 2074fd7d9bd3Smrg 2075fd7d9bd3Smrg#undef yyless 2076fd7d9bd3Smrg#define yyless(n) \ 2077fd7d9bd3Smrg do \ 2078fd7d9bd3Smrg { \ 2079fd7d9bd3Smrg /* Undo effects of setting up yytext. */ \ 2080fd7d9bd3Smrg yytext[yyleng] = yy_hold_char; \ 2081fd7d9bd3Smrg yy_c_buf_p = yytext + n; \ 2082fd7d9bd3Smrg yy_hold_char = *yy_c_buf_p; \ 2083fd7d9bd3Smrg *yy_c_buf_p = '\0'; \ 2084fd7d9bd3Smrg yyleng = n; \ 2085fd7d9bd3Smrg } \ 2086fd7d9bd3Smrg while ( 0 ) 2087fd7d9bd3Smrg 2088fd7d9bd3Smrg 2089fd7d9bd3Smrg/* Internal utility routines. */ 2090fd7d9bd3Smrg 2091fd7d9bd3Smrg#ifndef yytext_ptr 2092fd7d9bd3Smrg#ifdef YY_USE_PROTOS 2093fd7d9bd3Smrgstatic void yy_flex_strncpy( char *s1, yyconst char *s2, int n ) 2094fd7d9bd3Smrg#else 2095fd7d9bd3Smrgstatic void yy_flex_strncpy( s1, s2, n ) 2096fd7d9bd3Smrgchar *s1; 2097fd7d9bd3Smrgyyconst char *s2; 2098fd7d9bd3Smrgint n; 2099fd7d9bd3Smrg#endif 2100fd7d9bd3Smrg { 2101fd7d9bd3Smrg register int i; 2102fd7d9bd3Smrg for ( i = 0; i < n; ++i ) 2103fd7d9bd3Smrg s1[i] = s2[i]; 2104fd7d9bd3Smrg } 2105fd7d9bd3Smrg#endif 2106fd7d9bd3Smrg 2107fd7d9bd3Smrg#ifdef YY_NEED_STRLEN 2108fd7d9bd3Smrg#ifdef YY_USE_PROTOS 2109fd7d9bd3Smrgstatic int yy_flex_strlen( yyconst char *s ) 2110fd7d9bd3Smrg#else 2111fd7d9bd3Smrgstatic int yy_flex_strlen( s ) 2112fd7d9bd3Smrgyyconst char *s; 2113fd7d9bd3Smrg#endif 2114fd7d9bd3Smrg { 2115fd7d9bd3Smrg register int n; 2116fd7d9bd3Smrg for ( n = 0; s[n]; ++n ) 2117fd7d9bd3Smrg ; 2118fd7d9bd3Smrg 2119fd7d9bd3Smrg return n; 2120fd7d9bd3Smrg } 2121fd7d9bd3Smrg#endif 2122fd7d9bd3Smrg 2123fd7d9bd3Smrg 2124fd7d9bd3Smrg#ifdef YY_USE_PROTOS 2125fd7d9bd3Smrgstatic void *yy_flex_alloc( yy_size_t size ) 2126fd7d9bd3Smrg#else 2127fd7d9bd3Smrgstatic void *yy_flex_alloc( size ) 2128fd7d9bd3Smrgyy_size_t size; 2129fd7d9bd3Smrg#endif 2130fd7d9bd3Smrg { 2131fd7d9bd3Smrg return (void *) malloc( size ); 2132fd7d9bd3Smrg } 2133fd7d9bd3Smrg 2134fd7d9bd3Smrg#ifdef YY_USE_PROTOS 2135fd7d9bd3Smrgstatic void *yy_flex_realloc( void *ptr, yy_size_t size ) 2136fd7d9bd3Smrg#else 2137fd7d9bd3Smrgstatic void *yy_flex_realloc( ptr, size ) 2138fd7d9bd3Smrgvoid *ptr; 2139fd7d9bd3Smrgyy_size_t size; 2140fd7d9bd3Smrg#endif 2141fd7d9bd3Smrg { 2142fd7d9bd3Smrg /* The cast to (char *) in the following accommodates both 2143fd7d9bd3Smrg * implementations that use char* generic pointers, and those 2144fd7d9bd3Smrg * that use void* generic pointers. It works with the latter 2145fd7d9bd3Smrg * because both ANSI C and C++ allow castless assignment from 2146fd7d9bd3Smrg * any pointer type to void*, and deal with argument conversions 2147fd7d9bd3Smrg * as though doing an assignment. 2148fd7d9bd3Smrg */ 2149fd7d9bd3Smrg return (void *) realloc( (char *) ptr, size ); 2150fd7d9bd3Smrg } 2151fd7d9bd3Smrg 2152fd7d9bd3Smrg#ifdef YY_USE_PROTOS 2153fd7d9bd3Smrgstatic void yy_flex_free( void *ptr ) 2154fd7d9bd3Smrg#else 2155fd7d9bd3Smrgstatic void yy_flex_free( ptr ) 2156fd7d9bd3Smrgvoid *ptr; 2157fd7d9bd3Smrg#endif 2158fd7d9bd3Smrg { 2159fd7d9bd3Smrg free( ptr ); 2160fd7d9bd3Smrg } 2161fd7d9bd3Smrg 2162fd7d9bd3Smrg#if YY_MAIN 2163fd7d9bd3Smrgint main() 2164fd7d9bd3Smrg { 2165fd7d9bd3Smrg yylex(); 2166fd7d9bd3Smrg return 0; 2167fd7d9bd3Smrg } 2168fd7d9bd3Smrg#endif 2169fd7d9bd3Smrg#line 166 "lex.l" 2170fd7d9bd3Smrg 2171fd7d9bd3Smrg 2172fd7d9bd3Smrg#ifndef yywrap 2173fd7d9bd3Smrgint yywrap() { return (1); } 2174fd7d9bd3Smrg#endif 2175