My Project
OSParseosss.cpp
Go to the documentation of this file.
1#line 2 "../../../../OS/src/OSParsers/OSParseosss.cpp"
2
3#line 4 "../../../../OS/src/OSParsers/OSParseosss.cpp"
4
5#define YY_INT_ALIGNED short int
6
7/* A lexical scanner generated by flex */
8
9#define FLEX_SCANNER
10#define YY_FLEX_MAJOR_VERSION 2
11#define YY_FLEX_MINOR_VERSION 5
12#define YY_FLEX_SUBMINOR_VERSION 35
13#if YY_FLEX_SUBMINOR_VERSION > 0
14#define FLEX_BETA
15#endif
16
17/* First, we deal with platform-specific or compiler-specific issues. */
18
19/* begin standard C headers. */
20#include <stdio.h>
21#include <string.h>
22#include <errno.h>
23#include <stdlib.h>
24
25/* end standard C headers. */
26
27/* flex integer type definitions */
28
29#ifndef FLEXINT_H
30#define FLEXINT_H
31
32/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
33
34#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
35
36/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
37 * if you want the limit (max/min) macros for int types.
38 */
39#ifndef __STDC_LIMIT_MACROS
40#define __STDC_LIMIT_MACROS 1
41#endif
42
43#include <inttypes.h>
44typedef int8_t flex_int8_t;
45typedef uint8_t flex_uint8_t;
46typedef int16_t flex_int16_t;
47typedef uint16_t flex_uint16_t;
48typedef int32_t flex_int32_t;
49typedef uint32_t flex_uint32_t;
50#else
51typedef signed char flex_int8_t;
52typedef short int flex_int16_t;
53typedef int flex_int32_t;
54typedef unsigned char flex_uint8_t;
55typedef unsigned short int flex_uint16_t;
56typedef unsigned int flex_uint32_t;
57
58/* Limits of integral types. */
59#ifndef INT8_MIN
60#define INT8_MIN (-128)
61#endif
62#ifndef INT16_MIN
63#define INT16_MIN (-32767-1)
64#endif
65#ifndef INT32_MIN
66#define INT32_MIN (-2147483647-1)
67#endif
68#ifndef INT8_MAX
69#define INT8_MAX (127)
70#endif
71#ifndef INT16_MAX
72#define INT16_MAX (32767)
73#endif
74#ifndef INT32_MAX
75#define INT32_MAX (2147483647)
76#endif
77#ifndef UINT8_MAX
78#define UINT8_MAX (255U)
79#endif
80#ifndef UINT16_MAX
81#define UINT16_MAX (65535U)
82#endif
83#ifndef UINT32_MAX
84#define UINT32_MAX (4294967295U)
85#endif
86
87#endif /* ! C99 */
88
89#endif /* ! FLEXINT_H */
90
91#ifdef __cplusplus
92
93/* The "const" storage-class-modifier is valid. */
94#define YY_USE_CONST
95
96#else /* ! __cplusplus */
97
98/* C99 requires __STDC__ to be defined as 1. */
99#if defined (__STDC__)
100
101#define YY_USE_CONST
102
103#endif /* defined (__STDC__) */
104#endif /* ! __cplusplus */
105
106#ifdef YY_USE_CONST
107#define yyconst const
108#else
109#define yyconst
110#endif
111
112/* Returned upon end-of-file. */
113#define YY_NULL 0
114
115/* Promotes a possibly negative, possibly signed char to an unsigned
116 * integer for use as an array index. If the signed char is negative,
117 * we want to instead treat it as an 8-bit unsigned char, hence the
118 * double cast.
119 */
120#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
121
122/* An opaque pointer. */
123#ifndef YY_TYPEDEF_YY_SCANNER_T
124#define YY_TYPEDEF_YY_SCANNER_T
125typedef void* yyscan_t;
126#endif
127
128/* For convenience, these vars (plus the bison vars far below)
129 are macros in the reentrant scanner. */
130#define yyin yyg->yyin_r
131#define yyout yyg->yyout_r
132#define yyextra yyg->yyextra_r
133#define yyleng yyg->yyleng_r
134#define yytext yyg->yytext_r
135#define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno)
136#define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column)
137#define yy_flex_debug yyg->yy_flex_debug_r
138
139/* Enter a start condition. This macro really ought to take a parameter,
140 * but we do it the disgusting crufty way forced on us by the ()-less
141 * definition of BEGIN.
142 */
143#define BEGIN yyg->yy_start = 1 + 2 *
144
145/* Translate the current start state into a value that can be later handed
146 * to BEGIN to return to the state. The YYSTATE alias is for lex
147 * compatibility.
148 */
149#define YY_START ((yyg->yy_start - 1) / 2)
150#define YYSTATE YY_START
151
152/* Action number for EOF rule of a given start state. */
153#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
154
155/* Special action meaning "start processing a new file". */
156#define YY_NEW_FILE osssrestart(yyin ,yyscanner )
157
158#define YY_END_OF_BUFFER_CHAR 0
159
160/* Size of default input buffer. */
161#ifndef YY_BUF_SIZE
162#ifdef __ia64__
163/* On IA-64, the buffer size is 16k, not 8k.
164 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
165 * Ditto for the __ia64__ case accordingly.
166 */
167#define YY_BUF_SIZE 32768
168#else
169#define YY_BUF_SIZE 16384
170#endif /* __ia64__ */
171#endif
172
173/* The state buf must be large enough to hold one state per character in the main buffer.
174 */
175#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
176
177#ifndef YY_TYPEDEF_YY_BUFFER_STATE
178#define YY_TYPEDEF_YY_BUFFER_STATE
180#endif
181
182#define EOB_ACT_CONTINUE_SCAN 0
183#define EOB_ACT_END_OF_FILE 1
184#define EOB_ACT_LAST_MATCH 2
185
186 /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
187 * access to the local variable yy_act. Since yyless() is a macro, it would break
188 * existing scanners that call yyless() from OUTSIDE ossslex.
189 * One obvious solution it to make yy_act a global. I tried that, and saw
190 * a 5% performance hit in a non-yylineno scanner, because yy_act is
191 * normally declared as a register variable-- so it is not worth it.
192 */
193 #define YY_LESS_LINENO(n) \
194 do { \
195 int yyl;\
196 for ( yyl = n; yyl < yyleng; ++yyl )\
197 if ( yytext[yyl] == '\n' )\
198 --yylineno;\
199 }while(0)
200
201/* Return all but the first "n" matched characters back to the input stream. */
202#define yyless(n) \
203 do \
204 { \
205 /* Undo effects of setting up yytext. */ \
206 int yyless_macro_arg = (n); \
207 YY_LESS_LINENO(yyless_macro_arg);\
208 *yy_cp = yyg->yy_hold_char; \
209 YY_RESTORE_YY_MORE_OFFSET \
210 yyg->yy_c_buf_p = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
211 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
212 } \
213 while ( 0 )
214
215#define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner )
216
217#ifndef YY_TYPEDEF_YY_SIZE_T
218#define YY_TYPEDEF_YY_SIZE_T
219typedef size_t yy_size_t;
220#endif
221
222#ifndef YY_STRUCT_YY_BUFFER_STATE
223#define YY_STRUCT_YY_BUFFER_STATE
224struct yy_buffer_state
225 {
226 FILE *yy_input_file;
227
228 char *yy_ch_buf; /* input buffer */
229 char *yy_buf_pos; /* current position in input buffer */
230
231 /* Size of input buffer in bytes, not including room for EOB
232 * characters.
233 */
235
236 /* Number of characters read into yy_ch_buf, not including EOB
237 * characters.
238 */
239 int yy_n_chars;
240
241 /* Whether we "own" the buffer - i.e., we know we created it,
242 * and can realloc() it to grow it, and should free() it to
243 * delete it.
244 */
246
247 /* Whether this is an "interactive" input source; if so, and
248 * if we're using stdio for input, then we want to use getc()
249 * instead of fread(), to make sure we stop fetching input after
250 * each newline.
251 */
253
254 /* Whether we're considered to be at the beginning of a line.
255 * If so, '^' rules will be active on the next match, otherwise
256 * not.
257 */
258 int yy_at_bol;
259
260 int yy_bs_lineno;
261 int yy_bs_column;
263 /* Whether to try to fill the input buffer when we reach the
264 * end of it.
265 */
266 int yy_fill_buffer;
267
269
270#define YY_BUFFER_NEW 0
271#define YY_BUFFER_NORMAL 1
272 /* When an EOF's been seen but there's still some text to process
273 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
274 * shouldn't try reading from the input source any more. We might
275 * still have a bunch of tokens to match, though, because of
276 * possible backing-up.
277 *
278 * When we actually see the EOF, we change the status to "new"
279 * (via osssrestart()), so that the user can continue scanning by
280 * just pointing yyin at a new input file.
281 */
282#define YY_BUFFER_EOF_PENDING 2
283
284 };
285#endif /* !YY_STRUCT_YY_BUFFER_STATE */
286
287/* We provide macros for accessing buffer states in case in the
288 * future we want to put the buffer states in a more general
289 * "scanner state".
290 *
291 * Returns the top of the stack, or NULL.
292 */
293#define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \
294 ? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \
295 : NULL)
296
297/* Same as previous macro, but useful when we know that the buffer stack is not
298 * NULL or when we need an lvalue. For internal use only.
299 */
300#define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]
301
302void osssrestart (FILE *input_file ,yyscan_t yyscanner );
303void osss_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
304YY_BUFFER_STATE osss_create_buffer (FILE *file,int size ,yyscan_t yyscanner );
305void osss_delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
306void osss_flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
307void ossspush_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
308void ossspop_buffer_state (yyscan_t yyscanner );
309
310static void osssensure_buffer_stack (yyscan_t yyscanner );
311static void osss_load_buffer_state (yyscan_t yyscanner );
312static void osss_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner );
313
314#define YY_FLUSH_BUFFER osss_flush_buffer(YY_CURRENT_BUFFER ,yyscanner)
315
316YY_BUFFER_STATE osss_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
317YY_BUFFER_STATE osss_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
318YY_BUFFER_STATE osss_scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner );
319
320void *osssalloc (yy_size_t ,yyscan_t yyscanner );
321void *osssrealloc (void *,yy_size_t ,yyscan_t yyscanner );
322void osssfree (void * ,yyscan_t yyscanner );
323
324#define yy_new_buffer osss_create_buffer
325
326#define yy_set_interactive(is_interactive) \
327 { \
328 if ( ! YY_CURRENT_BUFFER ){ \
329 osssensure_buffer_stack (yyscanner); \
330 YY_CURRENT_BUFFER_LVALUE = \
331 osss_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
332 } \
333 YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
334 }
335
336#define yy_set_bol(at_bol) \
337 { \
338 if ( ! YY_CURRENT_BUFFER ){\
339 osssensure_buffer_stack (yyscanner); \
340 YY_CURRENT_BUFFER_LVALUE = \
341 osss_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
342 } \
343 YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
344 }
345
346#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
347
348/* Begin user sect3 */
349
350#define ossswrap(n) 1
351#define YY_SKIP_YYWRAP
352
353typedef unsigned char YY_CHAR;
354
355typedef int yy_state_type;
356
357#define yytext_ptr yytext_r
358
360static yy_state_type yy_try_NUL_trans (yy_state_type current_state ,yyscan_t yyscanner);
361static int yy_get_next_buffer (yyscan_t yyscanner );
362static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
363
364/* Done after the current pattern has been matched and before the
365 * corresponding action - sets up yytext.
366 */
367#define YY_DO_BEFORE_ACTION \
368 yyg->yytext_ptr = yy_bp; \
369 yyleng = (size_t) (yy_cp - yy_bp); \
370 yyg->yy_hold_char = *yy_cp; \
371 *yy_cp = '\0'; \
372 yyg->yy_c_buf_p = yy_cp;
373
374#define YY_NUM_RULES 60
375#define YY_END_OF_BUFFER 61
376/* This struct is not used in this scanner,
377 but its presence is necessary. */
378struct yy_trans_info
379 {
382 };
384 { 0,
385 1, 1, 61, 59, 1, 1, 59, 8, 59, 59,
386 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
387 59, 59, 59, 59, 1, 0, 7, 0, 0, 0,
388 0, 6, 0, 0, 0, 0, 0, 0, 0, 0,
389 16, 0, 0, 0, 0, 0, 0, 0, 0, 0,
390 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
391 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
392 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
393 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
394 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
395
396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
397 0, 0, 0, 0, 0, 0, 18, 0, 5, 0,
398 0, 0, 0, 40, 0, 0, 0, 0, 0, 0,
399 17, 0, 0, 0, 0, 0, 0, 0, 0, 0,
400 0, 0, 0, 0, 0, 39, 0, 0, 0, 0,
401 0, 0, 0, 0, 0, 0, 42, 0, 0, 0,
402 0, 0, 38, 0, 0, 40, 0, 0, 0, 0,
403 0, 0, 0, 0, 0, 0, 0, 4, 0, 0,
404 0, 0, 41, 0, 0, 0, 0, 0, 37, 0,
405 0, 39, 0, 0, 0, 0, 0, 0, 0, 0,
406
407 0, 0, 0, 0, 0, 42, 0, 0, 0, 0,
408 0, 38, 20, 0, 0, 25, 0, 0, 0, 0,
409 34, 0, 0, 0, 0, 0, 0, 0, 0, 0,
410 0, 0, 0, 41, 0, 0, 0, 0, 0, 37,
411 19, 0, 0, 24, 0, 0, 0, 0, 33, 0,
412 0, 0, 0, 0, 0, 0, 0, 0, 58, 0,
413 0, 0, 20, 0, 0, 25, 0, 0, 0, 0,
414 34, 0, 0, 0, 0, 0, 15, 0, 0, 0,
415 0, 0, 0, 57, 0, 0, 0, 19, 0, 0,
416 24, 0, 0, 0, 0, 33, 0, 0, 0, 0,
417
418 0, 3, 0, 0, 0, 0, 58, 0, 0, 0,
419 0, 0, 0, 0, 0, 0, 0, 48, 0, 0,
420 14, 0, 2, 0, 0, 0, 0, 57, 0, 0,
421 0, 0, 0, 0, 0, 0, 0, 47, 0, 50,
422 0, 0, 3, 0, 36, 0, 54, 0, 0, 0,
423 0, 0, 0, 0, 13, 0, 0, 0, 48, 0,
424 49, 0, 0, 2, 0, 35, 0, 53, 0, 0,
425 0, 0, 0, 0, 0, 0, 0, 0, 47, 0,
426 50, 0, 0, 36, 0, 54, 0, 0, 0, 0,
427 0, 10, 12, 0, 0, 0, 0, 0, 49, 0,
428
429 0, 35, 0, 53, 0, 0, 0, 0, 0, 11,
430 0, 0, 0, 0, 23, 28, 30, 0, 0, 0,
431 0, 12, 0, 0, 9, 0, 0, 0, 29, 0,
432 0, 0, 0, 11, 0, 0, 0, 22, 0, 27,
433 0, 0, 30, 32, 0, 52, 0, 0, 0, 0,
434 21, 0, 26, 0, 0, 29, 31, 0, 51, 0,
435 0, 0, 0, 0, 22, 0, 27, 0, 32, 0,
436 52, 0, 0, 0, 0, 21, 0, 26, 0, 31,
437 0, 51, 0, 0, 0, 0, 0, 0, 0, 0,
438 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
439
440 0, 0, 56, 0, 0, 0, 0, 0, 0, 0,
441 0, 55, 0, 0, 0, 0, 0, 0, 0, 0,
442 0, 56, 46, 0, 0, 0, 0, 0, 0, 0,
443 0, 55, 45, 0, 0, 0, 0, 0, 0, 0,
444 0, 46, 0, 44, 0, 0, 0, 0, 45, 0,
445 43, 0, 0, 0, 0, 0, 0, 0, 0, 0,
446 0, 0, 0, 0, 0, 0, 0
447 } ;
448
450 { 0,
451 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
452 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
453 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
454 1, 2, 4, 5, 4, 4, 1, 4, 1, 4,
455 4, 4, 4, 1, 6, 4, 4, 4, 4, 4,
456 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
457 1, 1, 7, 4, 4, 4, 4, 8, 4, 9,
458 4, 4, 10, 11, 4, 12, 13, 4, 14, 15,
459 4, 16, 4, 4, 4, 4, 4, 4, 4, 4,
460 1, 4, 1, 1, 4, 1, 17, 18, 19, 20,
461
462 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
463 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
464 4, 4, 1, 1, 1, 4, 1, 1, 1, 1,
465 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
466 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
467 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
468 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
469 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
470 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
471 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
472
473 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
474 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
475 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
476 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
477 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
478 1, 1, 1, 1, 1
479 } ;
480
482 { 0,
483 1, 2, 3, 2, 2, 2, 2, 2, 2, 2,
484 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
485 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
486 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
487 } ;
488
490 { 0,
491 0, 0, 964, 965, 39, 41, 39, 965, 929, 931,
492 944, 920, 934, 937, 927, 925, 924, 922, 925, 917,
493 917, 913, 29, 928, 45, 48, 965, 914, 916, 929,
494 920, 965, 914, 912, 911, 909, 912, 904, 904, 31,
495 965, 906, 906, 899, 909, 905, 904, 896, 912, 906,
496 893, 51, 50, 902, 901, 891, 896, 889, 901, 887,
497 899, 888, 888, 881, 888, 880, 896, 890, 877, 53,
498 58, 886, 876, 881, 869, 885, 76, 870, 884, 872,
499 891, 892, 892, 85, 91, 872, 871, 870, 869, 866,
500 859, 856, 855, 857, 863, 865, 855, 849, 865, 95,
501
502 865, 873, 874, 874, 97, 99, 854, 853, 852, 851,
503 848, 839, 838, 840, 849, 103, 965, 858, 965, 847,
504 863, 845, 107, 111, 864, 115, 117, 81, 119, 832,
505 965, 842, 845, 840, 832, 833, 827, 826, 835, 121,
506 844, 833, 849, 831, 125, 130, 850, 134, 136, 93,
507 138, 818, 828, 831, 830, 827, 140, 844, 814, 812,
508 144, 818, 149, 840, 839, 965, 153, 806, 157, 805,
509 811, 803, 161, 155, 820, 804, 806, 965, 800, 810,
510 813, 810, 167, 827, 797, 795, 171, 801, 173, 823,
511 822, 965, 177, 789, 181, 788, 794, 786, 185, 99,
512
513 803, 787, 786, 189, 814, 965, 793, 781, 191, 795,
514 810, 965, 195, 809, 777, 199, 807, 775, 778, 773,
515 203, 803, 786, 775, 774, 783, 207, 773, 789, 770,
516 766, 209, 794, 965, 773, 761, 211, 775, 790, 965,
517 215, 789, 757, 219, 787, 755, 758, 753, 223, 783,
518 766, 755, 764, 227, 229, 231, 754, 235, 237, 778,
519 241, 777, 965, 749, 775, 965, 747, 741, 745, 771,
520 965, 737, 754, 734, 233, 245, 965, 741, 741, 249,
521 251, 740, 255, 257, 764, 261, 763, 965, 735, 761,
522 965, 733, 727, 731, 757, 965, 723, 721, 253, 265,
523
524 269, 273, 754, 722, 277, 752, 965, 281, 719, 718,
525 718, 716, 731, 730, 285, 719, 728, 287, 743, 727,
526 965, 291, 295, 741, 709, 299, 739, 965, 303, 706,
527 705, 705, 703, 718, 307, 707, 716, 309, 731, 313,
528 730, 729, 965, 721, 317, 727, 321, 726, 694, 693,
529 325, 692, 699, 698, 327, 706, 688, 718, 965, 701,
530 331, 716, 715, 965, 707, 335, 713, 339, 712, 680,
531 679, 343, 678, 685, 345, 693, 675, 705, 965, 704,
532 965, 687, 702, 965, 701, 965, 349, 351, 353, 357,
533 359, 965, 361, 700, 687, 679, 674, 696, 965, 679,
534
535 694, 965, 693, 965, 365, 367, 369, 373, 375, 377,
536 692, 679, 671, 656, 381, 385, 389, 688, 393, 397,
537 687, 965, 655, 659, 965, 651, 401, 405, 409, 683,
538 413, 417, 682, 965, 650, 654, 663, 421, 678, 425,
539 677, 676, 965, 429, 675, 433, 674, 653, 657, 655,
540 437, 509, 441, 505, 501, 965, 445, 497, 449, 492,
541 471, 475, 460, 480, 965, 479, 965, 471, 965, 448,
542 965, 418, 453, 417, 436, 965, 432, 965, 428, 965,
543 424, 965, 394, 455, 457, 391, 459, 461, 387, 464,
544 466, 470, 392, 119, 388, 45, 472, 476, 384, 440,
545
546 380, 164, 478, 392, 487, 357, 361, 354, 345, 343,
547 337, 498, 352, 502, 313, 315, 308, 299, 301, 297,
548 316, 965, 506, 312, 302, 279, 284, 265, 275, 253,
549 280, 965, 510, 276, 266, 245, 250, 227, 235, 211,
550 236, 965, 204, 965, 200, 198, 198, 210, 965, 176,
551 965, 176, 174, 168, 163, 156, 147, 140, 147, 115,
552 124, 87, 77, 52, 43, 28, 965, 514, 516, 518,
553 520, 523, 524, 526, 529, 531, 533, 534, 536, 538,
554 541, 543, 544, 546, 548, 550, 553, 555, 557, 558,
555 561, 563, 565, 566, 569, 570, 572, 575, 576, 578,
556
557 581, 582, 584, 587, 588, 591, 592, 594, 597, 599,
558 601, 603, 604, 607, 609, 611, 612, 614, 617, 618,
559 621, 622, 624, 627, 628, 630, 632, 634, 637, 638,
560 640, 643, 645, 647, 649, 651, 653, 655, 657, 658,
561 660, 663, 664, 667, 668, 671, 673
562 } ;
563
565 { 0,
566 567, 1, 567, 567, 567, 567, 567, 567, 567, 567,
567 567, 567, 567, 567, 567, 567, 567, 567, 567, 567,
568 567, 567, 567, 567, 567, 567, 567, 567, 567, 567,
569 567, 567, 567, 567, 567, 567, 567, 567, 567, 567,
570 567, 567, 567, 567, 567, 567, 567, 567, 567, 567,
571 567, 567, 567, 567, 567, 567, 567, 567, 567, 567,
572 567, 567, 567, 567, 567, 567, 567, 567, 567, 567,
573 567, 567, 567, 567, 567, 567, 567, 567, 567, 567,
574 567, 567, 567, 567, 568, 567, 567, 567, 567, 567,
575 567, 567, 567, 567, 567, 567, 567, 567, 567, 567,
576
577 567, 567, 567, 567, 567, 569, 567, 567, 567, 567,
578 567, 567, 567, 567, 567, 570, 567, 567, 567, 567,
579 567, 567, 571, 568, 572, 567, 567, 567, 567, 567,
580 567, 567, 567, 567, 567, 567, 567, 567, 567, 573,
581 567, 567, 567, 567, 574, 569, 575, 567, 567, 567,
582 567, 567, 567, 567, 567, 567, 570, 576, 567, 567,
583 567, 567, 571, 577, 572, 567, 578, 567, 579, 567,
584 567, 567, 580, 567, 567, 567, 567, 567, 567, 567,
585 567, 567, 573, 581, 567, 567, 567, 567, 574, 582,
586 575, 567, 583, 567, 584, 567, 567, 567, 585, 567,
587
588 567, 567, 567, 567, 576, 567, 567, 567, 586, 567,
589 577, 567, 578, 587, 567, 579, 588, 567, 567, 567,
590 580, 589, 567, 567, 567, 567, 567, 567, 567, 567,
591 567, 567, 581, 567, 567, 567, 590, 567, 582, 567,
592 583, 591, 567, 584, 592, 567, 567, 567, 585, 593,
593 567, 567, 567, 567, 567, 594, 567, 567, 586, 595,
594 567, 587, 567, 567, 588, 567, 567, 567, 567, 589,
595 567, 567, 567, 567, 567, 596, 567, 567, 567, 567,
596 597, 567, 567, 590, 598, 567, 591, 567, 567, 592,
597 567, 567, 567, 567, 593, 567, 567, 567, 567, 599,
598
599 600, 594, 601, 567, 602, 595, 567, 603, 567, 567,
600 567, 567, 567, 567, 567, 567, 567, 596, 604, 567,
601 567, 605, 597, 606, 567, 607, 598, 567, 608, 567,
602 567, 567, 567, 567, 567, 567, 567, 599, 609, 600,
603 610, 601, 567, 567, 602, 611, 603, 612, 567, 567,
604 567, 567, 567, 567, 613, 567, 567, 604, 567, 567,
605 605, 614, 606, 567, 567, 607, 615, 608, 616, 567,
606 567, 567, 567, 567, 617, 567, 567, 609, 567, 610,
607 567, 567, 611, 567, 612, 567, 567, 567, 618, 567,
608 567, 567, 613, 619, 567, 567, 567, 614, 567, 567,
609
610 615, 567, 616, 567, 567, 567, 620, 567, 567, 617,
611 621, 567, 567, 567, 622, 623, 618, 624, 625, 626,
612 619, 567, 567, 567, 567, 567, 627, 628, 620, 629,
613 630, 631, 621, 567, 567, 567, 567, 622, 632, 623,
614 633, 624, 567, 625, 634, 626, 635, 567, 567, 567,
615 627, 636, 628, 637, 629, 567, 630, 638, 631, 639,
616 567, 567, 567, 632, 567, 633, 567, 634, 567, 635,
617 567, 567, 567, 567, 636, 567, 637, 567, 638, 567,
618 639, 567, 567, 567, 567, 567, 567, 567, 567, 567,
619 640, 567, 567, 567, 567, 567, 641, 567, 567, 567,
620
621 567, 567, 640, 642, 643, 567, 567, 567, 567, 567,
622 567, 641, 644, 645, 567, 567, 567, 567, 567, 567,
623 642, 567, 643, 646, 567, 567, 567, 567, 567, 567,
624 644, 567, 645, 647, 567, 567, 567, 567, 567, 567,
625 646, 567, 567, 567, 567, 567, 567, 647, 567, 567,
626 567, 567, 567, 567, 567, 567, 567, 567, 567, 567,
627 567, 567, 567, 567, 567, 567, 0, 567, 567, 567,
628 567, 567, 567, 567, 567, 567, 567, 567, 567, 567,
629 567, 567, 567, 567, 567, 567, 567, 567, 567, 567,
630 567, 567, 567, 567, 567, 567, 567, 567, 567, 567,
631
632 567, 567, 567, 567, 567, 567, 567, 567, 567, 567,
633 567, 567, 567, 567, 567, 567, 567, 567, 567, 567,
634 567, 567, 567, 567, 567, 567, 567, 567, 567, 567,
635 567, 567, 567, 567, 567, 567, 567, 567, 567, 567,
636 567, 567, 567, 567, 567, 567, 567
637 } ;
638
640 { 0,
641 4, 5, 6, 4, 4, 7, 8, 4, 4, 4,
642 4, 4, 4, 4, 4, 4, 4, 9, 10, 11,
643 12, 13, 4, 14, 15, 16, 4, 17, 18, 19,
644 20, 21, 22, 4, 23, 4, 4, 24, 4, 4,
645 25, 25, 25, 25, 26, 27, 25, 25, 551, 56,
646 551, 73, 85, 85, 106, 106, 28, 29, 30, 57,
647 31, 74, 32, 33, 34, 510, 35, 36, 37, 38,
648 39, 59, 544, 40, 86, 511, 41, 116, 116, 60,
649 87, 88, 107, 89, 544, 61, 123, 123, 108, 109,
650 171, 110, 85, 85, 172, 125, 140, 140, 145, 145,
651
652 106, 106, 197, 147, 116, 116, 198, 158, 123, 123,
653 251, 164, 567, 567, 252, 567, 167, 167, 169, 169,
654 173, 173, 140, 140, 566, 184, 145, 145, 168, 190,
655 170, 567, 567, 565, 567, 193, 193, 195, 195, 199,
656 199, 567, 567, 507, 567, 209, 209, 194, 508, 196,
657 567, 567, 564, 567, 167, 167, 563, 214, 169, 169,
658 562, 217, 173, 173, 561, 222, 223, 224, 567, 567,
659 225, 567, 237, 237, 567, 567, 560, 567, 193, 193,
660 559, 242, 195, 195, 519, 245, 199, 199, 551, 250,
661 256, 256, 209, 209, 520, 260, 567, 567, 558, 567,
662
663 567, 567, 551, 567, 567, 567, 557, 567, 276, 276,
664 281, 281, 237, 237, 549, 285, 567, 567, 544, 567,
665 567, 567, 556, 567, 567, 567, 544, 567, 300, 300,
666 301, 301, 256, 256, 555, 303, 305, 305, 567, 567,
667 542, 567, 308, 308, 316, 317, 276, 276, 554, 319,
668 322, 322, 281, 281, 551, 324, 326, 326, 567, 567,
669 553, 567, 329, 329, 336, 337, 300, 300, 552, 339,
670 301, 301, 551, 341, 567, 567, 550, 567, 305, 305,
671 549, 346, 308, 308, 532, 348, 355, 355, 567, 567,
672 547, 567, 322, 322, 544, 362, 567, 567, 546, 567,
673
674 326, 326, 545, 367, 329, 329, 544, 369, 375, 375,
675 567, 567, 543, 567, 567, 567, 542, 567, 567, 567,
676 522, 567, 567, 567, 540, 567, 389, 389, 355, 355,
677 539, 394, 567, 567, 538, 567, 567, 567, 537, 567,
678 567, 567, 536, 567, 407, 407, 375, 375, 535, 411,
679 415, 415, 416, 416, 389, 389, 532, 418, 419, 419,
680 420, 420, 567, 567, 530, 567, 427, 427, 428, 428,
681 407, 407, 529, 430, 431, 431, 432, 432, 567, 567,
682 528, 567, 415, 415, 527, 439, 416, 416, 526, 441,
683 567, 567, 525, 567, 419, 419, 522, 445, 420, 420,
684
685 518, 447, 427, 427, 515, 452, 428, 428, 509, 454,
686 567, 567, 506, 567, 431, 431, 498, 458, 432, 432,
687 492, 460, 567, 567, 489, 567, 567, 567, 482, 567,
688 567, 567, 480, 567, 567, 567, 478, 567, 567, 567,
689 476, 567, 567, 567, 488, 567, 567, 567, 486, 567,
690 567, 567, 471, 567, 487, 487, 490, 490, 491, 491,
691 487, 487, 497, 497, 516, 490, 490, 491, 491, 517,
692 504, 505, 505, 497, 497, 469, 513, 514, 514, 567,
693 567, 493, 567, 467, 465, 494, 499, 485, 505, 505,
694 500, 524, 495, 496, 484, 483, 482, 501, 502, 567,
695
696 567, 480, 567, 514, 514, 456, 534, 567, 567, 478,
697 567, 567, 567, 476, 567, 124, 124, 146, 146, 157,
698 157, 163, 163, 165, 165, 183, 183, 189, 189, 191,
699 191, 205, 205, 211, 211, 213, 213, 216, 216, 221,
700 221, 233, 233, 239, 239, 241, 241, 244, 244, 249,
701 249, 259, 259, 262, 262, 265, 265, 270, 270, 284,
702 284, 287, 287, 290, 290, 295, 295, 302, 302, 306,
703 306, 318, 318, 323, 323, 327, 327, 338, 338, 340,
704 340, 342, 342, 345, 345, 347, 347, 358, 358, 361,
705 361, 363, 363, 366, 366, 368, 368, 378, 378, 380,
706
707 380, 383, 383, 385, 385, 393, 393, 398, 398, 401,
708 401, 403, 403, 410, 410, 417, 417, 421, 421, 429,
709 429, 433, 433, 438, 438, 440, 440, 442, 442, 444,
710 444, 446, 446, 451, 451, 453, 453, 455, 455, 457,
711 457, 459, 459, 464, 464, 466, 466, 468, 468, 470,
712 470, 475, 475, 477, 477, 479, 479, 481, 481, 503,
713 503, 512, 512, 521, 521, 523, 523, 531, 531, 533,
714 533, 541, 541, 548, 548, 474, 473, 472, 471, 469,
715 443, 467, 465, 463, 462, 461, 434, 456, 450, 449,
716 448, 422, 443, 437, 436, 435, 434, 404, 402, 426,
717
718 399, 425, 424, 423, 422, 386, 384, 414, 381, 379,
719 413, 412, 409, 408, 406, 405, 404, 402, 400, 364,
720 399, 397, 359, 396, 395, 392, 391, 390, 388, 387,
721 386, 384, 382, 343, 381, 379, 377, 376, 374, 373,
722 372, 371, 370, 328, 365, 364, 360, 359, 357, 356,
723 354, 353, 352, 351, 350, 349, 307, 344, 343, 335,
724 334, 296, 333, 332, 331, 291, 330, 288, 328, 325,
725 321, 320, 315, 314, 313, 271, 312, 311, 310, 266,
726 309, 263, 307, 304, 299, 298, 297, 296, 294, 293,
727 292, 291, 289, 288, 240, 286, 283, 282, 234, 280,
728
729 279, 278, 277, 275, 274, 273, 272, 271, 269, 268,
730 267, 266, 264, 263, 212, 261, 258, 257, 206, 255,
731 254, 253, 248, 247, 246, 243, 192, 240, 238, 236,
732 235, 234, 232, 231, 230, 229, 228, 227, 226, 220,
733 219, 218, 215, 166, 212, 210, 208, 207, 206, 204,
734 203, 202, 201, 200, 192, 188, 187, 186, 185, 182,
735 181, 180, 179, 178, 177, 176, 175, 174, 166, 162,
736 161, 160, 159, 156, 155, 154, 153, 152, 151, 150,
737 149, 148, 144, 143, 142, 141, 139, 138, 137, 136,
738 135, 134, 133, 132, 131, 130, 129, 128, 127, 126,
739
740 122, 121, 120, 119, 118, 117, 115, 114, 113, 112,
741 111, 105, 104, 103, 102, 101, 100, 99, 98, 97,
742 96, 95, 94, 93, 92, 91, 90, 84, 83, 82,
743 81, 80, 79, 78, 77, 76, 75, 72, 71, 70,
744 69, 68, 67, 66, 65, 64, 63, 62, 58, 55,
745 54, 53, 52, 51, 50, 49, 48, 47, 46, 45,
746 44, 43, 42, 567, 3, 567, 567, 567, 567, 567,
747 567, 567, 567, 567, 567, 567, 567, 567, 567, 567,
748 567, 567, 567, 567, 567, 567, 567, 567, 567, 567,
749 567, 567, 567, 567, 567, 567, 567, 567, 567, 567,
750
751 567, 567, 567, 567, 567
752 } ;
753
755 { 0,
756 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
757 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
758 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
759 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
760 5, 5, 6, 6, 7, 7, 25, 25, 566, 23,
761 565, 40, 52, 52, 70, 70, 7, 7, 7, 23,
762 7, 40, 7, 7, 7, 496, 7, 7, 7, 7,
763 7, 26, 564, 7, 53, 496, 7, 77, 77, 26,
764 53, 53, 71, 53, 563, 26, 84, 84, 71, 71,
765 128, 71, 85, 85, 128, 85, 100, 100, 105, 105,
766
767 106, 106, 150, 106, 116, 116, 150, 116, 123, 123,
768 200, 123, 124, 124, 200, 124, 126, 126, 127, 127,
769 129, 129, 140, 140, 562, 140, 145, 145, 126, 145,
770 127, 146, 146, 561, 146, 148, 148, 149, 149, 151,
771 151, 157, 157, 494, 157, 161, 161, 148, 494, 149,
772 163, 163, 560, 163, 167, 167, 559, 167, 169, 169,
773 558, 169, 173, 173, 557, 173, 174, 174, 183, 183,
774 174, 183, 187, 187, 189, 189, 556, 189, 193, 193,
775 555, 193, 195, 195, 502, 195, 199, 199, 554, 199,
776 204, 204, 209, 209, 502, 209, 213, 213, 553, 213,
777
778 216, 216, 552, 216, 221, 221, 550, 221, 227, 227,
779 232, 232, 237, 237, 548, 237, 241, 241, 547, 241,
780 244, 244, 546, 244, 249, 249, 545, 249, 254, 254,
781 255, 255, 256, 256, 543, 256, 258, 258, 259, 259,
782 541, 259, 261, 261, 275, 275, 276, 276, 540, 276,
783 280, 280, 281, 281, 539, 281, 283, 283, 284, 284,
784 538, 284, 286, 286, 299, 299, 300, 300, 537, 300,
785 301, 301, 536, 301, 302, 302, 535, 302, 305, 305,
786 534, 305, 308, 308, 531, 308, 315, 315, 318, 318,
787 530, 318, 322, 322, 529, 322, 323, 323, 528, 323,
788
789 326, 326, 527, 326, 329, 329, 526, 329, 335, 335,
790 338, 338, 525, 338, 340, 340, 524, 340, 345, 345,
791 521, 345, 347, 347, 520, 347, 351, 351, 355, 355,
792 519, 355, 361, 361, 518, 361, 366, 366, 517, 366,
793 368, 368, 516, 368, 372, 372, 375, 375, 515, 375,
794 387, 387, 388, 388, 389, 389, 513, 389, 390, 390,
795 391, 391, 393, 393, 511, 393, 405, 405, 406, 406,
796 407, 407, 510, 407, 408, 408, 409, 409, 410, 410,
797 509, 410, 415, 415, 508, 415, 416, 416, 507, 416,
798 417, 417, 506, 417, 419, 419, 504, 419, 420, 420,
799
800 501, 420, 427, 427, 499, 427, 428, 428, 495, 428,
801 429, 429, 493, 429, 431, 431, 489, 431, 432, 432,
802 486, 432, 438, 438, 483, 438, 440, 440, 481, 440,
803 444, 444, 479, 444, 446, 446, 477, 446, 451, 451,
804 475, 451, 453, 453, 474, 453, 457, 457, 472, 457,
805 459, 459, 470, 459, 473, 473, 484, 484, 485, 485,
806 487, 487, 488, 488, 500, 490, 490, 491, 491, 500,
807 491, 492, 492, 497, 497, 468, 497, 498, 498, 503,
808 503, 487, 503, 466, 464, 487, 490, 463, 505, 505,
809 490, 505, 487, 487, 462, 461, 460, 490, 490, 512,
810
811 512, 458, 512, 514, 514, 455, 514, 523, 523, 454,
812 523, 533, 533, 452, 533, 568, 568, 569, 569, 570,
813 570, 571, 571, 572, 572, 573, 573, 574, 574, 575,
814 575, 576, 576, 577, 577, 578, 578, 579, 579, 580,
815 580, 581, 581, 582, 582, 583, 583, 584, 584, 585,
816 585, 586, 586, 587, 587, 588, 588, 589, 589, 590,
817 590, 591, 591, 592, 592, 593, 593, 594, 594, 595,
818 595, 596, 596, 597, 597, 598, 598, 599, 599, 600,
819 600, 601, 601, 602, 602, 603, 603, 604, 604, 605,
820 605, 606, 606, 607, 607, 608, 608, 609, 609, 610,
821
822 610, 611, 611, 612, 612, 613, 613, 614, 614, 615,
823 615, 616, 616, 617, 617, 618, 618, 619, 619, 620,
824 620, 621, 621, 622, 622, 623, 623, 624, 624, 625,
825 625, 626, 626, 627, 627, 628, 628, 629, 629, 630,
826 630, 631, 631, 632, 632, 633, 633, 634, 634, 635,
827 635, 636, 636, 637, 637, 638, 638, 639, 639, 640,
828 640, 641, 641, 642, 642, 643, 643, 644, 644, 645,
829 645, 646, 646, 647, 647, 450, 449, 448, 447, 445,
830 442, 441, 439, 437, 436, 435, 433, 430, 426, 424,
831 423, 421, 418, 414, 413, 412, 411, 403, 401, 400,
832
833 398, 397, 396, 395, 394, 385, 383, 382, 380, 378,
834 377, 376, 374, 373, 371, 370, 369, 367, 365, 363,
835 362, 360, 358, 357, 356, 354, 353, 352, 350, 349,
836 348, 346, 344, 342, 341, 339, 337, 336, 334, 333,
837 332, 331, 330, 327, 325, 324, 320, 319, 317, 316,
838 314, 313, 312, 311, 310, 309, 306, 304, 303, 298,
839 297, 295, 294, 293, 292, 290, 289, 287, 285, 282,
840 279, 278, 274, 273, 272, 270, 269, 268, 267, 265,
841 264, 262, 260, 257, 253, 252, 251, 250, 248, 247,
842 246, 245, 243, 242, 239, 238, 236, 235, 233, 231,
843
844 230, 229, 228, 226, 225, 224, 223, 222, 220, 219,
845 218, 217, 215, 214, 211, 210, 208, 207, 205, 203,
846 202, 201, 198, 197, 196, 194, 191, 190, 188, 186,
847 185, 184, 182, 181, 180, 179, 177, 176, 175, 172,
848 171, 170, 168, 165, 164, 162, 160, 159, 158, 156,
849 155, 154, 153, 152, 147, 144, 143, 142, 141, 139,
850 138, 137, 136, 135, 134, 133, 132, 130, 125, 122,
851 121, 120, 118, 115, 114, 113, 112, 111, 110, 109,
852 108, 107, 104, 103, 102, 101, 99, 98, 97, 96,
853 95, 94, 93, 92, 91, 90, 89, 88, 87, 86,
854
855 83, 82, 81, 80, 79, 78, 76, 75, 74, 73,
856 72, 69, 68, 67, 66, 65, 64, 63, 62, 61,
857 60, 59, 58, 57, 56, 55, 54, 51, 50, 49,
858 48, 47, 46, 45, 44, 43, 42, 39, 38, 37,
859 36, 35, 34, 33, 31, 30, 29, 28, 24, 22,
860 21, 20, 19, 18, 17, 16, 15, 14, 13, 12,
861 11, 10, 9, 3, 567, 567, 567, 567, 567, 567,
862 567, 567, 567, 567, 567, 567, 567, 567, 567, 567,
863 567, 567, 567, 567, 567, 567, 567, 567, 567, 567,
864 567, 567, 567, 567, 567, 567, 567, 567, 567, 567,
865
866 567, 567, 567, 567, 567
867 } ;
868
869/* Table of booleans, true if rule could match eol. */
871 { 0,
8721, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1,
873 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
874 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
875 0, };
876
877/* The intent behind this definition is that it'll catch
878 * any uses of REJECT which flex missed.
879 */
880#define REJECT reject_used_but_not_detected
881#define yymore() yymore_used_but_not_detected
882#define YY_MORE_ADJ 0
883#define YY_RESTORE_YY_MORE_OFFSET
884#line 1 "../../../../OS/src/OSParsers/OSParseosss.l"
885/* $Id$ */
898#line 16 "../../../../OS/src/OSParsers/OSParseosss.l"
899
900
901#include <iostream>
902#include "OSConfig.h"
903
904
905#ifdef HAVE_CSTRING
906# include <cstring>
907#else
908# ifdef HAVE_STRING_H
909# include <string.h>
910# else
911# error "don't have header file for string"
912# endif
913#endif
914
915#ifdef HAVE_CSTDIO
916# include <cstdio>
917#else
918# ifdef HAVE_STDIO_H
919# include <stdio.h>
920# else
921# error "don't have header file for stdio"
922# endif
923#endif
924#include "OSErrorClass.h"
925#include <sstream>
926#include "OSCommandLine.h"
927
928
929using std::cout;
930using std::endl;
931using std::ostringstream;
932
933//#define PARSERDEBUG
934#ifdef PARSERDEBUG
935 #define YY_PRINT printf("Found option: %s\n", yytext)
936#else
937 #define YY_PRINT
938#endif
939
940
941#ifdef WIN_
942 #define YY_NO_UNISTD_H
943 #include <io.h>
944 #include <process.h>
945 #ifdef USE_OLD_UNISTD
946 #include<sys/unistd.h>
947 #endif
948#endif
949
950
951#define YY_EXTRA_TYPE class OSCommandLine*
952
953void setyyextra( OSCommandLine* oscommandline, void* scanner);
954
986#line 987 "../../../../OS/src/OSParsers/OSParseosss.cpp"
987
988#define INITIAL 0
989
990#ifndef YY_NO_UNISTD_H
991/* Special case for "unistd.h", since it is non-ANSI. We include it way
992 * down here because we want the user's section 1 to have been scanned first.
993 * The user has a chance to override it with an option.
994 */
995#include <unistd.h>
996#endif
997
998#ifndef YY_EXTRA_TYPE
999#define YY_EXTRA_TYPE void *
1000#endif
1001
1002/* Holds the entire state of the reentrant scanner. */
1003struct yyguts_t
1004 {
1005
1006 /* User-defined. Not touched by flex. */
1008
1009 /* The rest are the same as the globals declared in the non-reentrant scanner. */
1010 FILE *yyin_r, *yyout_r;
1011 size_t yy_buffer_stack_top;
1012 size_t yy_buffer_stack_max;
1014 char yy_hold_char;
1015 int yy_n_chars;
1016 int yyleng_r;
1017 char *yy_c_buf_p;
1018 int yy_init;
1019 int yy_start;
1023 int *yy_start_stack;
1026
1027 int yylineno_r;
1028 int yy_flex_debug_r;
1029
1030 char *yytext_r;
1031 int yy_more_flag;
1032 int yy_more_len;
1033
1034 }; /* end struct yyguts_t */
1035
1036static int yy_init_globals (yyscan_t yyscanner );
1037
1039
1041
1042/* Accessor methods to globals.
1043 These are made visible to non-reentrant scanners for convenience. */
1044
1045int ossslex_destroy (yyscan_t yyscanner );
1046
1047int osssget_debug (yyscan_t yyscanner );
1048
1049void osssset_debug (int debug_flag ,yyscan_t yyscanner );
1050
1052
1053void osssset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
1054
1055FILE *osssget_in (yyscan_t yyscanner );
1056
1057void osssset_in (FILE * in_str ,yyscan_t yyscanner );
1058
1059FILE *osssget_out (yyscan_t yyscanner );
1060
1061void osssset_out (FILE * out_str ,yyscan_t yyscanner );
1062
1063int osssget_leng (yyscan_t yyscanner );
1064
1065char *osssget_text (yyscan_t yyscanner );
1066
1067int osssget_lineno (yyscan_t yyscanner );
1068
1069void osssset_lineno (int line_number ,yyscan_t yyscanner );
1070
1071/* Macros after this point can all be overridden by user definitions in
1072 * section 1.
1073 */
1074
1075#ifndef YY_SKIP_YYWRAP
1076#ifdef __cplusplus
1077extern "C" int ossswrap (yyscan_t yyscanner );
1078#else
1079extern int ossswrap (yyscan_t yyscanner );
1080#endif
1081#endif
1082
1083#ifndef yytext_ptr
1084static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner);
1085#endif
1086
1087#ifdef YY_NEED_STRLEN
1088static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner);
1089#endif
1090
1091#ifndef YY_NO_INPUT
1092
1093#ifdef __cplusplus
1094static int yyinput (yyscan_t yyscanner );
1095#else
1096static int input (yyscan_t yyscanner );
1097#endif
1098
1099#endif
1100
1101/* Amount of stuff to slurp up with each read. */
1102#ifndef YY_READ_BUF_SIZE
1103#ifdef __ia64__
1104/* On IA-64, the buffer size is 16k, not 8k */
1105#define YY_READ_BUF_SIZE 16384
1106#else
1107#define YY_READ_BUF_SIZE 8192
1108#endif /* __ia64__ */
1109#endif
1110
1111/* Copy whatever the last rule matched to the standard output. */
1112#ifndef ECHO
1113/* This used to be an fputs(), but since the string might contain NUL's,
1114 * we now use fwrite().
1115 */
1116#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
1117#endif
1118
1119/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1120 * is returned in "result".
1121 */
1122#ifndef YY_INPUT
1123#define YY_INPUT(buf,result,max_size) \
1124 if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1125 { \
1126 int c = '*'; \
1127 size_t n; \
1128 for ( n = 0; n < max_size && \
1129 (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1130 buf[n] = (char) c; \
1131 if ( c == '\n' ) \
1132 buf[n++] = (char) c; \
1133 if ( c == EOF && ferror( yyin ) ) \
1134 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1135 result = n; \
1136 } \
1137 else \
1138 { \
1139 errno=0; \
1140 while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
1141 { \
1142 if( errno != EINTR) \
1143 { \
1144 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1145 break; \
1146 } \
1147 errno=0; \
1148 clearerr(yyin); \
1149 } \
1150 }\
1151\
1152
1153#endif
1154
1155/* No semi-colon after return; correct usage is to write "yyterminate();" -
1156 * we don't want an extra ';' after the "return" because that will cause
1157 * some compilers to complain about unreachable statements.
1158 */
1159#ifndef yyterminate
1160#define yyterminate() return YY_NULL
1161#endif
1162
1163/* Number of entries by which start-condition stack grows. */
1164#ifndef YY_START_STACK_INCR
1165#define YY_START_STACK_INCR 25
1166#endif
1167
1168/* Report a fatal error. */
1169#ifndef YY_FATAL_ERROR
1170#define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner)
1171#endif
1172
1173/* end tables serialization structures and prototypes */
1174
1175/* Default declaration of generated scanner - a define so the user can
1176 * easily add parameters.
1177 */
1178#ifndef YY_DECL
1179#define YY_DECL_IS_OURS 1
1180
1181extern int ossslex (yyscan_t yyscanner);
1182
1183#define YY_DECL int ossslex (yyscan_t yyscanner)
1184#endif /* !YY_DECL */
1185
1186/* Code executed at the beginning of each rule, after yytext and yyleng
1187 * have been set up.
1188 */
1189#ifndef YY_USER_ACTION
1190#define YY_USER_ACTION
1191#endif
1192
1193/* Code executed at the end of each rule. */
1194#ifndef YY_BREAK
1195#define YY_BREAK break;
1196#endif
1197
1198#define YY_RULE_SETUP \
1199 YY_USER_ACTION
1200
1204{
1205 register yy_state_type yy_current_state;
1206 register char *yy_cp, *yy_bp;
1207 register int yy_act;
1208 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1209
1210#line 116 "../../../../OS/src/OSParsers/OSParseosss.l"
1211
1212
1213#line 1214 "../../../../OS/src/OSParsers/OSParseosss.cpp"
1214
1215 if ( !yyg->yy_init )
1216 {
1217 yyg->yy_init = 1;
1218
1219#ifdef YY_USER_INIT
1220 YY_USER_INIT;
1221#endif
1222
1223 if ( ! yyg->yy_start )
1224 yyg->yy_start = 1; /* first start state */
1225
1226 if ( ! yyin )
1227 yyin = stdin;
1228
1229 if ( ! yyout )
1230 yyout = stdout;
1231
1232 if ( ! YY_CURRENT_BUFFER ) {
1233 osssensure_buffer_stack (yyscanner);
1236 }
1237
1238 osss_load_buffer_state(yyscanner );
1239 }
1240
1241 while ( 1 ) /* loops until end-of-file is reached */
1242 {
1243 yy_cp = yyg->yy_c_buf_p;
1244
1245 /* Support of yytext. */
1247
1248 /* yy_bp points to the position in yy_ch_buf of the start of
1249 * the current run.
1250 */
1251 yy_bp = yy_cp;
1252
1253 yy_current_state = yyg->yy_start;
1254yy_match:
1255 do
1256 {
1257 register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
1258 if ( yy_accept[yy_current_state] )
1259 {
1260 yyg->yy_last_accepting_state = yy_current_state;
1262 }
1263 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1264 {
1265 yy_current_state = (int) yy_def[yy_current_state];
1266 if ( yy_current_state >= 568 )
1267 yy_c = yy_meta[(unsigned int) yy_c];
1268 }
1269 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1270 ++yy_cp;
1271 }
1272 while ( yy_base[yy_current_state] != 965 );
1273
1274yy_find_action:
1275 yy_act = yy_accept[yy_current_state];
1276 if ( yy_act == 0 )
1277 { /* have to back up */
1279 yy_current_state = yyg->yy_last_accepting_state;
1280 yy_act = yy_accept[yy_current_state];
1281 }
1282
1284
1286 {
1287 int yyl;
1288 for ( yyl = 0; yyl < yyleng; ++yyl )
1289 if ( yytext[yyl] == '\n' )
1290
1291 do{ yylineno++;
1292 yycolumn=0;
1293 }while(0)
1294;
1295 }
1296
1297do_action: /* This label is used only to access EOF actions. */
1298
1299 switch ( yy_act )
1300 { /* beginning of action switch */
1301 case 0: /* must back up */
1302 /* undo the effects of YY_DO_BEFORE_ACTION */
1305 yy_current_state = yyg->yy_last_accepting_state;
1306 goto yy_find_action;
1307
1308case 1:
1309/* rule 1 can match eol */
1311#line 118 "../../../../OS/src/OSParsers/OSParseosss.l"
1312
1313 YY_BREAK
1314case 2:
1315/* rule 2 can match eol */
1317#line 122 "../../../../OS/src/OSParsers/OSParseosss.l"
1318{
1319 YY_PRINT
1320 //char *ch = strdup(yytext);
1321 char *ch = yytext;
1322 // move past -config
1323 ch+=7;
1324 for(; isspace(*ch); ch++);
1325 std::string str( ch);
1326 if (str[0] == '\"')
1327 yyextra->configFile = str.substr(1,str.length()-2);
1328 else
1329 yyextra->configFile = str;
1330}
1331 YY_BREAK
1332case 3:
1333/* rule 3 can match eol */
1335#line 136 "../../../../OS/src/OSParsers/OSParseosss.l"
1336{
1337 YY_PRINT
1338 //char *ch = strdup(yytext);
1339 char *ch = yytext;
1340 // move past -config
1341 ch+=6;
1342 for(; isspace(*ch); ch++);
1343 std::string str( ch);
1344 if (str[0] == '\"')
1345 yyextra->configFile = str.substr(1,str.length()-2);
1346 else
1347 yyextra->configFile = str;
1348}
1349 YY_BREAK
1350case 4:
1352#line 150 "../../../../OS/src/OSParsers/OSParseosss.l"
1353{
1354 YY_PRINT
1355 yyextra->invokeHelp = true;
1356}
1357 YY_BREAK
1358case 5:
1360#line 155 "../../../../OS/src/OSParsers/OSParseosss.l"
1361{
1362 YY_PRINT
1363 yyextra->invokeHelp = true;
1364 }
1365 YY_BREAK
1366case 6:
1368#line 160 "../../../../OS/src/OSParsers/OSParseosss.l"
1369{
1370 YY_PRINT
1371 yyextra->invokeHelp = true;
1372}
1373 YY_BREAK
1374case 7:
1376#line 165 "../../../../OS/src/OSParsers/OSParseosss.l"
1377{
1378 YY_PRINT
1379 yyextra->invokeHelp = true;
1380}
1381 YY_BREAK
1382case 8:
1384#line 170 "../../../../OS/src/OSParsers/OSParseosss.l"
1385{
1386 YY_PRINT
1387 yyextra->invokeHelp = true;
1388}
1389 YY_BREAK
1390case 9:
1392#line 176 "../../../../OS/src/OSParsers/OSParseosss.l"
1393{
1394 YY_PRINT
1395 yyextra->printModel = true;
1396 }
1397 YY_BREAK
1398case 10:
1400#line 182 "../../../../OS/src/OSParsers/OSParseosss.l"
1401{
1402 YY_PRINT
1403 yyextra->printModel = true;
1404 }
1405 YY_BREAK
1406case 11:
1407/* rule 11 can match eol */
1409#line 187 "../../../../OS/src/OSParsers/OSParseosss.l"
1410{
1411 //if(yyextra->printRow == ""){
1412 YY_PRINT
1413 //yyextra->printRowNumberAsString = strdup(yytext);
1414 yyextra->printRowNumberAsString = yytext;
1415 //char *ch = strdup(yytext);
1416 char *ch = yytext;
1417 // move past -printRow
1418 ch+=9;
1419 for(; isspace(*ch); ch++);
1420 std::string str( ch);
1421 yyextra->printRowNumberAsString = str;
1422 //}
1423}
1424 YY_BREAK
1425case 12:
1426/* rule 12 can match eol */
1428#line 202 "../../../../OS/src/OSParsers/OSParseosss.l"
1429{
1430 //if(yyextra->printRow == ""){
1431 YY_PRINT
1432 //yyextra->printRowNumberAsString = strdup(yytext);
1433 yyextra->printRowNumberAsString = yytext;
1434 //char *ch = strdup(yytext);
1435 char *ch = yytext;
1436 // move past printRow
1437 ch+=8;
1438 for(; isspace(*ch); ch++);
1439 std::string str( ch);
1440 yyextra->printRowNumberAsString = str;
1441 //}
1442}
1443 YY_BREAK
1444case 13:
1445/* rule 13 can match eol */
1447#line 217 "../../../../OS/src/OSParsers/OSParseosss.l"
1448{
1449 //if(yyextra->printRow == ""){
1450 YY_PRINT
1451 //yyextra->printRowNumberAsString = strdup(yytext);
1452 yyextra->printRowNumberAsString = yytext;
1453 //char *ch = strdup(yytext);
1454 char *ch = yytext;
1455 // move past printRow
1456 ch+=8;
1457 for(; isspace(*ch); ch++);
1458 std::string str( ch);
1459 yyextra->printRowNumberAsString = str;
1460 //}
1461}
1462 YY_BREAK
1463case 14:
1465#line 233 "../../../../OS/src/OSParsers/OSParseosss.l"
1466{
1467 YY_PRINT
1468 yyextra->writeVersion = true;
1469}
1470 YY_BREAK
1471case 15:
1473#line 238 "../../../../OS/src/OSParsers/OSParseosss.l"
1474{
1475 YY_PRINT
1476 yyextra->writeVersion = true;
1477}
1478 YY_BREAK
1479case 16:
1481#line 243 "../../../../OS/src/OSParsers/OSParseosss.l"
1482{
1483 YY_PRINT
1484 yyextra->writeVersion = true;
1485}
1486 YY_BREAK
1487case 17:
1489#line 249 "../../../../OS/src/OSParsers/OSParseosss.l"
1490{
1491 YY_PRINT
1492 yyextra->quit = true;
1493}
1494 YY_BREAK
1495case 18:
1497#line 254 "../../../../OS/src/OSParsers/OSParseosss.l"
1498{
1499 YY_PRINT
1500 yyextra->quit = true;
1501}
1502 YY_BREAK
1503case 19:
1504/* rule 19 can match eol */
1506#line 260 "../../../../OS/src/OSParsers/OSParseosss.l"
1507{
1508 //if(yyextra->osilFile == ""){
1509 YY_PRINT
1510 //char *ch = strdup(yytext);
1511 char *ch = yytext;
1512 // move past -osil
1513 ch+=5;
1514 for(; isspace(*ch); ch++);
1515 std::string str( ch);
1516 if (str[0] == '\"')
1517 yyextra->osilFile = str.substr(1,str.length()-2);
1518 else
1519 yyextra->osilFile = str;
1520 //}
1521}
1522 YY_BREAK
1523case 20:
1524/* rule 20 can match eol */
1526#line 276 "../../../../OS/src/OSParsers/OSParseosss.l"
1527{
1528 // if(yyextra->osilFile == ""){
1529 YY_PRINT
1530 //char *ch = strdup(yytext);
1531 char *ch = yytext;
1532 // move past osil
1533 ch+=4;
1534 for(; isspace(*ch); ch++);
1535 std::string str( ch);
1536 if (str[0] == '\"')
1537 yyextra->osilFile = str.substr(1,str.length()-2);
1538 else
1539 yyextra->osilFile = str;
1540 // }
1541 }
1542 YY_BREAK
1543case 21:
1544/* rule 21 can match eol */
1546#line 292 "../../../../OS/src/OSParsers/OSParseosss.l"
1547{
1548 YY_PRINT
1549 //char *ch = strdup(yytext);
1550 char *ch = yytext;
1551 // move past -osilOutput
1552 ch+=11;
1553 for(; isspace(*ch); ch++);
1554 std::string str( ch);
1555 yyextra->osilOutputFile = str;
1556}
1557 YY_BREAK
1558case 22:
1559/* rule 22 can match eol */
1561#line 303 "../../../../OS/src/OSParsers/OSParseosss.l"
1562{
1563 YY_PRINT
1564 //char *ch = strdup(yytext);
1565 char *ch = yytext;
1566 // move past osilOutput
1567 ch+=10;
1568 for(; isspace(*ch); ch++);
1569 std::string str( ch);
1570 yyextra->osilOutputFile = str;
1571}
1572 YY_BREAK
1573case 23:
1574/* rule 23 can match eol */
1576#line 314 "../../../../OS/src/OSParsers/OSParseosss.l"
1577{
1578 YY_PRINT
1579 //char *ch = strdup(yytext);
1580 char *ch = yytext;
1581 // move past osilOutput
1582 ch+=10;
1583 for(; isspace(*ch); ch++);
1584 std::string str( ch);
1585 yyextra->osilOutputFile = str;
1586}
1587 YY_BREAK
1588case 24:
1589/* rule 24 can match eol */
1591#line 325 "../../../../OS/src/OSParsers/OSParseosss.l"
1592{
1593 //if(yyextra->osolFile == ""){
1594 YY_PRINT
1595 //char *ch = strdup(yytext);
1596 char *ch = yytext;
1597 // move past -osol
1598 ch+=5;
1599 for(; isspace(*ch); ch++);
1600 std::string str( ch);
1601 if (str[0] == '\"')
1602 yyextra->osolFile = str.substr(1,str.length()-2);
1603 else
1604 yyextra->osolFile = str;
1605 //}
1606}
1607 YY_BREAK
1608case 25:
1609/* rule 25 can match eol */
1611#line 341 "../../../../OS/src/OSParsers/OSParseosss.l"
1612{
1613 //if(yyextra->osolFile == ""){
1614 YY_PRINT
1615 //char *ch = strdup(yytext);
1616 char *ch = yytext;
1617 // move past osol
1618 ch+=4;
1619 for(; isspace(*ch); ch++);
1620 std::string str( ch);
1621 if (str[0] == '\"')
1622 yyextra->osolFile = str.substr(1,str.length()-2);
1623 else
1624 yyextra->osolFile = str;
1625 //}
1626}
1627 YY_BREAK
1628case 26:
1629/* rule 26 can match eol */
1631#line 357 "../../../../OS/src/OSParsers/OSParseosss.l"
1632{
1633 YY_PRINT
1634 //char *ch = strdup(yytext);
1635 char *ch = yytext;
1636 // move past -osolOutput
1637 ch+=11;
1638 for(; isspace(*ch); ch++);
1639 std::string str( ch);
1640 if (str[0] == '\"')
1641 yyextra->osolOutputFile = str.substr(1,str.length()-2);
1642 else
1643 yyextra->osolOutputFile = str;
1644}
1645 YY_BREAK
1646case 27:
1647/* rule 27 can match eol */
1649#line 371 "../../../../OS/src/OSParsers/OSParseosss.l"
1650{
1651 YY_PRINT
1652 //char *ch = strdup(yytext);
1653 char *ch = yytext;
1654 // move past osolOutput
1655 ch+=10;
1656 for(; isspace(*ch); ch++);
1657 std::string str( ch);
1658 if (str[0] == '\"')
1659 yyextra->osolOutputFile = str.substr(1,str.length()-2);
1660 else
1661 yyextra->osolOutputFile = str;
1662}
1663 YY_BREAK
1664case 28:
1665/* rule 28 can match eol */
1667#line 385 "../../../../OS/src/OSParsers/OSParseosss.l"
1668{
1669 YY_PRINT
1670 //char *ch = strdup(yytext);
1671 char *ch = yytext;
1672 // move past osolOutput
1673 ch+=10;
1674 for(; isspace(*ch); ch++);
1675 std::string str( ch);
1676 yyextra->osolOutputFile = str;
1677}
1678 YY_BREAK
1679case 29:
1680/* rule 29 can match eol */
1682#line 396 "../../../../OS/src/OSParsers/OSParseosss.l"
1683{
1684 //if(yyextra->osplInputFile == ""){
1685 YY_PRINT
1686 //char *ch = strdup(yytext);
1687 char *ch = yytext;
1688 // move past -osplInput
1689 ch+=10;
1690 for(; isspace(*ch); ch++);
1691 std::string str( ch);
1692 if (str[0] == '\"')
1693 yyextra->osplInputFile = str.substr(1,str.length()-2);
1694 else
1695 yyextra->osplInputFile = str;
1696 //}
1697}
1698 YY_BREAK
1699case 30:
1700/* rule 30 can match eol */
1702#line 412 "../../../../OS/src/OSParsers/OSParseosss.l"
1703{
1704 YY_PRINT
1705 //char *ch = strdup(yytext);
1706 char *ch = yytext;
1707 // move past osplInput
1708 ch+=9;
1709 for(; isspace(*ch); ch++);
1710 std::string str( ch);
1711 if (str[0] == '\"')
1712 yyextra->osplInputFile = str.substr(1,str.length()-2);
1713 else
1714 yyextra->osplInputFile = str;
1715}
1716 YY_BREAK
1717case 31:
1718/* rule 31 can match eol */
1720#line 426 "../../../../OS/src/OSParsers/OSParseosss.l"
1721{
1722 YY_PRINT
1723 //char *ch = strdup(yytext);
1724 char *ch = yytext;
1725 // move past -osplOutput
1726 ch+=11;
1727 for(; isspace(*ch); ch++);
1728 std::string str( ch);
1729 if (str[0] == '\"')
1730 yyextra->osplOutputFile = str.substr(1,str.length()-2);
1731 else
1732 yyextra->osplOutputFile = str;
1733}
1734 YY_BREAK
1735case 32:
1736/* rule 32 can match eol */
1738#line 440 "../../../../OS/src/OSParsers/OSParseosss.l"
1739{
1740 YY_PRINT
1741 //char *ch = strdup(yytext);
1742 char *ch = yytext;
1743 // move past osplOutput
1744 ch+=10;
1745 for(; isspace(*ch); ch++);
1746 std::string str( ch);
1747 if (str[0] == '\"')
1748 yyextra->osplOutputFile = str.substr(1,str.length()-2);
1749 else
1750 yyextra->osplOutputFile = str;
1751}
1752 YY_BREAK
1753case 33:
1754/* rule 33 can match eol */
1756#line 454 "../../../../OS/src/OSParsers/OSParseosss.l"
1757{
1758 //if(yyextra->osrlFile == ""){
1759 YY_PRINT
1760 //char *ch = strdup(yytext);
1761 char *ch = yytext;
1762 // move past -osrl
1763 ch+=5;
1764 for(; isspace(*ch); ch++);
1765 std::string str( ch);
1766 if (str[0] == '\"')
1767 yyextra->osrlFile = str.substr(1,str.length()-2);
1768 else
1769 yyextra->osrlFile = str;
1770 //}
1771}
1772 YY_BREAK
1773case 34:
1774/* rule 34 can match eol */
1776#line 470 "../../../../OS/src/OSParsers/OSParseosss.l"
1777{
1778 //if(yyextra->osrlFile == ""){
1779 YY_PRINT
1780 //char *ch = strdup(yytext);
1781 char *ch = yytext;
1782 // move past osrl
1783 ch+=4;
1784 for(; isspace(*ch); ch++);
1785 std::string str( ch);
1786 if (str[0] == '\"')
1787 yyextra->osrlFile = str.substr(1,str.length()-2);
1788 else
1789 yyextra->osrlFile = str;
1790 //}
1791 }
1792 YY_BREAK
1793case 35:
1794/* rule 35 can match eol */
1796#line 486 "../../../../OS/src/OSParsers/OSParseosss.l"
1797{
1798 YY_PRINT
1799 //char *ch = strdup(yytext);
1800 char *ch = yytext;
1801 // move past -insList
1802 ch+=8;
1803 for(; isspace(*ch); ch++);
1804 std::string str( ch);
1805 if (str[0] == '\"')
1806 yyextra->insListFile = str.substr(1,str.length()-2);
1807 else
1808 yyextra->insListFile = str;
1809}
1810 YY_BREAK
1811case 36:
1812/* rule 36 can match eol */
1814#line 500 "../../../../OS/src/OSParsers/OSParseosss.l"
1815{
1816 YY_PRINT
1817 //char *ch = strdup(yytext);
1818 char *ch = yytext;
1819 // move past insList
1820 ch+=7;
1821 for(; isspace(*ch); ch++);
1822 std::string str( ch);
1823 yyextra->insListFile = str;
1824 if (str[0] == '\"')
1825 yyextra->insListFile = str.substr(1,str.length()-2);
1826 else
1827 yyextra->insListFile = str;
1828 }
1829 YY_BREAK
1830case 37:
1831/* rule 37 can match eol */
1833#line 515 "../../../../OS/src/OSParsers/OSParseosss.l"
1834{
1835 YY_PRINT
1836 //char *ch = strdup(yytext);
1837 char *ch = yytext;
1838 // move past -mps
1839 ch+=4;
1840 for(; isspace(*ch); ch++);
1841 std::string str( ch);
1842 if (str[0] == '\"')
1843 yyextra->mpsFile = str.substr(1,str.length()-2);
1844 else
1845 yyextra->mpsFile = str;
1846}
1847 YY_BREAK
1848case 38:
1849/* rule 38 can match eol */
1851#line 529 "../../../../OS/src/OSParsers/OSParseosss.l"
1852{
1853 YY_PRINT
1854 //char *ch = strdup(yytext);
1855 char *ch = yytext;
1856 // move past mps
1857 ch+=3;
1858 for(; isspace(*ch); ch++);
1859 std::string str( ch);
1860 if (str[0] == '\"')
1861 yyextra->mpsFile = str.substr(1,str.length()-2);
1862 else
1863 yyextra->mpsFile = str;
1864}
1865 YY_BREAK
1866case 39:
1867/* rule 39 can match eol */
1869#line 543 "../../../../OS/src/OSParsers/OSParseosss.l"
1870{
1871 YY_PRINT
1872 //char *ch = strdup(yytext);
1873 char *ch = yytext;
1874 // move past -nl
1875 ch+=3;
1876 for(; isspace(*ch); ch++);
1877 std::string str( ch);
1878 if (str[0] == '\"')
1879 yyextra->nlFile = str.substr(1,str.length()-2);
1880 else
1881 yyextra->nlFile = str;
1882}
1883 YY_BREAK
1884case 40:
1885/* rule 40 can match eol */
1887#line 557 "../../../../OS/src/OSParsers/OSParseosss.l"
1888{
1889 YY_PRINT
1890 //char *ch = strdup(yytext);
1891 char *ch = yytext;
1892 // move past nl
1893 ch+=2;
1894 for(; isspace(*ch); ch++);
1895 std::string str( ch);
1896 if (str[0] == '\"')
1897 yyextra->nlFile = str.substr(1,str.length()-2);
1898 else
1899 yyextra->nlFile = str;
1900}
1901 YY_BREAK
1902case 41:
1903/* rule 41 can match eol */
1905#line 571 "../../../../OS/src/OSParsers/OSParseosss.l"
1906{
1907 YY_PRINT
1908 //char *ch = strdup(yytext);
1909 char *ch = yytext;
1910 // move past -dat
1911 ch+=4;
1912 for(; isspace(*ch); ch++);
1913 std::string str( ch);
1914 if (str[0] == '\"')
1915 yyextra->gamsControlFile = str.substr(1,str.length()-2);
1916 else
1917 yyextra->gamsControlFile = str;
1918}
1919 YY_BREAK
1920case 42:
1921/* rule 42 can match eol */
1923#line 585 "../../../../OS/src/OSParsers/OSParseosss.l"
1924{
1925 YY_PRINT
1926 //char *ch = strdup(yytext);
1927 char *ch = yytext;
1928 // move past dat
1929 ch+=3;
1930 for(; isspace(*ch); ch++);
1931 std::string str( ch);
1932 if (str[0] == '\"')
1933 yyextra->gamsControlFile = str.substr(1,str.length()-2);
1934 else
1935 yyextra->gamsControlFile = str;
1936}
1937 YY_BREAK
1938case 43:
1939/* rule 43 can match eol */
1941#line 599 "../../../../OS/src/OSParsers/OSParseosss.l"
1942{
1943 YY_PRINT
1944 //char *ch = strdup(yytext);
1945 char *ch = yytext;
1946 // move past -serviceMethod
1947 ch+=14;
1948 for(; isspace(*ch); ch++);
1949 std::string str( ch);
1950 if (str[0] == '\"')
1951 yyextra->serviceMethod = str.substr(1,str.length()-2);
1952 else
1953 yyextra->serviceMethod = str;
1954}
1955 YY_BREAK
1956case 44:
1957/* rule 44 can match eol */
1959#line 613 "../../../../OS/src/OSParsers/OSParseosss.l"
1960{
1961 YY_PRINT
1962 //char *ch = strdup(yytext);
1963 char *ch = yytext;
1964 // move past serviceMethod
1965 ch+=13;
1966 for(; isspace(*ch); ch++);
1967 std::string str( ch);
1968 yyextra->serviceMethod = str;
1969 if (str[0] == '\"')
1970 yyextra->serviceMethod = str.substr(1,str.length()-2);
1971 else
1972 yyextra->serviceMethod = str;
1973}
1974 YY_BREAK
1975case 45:
1976/* rule 45 can match eol */
1978#line 628 "../../../../OS/src/OSParsers/OSParseosss.l"
1979{
1980 YY_PRINT
1981 //yyextra->serviceLocation = strdup(yytext);
1982 yyextra->serviceLocation = yytext;
1983 //char *ch = strdup(yytext);
1984 char *ch = yytext;
1985 // move past -serviceLocation
1986 ch+=16;
1987 for(; isspace(*ch); ch++);
1988 std::string str( ch);
1989 if (str[0] == '\"')
1990 yyextra->serviceLocation = str.substr(1,str.length()-2);
1991 else
1992 yyextra->serviceLocation = str;
1993}
1994 YY_BREAK
1995case 46:
1996/* rule 46 can match eol */
1998#line 644 "../../../../OS/src/OSParsers/OSParseosss.l"
1999{
2000 YY_PRINT
2001 //yyextra->serviceLocation = strdup(yytext);
2002 yyextra->serviceLocation = yytext;
2003 //char *ch = strdup(yytext);
2004 char *ch = yytext;
2005 // move past serviceLocation
2006 ch+=15;
2007 for(; isspace(*ch); ch++);
2008 std::string str( ch);
2009 if (str[0] == '\"')
2010 yyextra->serviceLocation = str.substr(1,str.length()-2);
2011 else
2012 yyextra->serviceLocation = str;
2013}
2014 YY_BREAK
2015case 47:
2016/* rule 47 can match eol */
2018#line 660 "../../../../OS/src/OSParsers/OSParseosss.l"
2019{
2020 YY_PRINT
2021 //char *ch = strdup(yytext);
2022 char *ch = yytext;
2023 // move past -solver
2024 ch+=7;
2025 for(; isspace(*ch); ch++);
2026 std::string str( ch);
2027 if (str[0] == '\"')
2028 yyextra->solverName = str.substr(1,str.length()-2);
2029 else
2030 yyextra->solverName = str;
2031}
2032 YY_BREAK
2033case 48:
2034/* rule 48 can match eol */
2036#line 674 "../../../../OS/src/OSParsers/OSParseosss.l"
2037{
2038 YY_PRINT
2039 //char *ch = strdup(yytext);
2040 char *ch = yytext;
2041 // move past solver
2042 ch+=6;
2043 for(; isspace(*ch); ch++);
2044 std::string str( ch);
2045 if (str[0] == '\"')
2046 yyextra->solverName = str.substr(1,str.length()-2);
2047 else
2048 yyextra->solverName = str;
2049}
2050 YY_BREAK
2051case 49:
2052/* rule 49 can match eol */
2054#line 688 "../../../../OS/src/OSParsers/OSParseosss.l"
2055{
2056 YY_PRINT
2057 //char *ch = strdup(yytext);
2058 char *ch = yytext;
2059 // move past -browser
2060 ch+=8;
2061 for(; isspace(*ch); ch++);
2062 std::string str( ch);
2063 if (str[0] == '\"')
2064 yyextra->browser = str.substr(1,str.length()-2);
2065 else
2066 yyextra->browser = str;
2067}
2068 YY_BREAK
2069case 50:
2070/* rule 50 can match eol */
2072#line 702 "../../../../OS/src/OSParsers/OSParseosss.l"
2073{
2074 YY_PRINT
2075 //char *ch = strdup(yytext);
2076 char *ch = yytext;
2077 // move past browser
2078 ch+=7;
2079 for(; isspace(*ch); ch++);
2080 std::string str( ch);
2081 if (str[0] == '\"')
2082 yyextra->browser = str.substr(1,str.length()-2);
2083 else
2084 yyextra->browser = str;
2085}
2086 YY_BREAK
2087case 51:
2088/* rule 51 can match eol */
2090#line 716 "../../../../OS/src/OSParsers/OSParseosss.l"
2091{
2092 YY_PRINT
2093 //char *ch = strdup(yytext);
2094 char *ch = yytext;
2095 // move past browser
2096 ch+=11;
2097 for(; isspace(*ch); ch++);
2098 std::string str( ch);
2099 std::string temp;
2100 if (str[0] == '\"')
2101 temp = str.substr(1,str.length()-2);
2102 else
2103 temp = str;
2104 yyextra->printLevel = atoi(temp.c_str());
2105}
2106 YY_BREAK
2107case 52:
2108/* rule 52 can match eol */
2110#line 732 "../../../../OS/src/OSParsers/OSParseosss.l"
2111{
2112 YY_PRINT
2113 //char *ch = strdup(yytext);
2114 char *ch = yytext;
2115 // move past browser
2116 ch+=10;
2117 for(; isspace(*ch); ch++);
2118 std::string str( ch);
2119 std::string temp;
2120 if (str[0] == '\"')
2121 temp = str.substr(1,str.length()-2);
2122 else
2123 temp = str;
2124 yyextra->printLevel = atoi(temp.c_str());
2125}
2126 YY_BREAK
2127case 53:
2128/* rule 53 can match eol */
2130#line 748 "../../../../OS/src/OSParsers/OSParseosss.l"
2131{
2132 YY_PRINT
2133 //char *ch = strdup(yytext);
2134 char *ch = yytext;
2135 // move past browser
2136 ch+=8;
2137 for(; isspace(*ch); ch++);
2138 std::string str( ch);
2139 if (str[0] == '\"')
2140 yyextra->logFile = str.substr(1,str.length()-2);
2141 else
2142 yyextra->logFile = str;
2143}
2144 YY_BREAK
2145case 54:
2146/* rule 54 can match eol */
2148#line 762 "../../../../OS/src/OSParsers/OSParseosss.l"
2149{
2150 YY_PRINT
2151 //char *ch = strdup(yytext);
2152 char *ch = yytext;
2153 // move past browser
2154 ch+=7;
2155 for(; isspace(*ch); ch++);
2156 std::string str( ch);
2157 if (str[0] == '\"')
2158 yyextra->logFile = str.substr(1,str.length()-2);
2159 else
2160 yyextra->logFile = str;
2161}
2162 YY_BREAK
2163case 55:
2164/* rule 55 can match eol */
2166#line 776 "../../../../OS/src/OSParsers/OSParseosss.l"
2167{
2168 YY_PRINT
2169 //char *ch = strdup(yytext);
2170 char *ch = yytext;
2171 // move past browser
2172 ch+=15;
2173 for(; isspace(*ch); ch++);
2174 std::string str( ch);
2175 std::string temp;
2176 if (str[0] == '\"')
2177 temp = str.substr(1,str.length()-2);
2178 else
2179 temp = str;
2180 yyextra->filePrintLevel = atoi(temp.c_str());
2181}
2182 YY_BREAK
2183case 56:
2184/* rule 56 can match eol */
2186#line 792 "../../../../OS/src/OSParsers/OSParseosss.l"
2187{
2188 YY_PRINT
2189 //char *ch = strdup(yytext);
2190 char *ch = yytext;
2191 // move past browser
2192 ch+=14;
2193 for(; isspace(*ch); ch++);
2194 std::string str( ch);
2195 std::string temp;
2196 if (str[0] == '\"')
2197 temp = str.substr(1,str.length()-2);
2198 else
2199 temp = str;
2200 yyextra->filePrintLevel = atoi(temp.c_str());
2201}
2202 YY_BREAK
2203case 57:
2204/* rule 57 can match eol */
2206#line 808 "../../../../OS/src/OSParsers/OSParseosss.l"
2207{
2208 YY_PRINT
2209 //char *ch = strdup(yytext);
2210 char *ch = yytext;
2211 // move past -browser
2212 ch+=6;
2213 for(; isspace(*ch); ch++);
2214 std::string str( ch);
2215 yyextra->jobID = str;
2216}
2217 YY_BREAK
2218case 58:
2219/* rule 58 can match eol */
2221#line 819 "../../../../OS/src/OSParsers/OSParseosss.l"
2222{
2223 YY_PRINT
2224 //char *ch = strdup(yytext);
2225 char *ch = yytext;
2226 // move past -browser
2227 ch+=5;
2228 for(; isspace(*ch); ch++);
2229 std::string str( ch);
2230 yyextra->jobID = str;
2231}
2232 YY_BREAK
2233case 59:
2235#line 830 "../../../../OS/src/OSParsers/OSParseosss.l"
2236{
2237 std::string error;
2238 std::ostringstream outStr;
2239 outStr << "encountered a spurious character in the lexer" << endl;
2240 outStr << "Please make sure your options are spelled correctly" << endl;
2241 outStr << "Type OSSolverService -h or OSSolverService --help for valid commands" << endl;
2242 outStr << "The first character is: ";
2243 outStr << yytext;
2244 outStr << endl;
2245 //outStr << "See line number: " << yylineno << endl;
2246 error = outStr.str();
2247 throw ErrorClass( error);
2248}
2249 YY_BREAK
2250case 60:
2252#line 843 "../../../../OS/src/OSParsers/OSParseosss.l"
2253ECHO;
2254 YY_BREAK
2255#line 2256 "../../../../OS/src/OSParsers/OSParseosss.cpp"
2256case YY_STATE_EOF(INITIAL):
2257 yyterminate();
2258
2259 case YY_END_OF_BUFFER:
2260 {
2261 /* Amount of text matched not including the EOB char. */
2262 int yy_amount_of_matched_text = (int) (yy_cp - yyg->yytext_ptr) - 1;
2263
2264 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2267
2268 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2269 {
2270 /* We're scanning a new file or input source. It's
2271 * possible that this happened because the user
2272 * just pointed yyin at a new source and called
2273 * ossslex(). If so, then we have to assure
2274 * consistency between YY_CURRENT_BUFFER and our
2275 * globals. Here is the right place to do so, because
2276 * this is the first action (other than possibly a
2277 * back-up) that will match for the new input source.
2278 */
2280 YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
2281 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2282 }
2283
2284 /* Note that here we test for yy_c_buf_p "<=" to the position
2285 * of the first EOB in the buffer, since yy_c_buf_p will
2286 * already have been incremented past the NUL character
2287 * (since all states make transitions on EOB to the
2288 * end-of-buffer state). Contrast this with the test
2289 * in input().
2290 */
2291 if ( yyg->yy_c_buf_p <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
2292 { /* This was really a NUL. */
2293 yy_state_type yy_next_state;
2294
2295 yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text;
2296
2297 yy_current_state = yy_get_previous_state( yyscanner );
2298
2299 /* Okay, we're now positioned to make the NUL
2300 * transition. We couldn't have
2301 * yy_get_previous_state() go ahead and do it
2302 * for us because it doesn't know how to deal
2303 * with the possibility of jamming (and we don't
2304 * want to build jamming into it because then it
2305 * will run more slowly).
2306 */
2307
2308 yy_next_state = yy_try_NUL_trans( yy_current_state , yyscanner);
2309
2310 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
2311
2312 if ( yy_next_state )
2313 {
2314 /* Consume the NUL. */
2315 yy_cp = ++yyg->yy_c_buf_p;
2316 yy_current_state = yy_next_state;
2317 goto yy_match;
2318 }
2319
2320 else
2321 {
2322 yy_cp = yyg->yy_c_buf_p;
2323 goto yy_find_action;
2324 }
2325 }
2326
2327 else switch ( yy_get_next_buffer( yyscanner ) )
2328 {
2330 {
2332
2333 if ( ossswrap(yyscanner ) )
2334 {
2335 /* Note: because we've taken care in
2336 * yy_get_next_buffer() to have set up
2337 * yytext, we can now set up
2338 * yy_c_buf_p so that if some total
2339 * hoser (like flex itself) wants to
2340 * call the scanner after we return the
2341 * YY_NULL, it'll still work - another
2342 * YY_NULL will get returned.
2343 */
2344 yyg->yy_c_buf_p = yyg->yytext_ptr + YY_MORE_ADJ;
2345
2347 goto do_action;
2348 }
2349
2350 else
2351 {
2354 }
2355 break;
2356 }
2357
2359 yyg->yy_c_buf_p =
2360 yyg->yytext_ptr + yy_amount_of_matched_text;
2361
2362 yy_current_state = yy_get_previous_state( yyscanner );
2363
2364 yy_cp = yyg->yy_c_buf_p;
2365 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
2366 goto yy_match;
2367
2368 case EOB_ACT_LAST_MATCH:
2369 yyg->yy_c_buf_p =
2371
2372 yy_current_state = yy_get_previous_state( yyscanner );
2373
2374 yy_cp = yyg->yy_c_buf_p;
2375 yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
2376 goto yy_find_action;
2377 }
2378 break;
2379 }
2380
2381 default:
2383 "fatal flex scanner internal error--no action found" );
2384 } /* end of action switch */
2385 } /* end of scanning one token */
2386} /* end of ossslex */
2387
2388/* yy_get_next_buffer - try to read in a new buffer
2389 *
2390 * Returns a code representing an action:
2391 * EOB_ACT_LAST_MATCH -
2392 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2393 * EOB_ACT_END_OF_FILE - end of file
2394 */
2395static int yy_get_next_buffer (yyscan_t yyscanner)
2396{
2397 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2398 register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
2399 register char *source = yyg->yytext_ptr;
2400 register int number_to_move, i;
2401 int ret_val;
2402
2403 if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
2405 "fatal flex scanner internal error--end of buffer missed" );
2406
2407 if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
2408 { /* Don't try to fill the buffer, so this is an EOF. */
2409 if ( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 )
2410 {
2411 /* We matched a single character, the EOB, so
2412 * treat this as a final EOF.
2413 */
2414 return EOB_ACT_END_OF_FILE;
2415 }
2416
2417 else
2418 {
2419 /* We matched some text prior to the EOB, first
2420 * process it.
2421 */
2422 return EOB_ACT_LAST_MATCH;
2423 }
2424 }
2425
2426 /* Try to read more data. */
2427
2428 /* First move last chars to start of buffer. */
2429 number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1;
2430
2431 for ( i = 0; i < number_to_move; ++i )
2432 *(dest++) = *(source++);
2433
2434 if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2435 /* don't do the read, it's not guaranteed to return an EOF,
2436 * just force an EOF
2437 */
2438 YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
2439
2440 else
2441 {
2442 int num_to_read =
2443 YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
2444
2445 while ( num_to_read <= 0 )
2446 { /* Not enough room in the buffer - grow it. */
2447
2448 /* just a shorter name for the current buffer */
2450
2451 int yy_c_buf_p_offset =
2452 (int) (yyg->yy_c_buf_p - b->yy_ch_buf);
2453
2454 if ( b->yy_is_our_buffer )
2455 {
2456 int new_size = b->yy_buf_size * 2;
2457
2458 if ( new_size <= 0 )
2459 b->yy_buf_size += b->yy_buf_size / 8;
2460 else
2461 b->yy_buf_size *= 2;
2462
2463 b->yy_ch_buf = (char *)
2464 /* Include room in for 2 EOB chars. */
2465 osssrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ,yyscanner );
2466 }
2467 else
2468 /* Can't grow it, we don't own it. */
2469 b->yy_ch_buf = 0;
2470
2471 if ( ! b->yy_ch_buf )
2473 "fatal error - scanner input buffer overflow" );
2474
2475 yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
2476
2477 num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
2478 number_to_move - 1;
2479
2480 }
2481
2482 if ( num_to_read > YY_READ_BUF_SIZE )
2483 num_to_read = YY_READ_BUF_SIZE;
2484
2485 /* Read in more data. */
2486 YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
2487 yyg->yy_n_chars, (size_t) num_to_read );
2488
2490 }
2491
2492 if ( yyg->yy_n_chars == 0 )
2493 {
2494 if ( number_to_move == YY_MORE_ADJ )
2495 {
2496 ret_val = EOB_ACT_END_OF_FILE;
2497 osssrestart(yyin ,yyscanner);
2498 }
2499
2500 else
2501 {
2502 ret_val = EOB_ACT_LAST_MATCH;
2503 YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
2505 }
2506 }
2507
2508 else
2509 ret_val = EOB_ACT_CONTINUE_SCAN;
2510
2511 if ((yy_size_t) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
2512 /* Extend the array by 50%, plus the number we really need. */
2513 yy_size_t new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1);
2514 YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) osssrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner );
2515 if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
2516 YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
2517 }
2518
2519 yyg->yy_n_chars += number_to_move;
2522
2523 yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
2524
2525 return ret_val;
2526}
2527
2528/* yy_get_previous_state - get the state just before the EOB char was reached */
2529
2531{
2532 register yy_state_type yy_current_state;
2533 register char *yy_cp;
2534 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2535
2536 yy_current_state = yyg->yy_start;
2537
2538 for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp )
2539 {
2540 register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2541 if ( yy_accept[yy_current_state] )
2542 {
2543 yyg->yy_last_accepting_state = yy_current_state;
2545 }
2546 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2547 {
2548 yy_current_state = (int) yy_def[yy_current_state];
2549 if ( yy_current_state >= 568 )
2550 yy_c = yy_meta[(unsigned int) yy_c];
2551 }
2552 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2553 }
2554
2555 return yy_current_state;
2556}
2557
2558/* yy_try_NUL_trans - try to make a transition on the NUL character
2559 *
2560 * synopsis
2561 * next_state = yy_try_NUL_trans( current_state );
2562 */
2563 static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state , yyscan_t yyscanner)
2564{
2565 register int yy_is_jam;
2566 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */
2567 register char *yy_cp = yyg->yy_c_buf_p;
2568
2569 register YY_CHAR yy_c = 1;
2570 if ( yy_accept[yy_current_state] )
2571 {
2572 yyg->yy_last_accepting_state = yy_current_state;
2574 }
2575 while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2576 {
2577 yy_current_state = (int) yy_def[yy_current_state];
2578 if ( yy_current_state >= 568 )
2579 yy_c = yy_meta[(unsigned int) yy_c];
2580 }
2581 yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
2582 yy_is_jam = (yy_current_state == 567);
2583
2584 return yy_is_jam ? 0 : yy_current_state;
2585}
2586
2587#ifndef YY_NO_INPUT
2588#ifdef __cplusplus
2589 static int yyinput (yyscan_t yyscanner)
2590#else
2591 static int input (yyscan_t yyscanner)
2592#endif
2593
2594{
2595 int c;
2596 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2597
2599
2601 {
2602 /* yy_c_buf_p now points to the character we want to return.
2603 * If this occurs *before* the EOB characters, then it's a
2604 * valid NUL; if not, then we've hit the end of the buffer.
2605 */
2606 if ( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
2607 /* This was really a NUL. */
2608 *yyg->yy_c_buf_p = '\0';
2609
2610 else
2611 { /* need more input */
2612 int offset = yyg->yy_c_buf_p - yyg->yytext_ptr;
2613 ++yyg->yy_c_buf_p;
2614
2615 switch ( yy_get_next_buffer( yyscanner ) )
2616 {
2617 case EOB_ACT_LAST_MATCH:
2618 /* This happens because yy_g_n_b()
2619 * sees that we've accumulated a
2620 * token and flags that we need to
2621 * try matching the token before
2622 * proceeding. But for input(),
2623 * there's no matching to consider.
2624 * So convert the EOB_ACT_LAST_MATCH
2625 * to EOB_ACT_END_OF_FILE.
2626 */
2627
2628 /* Reset buffer status. */
2629 osssrestart(yyin ,yyscanner);
2630
2631 /*FALLTHROUGH*/
2632
2634 {
2635 if ( ossswrap(yyscanner ) )
2636 return EOF;
2637
2640#ifdef __cplusplus
2641 return yyinput(yyscanner);
2642#else
2643 return input(yyscanner);
2644#endif
2645 }
2646
2648 yyg->yy_c_buf_p = yyg->yytext_ptr + offset;
2649 break;
2650 }
2651 }
2652 }
2653
2654 c = *(unsigned char *) yyg->yy_c_buf_p; /* cast for 8-bit char's */
2655 *yyg->yy_c_buf_p = '\0'; /* preserve yytext */
2657
2658 if ( c == '\n' )
2659
2660 do{ yylineno++;
2661 yycolumn=0;
2662 }while(0)
2663;
2664
2665 return c;
2666}
2667#endif /* ifndef YY_NO_INPUT */
2668
2674 void osssrestart (FILE * input_file , yyscan_t yyscanner)
2675{
2676 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2677
2678 if ( ! YY_CURRENT_BUFFER ){
2679 osssensure_buffer_stack (yyscanner);
2682 }
2683
2684 osss_init_buffer(YY_CURRENT_BUFFER,input_file ,yyscanner);
2685 osss_load_buffer_state(yyscanner );
2686}
2687
2692 void osss_switch_to_buffer (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
2693{
2694 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2695
2696 /* TODO. We should be able to replace this entire function body
2697 * with
2698 * ossspop_buffer_state();
2699 * ossspush_buffer_state(new_buffer);
2700 */
2701 osssensure_buffer_stack (yyscanner);
2702 if ( YY_CURRENT_BUFFER == new_buffer )
2703 return;
2704
2705 if ( YY_CURRENT_BUFFER )
2706 {
2707 /* Flush out information for old buffer. */
2711 }
2712
2713 YY_CURRENT_BUFFER_LVALUE = new_buffer;
2714 osss_load_buffer_state(yyscanner );
2715
2716 /* We don't actually know whether we did this switch during
2717 * EOF (ossswrap()) processing, but the only time this flag
2718 * is looked at is after ossswrap() is called, so it's safe
2719 * to go ahead and always set it.
2720 */
2722}
2723
2724static void osss_load_buffer_state (yyscan_t yyscanner)
2725{
2726 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2728 yyg->yytext_ptr = yyg->yy_c_buf_p = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
2729 yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
2731}
2732
2739 YY_BUFFER_STATE osss_create_buffer (FILE * file, int size , yyscan_t yyscanner)
2740{
2742
2743 b = (YY_BUFFER_STATE) osssalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
2744 if ( ! b )
2745 YY_FATAL_ERROR( "out of dynamic memory in osss_create_buffer()" );
2746
2747 b->yy_buf_size = size;
2748
2749 /* yy_ch_buf has to be 2 characters longer than the size given because
2750 * we need to put in 2 end-of-buffer characters.
2751 */
2752 b->yy_ch_buf = (char *) osssalloc(b->yy_buf_size + 2 ,yyscanner );
2753 if ( ! b->yy_ch_buf )
2754 YY_FATAL_ERROR( "out of dynamic memory in osss_create_buffer()" );
2755
2756 b->yy_is_our_buffer = 1;
2757
2758 osss_init_buffer(b,file ,yyscanner);
2759
2760 return b;
2761}
2762
2768{
2769 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2770
2771 if ( ! b )
2772 return;
2773
2774 if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
2776
2777 if ( b->yy_is_our_buffer )
2778 osssfree((void *) b->yy_ch_buf ,yyscanner );
2779
2780 osssfree((void *) b ,yyscanner );
2781}
2782
2783#ifndef __cplusplus
2784extern int isatty (int );
2785#endif /* __cplusplus */
2786
2787/* Initializes or reinitializes a buffer.
2788 * This function is sometimes called more than once on the same buffer,
2789 * such as during a osssrestart() or at EOF.
2790 */
2791 static void osss_init_buffer (YY_BUFFER_STATE b, FILE * file , yyscan_t yyscanner)
2792
2793{
2794 int oerrno = errno;
2795 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2796
2797 osss_flush_buffer(b ,yyscanner);
2798
2799 b->yy_input_file = file;
2800 b->yy_fill_buffer = 1;
2801
2802 /* If b is the current buffer, then osss_init_buffer was _probably_
2803 * called from osssrestart() or through yy_get_next_buffer.
2804 * In that case, we don't want to reset the lineno or column.
2805 */
2806 if (b != YY_CURRENT_BUFFER){
2807 b->yy_bs_lineno = 1;
2808 b->yy_bs_column = 0;
2809 }
2810
2811 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
2812
2813 errno = oerrno;
2814}
2815
2821{
2822 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2823 if ( ! b )
2824 return;
2825
2826 b->yy_n_chars = 0;
2827
2828 /* We always need two end-of-buffer characters. The first causes
2829 * a transition to the end-of-buffer state. The second causes
2830 * a jam in that state.
2831 */
2834
2835 b->yy_buf_pos = &b->yy_ch_buf[0];
2836
2837 b->yy_at_bol = 1;
2839
2840 if ( b == YY_CURRENT_BUFFER )
2841 osss_load_buffer_state(yyscanner );
2842}
2843
2851{
2852 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2853 if (new_buffer == NULL)
2854 return;
2855
2856 osssensure_buffer_stack(yyscanner);
2857
2858 /* This block is copied from osss_switch_to_buffer. */
2859 if ( YY_CURRENT_BUFFER )
2860 {
2861 /* Flush out information for old buffer. */
2865 }
2866
2867 /* Only push if top exists. Otherwise, replace top. */
2870 YY_CURRENT_BUFFER_LVALUE = new_buffer;
2871
2872 /* copied from osss_switch_to_buffer. */
2873 osss_load_buffer_state(yyscanner );
2875}
2876
2882{
2883 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2884 if (!YY_CURRENT_BUFFER)
2885 return;
2886
2889 if (yyg->yy_buffer_stack_top > 0)
2891
2892 if (YY_CURRENT_BUFFER) {
2893 osss_load_buffer_state(yyscanner );
2895 }
2896}
2897
2898/* Allocates the stack if it does not exist.
2899 * Guarantees space for at least one push.
2900 */
2901static void osssensure_buffer_stack (yyscan_t yyscanner)
2902{
2903 int num_to_alloc;
2904 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2905
2906 if (!yyg->yy_buffer_stack) {
2907
2908 /* First allocation is just for 2 elements, since we don't know if this
2909 * scanner will even need a stack. We use 2 instead of 1 to avoid an
2910 * immediate realloc on the next call.
2911 */
2912 num_to_alloc = 1;
2914 (num_to_alloc * sizeof(struct yy_buffer_state*)
2915 , yyscanner);
2916 if ( ! yyg->yy_buffer_stack )
2917 YY_FATAL_ERROR( "out of dynamic memory in osssensure_buffer_stack()" );
2918
2919 memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*));
2920
2921 yyg->yy_buffer_stack_max = num_to_alloc;
2923 return;
2924 }
2925
2927
2928 /* Increase the buffer to prepare for a possible push. */
2929 int grow_size = 8 /* arbitrary grow size */;
2930
2931 num_to_alloc = yyg->yy_buffer_stack_max + grow_size;
2934 num_to_alloc * sizeof(struct yy_buffer_state*)
2935 , yyscanner);
2936 if ( ! yyg->yy_buffer_stack )
2937 YY_FATAL_ERROR( "out of dynamic memory in osssensure_buffer_stack()" );
2938
2939 /* zero only the new slots.*/
2940 memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*));
2941 yyg->yy_buffer_stack_max = num_to_alloc;
2942 }
2943}
2944
2952{
2954
2955 if ( size < 2 ||
2956 base[size-2] != YY_END_OF_BUFFER_CHAR ||
2957 base[size-1] != YY_END_OF_BUFFER_CHAR )
2958 /* They forgot to leave room for the EOB's. */
2959 return 0;
2960
2961 b = (YY_BUFFER_STATE) osssalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
2962 if ( ! b )
2963 YY_FATAL_ERROR( "out of dynamic memory in osss_scan_buffer()" );
2964
2965 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2966 b->yy_buf_pos = b->yy_ch_buf = base;
2967 b->yy_is_our_buffer = 0;
2968 b->yy_input_file = 0;
2969 b->yy_n_chars = b->yy_buf_size;
2970 b->yy_is_interactive = 0;
2971 b->yy_at_bol = 1;
2972 b->yy_fill_buffer = 0;
2974
2975 osss_switch_to_buffer(b ,yyscanner );
2976
2977 return b;
2978}
2979
2989{
2990
2991 return osss_scan_bytes(yystr,strlen(yystr) ,yyscanner);
2992}
2993
3001YY_BUFFER_STATE osss_scan_bytes (yyconst char * yybytes, int _yybytes_len , yyscan_t yyscanner)
3002{
3004 char *buf;
3005 yy_size_t n;
3006 int i;
3007
3008 /* Get memory for full buffer, including space for trailing EOB's. */
3009 n = _yybytes_len + 2;
3010 buf = (char *) osssalloc(n ,yyscanner );
3011 if ( ! buf )
3012 YY_FATAL_ERROR( "out of dynamic memory in osss_scan_bytes()" );
3013
3014 for ( i = 0; i < _yybytes_len; ++i )
3015 buf[i] = yybytes[i];
3016
3017 buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
3018
3019 b = osss_scan_buffer(buf,n ,yyscanner);
3020 if ( ! b )
3021 YY_FATAL_ERROR( "bad buffer in osss_scan_bytes()" );
3022
3023 /* It's okay to grow etc. this buffer, and we should throw it
3024 * away when we're done.
3025 */
3026 b->yy_is_our_buffer = 1;
3027
3028 return b;
3029}
3030
3031#ifndef YY_EXIT_FAILURE
3032#define YY_EXIT_FAILURE 2
3033#endif
3034
3035static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
3036{
3037 (void) fprintf( stderr, "%s\n", msg );
3038 exit( YY_EXIT_FAILURE );
3039}
3040
3041/* Redefine yyless() so it works in section 3 code. */
3042
3043#undef yyless
3044#define yyless(n) \
3045 do \
3046 { \
3047 /* Undo effects of setting up yytext. */ \
3048 int yyless_macro_arg = (n); \
3049 YY_LESS_LINENO(yyless_macro_arg);\
3050 yytext[yyleng] = yyg->yy_hold_char; \
3051 yyg->yy_c_buf_p = yytext + yyless_macro_arg; \
3052 yyg->yy_hold_char = *yyg->yy_c_buf_p; \
3053 *yyg->yy_c_buf_p = '\0'; \
3054 yyleng = yyless_macro_arg; \
3055 } \
3056 while ( 0 )
3057
3058/* Accessor methods (get/set functions) to struct members. */
3059
3064{
3065 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3066 return yyextra;
3067}
3068
3073{
3074 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3075
3076 if (! YY_CURRENT_BUFFER)
3077 return 0;
3078
3079 return yylineno;
3080}
3081
3086{
3087 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3088
3089 if (! YY_CURRENT_BUFFER)
3090 return 0;
3091
3092 return yycolumn;
3093}
3094
3098FILE *osssget_in (yyscan_t yyscanner)
3099{
3100 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3101 return yyin;
3102}
3103
3107FILE *osssget_out (yyscan_t yyscanner)
3108{
3109 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3110 return yyout;
3111}
3112
3116int osssget_leng (yyscan_t yyscanner)
3117{
3118 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3119 return yyleng;
3120}
3121
3126char *osssget_text (yyscan_t yyscanner)
3127{
3128 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3129 return yytext;
3130}
3131
3136void osssset_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner)
3137{
3138 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3139 yyextra = user_defined ;
3140}
3141
3146void osssset_lineno (int line_number , yyscan_t yyscanner)
3147{
3148 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3149
3150 /* lineno is only valid if an input buffer exists. */
3151 if (! YY_CURRENT_BUFFER )
3152 yy_fatal_error( "osssset_lineno called with no buffer" , yyscanner);
3153
3154 yylineno = line_number;
3155}
3156
3161void osssset_column (int column_no , yyscan_t yyscanner)
3162{
3163 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3164
3165 /* column is only valid if an input buffer exists. */
3166 if (! YY_CURRENT_BUFFER )
3167 yy_fatal_error( "osssset_column called with no buffer" , yyscanner);
3168
3169 yycolumn = column_no;
3170}
3171
3178void osssset_in (FILE * in_str , yyscan_t yyscanner)
3179{
3180 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3181 yyin = in_str ;
3182}
3183
3184void osssset_out (FILE * out_str , yyscan_t yyscanner)
3185{
3186 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3187 yyout = out_str ;
3188}
3189
3191{
3192 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3193 return yy_flex_debug;
3194}
3195
3196void osssset_debug (int bdebug , yyscan_t yyscanner)
3197{
3198 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3199 yy_flex_debug = bdebug ;
3200}
3201
3202/* Accessor methods for yylval and yylloc */
3203
3204/* User-visible API */
3205
3206/* ossslex_init is special because it creates the scanner itself, so it is
3207 * the ONLY reentrant function that doesn't take the scanner as the last argument.
3208 * That's why we explicitly handle the declaration, instead of using our macros.
3209 */
3210
3211int ossslex_init(yyscan_t* ptr_yy_globals)
3212
3213{
3214 if (ptr_yy_globals == NULL){
3215 errno = EINVAL;
3216 return 1;
3217 }
3218
3219 *ptr_yy_globals = (yyscan_t) osssalloc ( sizeof( struct yyguts_t ), NULL );
3220
3221 if (*ptr_yy_globals == NULL){
3222 errno = ENOMEM;
3223 return 1;
3224 }
3225
3226 /* By setting to 0xAA, we expose bugs in yy_init_globals. Leave at 0x00 for releases. */
3227 memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
3228
3229 return yy_init_globals ( *ptr_yy_globals );
3230}
3231
3232/* ossslex_init_extra has the same functionality as ossslex_init, but follows the
3233 * convention of taking the scanner as the last argument. Note however, that
3234 * this is a *pointer* to a scanner, as it will be allocated by this call (and
3235 * is the reason, too, why this function also must handle its own declaration).
3236 * The user defined value in the first argument will be available to osssalloc in
3237 * the yyextra field.
3238 */
3239
3240int ossslex_init_extra(YY_EXTRA_TYPE yy_user_defined,yyscan_t* ptr_yy_globals )
3241
3242{
3243 struct yyguts_t dummy_yyguts;
3244
3245 osssset_extra (yy_user_defined, &dummy_yyguts);
3246
3247 if (ptr_yy_globals == NULL){
3248 errno = EINVAL;
3249 return 1;
3250 }
3251
3252 *ptr_yy_globals = (yyscan_t) osssalloc ( sizeof( struct yyguts_t ), &dummy_yyguts );
3253
3254 if (*ptr_yy_globals == NULL){
3255 errno = ENOMEM;
3256 return 1;
3257 }
3258
3259 /* By setting to 0xAA, we expose bugs in
3260 yy_init_globals. Leave at 0x00 for releases. */
3261 memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
3262
3263 osssset_extra (yy_user_defined, *ptr_yy_globals);
3264
3265 return yy_init_globals ( *ptr_yy_globals );
3266}
3267
3268static int yy_init_globals (yyscan_t yyscanner)
3269{
3270 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3271 /* Initialization is the same as for the non-reentrant scanner.
3272 * This function is called from ossslex_destroy(), so don't allocate here.
3273 */
3274
3275 yyg->yy_buffer_stack = 0;
3278 yyg->yy_c_buf_p = (char *) 0;
3279 yyg->yy_init = 0;
3280 yyg->yy_start = 0;
3281
3284 yyg->yy_start_stack = NULL;
3285
3286/* Defined in main.c */
3287#ifdef YY_STDINIT
3288 yyin = stdin;
3289 yyout = stdout;
3290#else
3291 yyin = (FILE *) 0;
3292 yyout = (FILE *) 0;
3293#endif
3294
3295 /* For future reference: Set errno on error, since we are called by
3296 * ossslex_init()
3297 */
3298 return 0;
3299}
3300
3301/* ossslex_destroy is for both reentrant and non-reentrant scanners. */
3303{
3304 struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3305
3306 /* Pop the buffer stack, destroying each element. */
3307 while(YY_CURRENT_BUFFER){
3310 ossspop_buffer_state(yyscanner);
3311 }
3312
3313 /* Destroy the stack itself. */
3314 osssfree(yyg->yy_buffer_stack ,yyscanner);
3315 yyg->yy_buffer_stack = NULL;
3316
3317 /* Destroy the start condition stack. */
3318 osssfree(yyg->yy_start_stack ,yyscanner );
3319 yyg->yy_start_stack = NULL;
3320
3321 /* Reset the globals. This is important in a non-reentrant scanner so the next time
3322 * ossslex() is called, initialization will occur. */
3323 yy_init_globals( yyscanner);
3324
3325 /* Destroy the main struct (reentrant only). */
3326 osssfree ( yyscanner , yyscanner );
3327 yyscanner = NULL;
3328 return 0;
3329}
3330
3331/*
3332 * Internal utility routines.
3333 */
3334
3335#ifndef yytext_ptr
3336static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner)
3337{
3338 register int i;
3339 for ( i = 0; i < n; ++i )
3340 s1[i] = s2[i];
3341}
3342#endif
3343
3344#ifdef YY_NEED_STRLEN
3345static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
3346{
3347 register int n;
3348 for ( n = 0; s[n]; ++n )
3349 ;
3350
3351 return n;
3352}
3353#endif
3354
3355void *osssalloc (yy_size_t size , yyscan_t yyscanner)
3356{
3357 return (void *) malloc( size );
3358}
3359
3360void *osssrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner)
3361{
3362 /* The cast to (char *) in the following accommodates both
3363 * implementations that use char* generic pointers, and those
3364 * that use void* generic pointers. It works with the latter
3365 * because both ANSI C and C++ allow castless assignment from
3366 * any pointer type to void*, and deal with argument conversions
3367 * as though doing an assignment.
3368 */
3369 return (void *) realloc( (char *) ptr, size );
3370}
3371
3372void osssfree (void * ptr , yyscan_t yyscanner)
3373{
3374 free( (char *) ptr ); /* see osssrealloc() for (char *) cast */
3375}
3376
3377#define YYTABLES_NAME "yytables"
3378
3379#line 843 "../../../../OS/src/OSParsers/OSParseosss.l"
3380
3381
3382
3383void setyyextra(OSCommandLine *oscommandline, void* scanner){
3384 osssset_extra(oscommandline, scanner);
3385}
3386
void * yyscan_t
short int flex_int16_t
int flex_int32_t
int yy_state_type
flex_uint8_t YY_CHAR
size_t yy_size_t
void * malloc(YYSIZE_T)
#define scanner
void free(void *)
static void osss_load_buffer_state(yyscan_t yyscanner)
#define YY_NEW_FILE
int osssget_debug(yyscan_t yyscanner)
int ossslex(yyscan_t yyscanner)
void osss_delete_buffer(YY_BUFFER_STATE b, yyscan_t yyscanner)
Destroy the buffer.
#define yytext
unsigned char flex_uint8_t
void * yyscan_t
static yyconst flex_int16_t yy_accept[568]
int ossslex_init(yyscan_t *scanner)
static yyconst flex_int32_t yy_meta[41]
unsigned char YY_CHAR
static int yy_init_globals(yyscan_t yyscanner)
static yyconst flex_int32_t yy_rule_can_match_eol[61]
YY_BUFFER_STATE osss_scan_bytes(yyconst char *bytes, int len, yyscan_t yyscanner)
Setup the input buffer state to scan the given bytes.
#define YY_EXTRA_TYPE
void * osssrealloc(void *, yy_size_t, yyscan_t yyscanner)
void osssset_in(FILE *in_str, yyscan_t yyscanner)
Set the input stream.
static int yy_get_next_buffer(yyscan_t yyscanner)
short int flex_int16_t
#define yy_flex_debug
void * osssalloc(yy_size_t, yyscan_t yyscanner)
unsigned int flex_uint32_t
static yy_state_type yy_try_NUL_trans(yy_state_type current_state, yyscan_t yyscanner)
#define YY_BREAK
static yyconst flex_int16_t yy_def[648]
void osssrestart(FILE *input_file, yyscan_t yyscanner)
Immediately switch to a different input stream.
struct yy_buffer_state * YY_BUFFER_STATE
#define yyout
#define YY_BUFFER_NEW
#define YY_RESTORE_YY_MORE_OFFSET
static yyconst flex_int16_t yy_chk[1006]
int osssget_leng(yyscan_t yyscanner)
Get the length of the current token.
static int input(yyscan_t yyscanner)
void osss_switch_to_buffer(YY_BUFFER_STATE new_buffer, yyscan_t yyscanner)
Switch to a different input buffer.
#define YY_BUFFER_NORMAL
#define YY_MORE_ADJ
#define YY_RULE_SETUP
int ossslex_destroy(yyscan_t yyscanner)
#define yyextra
register char * yy_bp
void ossspush_buffer_state(YY_BUFFER_STATE new_buffer, yyscan_t yyscanner)
Pushes the new state onto the stack.
struct yyguts_t * yyg
YY_EXTRA_TYPE osssget_extra(yyscan_t yyscanner)
Get the user-defined data for this scanner.
static void osss_init_buffer(YY_BUFFER_STATE b, FILE *file, yyscan_t yyscanner)
signed char flex_int8_t
#define EOB_ACT_END_OF_FILE
register int yy_act
void osssset_column(int column_no, yyscan_t yyscanner)
Set the current column.
#define YY_CURRENT_BUFFER_LVALUE
int flex_int32_t
FILE * osssget_in(yyscan_t yyscanner)
Get the input stream.
void osssfree(void *, yyscan_t yyscanner)
#define YY_START
int osssget_lineno(yyscan_t yyscanner)
Get the current line number.
YY_BUFFER_STATE osss_scan_buffer(char *base, yy_size_t size, yyscan_t yyscanner)
Setup the input buffer state to scan directly from a user-specified character buffer.
int yy_state_type
#define YY_CURRENT_BUFFER
void osss_flush_buffer(YY_BUFFER_STATE b, yyscan_t yyscanner)
Discard all buffered characters.
#define yyconst
#define INITIAL
INPUTS: -osil xxx.osil (file name on local machine of optimization instance, this is "" by default,...
#define yyin
static yyconst flex_int16_t yy_base[648]
static void yy_fatal_error(yyconst char msg[], yyscan_t yyscanner)
#define YY_READ_BUF_SIZE
#define YY_INPUT(buf, result, max_size)
#define ECHO
#define YY_END_OF_BUFFER
#define YY_STATE_EOF(state)
int isatty(int)
#define YY_END_OF_BUFFER_CHAR
int osssget_column(yyscan_t yyscanner)
Get the current column number.
void ossspop_buffer_state(yyscan_t yyscanner)
Removes and deletes the top of the stack, if present.
register char * yy_cp
#define YY_FATAL_ERROR(msg)
#define yyterminate()
unsigned short int flex_uint16_t
char * osssget_text(yyscan_t yyscanner)
Get the current token.
static yyconst flex_int32_t yy_ec[256]
void osssset_extra(YY_EXTRA_TYPE user_defined, yyscan_t yyscanner)
Set the user-defined data.
YY_BUFFER_STATE osss_scan_string(yyconst char *yy_str, yyscan_t yyscanner)
Setup the input buffer state to scan a string.
void setyyextra(OSCommandLine *oscommandline, void *scanner)
#define YY_DO_BEFORE_ACTION
YY_BUFFER_STATE osss_create_buffer(FILE *file, int size, yyscan_t yyscanner)
Allocate and initialize an input buffer state.
void osssset_debug(int debug_flag, yyscan_t yyscanner)
#define EOB_ACT_LAST_MATCH
size_t yy_size_t
#define YY_BUFFER_EOF_PENDING
#define yylineno
#define yycolumn
#define EOB_ACT_CONTINUE_SCAN
static yyconst flex_int16_t yy_nxt[1006]
#define YY_PRINT
#define YY_DECL
static void osssensure_buffer_stack(yyscan_t yyscanner)
#define YY_BUF_SIZE
#define YY_EXIT_FAILURE
void osssset_lineno(int line_number, yyscan_t yyscanner)
Set the current line number.
static yy_state_type yy_get_previous_state(yyscan_t yyscanner)
void osssset_out(FILE *out_str, yyscan_t yyscanner)
#define YY_SC_TO_UI(c)
int ossslex_init_extra(YY_EXTRA_TYPE user_defined, yyscan_t *scanner)
#define ossswrap(n)
#define yyleng
FILE * osssget_out(yyscan_t yyscanner)
Get the output stream.
used for throwing exceptions.
This class is used to store command line options for the OSSolverService executable and to provide me...
int yy_bs_column
The column count.
int yy_bs_lineno
The line count.
flex_int32_t yy_verify
flex_int32_t yy_nxt
char * yy_c_buf_p
int yy_did_buffer_switch_on_eof
int yy_start_stack_depth
FILE * yyout_r
FILE * yyin_r
size_t yy_buffer_stack_max
capacity of stack.
int yy_flex_debug_r
char * yy_last_accepting_cpos
yy_state_type yy_last_accepting_state
YY_BUFFER_STATE * yy_buffer_stack
Stack as an array.
int * yy_start_stack
int yy_start_stack_ptr
char yy_hold_char
char * yytext_r
YY_EXTRA_TYPE yyextra_r
size_t yy_buffer_stack_top
index of top of stack.
#define YY_EXTRA_TYPE