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