(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 a.dunfey 1.26.2.1  * $Header: /cvs/MSB/pegasus/src/Pegasus/Compiler/cimmof_lex.cpp,v 1.27 2006/01/30 16:17:33 karl 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 a.dunfey       1.26.2.1 /*//%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 a.dunfey       1.26.2.1 // 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 a.dunfey       1.26.2.1 //============================================================================*/
 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