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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2