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

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2