(file) Return to cimmof_lex.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Compiler

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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2