Line data Source code
1 : #line 2 "/source/casa6/casatools/src/code/build/synthesis/CalLibraryGram.lcc"
2 :
3 : #line 4 "/source/casa6/casatools/src/code/build/synthesis/CalLibraryGram.lcc"
4 :
5 : #define YY_INT_ALIGNED short int
6 :
7 : /* A lexical scanner generated by flex */
8 :
9 : #define yy_create_buffer CalLibraryGram_create_buffer
10 : #define yy_delete_buffer CalLibraryGram_delete_buffer
11 : #define yy_flex_debug CalLibraryGram_flex_debug
12 : #define yy_init_buffer CalLibraryGram_init_buffer
13 : #define yy_flush_buffer CalLibraryGram_flush_buffer
14 : #define yy_load_buffer_state CalLibraryGram_load_buffer_state
15 : #define yy_switch_to_buffer CalLibraryGram_switch_to_buffer
16 : #define yyin CalLibraryGramin
17 : #define yyleng CalLibraryGramleng
18 : #define yylex CalLibraryGramlex
19 : #define yylineno CalLibraryGramlineno
20 : #define yyout CalLibraryGramout
21 : #define yyrestart CalLibraryGramrestart
22 : #define yytext CalLibraryGramtext
23 : #define yywrap CalLibraryGramwrap
24 : #define yyalloc CalLibraryGramalloc
25 : #define yyrealloc CalLibraryGramrealloc
26 : #define yyfree CalLibraryGramfree
27 :
28 : #define FLEX_SCANNER
29 : #define YY_FLEX_MAJOR_VERSION 2
30 : #define YY_FLEX_MINOR_VERSION 6
31 : #define YY_FLEX_SUBMINOR_VERSION 1
32 : #if YY_FLEX_SUBMINOR_VERSION > 0
33 : #define FLEX_BETA
34 : #endif
35 :
36 : /* First, we deal with platform-specific or compiler-specific issues. */
37 :
38 : /* begin standard C headers. */
39 : #include <stdio.h>
40 : #include <string.h>
41 : #include <errno.h>
42 : #include <stdlib.h>
43 :
44 : /* end standard C headers. */
45 :
46 : /* flex integer type definitions */
47 :
48 : #ifndef FLEXINT_H
49 : #define FLEXINT_H
50 :
51 : /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
52 :
53 : #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
54 :
55 : /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
56 : * if you want the limit (max/min) macros for int types.
57 : */
58 : #ifndef __STDC_LIMIT_MACROS
59 : #define __STDC_LIMIT_MACROS 1
60 : #endif
61 :
62 : #include <inttypes.h>
63 : typedef int8_t flex_int8_t;
64 : typedef uint8_t flex_uint8_t;
65 : typedef int16_t flex_int16_t;
66 : typedef uint16_t flex_uint16_t;
67 : typedef int32_t flex_int32_t;
68 : typedef uint32_t flex_uint32_t;
69 : #else
70 : typedef signed char flex_int8_t;
71 : typedef short int flex_int16_t;
72 : typedef int flex_int32_t;
73 : typedef unsigned char flex_uint8_t;
74 : typedef unsigned short int flex_uint16_t;
75 : typedef unsigned int flex_uint32_t;
76 :
77 : /* Limits of integral types. */
78 : #ifndef INT8_MIN
79 : #define INT8_MIN (-128)
80 : #endif
81 : #ifndef INT16_MIN
82 : #define INT16_MIN (-32767-1)
83 : #endif
84 : #ifndef INT32_MIN
85 : #define INT32_MIN (-2147483647-1)
86 : #endif
87 : #ifndef INT8_MAX
88 : #define INT8_MAX (127)
89 : #endif
90 : #ifndef INT16_MAX
91 : #define INT16_MAX (32767)
92 : #endif
93 : #ifndef INT32_MAX
94 : #define INT32_MAX (2147483647)
95 : #endif
96 : #ifndef UINT8_MAX
97 : #define UINT8_MAX (255U)
98 : #endif
99 : #ifndef UINT16_MAX
100 : #define UINT16_MAX (65535U)
101 : #endif
102 : #ifndef UINT32_MAX
103 : #define UINT32_MAX (4294967295U)
104 : #endif
105 :
106 : #endif /* ! C99 */
107 :
108 : #endif /* ! FLEXINT_H */
109 :
110 : /* TODO: this is always defined, so inline it */
111 : #define yyconst const
112 :
113 : #if defined(__GNUC__) && __GNUC__ >= 3
114 : #define yynoreturn __attribute__((__noreturn__))
115 : #else
116 : #define yynoreturn
117 : #endif
118 :
119 : /* Returned upon end-of-file. */
120 : #define YY_NULL 0
121 :
122 : /* Promotes a possibly negative, possibly signed char to an unsigned
123 : * integer for use as an array index. If the signed char is negative,
124 : * we want to instead treat it as an 8-bit unsigned char, hence the
125 : * double cast.
126 : */
127 : #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
128 :
129 : /* Enter a start condition. This macro really ought to take a parameter,
130 : * but we do it the disgusting crufty way forced on us by the ()-less
131 : * definition of BEGIN.
132 : */
133 : #define BEGIN (yy_start) = 1 + 2 *
134 :
135 : /* Translate the current start state into a value that can be later handed
136 : * to BEGIN to return to the state. The YYSTATE alias is for lex
137 : * compatibility.
138 : */
139 : #define YY_START (((yy_start) - 1) / 2)
140 : #define YYSTATE YY_START
141 :
142 : /* Action number for EOF rule of a given start state. */
143 : #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
144 :
145 : /* Special action meaning "start processing a new file". */
146 : #define YY_NEW_FILE CalLibraryGramrestart(CalLibraryGramin )
147 :
148 : #define YY_END_OF_BUFFER_CHAR 0
149 :
150 : /* Size of default input buffer. */
151 : #ifndef YY_BUF_SIZE
152 : #ifdef __ia64__
153 : /* On IA-64, the buffer size is 16k, not 8k.
154 : * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
155 : * Ditto for the __ia64__ case accordingly.
156 : */
157 : #define YY_BUF_SIZE 32768
158 : #else
159 : #define YY_BUF_SIZE 16384
160 : #endif /* __ia64__ */
161 : #endif
162 :
163 : /* The state buf must be large enough to hold one state per character in the main buffer.
164 : */
165 : #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
166 :
167 : #ifndef YY_TYPEDEF_YY_BUFFER_STATE
168 : #define YY_TYPEDEF_YY_BUFFER_STATE
169 : typedef struct yy_buffer_state *YY_BUFFER_STATE;
170 : #endif
171 :
172 : #ifndef YY_TYPEDEF_YY_SIZE_T
173 : #define YY_TYPEDEF_YY_SIZE_T
174 : typedef size_t yy_size_t;
175 : #endif
176 :
177 : extern int CalLibraryGramleng;
178 :
179 : extern FILE *CalLibraryGramin, *CalLibraryGramout;
180 :
181 : #define EOB_ACT_CONTINUE_SCAN 0
182 : #define EOB_ACT_END_OF_FILE 1
183 : #define EOB_ACT_LAST_MATCH 2
184 :
185 : #define YY_LESS_LINENO(n)
186 : #define YY_LINENO_REWIND_TO(ptr)
187 :
188 : /* Return all but the first "n" matched characters back to the input stream. */
189 : #define yyless(n) \
190 : do \
191 : { \
192 : /* Undo effects of setting up CalLibraryGramtext. */ \
193 : yy_size_t yyless_macro_arg = (n); \
194 : YY_LESS_LINENO(yyless_macro_arg);\
195 : *yy_cp = (yy_hold_char); \
196 : YY_RESTORE_YY_MORE_OFFSET \
197 : (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
198 : YY_DO_BEFORE_ACTION; /* set up CalLibraryGramtext again */ \
199 : } \
200 : while ( 0 )
201 :
202 : #define unput(c) yyunput( c, (yytext_ptr) )
203 :
204 : #ifndef YY_STRUCT_YY_BUFFER_STATE
205 : #define YY_STRUCT_YY_BUFFER_STATE
206 : struct yy_buffer_state
207 : {
208 : FILE *yy_input_file;
209 :
210 : char *yy_ch_buf; /* input buffer */
211 : char *yy_buf_pos; /* current position in input buffer */
212 :
213 : /* Size of input buffer in bytes, not including room for EOB
214 : * characters.
215 : */
216 : int yy_buf_size;
217 :
218 : /* Number of characters read into yy_ch_buf, not including EOB
219 : * characters.
220 : */
221 : int yy_n_chars;
222 :
223 : /* Whether we "own" the buffer - i.e., we know we created it,
224 : * and can realloc() it to grow it, and should free() it to
225 : * delete it.
226 : */
227 : int yy_is_our_buffer;
228 :
229 : /* Whether this is an "interactive" input source; if so, and
230 : * if we're using stdio for input, then we want to use getc()
231 : * instead of fread(), to make sure we stop fetching input after
232 : * each newline.
233 : */
234 : int yy_is_interactive;
235 :
236 : /* Whether we're considered to be at the beginning of a line.
237 : * If so, '^' rules will be active on the next match, otherwise
238 : * not.
239 : */
240 : int yy_at_bol;
241 :
242 : int yy_bs_lineno; /**< The line count. */
243 : int yy_bs_column; /**< The column count. */
244 :
245 : /* Whether to try to fill the input buffer when we reach the
246 : * end of it.
247 : */
248 : int yy_fill_buffer;
249 :
250 : int yy_buffer_status;
251 :
252 : #define YY_BUFFER_NEW 0
253 : #define YY_BUFFER_NORMAL 1
254 : /* When an EOF's been seen but there's still some text to process
255 : * then we mark the buffer as YY_EOF_PENDING, to indicate that we
256 : * shouldn't try reading from the input source any more. We might
257 : * still have a bunch of tokens to match, though, because of
258 : * possible backing-up.
259 : *
260 : * When we actually see the EOF, we change the status to "new"
261 : * (via CalLibraryGramrestart()), so that the user can continue scanning by
262 : * just pointing CalLibraryGramin at a new input file.
263 : */
264 : #define YY_BUFFER_EOF_PENDING 2
265 :
266 : };
267 : #endif /* !YY_STRUCT_YY_BUFFER_STATE */
268 :
269 : /* Stack of input buffers. */
270 : static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
271 : static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
272 : static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
273 :
274 : /* We provide macros for accessing buffer states in case in the
275 : * future we want to put the buffer states in a more general
276 : * "scanner state".
277 : *
278 : * Returns the top of the stack, or NULL.
279 : */
280 : #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
281 : ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
282 : : NULL)
283 :
284 : /* Same as previous macro, but useful when we know that the buffer stack is not
285 : * NULL or when we need an lvalue. For internal use only.
286 : */
287 : #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
288 :
289 : /* yy_hold_char holds the character lost when CalLibraryGramtext is formed. */
290 : static char yy_hold_char;
291 : static int yy_n_chars; /* number of characters read into yy_ch_buf */
292 : int CalLibraryGramleng;
293 :
294 : /* Points to current character in buffer. */
295 : static char *yy_c_buf_p = NULL;
296 : static int yy_init = 0; /* whether we need to initialize */
297 : static int yy_start = 0; /* start state number */
298 :
299 : /* Flag which is used to allow CalLibraryGramwrap()'s to do buffer switches
300 : * instead of setting up a fresh CalLibraryGramin. A bit of a hack ...
301 : */
302 : static int yy_did_buffer_switch_on_eof;
303 :
304 : void CalLibraryGramrestart (FILE *input_file );
305 : void CalLibraryGram_switch_to_buffer (YY_BUFFER_STATE new_buffer );
306 : YY_BUFFER_STATE CalLibraryGram_create_buffer (FILE *file,int size );
307 : void CalLibraryGram_delete_buffer (YY_BUFFER_STATE b );
308 : void CalLibraryGram_flush_buffer (YY_BUFFER_STATE b );
309 : void CalLibraryGrampush_buffer_state (YY_BUFFER_STATE new_buffer );
310 : void CalLibraryGrampop_buffer_state (void );
311 :
312 : static void CalLibraryGramensure_buffer_stack (void );
313 : static void CalLibraryGram_load_buffer_state (void );
314 : static void CalLibraryGram_init_buffer (YY_BUFFER_STATE b,FILE *file );
315 :
316 : #define YY_FLUSH_BUFFER CalLibraryGram_flush_buffer(YY_CURRENT_BUFFER )
317 :
318 : YY_BUFFER_STATE CalLibraryGram_scan_buffer (char *base,yy_size_t size );
319 : YY_BUFFER_STATE CalLibraryGram_scan_string (yyconst char *yy_str );
320 : YY_BUFFER_STATE CalLibraryGram_scan_bytes (yyconst char *bytes,int len );
321 :
322 : void *CalLibraryGramalloc (yy_size_t );
323 : void *CalLibraryGramrealloc (void *,yy_size_t );
324 : void CalLibraryGramfree (void * );
325 :
326 : #define yy_new_buffer CalLibraryGram_create_buffer
327 :
328 : #define yy_set_interactive(is_interactive) \
329 : { \
330 : if ( ! YY_CURRENT_BUFFER ){ \
331 : CalLibraryGramensure_buffer_stack (); \
332 : YY_CURRENT_BUFFER_LVALUE = \
333 : CalLibraryGram_create_buffer(CalLibraryGramin,YY_BUF_SIZE ); \
334 : } \
335 : YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
336 : }
337 :
338 : #define yy_set_bol(at_bol) \
339 : { \
340 : if ( ! YY_CURRENT_BUFFER ){\
341 : CalLibraryGramensure_buffer_stack (); \
342 : YY_CURRENT_BUFFER_LVALUE = \
343 : CalLibraryGram_create_buffer(CalLibraryGramin,YY_BUF_SIZE ); \
344 : } \
345 : YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
346 : }
347 :
348 : #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
349 :
350 : typedef unsigned char YY_CHAR;
351 :
352 : FILE *CalLibraryGramin = NULL, *CalLibraryGramout = NULL;
353 :
354 : typedef int yy_state_type;
355 :
356 : extern int CalLibraryGramlineno;
357 :
358 : int CalLibraryGramlineno = 1;
359 :
360 : extern char *CalLibraryGramtext;
361 : #ifdef yytext_ptr
362 : #undef yytext_ptr
363 : #endif
364 : #define yytext_ptr CalLibraryGramtext
365 :
366 : static yy_state_type yy_get_previous_state (void );
367 : static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
368 : static int yy_get_next_buffer (void );
369 : static void yynoreturn yy_fatal_error (yyconst char* msg );
370 :
371 : /* Done after the current pattern has been matched and before the
372 : * corresponding action - sets up CalLibraryGramtext.
373 : */
374 : #define YY_DO_BEFORE_ACTION \
375 : (yytext_ptr) = yy_bp; \
376 : CalLibraryGramleng = (int) (yy_cp - yy_bp); \
377 : (yy_hold_char) = *yy_cp; \
378 : *yy_cp = '\0'; \
379 : (yy_c_buf_p) = yy_cp;
380 :
381 : #define YY_NUM_RULES 17
382 : #define YY_END_OF_BUFFER 18
383 : /* This struct is not used in this scanner,
384 : but its presence is necessary. */
385 : struct yy_trans_info
386 : {
387 : flex_int32_t yy_verify;
388 : flex_int32_t yy_nxt;
389 : };
390 : static yyconst flex_int16_t yy_accept[54] =
391 : { 0,
392 : 0, 0, 0, 0, 18, 16, 1, 9, 16, 16,
393 : 9, 7, 8, 10, 5, 4, 12, 10, 10, 1,
394 : 2, 16, 17, 13, 14, 15, 0, 11, 0, 0,
395 : 7, 10, 10, 10, 10, 10, 0, 0, 0, 3,
396 : 14, 0, 0, 6, 10, 10, 10, 10, 10, 4,
397 : 10, 5, 0
398 : } ;
399 :
400 : static yyconst YY_CHAR yy_ec[256] =
401 : { 0,
402 : 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
403 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
404 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
405 : 1, 4, 1, 5, 6, 1, 1, 1, 7, 1,
406 : 1, 1, 1, 8, 1, 9, 1, 10, 10, 10,
407 : 10, 10, 10, 10, 10, 10, 10, 1, 1, 1,
408 : 11, 1, 1, 1, 12, 12, 12, 12, 12, 13,
409 : 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
410 : 12, 12, 12, 14, 12, 12, 12, 12, 12, 12,
411 : 15, 1, 16, 1, 1, 1, 17, 12, 12, 12,
412 :
413 : 18, 19, 12, 12, 12, 12, 12, 20, 12, 12,
414 : 12, 12, 12, 21, 22, 23, 24, 12, 12, 12,
415 : 12, 12, 1, 1, 1, 1, 1, 1, 1, 1,
416 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
417 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
418 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
419 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
420 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
421 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
422 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
423 :
424 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
425 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
426 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
427 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
428 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
429 : 1, 1, 1, 1, 1
430 : } ;
431 :
432 : static yyconst YY_CHAR yy_meta[25] =
433 : { 0,
434 : 1, 1, 2, 1, 1, 1, 1, 1, 3, 3,
435 : 1, 3, 3, 3, 1, 1, 3, 3, 3, 3,
436 : 3, 3, 3, 3
437 : } ;
438 :
439 : static yyconst flex_uint16_t yy_base[59] =
440 : { 0,
441 : 0, 23, 26, 39, 105, 106, 106, 106, 99, 96,
442 : 106, 22, 106, 93, 24, 19, 106, 28, 29, 42,
443 : 106, 98, 106, 106, 90, 106, 94, 46, 91, 87,
444 : 47, 87, 43, 30, 49, 50, 58, 92, 91, 106,
445 : 83, 83, 78, 65, 56, 52, 57, 58, 59, 64,
446 : 62, 63, 106, 80, 83, 86, 32, 89
447 : } ;
448 :
449 : static yyconst flex_int16_t yy_def[59] =
450 : { 0,
451 : 53, 1, 54, 54, 53, 53, 53, 53, 55, 56,
452 : 53, 57, 53, 57, 57, 57, 53, 57, 57, 53,
453 : 53, 58, 53, 53, 53, 53, 55, 53, 56, 53,
454 : 57, 57, 57, 57, 57, 57, 53, 58, 58, 53,
455 : 53, 55, 56, 53, 57, 57, 57, 57, 57, 57,
456 : 57, 57, 0, 53, 53, 53, 53, 53
457 : } ;
458 :
459 : static yyconst flex_uint16_t yy_nxt[131] =
460 : { 0,
461 : 6, 7, 8, 7, 9, 6, 10, 11, 6, 12,
462 : 13, 14, 15, 16, 17, 6, 14, 14, 18, 14,
463 : 14, 14, 19, 14, 20, 21, 20, 53, 22, 24,
464 : 30, 31, 53, 24, 32, 25, 53, 53, 53, 34,
465 : 33, 26, 24, 37, 35, 37, 24, 38, 25, 36,
466 : 42, 53, 43, 46, 26, 30, 31, 53, 53, 37,
467 : 53, 37, 45, 38, 53, 53, 53, 53, 47, 50,
468 : 53, 53, 53, 48, 44, 50, 52, 49, 51, 52,
469 : 23, 23, 23, 27, 28, 27, 29, 28, 29, 39,
470 : 39, 39, 41, 40, 40, 53, 44, 28, 28, 41,
471 :
472 : 40, 53, 28, 28, 53, 5, 53, 53, 53, 53,
473 : 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
474 : 53, 53, 53, 53, 53, 53, 53, 53, 53, 53
475 : } ;
476 :
477 : static yyconst flex_int16_t yy_chk[131] =
478 : { 0,
479 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
480 : 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
481 : 1, 1, 1, 1, 2, 2, 2, 16, 2, 3,
482 : 12, 12, 15, 3, 57, 3, 18, 19, 34, 16,
483 : 15, 3, 4, 20, 18, 20, 4, 20, 4, 19,
484 : 28, 33, 28, 34, 4, 31, 31, 35, 36, 37,
485 : 46, 37, 33, 37, 45, 47, 48, 49, 35, 46,
486 : 51, 52, 50, 36, 44, 48, 49, 45, 47, 51,
487 : 54, 54, 54, 55, 43, 55, 56, 42, 56, 58,
488 : 58, 58, 41, 39, 38, 32, 30, 29, 27, 25,
489 :
490 : 22, 14, 10, 9, 5, 53, 53, 53, 53, 53,
491 : 53, 53, 53, 53, 53, 53, 53, 53, 53, 53,
492 : 53, 53, 53, 53, 53, 53, 53, 53, 53, 53
493 : } ;
494 :
495 : static yy_state_type yy_last_accepting_state;
496 : static char *yy_last_accepting_cpos;
497 :
498 : extern int CalLibraryGram_flex_debug;
499 : int CalLibraryGram_flex_debug = 0;
500 :
501 : /* The intent behind this definition is that it'll catch
502 : * any uses of REJECT which flex missed.
503 : */
504 : #define REJECT reject_used_but_not_detected
505 : #define yymore() yymore_used_but_not_detected
506 : #define YY_MORE_ADJ 0
507 : #define YY_RESTORE_YY_MORE_OFFSET
508 : char *CalLibraryGramtext;
509 : #line 1 "CalLibrary/CalLibraryGram.ll"
510 : /* -*- C -*-
511 : CalLibraryGram.ll: Lexical analyzer for cal library files
512 : Copyright (C) 2015
513 : Associated Universities, Inc. Washington DC, USA.
514 :
515 : This library is free software; you can redistribute it and/or modify it
516 : under the terms of the GNU Library General Public License as published by
517 : the Free Software Foundation; either version 2 of the License, or (at your
518 : option) any later version.
519 :
520 : This library is distributed in the hope that it will be useful, but WITHOUT
521 : ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
522 : FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
523 : License for more details.
524 :
525 : You should have received a copy of the GNU Library General Public License
526 : along with this library; if not, write to the Free Software Foundation,
527 : Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
528 :
529 : Correspondence concerning AIPS++ should be addressed as follows:
530 : Internet email: casa-feedback@nrao.edu.
531 : Postal address: AIPS++ Project Office
532 : National Radio Astronomy Observatory
533 : 520 Edgemont Road
534 : Charlottesville, VA 22903-2475 USA
535 : */
536 : /* yy_unput is not used, so let flex not generate it, otherwise picky
537 : compilers will issue warnings. */
538 : #line 33 "CalLibrary/CalLibraryGram.ll"
539 : #undef YY_INPUT
540 : #define YY_INPUT(buf,result,max_size) result = calLibraryGramInput(buf, max_size)
541 : #undef YY_DECL
542 : #define YY_DECL int CalLibraryGramlex (YYSTYPE* lvalp)
543 : #include <string.h>
544 :
545 : #line 546 "/source/casa6/casatools/src/code/build/synthesis/CalLibraryGram.lcc"
546 :
547 : #define INITIAL 0
548 : #define ORDERED_LIST 1
549 :
550 : #ifndef YY_NO_UNISTD_H
551 : /* Special case for "unistd.h", since it is non-ANSI. We include it way
552 : * down here because we want the user's section 1 to have been scanned first.
553 : * The user has a chance to override it with an option.
554 : */
555 : #include <unistd.h>
556 : #endif
557 :
558 : #ifndef YY_EXTRA_TYPE
559 : #define YY_EXTRA_TYPE void *
560 : #endif
561 :
562 : static int yy_init_globals (void );
563 :
564 : /* Accessor methods to globals.
565 : These are made visible to non-reentrant scanners for convenience. */
566 :
567 : int CalLibraryGramlex_destroy (void );
568 :
569 : int CalLibraryGramget_debug (void );
570 :
571 : void CalLibraryGramset_debug (int debug_flag );
572 :
573 : YY_EXTRA_TYPE CalLibraryGramget_extra (void );
574 :
575 : void CalLibraryGramset_extra (YY_EXTRA_TYPE user_defined );
576 :
577 : FILE *CalLibraryGramget_in (void );
578 :
579 : void CalLibraryGramset_in (FILE * _in_str );
580 :
581 : FILE *CalLibraryGramget_out (void );
582 :
583 : void CalLibraryGramset_out (FILE * _out_str );
584 :
585 : int CalLibraryGramget_leng (void );
586 :
587 : char *CalLibraryGramget_text (void );
588 :
589 : int CalLibraryGramget_lineno (void );
590 :
591 : void CalLibraryGramset_lineno (int _line_number );
592 :
593 : /* Macros after this point can all be overridden by user definitions in
594 : * section 1.
595 : */
596 :
597 : #ifndef YY_SKIP_YYWRAP
598 : #ifdef __cplusplus
599 : extern "C" int CalLibraryGramwrap (void );
600 : #else
601 : extern int CalLibraryGramwrap (void );
602 : #endif
603 : #endif
604 :
605 : #ifndef YY_NO_UNPUT
606 :
607 : #endif
608 :
609 : #ifndef yytext_ptr
610 : static void yy_flex_strncpy (char *,yyconst char *,int );
611 : #endif
612 :
613 : #ifdef YY_NEED_STRLEN
614 : static int yy_flex_strlen (yyconst char * );
615 : #endif
616 :
617 : #ifndef YY_NO_INPUT
618 :
619 : #ifdef __cplusplus
620 : static int yyinput (void );
621 : #else
622 : static int input (void );
623 : #endif
624 :
625 : #endif
626 :
627 : /* Amount of stuff to slurp up with each read. */
628 : #ifndef YY_READ_BUF_SIZE
629 : #ifdef __ia64__
630 : /* On IA-64, the buffer size is 16k, not 8k */
631 : #define YY_READ_BUF_SIZE 16384
632 : #else
633 : #define YY_READ_BUF_SIZE 8192
634 : #endif /* __ia64__ */
635 : #endif
636 :
637 : /* Copy whatever the last rule matched to the standard output. */
638 : #ifndef ECHO
639 : /* This used to be an fputs(), but since the string might contain NUL's,
640 : * we now use fwrite().
641 : */
642 : #define ECHO do { if (fwrite( CalLibraryGramtext, (size_t) CalLibraryGramleng, 1, CalLibraryGramout )) {} } while (0)
643 : #endif
644 :
645 : /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
646 : * is returned in "result".
647 : */
648 : #ifndef YY_INPUT
649 : #define YY_INPUT(buf,result,max_size) \
650 : if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
651 : { \
652 : int c = '*'; \
653 : int n; \
654 : for ( n = 0; n < max_size && \
655 : (c = getc( CalLibraryGramin )) != EOF && c != '\n'; ++n ) \
656 : buf[n] = (char) c; \
657 : if ( c == '\n' ) \
658 : buf[n++] = (char) c; \
659 : if ( c == EOF && ferror( CalLibraryGramin ) ) \
660 : YY_FATAL_ERROR( "input in flex scanner failed" ); \
661 : result = n; \
662 : } \
663 : else \
664 : { \
665 : errno=0; \
666 : while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, CalLibraryGramin)) == 0 && ferror(CalLibraryGramin)) \
667 : { \
668 : if( errno != EINTR) \
669 : { \
670 : YY_FATAL_ERROR( "input in flex scanner failed" ); \
671 : break; \
672 : } \
673 : errno=0; \
674 : clearerr(CalLibraryGramin); \
675 : } \
676 : }\
677 : \
678 :
679 : #endif
680 :
681 : /* No semi-colon after return; correct usage is to write "yyterminate();" -
682 : * we don't want an extra ';' after the "return" because that will cause
683 : * some compilers to complain about unreachable statements.
684 : */
685 : #ifndef yyterminate
686 : #define yyterminate() return YY_NULL
687 : #endif
688 :
689 : /* Number of entries by which start-condition stack grows. */
690 : #ifndef YY_START_STACK_INCR
691 : #define YY_START_STACK_INCR 25
692 : #endif
693 :
694 : /* Report a fatal error. */
695 : #ifndef YY_FATAL_ERROR
696 : #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
697 : #endif
698 :
699 : /* end tables serialization structures and prototypes */
700 :
701 : /* Default declaration of generated scanner - a define so the user can
702 : * easily add parameters.
703 : */
704 : #ifndef YY_DECL
705 : #define YY_DECL_IS_OURS 1
706 :
707 : extern int CalLibraryGramlex (void);
708 :
709 : #define YY_DECL int CalLibraryGramlex (void)
710 : #endif /* !YY_DECL */
711 :
712 : /* Code executed at the beginning of each rule, after CalLibraryGramtext and CalLibraryGramleng
713 : * have been set up.
714 : */
715 : #ifndef YY_USER_ACTION
716 : #define YY_USER_ACTION
717 : #endif
718 :
719 : /* Code executed at the end of each rule. */
720 : #ifndef YY_BREAK
721 : #define YY_BREAK /*LINTED*/break;
722 : #endif
723 :
724 : #define YY_RULE_SETUP \
725 : if ( CalLibraryGramleng > 0 ) \
726 : YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
727 : (CalLibraryGramtext[CalLibraryGramleng - 1] == '\n'); \
728 : YY_USER_ACTION
729 :
730 : /** The main scanner function which does all the work.
731 : */
732 96 : YY_DECL
733 : {
734 : yy_state_type yy_current_state;
735 : char *yy_cp, *yy_bp;
736 : int yy_act;
737 :
738 96 : if ( !(yy_init) )
739 : {
740 1 : (yy_init) = 1;
741 :
742 : #ifdef YY_USER_INIT
743 : YY_USER_INIT;
744 : #endif
745 :
746 1 : if ( ! (yy_start) )
747 0 : (yy_start) = 1; /* first start state */
748 :
749 1 : if ( ! CalLibraryGramin )
750 1 : CalLibraryGramin = stdin;
751 :
752 1 : if ( ! CalLibraryGramout )
753 1 : CalLibraryGramout = stdout;
754 :
755 1 : if ( ! YY_CURRENT_BUFFER ) {
756 0 : CalLibraryGramensure_buffer_stack ();
757 0 : YY_CURRENT_BUFFER_LVALUE =
758 0 : CalLibraryGram_create_buffer(CalLibraryGramin,YY_BUF_SIZE );
759 : }
760 :
761 1 : CalLibraryGram_load_buffer_state( );
762 : }
763 :
764 : {
765 : #line 45 "CalLibrary/CalLibraryGram.ll"
766 :
767 : #line 768 "/source/casa6/casatools/src/code/build/synthesis/CalLibraryGram.lcc"
768 :
769 : while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
770 : {
771 123 : yy_cp = (yy_c_buf_p);
772 :
773 : /* Support of CalLibraryGramtext. */
774 123 : *yy_cp = (yy_hold_char);
775 :
776 : /* yy_bp points to the position in yy_ch_buf of the start of
777 : * the current run.
778 : */
779 123 : yy_bp = yy_cp;
780 :
781 123 : yy_current_state = (yy_start);
782 123 : yy_current_state += YY_AT_BOL();
783 126 : yy_match:
784 : do
785 : {
786 552 : YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
787 552 : if ( yy_accept[yy_current_state] )
788 : {
789 248 : (yy_last_accepting_state) = yy_current_state;
790 248 : (yy_last_accepting_cpos) = yy_cp;
791 : }
792 986 : while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
793 : {
794 434 : yy_current_state = (int) yy_def[yy_current_state];
795 434 : if ( yy_current_state >= 54 )
796 359 : yy_c = yy_meta[(unsigned int) yy_c];
797 : }
798 552 : yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
799 552 : ++yy_cp;
800 : }
801 552 : while ( yy_base[yy_current_state] != 106 );
802 :
803 126 : yy_find_action:
804 126 : yy_act = yy_accept[yy_current_state];
805 126 : if ( yy_act == 0 )
806 : { /* have to back up */
807 63 : yy_cp = (yy_last_accepting_cpos);
808 63 : yy_current_state = (yy_last_accepting_state);
809 63 : yy_act = yy_accept[yy_current_state];
810 : }
811 :
812 126 : YY_DO_BEFORE_ACTION;
813 :
814 129 : do_action: /* This label is used only to access EOF actions. */
815 :
816 129 : switch ( yy_act )
817 : { /* beginning of action switch */
818 0 : case 0: /* must back up */
819 : /* undo the effects of YY_DO_BEFORE_ACTION */
820 0 : *yy_cp = (yy_hold_char);
821 0 : yy_cp = (yy_last_accepting_cpos);
822 0 : yy_current_state = (yy_last_accepting_state);
823 0 : goto yy_find_action;
824 :
825 20 : case 1:
826 20 : YY_RULE_SETUP
827 : #line 46 "CalLibrary/CalLibraryGram.ll"
828 : ;
829 : YY_BREAK
830 : case 2:
831 : /* rule 2 can match eol */
832 : YY_RULE_SETUP
833 : #line 47 "CalLibrary/CalLibraryGram.ll"
834 : { ++(calLibLineNum()); }
835 : YY_BREAK
836 : case 3:
837 : /* rule 3 can match eol */
838 : YY_RULE_SETUP
839 : #line 48 "CalLibrary/CalLibraryGram.ll"
840 : { ++(calLibLineNum()); } // comment
841 : YY_BREAK
842 : case 4:
843 : YY_RULE_SETUP
844 : #line 49 "CalLibrary/CalLibraryGram.ll"
845 : { lvalp->bval = true; return BOOLEAN; }
846 : YY_BREAK
847 : case 5:
848 : YY_RULE_SETUP
849 : #line 50 "CalLibrary/CalLibraryGram.ll"
850 : { lvalp->bval = false; return BOOLEAN; }
851 : YY_BREAK
852 : case 6:
853 : YY_RULE_SETUP
854 : #line 51 "CalLibrary/CalLibraryGram.ll"
855 : { lvalp->fval = atof(CalLibraryGramtext); return FLOAT; }
856 : YY_BREAK
857 : case 7:
858 : YY_RULE_SETUP
859 : #line 52 "CalLibrary/CalLibraryGram.ll"
860 : { lvalp->ival = atoi(CalLibraryGramtext); return INT; }
861 : YY_BREAK
862 : case 8:
863 : YY_RULE_SETUP
864 : #line 53 "CalLibrary/CalLibraryGram.ll"
865 : { return EQ; }
866 : YY_BREAK
867 : case 9:
868 : /* rule 9 can match eol */
869 : YY_RULE_SETUP
870 : #line 54 "CalLibrary/CalLibraryGram.ll"
871 : { ++(calLibLineNum()); return ENDL; }
872 : YY_BREAK
873 : case 10:
874 : YY_RULE_SETUP
875 : #line 56 "CalLibrary/CalLibraryGram.ll"
876 : {
877 : // copy in case CalLibraryGramtext changes underneath us:
878 : lvalp->sval = strdup(CalLibraryGramtext);
879 : return STRING; }
880 : YY_BREAK
881 : case 11:
882 : YY_RULE_SETUP
883 : #line 60 "CalLibrary/CalLibraryGram.ll"
884 : {
885 : // copy in case CalLibraryGramtext changes underneath us:
886 : std::string str = strdup(CalLibraryGramtext);
887 : char * cstr = new char[CalLibraryGramleng];
888 : strcpy(cstr, str.substr(1, CalLibraryGramleng - 2).c_str());
889 : lvalp->sval = cstr;
890 : return STRING; }
891 : YY_BREAK
892 : case 12:
893 : YY_RULE_SETUP
894 : #line 68 "CalLibrary/CalLibraryGram.ll"
895 : { BEGIN(ORDERED_LIST); } // begin ordered list
896 : YY_BREAK
897 : case 13:
898 : YY_RULE_SETUP
899 : #line 69 "CalLibrary/CalLibraryGram.ll"
900 : ; // ignore spaces and commas
901 : YY_BREAK
902 : case 14:
903 : YY_RULE_SETUP
904 : #line 70 "CalLibrary/CalLibraryGram.ll"
905 : { lvalp->idx_int = atoi(CalLibraryGramtext);
906 : return ARRAY_INT; }
907 : YY_BREAK
908 : case 15:
909 : YY_RULE_SETUP
910 : #line 72 "CalLibrary/CalLibraryGram.ll"
911 : { BEGIN(INITIAL); // end of list, back to normal
912 : return END_LIST; }
913 : YY_BREAK
914 : case 16:
915 : YY_RULE_SETUP
916 : #line 75 "CalLibrary/CalLibraryGram.ll"
917 : ;
918 : YY_BREAK
919 : case 17:
920 : YY_RULE_SETUP
921 : #line 76 "CalLibrary/CalLibraryGram.ll"
922 : ECHO;
923 : YY_BREAK
924 : #line 925 "/source/casa6/casatools/src/code/build/synthesis/CalLibraryGram.lcc"
925 3 : case YY_STATE_EOF(INITIAL):
926 : case YY_STATE_EOF(ORDERED_LIST):
927 3 : yyterminate();
928 :
929 6 : case YY_END_OF_BUFFER:
930 : {
931 : /* Amount of text matched not including the EOB char. */
932 6 : int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
933 :
934 : /* Undo the effects of YY_DO_BEFORE_ACTION. */
935 6 : *yy_cp = (yy_hold_char);
936 : YY_RESTORE_YY_MORE_OFFSET
937 :
938 6 : if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
939 : {
940 : /* We're scanning a new file or input source. It's
941 : * possible that this happened because the user
942 : * just pointed CalLibraryGramin at a new source and called
943 : * CalLibraryGramlex(). If so, then we have to assure
944 : * consistency between YY_CURRENT_BUFFER and our
945 : * globals. Here is the right place to do so, because
946 : * this is the first action (other than possibly a
947 : * back-up) that will match for the new input source.
948 : */
949 3 : (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
950 3 : YY_CURRENT_BUFFER_LVALUE->yy_input_file = CalLibraryGramin;
951 3 : YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
952 : }
953 :
954 : /* Note that here we test for yy_c_buf_p "<=" to the position
955 : * of the first EOB in the buffer, since yy_c_buf_p will
956 : * already have been incremented past the NUL character
957 : * (since all states make transitions on EOB to the
958 : * end-of-buffer state). Contrast this with the test
959 : * in input().
960 : */
961 6 : if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
962 : { /* This was really a NUL. */
963 : yy_state_type yy_next_state;
964 :
965 0 : (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
966 :
967 0 : yy_current_state = yy_get_previous_state( );
968 :
969 : /* Okay, we're now positioned to make the NUL
970 : * transition. We couldn't have
971 : * yy_get_previous_state() go ahead and do it
972 : * for us because it doesn't know how to deal
973 : * with the possibility of jamming (and we don't
974 : * want to build jamming into it because then it
975 : * will run more slowly).
976 : */
977 :
978 0 : yy_next_state = yy_try_NUL_trans( yy_current_state );
979 :
980 0 : yy_bp = (yytext_ptr) + YY_MORE_ADJ;
981 :
982 0 : if ( yy_next_state )
983 : {
984 : /* Consume the NUL. */
985 0 : yy_cp = ++(yy_c_buf_p);
986 0 : yy_current_state = yy_next_state;
987 0 : goto yy_match;
988 : }
989 :
990 : else
991 : {
992 0 : yy_cp = (yy_c_buf_p);
993 0 : goto yy_find_action;
994 : }
995 : }
996 :
997 6 : else switch ( yy_get_next_buffer( ) )
998 : {
999 3 : case EOB_ACT_END_OF_FILE:
1000 : {
1001 3 : (yy_did_buffer_switch_on_eof) = 0;
1002 :
1003 3 : if ( CalLibraryGramwrap( ) )
1004 : {
1005 : /* Note: because we've taken care in
1006 : * yy_get_next_buffer() to have set up
1007 : * CalLibraryGramtext, we can now set up
1008 : * yy_c_buf_p so that if some total
1009 : * hoser (like flex itself) wants to
1010 : * call the scanner after we return the
1011 : * YY_NULL, it'll still work - another
1012 : * YY_NULL will get returned.
1013 : */
1014 3 : (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
1015 :
1016 3 : yy_act = YY_STATE_EOF(YY_START);
1017 3 : goto do_action;
1018 : }
1019 :
1020 : else
1021 : {
1022 0 : if ( ! (yy_did_buffer_switch_on_eof) )
1023 0 : YY_NEW_FILE;
1024 : }
1025 0 : break;
1026 : }
1027 :
1028 3 : case EOB_ACT_CONTINUE_SCAN:
1029 3 : (yy_c_buf_p) =
1030 3 : (yytext_ptr) + yy_amount_of_matched_text;
1031 :
1032 3 : yy_current_state = yy_get_previous_state( );
1033 :
1034 3 : yy_cp = (yy_c_buf_p);
1035 3 : yy_bp = (yytext_ptr) + YY_MORE_ADJ;
1036 3 : goto yy_match;
1037 :
1038 0 : case EOB_ACT_LAST_MATCH:
1039 0 : (yy_c_buf_p) =
1040 0 : &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
1041 :
1042 0 : yy_current_state = yy_get_previous_state( );
1043 :
1044 0 : yy_cp = (yy_c_buf_p);
1045 0 : yy_bp = (yytext_ptr) + YY_MORE_ADJ;
1046 0 : goto yy_find_action;
1047 : }
1048 0 : break;
1049 : }
1050 :
1051 0 : default:
1052 0 : YY_FATAL_ERROR(
1053 : "fatal flex scanner internal error--no action found" );
1054 : } /* end of action switch */
1055 27 : } /* end of scanning one token */
1056 : } /* end of user's declarations */
1057 : } /* end of CalLibraryGramlex */
1058 :
1059 : /* yy_get_next_buffer - try to read in a new buffer
1060 : *
1061 : * Returns a code representing an action:
1062 : * EOB_ACT_LAST_MATCH -
1063 : * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
1064 : * EOB_ACT_END_OF_FILE - end of file
1065 : */
1066 6 : static int yy_get_next_buffer (void)
1067 : {
1068 6 : char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
1069 6 : char *source = (yytext_ptr);
1070 : yy_size_t number_to_move, i;
1071 : int ret_val;
1072 :
1073 6 : if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
1074 0 : YY_FATAL_ERROR(
1075 : "fatal flex scanner internal error--end of buffer missed" );
1076 :
1077 6 : if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
1078 : { /* Don't try to fill the buffer, so this is an EOF. */
1079 0 : if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
1080 : {
1081 : /* We matched a single character, the EOB, so
1082 : * treat this as a final EOF.
1083 : */
1084 0 : return EOB_ACT_END_OF_FILE;
1085 : }
1086 :
1087 : else
1088 : {
1089 : /* We matched some text prior to the EOB, first
1090 : * process it.
1091 : */
1092 0 : return EOB_ACT_LAST_MATCH;
1093 : }
1094 : }
1095 :
1096 : /* Try to read more data. */
1097 :
1098 : /* First move last chars to start of buffer. */
1099 6 : number_to_move = (yy_size_t) ((yy_c_buf_p) - (yytext_ptr)) - 1;
1100 :
1101 6 : for ( i = 0; i < number_to_move; ++i )
1102 0 : *(dest++) = *(source++);
1103 :
1104 6 : if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
1105 : /* don't do the read, it's not guaranteed to return an EOF,
1106 : * just force an EOF
1107 : */
1108 0 : YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
1109 :
1110 : else
1111 : {
1112 6 : int num_to_read =
1113 6 : YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
1114 :
1115 6 : while ( num_to_read <= 0 )
1116 : { /* Not enough room in the buffer - grow it. */
1117 :
1118 : /* just a shorter name for the current buffer */
1119 0 : YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
1120 :
1121 0 : int yy_c_buf_p_offset =
1122 0 : (int) ((yy_c_buf_p) - b->yy_ch_buf);
1123 :
1124 0 : if ( b->yy_is_our_buffer )
1125 : {
1126 0 : int new_size = b->yy_buf_size * 2;
1127 :
1128 0 : if ( new_size <= 0 )
1129 0 : b->yy_buf_size += b->yy_buf_size / 8;
1130 : else
1131 0 : b->yy_buf_size *= 2;
1132 :
1133 0 : b->yy_ch_buf = (char *)
1134 : /* Include room in for 2 EOB chars. */
1135 0 : CalLibraryGramrealloc((void *) b->yy_ch_buf,(yy_size_t) (b->yy_buf_size + 2) );
1136 : }
1137 : else
1138 : /* Can't grow it, we don't own it. */
1139 0 : b->yy_ch_buf = NULL;
1140 :
1141 0 : if ( ! b->yy_ch_buf )
1142 0 : YY_FATAL_ERROR(
1143 : "fatal error - scanner input buffer overflow" );
1144 :
1145 0 : (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
1146 :
1147 0 : num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
1148 0 : number_to_move - 1;
1149 :
1150 : }
1151 :
1152 6 : if ( num_to_read > YY_READ_BUF_SIZE )
1153 6 : num_to_read = YY_READ_BUF_SIZE;
1154 :
1155 : /* Read in more data. */
1156 6 : YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
1157 : (yy_n_chars), num_to_read );
1158 :
1159 6 : YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
1160 : }
1161 :
1162 6 : if ( (yy_n_chars) == 0 )
1163 : {
1164 3 : if ( number_to_move == YY_MORE_ADJ )
1165 : {
1166 3 : ret_val = EOB_ACT_END_OF_FILE;
1167 3 : CalLibraryGramrestart(CalLibraryGramin );
1168 : }
1169 :
1170 : else
1171 : {
1172 0 : ret_val = EOB_ACT_LAST_MATCH;
1173 0 : YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
1174 : YY_BUFFER_EOF_PENDING;
1175 : }
1176 : }
1177 :
1178 : else
1179 3 : ret_val = EOB_ACT_CONTINUE_SCAN;
1180 :
1181 6 : if ((int) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
1182 : /* Extend the array by 50%, plus the number we really need. */
1183 0 : int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
1184 0 : YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) CalLibraryGramrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,(yy_size_t) new_size );
1185 0 : if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
1186 0 : YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
1187 : }
1188 :
1189 6 : (yy_n_chars) += number_to_move;
1190 6 : YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
1191 6 : YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
1192 :
1193 6 : (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
1194 :
1195 6 : return ret_val;
1196 : }
1197 :
1198 : /* yy_get_previous_state - get the state just before the EOB char was reached */
1199 :
1200 3 : static yy_state_type yy_get_previous_state (void)
1201 : {
1202 : yy_state_type yy_current_state;
1203 : char *yy_cp;
1204 :
1205 3 : yy_current_state = (yy_start);
1206 3 : yy_current_state += YY_AT_BOL();
1207 :
1208 3 : for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
1209 : {
1210 0 : YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
1211 0 : if ( yy_accept[yy_current_state] )
1212 : {
1213 0 : (yy_last_accepting_state) = yy_current_state;
1214 0 : (yy_last_accepting_cpos) = yy_cp;
1215 : }
1216 0 : while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1217 : {
1218 0 : yy_current_state = (int) yy_def[yy_current_state];
1219 0 : if ( yy_current_state >= 54 )
1220 0 : yy_c = yy_meta[(unsigned int) yy_c];
1221 : }
1222 0 : yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
1223 : }
1224 :
1225 3 : return yy_current_state;
1226 : }
1227 :
1228 : /* yy_try_NUL_trans - try to make a transition on the NUL character
1229 : *
1230 : * synopsis
1231 : * next_state = yy_try_NUL_trans( current_state );
1232 : */
1233 0 : static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
1234 : {
1235 : int yy_is_jam;
1236 0 : char *yy_cp = (yy_c_buf_p);
1237 :
1238 0 : YY_CHAR yy_c = 1;
1239 0 : if ( yy_accept[yy_current_state] )
1240 : {
1241 0 : (yy_last_accepting_state) = yy_current_state;
1242 0 : (yy_last_accepting_cpos) = yy_cp;
1243 : }
1244 0 : while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1245 : {
1246 0 : yy_current_state = (int) yy_def[yy_current_state];
1247 0 : if ( yy_current_state >= 54 )
1248 0 : yy_c = yy_meta[(unsigned int) yy_c];
1249 : }
1250 0 : yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
1251 0 : yy_is_jam = (yy_current_state == 53);
1252 :
1253 0 : return yy_is_jam ? 0 : yy_current_state;
1254 : }
1255 :
1256 : #ifndef YY_NO_UNPUT
1257 :
1258 : #endif
1259 :
1260 : #ifndef YY_NO_INPUT
1261 : #ifdef __cplusplus
1262 0 : static int yyinput (void)
1263 : #else
1264 : static int input (void)
1265 : #endif
1266 :
1267 : {
1268 : int c;
1269 :
1270 0 : *(yy_c_buf_p) = (yy_hold_char);
1271 :
1272 0 : if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
1273 : {
1274 : /* yy_c_buf_p now points to the character we want to return.
1275 : * If this occurs *before* the EOB characters, then it's a
1276 : * valid NUL; if not, then we've hit the end of the buffer.
1277 : */
1278 0 : if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
1279 : /* This was really a NUL. */
1280 0 : *(yy_c_buf_p) = '\0';
1281 :
1282 : else
1283 : { /* need more input */
1284 0 : int offset = (yy_c_buf_p) - (yytext_ptr);
1285 0 : ++(yy_c_buf_p);
1286 :
1287 0 : switch ( yy_get_next_buffer( ) )
1288 : {
1289 0 : case EOB_ACT_LAST_MATCH:
1290 : /* This happens because yy_g_n_b()
1291 : * sees that we've accumulated a
1292 : * token and flags that we need to
1293 : * try matching the token before
1294 : * proceeding. But for input(),
1295 : * there's no matching to consider.
1296 : * So convert the EOB_ACT_LAST_MATCH
1297 : * to EOB_ACT_END_OF_FILE.
1298 : */
1299 :
1300 : /* Reset buffer status. */
1301 0 : CalLibraryGramrestart(CalLibraryGramin );
1302 :
1303 : /*FALLTHROUGH*/
1304 :
1305 0 : case EOB_ACT_END_OF_FILE:
1306 : {
1307 0 : if ( CalLibraryGramwrap( ) )
1308 0 : return 0;
1309 :
1310 0 : if ( ! (yy_did_buffer_switch_on_eof) )
1311 0 : YY_NEW_FILE;
1312 : #ifdef __cplusplus
1313 0 : return yyinput();
1314 : #else
1315 : return input();
1316 : #endif
1317 : }
1318 :
1319 0 : case EOB_ACT_CONTINUE_SCAN:
1320 0 : (yy_c_buf_p) = (yytext_ptr) + offset;
1321 0 : break;
1322 : }
1323 : }
1324 : }
1325 :
1326 0 : c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
1327 0 : *(yy_c_buf_p) = '\0'; /* preserve CalLibraryGramtext */
1328 0 : (yy_hold_char) = *++(yy_c_buf_p);
1329 :
1330 0 : YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
1331 :
1332 0 : return c;
1333 : }
1334 : #endif /* ifndef YY_NO_INPUT */
1335 :
1336 : /** Immediately switch to a different input stream.
1337 : * @param input_file A readable stream.
1338 : *
1339 : * @note This function does not reset the start condition to @c INITIAL .
1340 : */
1341 6 : void CalLibraryGramrestart (FILE * input_file )
1342 : {
1343 :
1344 6 : if ( ! YY_CURRENT_BUFFER ){
1345 1 : CalLibraryGramensure_buffer_stack ();
1346 2 : YY_CURRENT_BUFFER_LVALUE =
1347 1 : CalLibraryGram_create_buffer(CalLibraryGramin,YY_BUF_SIZE );
1348 : }
1349 :
1350 6 : CalLibraryGram_init_buffer(YY_CURRENT_BUFFER,input_file );
1351 6 : CalLibraryGram_load_buffer_state( );
1352 6 : }
1353 :
1354 : /** Switch to a different input buffer.
1355 : * @param new_buffer The new input buffer.
1356 : *
1357 : */
1358 0 : void CalLibraryGram_switch_to_buffer (YY_BUFFER_STATE new_buffer )
1359 : {
1360 :
1361 : /* TODO. We should be able to replace this entire function body
1362 : * with
1363 : * CalLibraryGrampop_buffer_state();
1364 : * CalLibraryGrampush_buffer_state(new_buffer);
1365 : */
1366 0 : CalLibraryGramensure_buffer_stack ();
1367 0 : if ( YY_CURRENT_BUFFER == new_buffer )
1368 0 : return;
1369 :
1370 0 : if ( YY_CURRENT_BUFFER )
1371 : {
1372 : /* Flush out information for old buffer. */
1373 0 : *(yy_c_buf_p) = (yy_hold_char);
1374 0 : YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
1375 0 : YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
1376 : }
1377 :
1378 0 : YY_CURRENT_BUFFER_LVALUE = new_buffer;
1379 0 : CalLibraryGram_load_buffer_state( );
1380 :
1381 : /* We don't actually know whether we did this switch during
1382 : * EOF (CalLibraryGramwrap()) processing, but the only time this flag
1383 : * is looked at is after CalLibraryGramwrap() is called, so it's safe
1384 : * to go ahead and always set it.
1385 : */
1386 0 : (yy_did_buffer_switch_on_eof) = 1;
1387 : }
1388 :
1389 13 : static void CalLibraryGram_load_buffer_state (void)
1390 : {
1391 13 : (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
1392 13 : (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
1393 13 : CalLibraryGramin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
1394 13 : (yy_hold_char) = *(yy_c_buf_p);
1395 13 : }
1396 :
1397 : /** Allocate and initialize an input buffer state.
1398 : * @param file A readable stream.
1399 : * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
1400 : *
1401 : * @return the allocated buffer state.
1402 : */
1403 1 : YY_BUFFER_STATE CalLibraryGram_create_buffer (FILE * file, int size )
1404 : {
1405 : YY_BUFFER_STATE b;
1406 :
1407 1 : b = (YY_BUFFER_STATE) CalLibraryGramalloc(sizeof( struct yy_buffer_state ) );
1408 1 : if ( ! b )
1409 0 : YY_FATAL_ERROR( "out of dynamic memory in CalLibraryGram_create_buffer()" );
1410 :
1411 1 : b->yy_buf_size = size;
1412 :
1413 : /* yy_ch_buf has to be 2 characters longer than the size given because
1414 : * we need to put in 2 end-of-buffer characters.
1415 : */
1416 1 : b->yy_ch_buf = (char *) CalLibraryGramalloc((yy_size_t) (b->yy_buf_size + 2) );
1417 1 : if ( ! b->yy_ch_buf )
1418 0 : YY_FATAL_ERROR( "out of dynamic memory in CalLibraryGram_create_buffer()" );
1419 :
1420 1 : b->yy_is_our_buffer = 1;
1421 :
1422 1 : CalLibraryGram_init_buffer(b,file );
1423 :
1424 1 : return b;
1425 : }
1426 :
1427 : /** Destroy the buffer.
1428 : * @param b a buffer created with CalLibraryGram_create_buffer()
1429 : *
1430 : */
1431 0 : void CalLibraryGram_delete_buffer (YY_BUFFER_STATE b )
1432 : {
1433 :
1434 0 : if ( ! b )
1435 0 : return;
1436 :
1437 0 : if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
1438 0 : YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
1439 :
1440 0 : if ( b->yy_is_our_buffer )
1441 0 : CalLibraryGramfree((void *) b->yy_ch_buf );
1442 :
1443 0 : CalLibraryGramfree((void *) b );
1444 : }
1445 :
1446 : /* Initializes or reinitializes a buffer.
1447 : * This function is sometimes called more than once on the same buffer,
1448 : * such as during a CalLibraryGramrestart() or at EOF.
1449 : */
1450 7 : static void CalLibraryGram_init_buffer (YY_BUFFER_STATE b, FILE * file )
1451 :
1452 : {
1453 7 : int oerrno = errno;
1454 :
1455 7 : CalLibraryGram_flush_buffer(b );
1456 :
1457 7 : b->yy_input_file = file;
1458 7 : b->yy_fill_buffer = 1;
1459 :
1460 : /* If b is the current buffer, then CalLibraryGram_init_buffer was _probably_
1461 : * called from CalLibraryGramrestart() or through yy_get_next_buffer.
1462 : * In that case, we don't want to reset the lineno or column.
1463 : */
1464 7 : if (b != YY_CURRENT_BUFFER){
1465 1 : b->yy_bs_lineno = 1;
1466 1 : b->yy_bs_column = 0;
1467 : }
1468 :
1469 7 : b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
1470 :
1471 7 : errno = oerrno;
1472 7 : }
1473 :
1474 : /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
1475 : * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
1476 : *
1477 : */
1478 7 : void CalLibraryGram_flush_buffer (YY_BUFFER_STATE b )
1479 : {
1480 7 : if ( ! b )
1481 0 : return;
1482 :
1483 7 : b->yy_n_chars = 0;
1484 :
1485 : /* We always need two end-of-buffer characters. The first causes
1486 : * a transition to the end-of-buffer state. The second causes
1487 : * a jam in that state.
1488 : */
1489 7 : b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
1490 7 : b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
1491 :
1492 7 : b->yy_buf_pos = &b->yy_ch_buf[0];
1493 :
1494 7 : b->yy_at_bol = 1;
1495 7 : b->yy_buffer_status = YY_BUFFER_NEW;
1496 :
1497 7 : if ( b == YY_CURRENT_BUFFER )
1498 6 : CalLibraryGram_load_buffer_state( );
1499 : }
1500 :
1501 : /** Pushes the new state onto the stack. The new state becomes
1502 : * the current state. This function will allocate the stack
1503 : * if necessary.
1504 : * @param new_buffer The new state.
1505 : *
1506 : */
1507 0 : void CalLibraryGrampush_buffer_state (YY_BUFFER_STATE new_buffer )
1508 : {
1509 0 : if (new_buffer == NULL)
1510 0 : return;
1511 :
1512 0 : CalLibraryGramensure_buffer_stack();
1513 :
1514 : /* This block is copied from CalLibraryGram_switch_to_buffer. */
1515 0 : if ( YY_CURRENT_BUFFER )
1516 : {
1517 : /* Flush out information for old buffer. */
1518 0 : *(yy_c_buf_p) = (yy_hold_char);
1519 0 : YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
1520 0 : YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
1521 : }
1522 :
1523 : /* Only push if top exists. Otherwise, replace top. */
1524 0 : if (YY_CURRENT_BUFFER)
1525 0 : (yy_buffer_stack_top)++;
1526 0 : YY_CURRENT_BUFFER_LVALUE = new_buffer;
1527 :
1528 : /* copied from CalLibraryGram_switch_to_buffer. */
1529 0 : CalLibraryGram_load_buffer_state( );
1530 0 : (yy_did_buffer_switch_on_eof) = 1;
1531 : }
1532 :
1533 : /** Removes and deletes the top of the stack, if present.
1534 : * The next element becomes the new top.
1535 : *
1536 : */
1537 0 : void CalLibraryGrampop_buffer_state (void)
1538 : {
1539 0 : if (!YY_CURRENT_BUFFER)
1540 0 : return;
1541 :
1542 0 : CalLibraryGram_delete_buffer(YY_CURRENT_BUFFER );
1543 0 : YY_CURRENT_BUFFER_LVALUE = NULL;
1544 0 : if ((yy_buffer_stack_top) > 0)
1545 0 : --(yy_buffer_stack_top);
1546 :
1547 0 : if (YY_CURRENT_BUFFER) {
1548 0 : CalLibraryGram_load_buffer_state( );
1549 0 : (yy_did_buffer_switch_on_eof) = 1;
1550 : }
1551 : }
1552 :
1553 : /* Allocates the stack if it does not exist.
1554 : * Guarantees space for at least one push.
1555 : */
1556 1 : static void CalLibraryGramensure_buffer_stack (void)
1557 : {
1558 : int num_to_alloc;
1559 :
1560 1 : if (!(yy_buffer_stack)) {
1561 :
1562 : /* First allocation is just for 2 elements, since we don't know if this
1563 : * scanner will even need a stack. We use 2 instead of 1 to avoid an
1564 : * immediate realloc on the next call.
1565 : */
1566 1 : num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
1567 1 : (yy_buffer_stack) = (struct yy_buffer_state**)CalLibraryGramalloc
1568 1 : (num_to_alloc * sizeof(struct yy_buffer_state*)
1569 : );
1570 1 : if ( ! (yy_buffer_stack) )
1571 0 : YY_FATAL_ERROR( "out of dynamic memory in CalLibraryGramensure_buffer_stack()" );
1572 :
1573 1 : memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
1574 :
1575 1 : (yy_buffer_stack_max) = num_to_alloc;
1576 1 : (yy_buffer_stack_top) = 0;
1577 1 : return;
1578 : }
1579 :
1580 0 : if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
1581 :
1582 : /* Increase the buffer to prepare for a possible push. */
1583 0 : yy_size_t grow_size = 8 /* arbitrary grow size */;
1584 :
1585 0 : num_to_alloc = (yy_buffer_stack_max) + grow_size;
1586 0 : (yy_buffer_stack) = (struct yy_buffer_state**)CalLibraryGramrealloc
1587 0 : ((yy_buffer_stack),
1588 0 : num_to_alloc * sizeof(struct yy_buffer_state*)
1589 : );
1590 0 : if ( ! (yy_buffer_stack) )
1591 0 : YY_FATAL_ERROR( "out of dynamic memory in CalLibraryGramensure_buffer_stack()" );
1592 :
1593 : /* zero only the new slots.*/
1594 0 : memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
1595 0 : (yy_buffer_stack_max) = num_to_alloc;
1596 : }
1597 : }
1598 :
1599 : /** Setup the input buffer state to scan directly from a user-specified character buffer.
1600 : * @param base the character buffer
1601 : * @param size the size in bytes of the character buffer
1602 : *
1603 : * @return the newly allocated buffer state object.
1604 : */
1605 0 : YY_BUFFER_STATE CalLibraryGram_scan_buffer (char * base, yy_size_t size )
1606 : {
1607 : YY_BUFFER_STATE b;
1608 :
1609 0 : if ( size < 2 ||
1610 0 : base[size-2] != YY_END_OF_BUFFER_CHAR ||
1611 0 : base[size-1] != YY_END_OF_BUFFER_CHAR )
1612 : /* They forgot to leave room for the EOB's. */
1613 0 : return NULL;
1614 :
1615 0 : b = (YY_BUFFER_STATE) CalLibraryGramalloc(sizeof( struct yy_buffer_state ) );
1616 0 : if ( ! b )
1617 0 : YY_FATAL_ERROR( "out of dynamic memory in CalLibraryGram_scan_buffer()" );
1618 :
1619 0 : b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
1620 0 : b->yy_buf_pos = b->yy_ch_buf = base;
1621 0 : b->yy_is_our_buffer = 0;
1622 0 : b->yy_input_file = NULL;
1623 0 : b->yy_n_chars = b->yy_buf_size;
1624 0 : b->yy_is_interactive = 0;
1625 0 : b->yy_at_bol = 1;
1626 0 : b->yy_fill_buffer = 0;
1627 0 : b->yy_buffer_status = YY_BUFFER_NEW;
1628 :
1629 0 : CalLibraryGram_switch_to_buffer(b );
1630 :
1631 0 : return b;
1632 : }
1633 :
1634 : /** Setup the input buffer state to scan a string. The next call to CalLibraryGramlex() will
1635 : * scan from a @e copy of @a str.
1636 : * @param yystr a NUL-terminated string to scan
1637 : *
1638 : * @return the newly allocated buffer state object.
1639 : * @note If you want to scan bytes that may contain NUL values, then use
1640 : * CalLibraryGram_scan_bytes() instead.
1641 : */
1642 0 : YY_BUFFER_STATE CalLibraryGram_scan_string (yyconst char * yystr )
1643 : {
1644 :
1645 0 : return CalLibraryGram_scan_bytes(yystr,(int) strlen(yystr) );
1646 : }
1647 :
1648 : /** Setup the input buffer state to scan the given bytes. The next call to CalLibraryGramlex() will
1649 : * scan from a @e copy of @a bytes.
1650 : * @param yybytes the byte buffer to scan
1651 : * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
1652 : *
1653 : * @return the newly allocated buffer state object.
1654 : */
1655 0 : YY_BUFFER_STATE CalLibraryGram_scan_bytes (yyconst char * yybytes, int _yybytes_len )
1656 : {
1657 : YY_BUFFER_STATE b;
1658 : char *buf;
1659 : yy_size_t n;
1660 : int i;
1661 :
1662 : /* Get memory for full buffer, including space for trailing EOB's. */
1663 0 : n = (yy_size_t) (_yybytes_len + 2);
1664 0 : buf = (char *) CalLibraryGramalloc(n );
1665 0 : if ( ! buf )
1666 0 : YY_FATAL_ERROR( "out of dynamic memory in CalLibraryGram_scan_bytes()" );
1667 :
1668 0 : for ( i = 0; i < _yybytes_len; ++i )
1669 0 : buf[i] = yybytes[i];
1670 :
1671 0 : buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
1672 :
1673 0 : b = CalLibraryGram_scan_buffer(buf,n );
1674 0 : if ( ! b )
1675 0 : YY_FATAL_ERROR( "bad buffer in CalLibraryGram_scan_bytes()" );
1676 :
1677 : /* It's okay to grow etc. this buffer, and we should throw it
1678 : * away when we're done.
1679 : */
1680 0 : b->yy_is_our_buffer = 1;
1681 :
1682 0 : return b;
1683 : }
1684 :
1685 : #ifndef YY_EXIT_FAILURE
1686 : #define YY_EXIT_FAILURE 2
1687 : #endif
1688 :
1689 0 : static void yynoreturn yy_fatal_error (yyconst char* msg )
1690 : {
1691 0 : (void) fprintf( stderr, "%s\n", msg );
1692 0 : exit( YY_EXIT_FAILURE );
1693 : }
1694 :
1695 : /* Redefine yyless() so it works in section 3 code. */
1696 :
1697 : #undef yyless
1698 : #define yyless(n) \
1699 : do \
1700 : { \
1701 : /* Undo effects of setting up CalLibraryGramtext. */ \
1702 : yy_size_t yyless_macro_arg = (n); \
1703 : YY_LESS_LINENO(yyless_macro_arg);\
1704 : CalLibraryGramtext[CalLibraryGramleng] = (yy_hold_char); \
1705 : (yy_c_buf_p) = CalLibraryGramtext + yyless_macro_arg; \
1706 : (yy_hold_char) = *(yy_c_buf_p); \
1707 : *(yy_c_buf_p) = '\0'; \
1708 : CalLibraryGramleng = yyless_macro_arg; \
1709 : } \
1710 : while ( 0 )
1711 :
1712 : /* Accessor methods (get/set functions) to struct members. */
1713 :
1714 : /** Get the current line number.
1715 : *
1716 : */
1717 0 : int CalLibraryGramget_lineno (void)
1718 : {
1719 :
1720 0 : return CalLibraryGramlineno;
1721 : }
1722 :
1723 : /** Get the input stream.
1724 : *
1725 : */
1726 0 : FILE *CalLibraryGramget_in (void)
1727 : {
1728 0 : return CalLibraryGramin;
1729 : }
1730 :
1731 : /** Get the output stream.
1732 : *
1733 : */
1734 0 : FILE *CalLibraryGramget_out (void)
1735 : {
1736 0 : return CalLibraryGramout;
1737 : }
1738 :
1739 : /** Get the length of the current token.
1740 : *
1741 : */
1742 0 : int CalLibraryGramget_leng (void)
1743 : {
1744 0 : return CalLibraryGramleng;
1745 : }
1746 :
1747 : /** Get the current token.
1748 : *
1749 : */
1750 :
1751 0 : char *CalLibraryGramget_text (void)
1752 : {
1753 0 : return CalLibraryGramtext;
1754 : }
1755 :
1756 : /** Set the current line number.
1757 : * @param _line_number line number
1758 : *
1759 : */
1760 0 : void CalLibraryGramset_lineno (int _line_number )
1761 : {
1762 :
1763 0 : CalLibraryGramlineno = _line_number;
1764 0 : }
1765 :
1766 : /** Set the input stream. This does not discard the current
1767 : * input buffer.
1768 : * @param _in_str A readable stream.
1769 : *
1770 : * @see CalLibraryGram_switch_to_buffer
1771 : */
1772 0 : void CalLibraryGramset_in (FILE * _in_str )
1773 : {
1774 0 : CalLibraryGramin = _in_str ;
1775 0 : }
1776 :
1777 0 : void CalLibraryGramset_out (FILE * _out_str )
1778 : {
1779 0 : CalLibraryGramout = _out_str ;
1780 0 : }
1781 :
1782 0 : int CalLibraryGramget_debug (void)
1783 : {
1784 0 : return CalLibraryGram_flex_debug;
1785 : }
1786 :
1787 0 : void CalLibraryGramset_debug (int _bdebug )
1788 : {
1789 0 : CalLibraryGram_flex_debug = _bdebug ;
1790 0 : }
1791 :
1792 0 : static int yy_init_globals (void)
1793 : {
1794 : /* Initialization is the same as for the non-reentrant scanner.
1795 : * This function is called from CalLibraryGramlex_destroy(), so don't allocate here.
1796 : */
1797 :
1798 0 : (yy_buffer_stack) = NULL;
1799 0 : (yy_buffer_stack_top) = 0;
1800 0 : (yy_buffer_stack_max) = 0;
1801 0 : (yy_c_buf_p) = NULL;
1802 0 : (yy_init) = 0;
1803 0 : (yy_start) = 0;
1804 :
1805 : /* Defined in main.c */
1806 : #ifdef YY_STDINIT
1807 : CalLibraryGramin = stdin;
1808 : CalLibraryGramout = stdout;
1809 : #else
1810 0 : CalLibraryGramin = NULL;
1811 0 : CalLibraryGramout = NULL;
1812 : #endif
1813 :
1814 : /* For future reference: Set errno on error, since we are called by
1815 : * CalLibraryGramlex_init()
1816 : */
1817 0 : return 0;
1818 : }
1819 :
1820 : /* CalLibraryGramlex_destroy is for both reentrant and non-reentrant scanners. */
1821 0 : int CalLibraryGramlex_destroy (void)
1822 : {
1823 :
1824 : /* Pop the buffer stack, destroying each element. */
1825 0 : while(YY_CURRENT_BUFFER){
1826 0 : CalLibraryGram_delete_buffer(YY_CURRENT_BUFFER );
1827 0 : YY_CURRENT_BUFFER_LVALUE = NULL;
1828 0 : CalLibraryGrampop_buffer_state();
1829 : }
1830 :
1831 : /* Destroy the stack itself. */
1832 0 : CalLibraryGramfree((yy_buffer_stack) );
1833 0 : (yy_buffer_stack) = NULL;
1834 :
1835 : /* Reset the globals. This is important in a non-reentrant scanner so the next time
1836 : * CalLibraryGramlex() is called, initialization will occur. */
1837 0 : yy_init_globals( );
1838 :
1839 0 : return 0;
1840 : }
1841 :
1842 : /*
1843 : * Internal utility routines.
1844 : */
1845 :
1846 : #ifndef yytext_ptr
1847 : static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
1848 : {
1849 :
1850 : int i;
1851 : for ( i = 0; i < n; ++i )
1852 : s1[i] = s2[i];
1853 : }
1854 : #endif
1855 :
1856 : #ifdef YY_NEED_STRLEN
1857 : static int yy_flex_strlen (yyconst char * s )
1858 : {
1859 : int n;
1860 : for ( n = 0; s[n]; ++n )
1861 : ;
1862 :
1863 : return n;
1864 : }
1865 : #endif
1866 :
1867 3 : void *CalLibraryGramalloc (yy_size_t size )
1868 : {
1869 3 : return malloc(size);
1870 : }
1871 :
1872 0 : void *CalLibraryGramrealloc (void * ptr, yy_size_t size )
1873 : {
1874 :
1875 : /* The cast to (char *) in the following accommodates both
1876 : * implementations that use char* generic pointers, and those
1877 : * that use void* generic pointers. It works with the latter
1878 : * because both ANSI C and C++ allow castless assignment from
1879 : * any pointer type to void*, and deal with argument conversions
1880 : * as though doing an assignment.
1881 : */
1882 0 : return realloc(ptr, size);
1883 : }
1884 :
1885 0 : void CalLibraryGramfree (void * ptr )
1886 : {
1887 0 : free( (char *) ptr ); /* see CalLibraryGramrealloc() for (char *) cast */
1888 0 : }
1889 :
1890 : #define YYTABLES_NAME "yytables"
1891 :
1892 : #line 76 "CalLibrary/CalLibraryGram.ll"
|