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