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); }
|