11
16
#define yyin base_yyin
12
17
#define yyleng base_yyleng
13
18
#define yylex base_yylex
19
#define yylineno base_yylineno
14
20
#define yyout base_yyout
15
21
#define yyrestart base_yyrestart
16
22
#define yytext base_yytext
19
/* A lexical scanner generated by flex */
21
/* Scanner skeleton version:
22
* $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.91 96/09/10 16:58:48 vern Exp $
23
#define yywrap base_yywrap
24
#define yyalloc base_yyalloc
25
#define yyrealloc base_yyrealloc
26
#define yyfree base_yyfree
25
28
#define FLEX_SCANNER
26
29
#define YY_FLEX_MAJOR_VERSION 2
27
30
#define YY_FLEX_MINOR_VERSION 5
31
#define YY_FLEX_SUBMINOR_VERSION 35
32
#if YY_FLEX_SUBMINOR_VERSION > 0
36
/* First, we deal with platform-specific or compiler-specific issues. */
38
/* begin standard C headers. */
32
/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
44
/* end standard C headers. */
46
/* flex integer type definitions */
51
/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
53
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
55
/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
56
* if you want the limit (max/min) macros for int types.
58
#ifndef __STDC_LIMIT_MACROS
59
#define __STDC_LIMIT_MACROS 1
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;
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;
78
/* Limits of integral types. */
80
#define INT8_MIN (-128)
83
#define INT16_MIN (-32767-1)
86
#define INT32_MIN (-2147483647-1)
89
#define INT8_MAX (127)
92
#define INT16_MAX (32767)
95
#define INT32_MAX (2147483647)
98
#define UINT8_MAX (255U)
101
#define UINT16_MAX (65535U)
104
#define UINT32_MAX (4294967295U)
107
#endif /* ! FLEXINT_H */
40
109
#ifdef __cplusplus
45
/* Use prototypes in function declarations. */
48
111
/* The "const" storage-class-modifier is valid. */
49
112
#define YY_USE_CONST
51
114
#else /* ! __cplusplus */
116
/* C99 requires __STDC__ to be defined as 1. */
117
#if defined (__STDC__)
56
119
#define YY_USE_CONST
121
#endif /* defined (__STDC__) */
59
122
#endif /* ! __cplusplus */
70
124
#ifdef YY_USE_CONST
71
125
#define yyconst const
78
#define YY_PROTO(proto) proto
80
#define YY_PROTO(proto) ()
83
130
/* Returned upon end-of-file. */
94
141
* but we do it the disgusting crufty way forced on us by the ()-less
95
142
* definition of BEGIN.
97
#define BEGIN yy_start = 1 + 2 *
144
#define BEGIN (yy_start) = 1 + 2 *
99
146
/* Translate the current start state into a value that can be later handed
100
147
* to BEGIN to return to the state. The YYSTATE alias is for lex
103
#define YY_START ((yy_start - 1) / 2)
150
#define YY_START (((yy_start) - 1) / 2)
104
151
#define YYSTATE YY_START
106
153
/* Action number for EOF rule of a given start state. */
107
154
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
109
156
/* Special action meaning "start processing a new file". */
110
#define YY_NEW_FILE yyrestart( yyin )
157
#define YY_NEW_FILE base_yyrestart(base_yyin )
112
159
#define YY_END_OF_BUFFER_CHAR 0
114
161
/* Size of default input buffer. */
115
163
#define YY_BUF_SIZE 16384
166
/* The state buf must be large enough to hold one state per character in the main buffer.
168
#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
170
#ifndef YY_TYPEDEF_YY_BUFFER_STATE
171
#define YY_TYPEDEF_YY_BUFFER_STATE
117
172
typedef struct yy_buffer_state *YY_BUFFER_STATE;
120
extern FILE *yyin, *yyout;
175
extern int base_yyleng;
177
extern FILE *base_yyin, *base_yyout;
122
179
#define EOB_ACT_CONTINUE_SCAN 0
123
180
#define EOB_ACT_END_OF_FILE 1
124
181
#define EOB_ACT_LAST_MATCH 2
126
/* The funky do-while in the following #define is used to turn the definition
127
* int a single C statement (which needs a semi-colon terminator). This
128
* avoids problems with code like:
130
* if ( condition_holds )
133
* do_something_else();
135
* Prior to using the do-while the compiler would get upset at the
136
* "else" because it interpreted the "if" statement as being all
137
* done when it reached the ';' after the yyless() call.
140
/* Return all but the first 'n' matched characters back to the input stream. */
183
#define YY_LESS_LINENO(n)
185
/* Return all but the first "n" matched characters back to the input stream. */
142
186
#define yyless(n) \
145
/* Undo effects of setting up yytext. */ \
146
*yy_cp = yy_hold_char; \
189
/* Undo effects of setting up base_yytext. */ \
190
int yyless_macro_arg = (n); \
191
YY_LESS_LINENO(yyless_macro_arg);\
192
*yy_cp = (yy_hold_char); \
147
193
YY_RESTORE_YY_MORE_OFFSET \
148
yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
149
YY_DO_BEFORE_ACTION; /* set up yytext again */ \
194
(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
195
YY_DO_BEFORE_ACTION; /* set up base_yytext again */ \
153
#define unput(c) yyunput( c, yytext_ptr )
155
/* The following is because we cannot portably get our hands on size_t
156
* (without autoconf's help, which isn't available because we want
157
* flex-generated scanners to compile on their own).
159
typedef unsigned int yy_size_t;
199
#define unput(c) yyunput( c, (yytext_ptr) )
201
#ifndef YY_TYPEDEF_YY_SIZE_T
202
#define YY_TYPEDEF_YY_SIZE_T
203
typedef size_t yy_size_t;
206
#ifndef YY_STRUCT_YY_BUFFER_STATE
207
#define YY_STRUCT_YY_BUFFER_STATE
162
208
struct yy_buffer_state
164
210
FILE *yy_input_file;
210
260
* possible backing-up.
212
262
* When we actually see the EOF, we change the status to "new"
213
* (via yyrestart()), so that the user can continue scanning by
214
* just pointing yyin at a new input file.
263
* (via base_yyrestart()), so that the user can continue scanning by
264
* just pointing base_yyin at a new input file.
216
266
#define YY_BUFFER_EOF_PENDING 2
269
#endif /* !YY_STRUCT_YY_BUFFER_STATE */
219
static YY_BUFFER_STATE yy_current_buffer = 0;
271
/* Stack of input buffers. */
272
static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
273
static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
274
static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
221
276
/* We provide macros for accessing buffer states in case in the
222
277
* future we want to put the buffer states in a more general
223
278
* "scanner state".
225
#define YY_CURRENT_BUFFER yy_current_buffer
228
/* yy_hold_char holds the character lost when yytext is formed. */
280
* Returns the top of the stack, or NULL.
282
#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
283
? (yy_buffer_stack)[(yy_buffer_stack_top)] \
286
/* Same as previous macro, but useful when we know that the buffer stack is not
287
* NULL or when we need an lvalue. For internal use only.
289
#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
291
/* yy_hold_char holds the character lost when base_yytext is formed. */
229
292
static char yy_hold_char;
231
293
static int yy_n_chars; /* number of characters read into yy_ch_buf */
236
296
/* Points to current character in buffer. */
237
297
static char *yy_c_buf_p = (char *) 0;
238
static int yy_init = 1; /* whether we need to initialize */
298
static int yy_init = 0; /* whether we need to initialize */
239
299
static int yy_start = 0; /* start state number */
241
/* Flag which is used to allow yywrap()'s to do buffer switches
242
* instead of setting up a fresh yyin. A bit of a hack ...
301
/* Flag which is used to allow base_yywrap()'s to do buffer switches
302
* instead of setting up a fresh base_yyin. A bit of a hack ...
244
304
static int yy_did_buffer_switch_on_eof;
246
void yyrestart YY_PROTO(( FILE *input_file ));
248
void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
249
void yy_load_buffer_state YY_PROTO(( void ));
250
YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
251
void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
252
void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
253
void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
254
#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
256
YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
257
YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
258
YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
260
static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
261
static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
262
static void yy_flex_free YY_PROTO(( void * ));
264
#define yy_new_buffer yy_create_buffer
306
void base_yyrestart (FILE *input_file );
307
void base_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer );
308
YY_BUFFER_STATE base_yy_create_buffer (FILE *file,int size );
309
void base_yy_delete_buffer (YY_BUFFER_STATE b );
310
void base_yy_flush_buffer (YY_BUFFER_STATE b );
311
void base_yypush_buffer_state (YY_BUFFER_STATE new_buffer );
312
void base_yypop_buffer_state (void );
314
static void base_yyensure_buffer_stack (void );
315
static void base_yy_load_buffer_state (void );
316
static void base_yy_init_buffer (YY_BUFFER_STATE b,FILE *file );
318
#define YY_FLUSH_BUFFER base_yy_flush_buffer(YY_CURRENT_BUFFER )
320
YY_BUFFER_STATE base_yy_scan_buffer (char *base,yy_size_t size );
321
YY_BUFFER_STATE base_yy_scan_string (yyconst char *yy_str );
322
YY_BUFFER_STATE base_yy_scan_bytes (yyconst char *bytes,int len );
324
void *base_yyalloc (yy_size_t );
325
void *base_yyrealloc (void *,yy_size_t );
326
void base_yyfree (void * );
328
#define yy_new_buffer base_yy_create_buffer
266
330
#define yy_set_interactive(is_interactive) \
268
if ( ! yy_current_buffer ) \
269
yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
270
yy_current_buffer->yy_is_interactive = is_interactive; \
332
if ( ! YY_CURRENT_BUFFER ){ \
333
base_yyensure_buffer_stack (); \
334
YY_CURRENT_BUFFER_LVALUE = \
335
base_yy_create_buffer(base_yyin,YY_BUF_SIZE ); \
337
YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
273
340
#define yy_set_bol(at_bol) \
275
if ( ! yy_current_buffer ) \
276
yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
277
yy_current_buffer->yy_at_bol = at_bol; \
342
if ( ! YY_CURRENT_BUFFER ){\
343
base_yyensure_buffer_stack (); \
344
YY_CURRENT_BUFFER_LVALUE = \
345
base_yy_create_buffer(base_yyin,YY_BUF_SIZE ); \
347
YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
280
#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
350
#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
352
/* Begin user sect3 */
354
#define base_yywrap(n) 1
284
355
#define YY_SKIP_YYWRAP
285
357
typedef unsigned char YY_CHAR;
286
FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
359
FILE *base_yyin = (FILE *) 0, *base_yyout = (FILE *) 0;
287
361
typedef yyconst struct yy_trans_info *yy_state_type;
289
#define yytext_ptr yytext
291
static yy_state_type yy_get_previous_state YY_PROTO(( void ));
292
static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
293
static int yy_get_next_buffer YY_PROTO(( void ));
294
static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
363
extern int base_yylineno;
365
int base_yylineno = 1;
367
extern char *base_yytext;
368
#define yytext_ptr base_yytext
370
static yy_state_type yy_get_previous_state (void );
371
static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
372
static int yy_get_next_buffer (void );
373
static void yy_fatal_error (yyconst char msg[] );
296
375
/* Done after the current pattern has been matched and before the
297
* corresponding action - sets up yytext.
376
* corresponding action - sets up base_yytext.
299
378
#define YY_DO_BEFORE_ACTION \
300
yytext_ptr = yy_bp; \
301
yyleng = (int) (yy_cp - yy_bp); \
302
yy_hold_char = *yy_cp; \
379
(yytext_ptr) = yy_bp; \
380
base_yyleng = (size_t) (yy_cp - yy_bp); \
381
(yy_hold_char) = *yy_cp; \
383
(yy_c_buf_p) = yy_cp;
306
385
#define YY_NUM_RULES 59
307
386
#define YY_END_OF_BUFFER 60
308
387
struct yy_trans_info
389
flex_int32_t yy_verify;
313
392
static yyconst struct yy_trans_info yy_transition[62623] =
14324
14393
* Note that xcstart must appear before operator, as explained above!
14325
14394
* Also whitespace (comment) must appear before operator.
14327
#line 14328 "scan.c"
14396
#line 14397 "scan.c"
14409
#ifndef YY_NO_UNISTD_H
14410
/* Special case for "unistd.h", since it is non-ANSI. We include it way
14411
* down here because we want the user's section 1 to have been scanned first.
14412
* The user has a chance to override it with an option.
14414
#include <unistd.h>
14417
#ifndef YY_EXTRA_TYPE
14418
#define YY_EXTRA_TYPE void *
14421
static int yy_init_globals (void );
14423
/* Accessor methods to globals.
14424
These are made visible to non-reentrant scanners for convenience. */
14426
int base_yylex_destroy (void );
14428
int base_yyget_debug (void );
14430
void base_yyset_debug (int debug_flag );
14432
YY_EXTRA_TYPE base_yyget_extra (void );
14434
void base_yyset_extra (YY_EXTRA_TYPE user_defined );
14436
FILE *base_yyget_in (void );
14438
void base_yyset_in (FILE * in_str );
14440
FILE *base_yyget_out (void );
14442
void base_yyset_out (FILE * out_str );
14444
int base_yyget_leng (void );
14446
char *base_yyget_text (void );
14448
int base_yyget_lineno (void );
14450
void base_yyset_lineno (int line_number );
14329
14452
/* Macros after this point can all be overridden by user definitions in
14333
14456
#ifndef YY_SKIP_YYWRAP
14334
14457
#ifdef __cplusplus
14335
extern "C" int yywrap YY_PROTO(( void ));
14458
extern "C" int base_yywrap (void );
14337
extern int yywrap YY_PROTO(( void ));
14341
#ifndef YY_NO_UNPUT
14342
static void yyunput YY_PROTO(( int c, char *buf_ptr ));
14460
extern int base_yywrap (void );
14345
14464
#ifndef yytext_ptr
14346
static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
14465
static void yy_flex_strncpy (char *,yyconst char *,int );
14349
14468
#ifdef YY_NEED_STRLEN
14350
static int yy_flex_strlen YY_PROTO(( yyconst char * ));
14469
static int yy_flex_strlen (yyconst char * );
14353
14472
#ifndef YY_NO_INPUT
14354
14474
#ifdef __cplusplus
14355
static int yyinput YY_PROTO(( void ));
14357
static int input YY_PROTO(( void ));
14362
static int yy_start_stack_ptr = 0;
14363
static int yy_start_stack_depth = 0;
14364
static int *yy_start_stack = 0;
14365
#ifndef YY_NO_PUSH_STATE
14366
static void yy_push_state YY_PROTO(( int new_state ));
14368
#ifndef YY_NO_POP_STATE
14369
static void yy_pop_state YY_PROTO(( void ));
14371
#ifndef YY_NO_TOP_STATE
14372
static int yy_top_state YY_PROTO(( void ));
14376
#define YY_NO_PUSH_STATE 1
14377
#define YY_NO_POP_STATE 1
14378
#define YY_NO_TOP_STATE 1
14381
#ifdef YY_MALLOC_DECL
14385
#ifndef __cplusplus
14386
#include <stdlib.h>
14389
/* Just try to get by without declaring the routines. This will fail
14390
* miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
14391
* or sizeof(void*) != sizeof(int).
14475
static int yyinput (void );
14477
static int input (void );
14396
14482
/* Amount of stuff to slurp up with each read. */
15264
15393
#line 849 "scan.l"
15265
15394
YY_FATAL_ERROR( "flex scanner jammed" );
15267
#line 15268 "scan.c"
15396
#line 15397 "scan.c"
15269
15398
case YY_END_OF_BUFFER:
15271
15400
/* Amount of text matched not including the EOB char. */
15272
int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
15401
int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
15274
15403
/* Undo the effects of YY_DO_BEFORE_ACTION. */
15275
*yy_cp = yy_hold_char;
15404
*yy_cp = (yy_hold_char);
15276
15405
YY_RESTORE_YY_MORE_OFFSET
15278
if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
15407
if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
15280
15409
/* We're scanning a new file or input source. It's
15281
15410
* possible that this happened because the user
15282
* just pointed yyin at a new source and called
15283
* yylex(). If so, then we have to assure
15284
* consistency between yy_current_buffer and our
15411
* just pointed base_yyin at a new source and called
15412
* base_yylex(). If so, then we have to assure
15413
* consistency between YY_CURRENT_BUFFER and our
15285
15414
* globals. Here is the right place to do so, because
15286
15415
* this is the first action (other than possibly a
15287
15416
* back-up) that will match for the new input source.
15289
yy_n_chars = yy_current_buffer->yy_n_chars;
15290
yy_current_buffer->yy_input_file = yyin;
15291
yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
15418
(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
15419
YY_CURRENT_BUFFER_LVALUE->yy_input_file = base_yyin;
15420
YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
15294
15423
/* Note that here we test for yy_c_buf_p "<=" to the position
15525
15647
ret_val = EOB_ACT_CONTINUE_SCAN;
15527
yy_n_chars += number_to_move;
15528
yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
15529
yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
15531
yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
15649
if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
15650
/* Extend the array by 50%, plus the number we really need. */
15651
yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
15652
YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) base_yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
15653
if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
15654
YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
15657
(yy_n_chars) += number_to_move;
15658
YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
15659
YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
15661
(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
15533
15663
return ret_val;
15537
15666
/* yy_get_previous_state - get the state just before the EOB char was reached */
15539
static yy_state_type yy_get_previous_state()
15668
static yy_state_type yy_get_previous_state (void)
15541
15670
register yy_state_type yy_current_state;
15542
15671
register char *yy_cp;
15544
yy_current_state = yy_start_state_list[yy_start];
15546
for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
15673
yy_current_state = yy_start_state_list[(yy_start)];
15675
for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
15548
15677
yy_current_state += yy_current_state[(*yy_cp ? YY_SC_TO_UI(*yy_cp) : 256)].yy_nxt;
15551
15680
return yy_current_state;
15555
15683
/* yy_try_NUL_trans - try to make a transition on the NUL character
15558
15686
* next_state = yy_try_NUL_trans( current_state );
15561
#ifdef YY_USE_PROTOS
15562
static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
15564
static yy_state_type yy_try_NUL_trans( yy_current_state )
15565
yy_state_type yy_current_state;
15688
static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
15568
15690
register int yy_is_jam;
15570
15692
register int yy_c = 256;
15571
15693
register yyconst struct yy_trans_info *yy_trans_info;
15575
15697
yy_is_jam = (yy_trans_info->yy_verify != yy_c);
15577
15699
return yy_is_jam ? 0 : yy_current_state;
15581
#ifndef YY_NO_UNPUT
15582
#ifdef YY_USE_PROTOS
15583
static void yyunput( int c, register char *yy_bp )
15585
static void yyunput( c, yy_bp )
15587
register char *yy_bp;
15590
register char *yy_cp = yy_c_buf_p;
15592
/* undo effects of setting up yytext */
15593
*yy_cp = yy_hold_char;
15595
if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
15596
{ /* need to shift things up to make room */
15597
/* +2 for EOB chars. */
15598
register int number_to_move = yy_n_chars + 2;
15599
register char *dest = &yy_current_buffer->yy_ch_buf[
15600
yy_current_buffer->yy_buf_size + 2];
15601
register char *source =
15602
&yy_current_buffer->yy_ch_buf[number_to_move];
15604
while ( source > yy_current_buffer->yy_ch_buf )
15605
*--dest = *--source;
15607
yy_cp += (int) (dest - source);
15608
yy_bp += (int) (dest - source);
15609
yy_current_buffer->yy_n_chars =
15610
yy_n_chars = yy_current_buffer->yy_buf_size;
15612
if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
15613
YY_FATAL_ERROR( "flex scanner push-back overflow" );
15616
*--yy_cp = (char) c;
15619
yytext_ptr = yy_bp;
15620
yy_hold_char = *yy_cp;
15621
yy_c_buf_p = yy_cp;
15623
#endif /* ifndef YY_NO_UNPUT */
15702
#ifndef YY_NO_INPUT
15626
15703
#ifdef __cplusplus
15627
static int yyinput()
15704
static int yyinput (void)
15706
static int input (void)
15634
*yy_c_buf_p = yy_hold_char;
15636
if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
15712
*(yy_c_buf_p) = (yy_hold_char);
15714
if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
15638
15716
/* yy_c_buf_p now points to the character we want to return.
15639
15717
* If this occurs *before* the EOB characters, then it's a
15640
15718
* valid NUL; if not, then we've hit the end of the buffer.
15642
if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
15720
if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
15643
15721
/* This was really a NUL. */
15644
*yy_c_buf_p = '\0';
15722
*(yy_c_buf_p) = '\0';
15647
15725
{ /* need more input */
15648
int offset = yy_c_buf_p - yytext_ptr;
15726
int offset = (yy_c_buf_p) - (yytext_ptr);
15651
switch ( yy_get_next_buffer() )
15729
switch ( yy_get_next_buffer( ) )
15653
15731
case EOB_ACT_LAST_MATCH:
15654
15732
/* This happens because yy_g_n_b()
15683
15761
case EOB_ACT_CONTINUE_SCAN:
15684
yy_c_buf_p = yytext_ptr + offset;
15762
(yy_c_buf_p) = (yytext_ptr) + offset;
15690
c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
15691
*yy_c_buf_p = '\0'; /* preserve yytext */
15692
yy_hold_char = *++yy_c_buf_p;
15768
c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
15769
*(yy_c_buf_p) = '\0'; /* preserve base_yytext */
15770
(yy_hold_char) = *++(yy_c_buf_p);
15699
#ifdef YY_USE_PROTOS
15700
void yyrestart( FILE *input_file )
15702
void yyrestart( input_file )
15706
if ( ! yy_current_buffer )
15707
yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
15709
yy_init_buffer( yy_current_buffer, input_file );
15710
yy_load_buffer_state();
15714
#ifdef YY_USE_PROTOS
15715
void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
15717
void yy_switch_to_buffer( new_buffer )
15718
YY_BUFFER_STATE new_buffer;
15721
if ( yy_current_buffer == new_buffer )
15774
#endif /* ifndef YY_NO_INPUT */
15776
/** Immediately switch to a different input stream.
15777
* @param input_file A readable stream.
15779
* @note This function does not reset the start condition to @c INITIAL .
15781
void base_yyrestart (FILE * input_file )
15784
if ( ! YY_CURRENT_BUFFER ){
15785
base_yyensure_buffer_stack ();
15786
YY_CURRENT_BUFFER_LVALUE =
15787
base_yy_create_buffer(base_yyin,YY_BUF_SIZE );
15790
base_yy_init_buffer(YY_CURRENT_BUFFER,input_file );
15791
base_yy_load_buffer_state( );
15794
/** Switch to a different input buffer.
15795
* @param new_buffer The new input buffer.
15798
void base_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
15801
/* TODO. We should be able to replace this entire function body
15803
* base_yypop_buffer_state();
15804
* base_yypush_buffer_state(new_buffer);
15806
base_yyensure_buffer_stack ();
15807
if ( YY_CURRENT_BUFFER == new_buffer )
15724
if ( yy_current_buffer )
15810
if ( YY_CURRENT_BUFFER )
15726
15812
/* Flush out information for old buffer. */
15727
*yy_c_buf_p = yy_hold_char;
15728
yy_current_buffer->yy_buf_pos = yy_c_buf_p;
15729
yy_current_buffer->yy_n_chars = yy_n_chars;
15813
*(yy_c_buf_p) = (yy_hold_char);
15814
YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
15815
YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
15732
yy_current_buffer = new_buffer;
15733
yy_load_buffer_state();
15818
YY_CURRENT_BUFFER_LVALUE = new_buffer;
15819
base_yy_load_buffer_state( );
15735
15821
/* We don't actually know whether we did this switch during
15736
* EOF (yywrap()) processing, but the only time this flag
15737
* is looked at is after yywrap() is called, so it's safe
15822
* EOF (base_yywrap()) processing, but the only time this flag
15823
* is looked at is after base_yywrap() is called, so it's safe
15738
15824
* to go ahead and always set it.
15740
yy_did_buffer_switch_on_eof = 1;
15744
#ifdef YY_USE_PROTOS
15745
void yy_load_buffer_state( void )
15747
void yy_load_buffer_state()
15750
yy_n_chars = yy_current_buffer->yy_n_chars;
15751
yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
15752
yyin = yy_current_buffer->yy_input_file;
15753
yy_hold_char = *yy_c_buf_p;
15757
#ifdef YY_USE_PROTOS
15758
YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
15760
YY_BUFFER_STATE yy_create_buffer( file, size )
15826
(yy_did_buffer_switch_on_eof) = 1;
15829
static void base_yy_load_buffer_state (void)
15831
(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
15832
(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
15833
base_yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
15834
(yy_hold_char) = *(yy_c_buf_p);
15837
/** Allocate and initialize an input buffer state.
15838
* @param file A readable stream.
15839
* @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
15841
* @return the allocated buffer state.
15843
YY_BUFFER_STATE base_yy_create_buffer (FILE * file, int size )
15765
15845
YY_BUFFER_STATE b;
15767
b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
15847
b = (YY_BUFFER_STATE) base_yyalloc(sizeof( struct yy_buffer_state ) );
15769
YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
15849
YY_FATAL_ERROR( "out of dynamic memory in base_yy_create_buffer()" );
15771
15851
b->yy_buf_size = size;
15773
15853
/* yy_ch_buf has to be 2 characters longer than the size given because
15774
15854
* we need to put in 2 end-of-buffer characters.
15776
b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
15856
b->yy_ch_buf = (char *) base_yyalloc(b->yy_buf_size + 2 );
15777
15857
if ( ! b->yy_ch_buf )
15778
YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
15858
YY_FATAL_ERROR( "out of dynamic memory in base_yy_create_buffer()" );
15780
15860
b->yy_is_our_buffer = 1;
15782
yy_init_buffer( b, file );
15862
base_yy_init_buffer(b,file );
15788
#ifdef YY_USE_PROTOS
15789
void yy_delete_buffer( YY_BUFFER_STATE b )
15791
void yy_delete_buffer( b )
15867
/** Destroy the buffer.
15868
* @param b a buffer created with base_yy_create_buffer()
15871
void base_yy_delete_buffer (YY_BUFFER_STATE b )
15798
if ( b == yy_current_buffer )
15799
yy_current_buffer = (YY_BUFFER_STATE) 0;
15877
if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
15878
YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
15801
15880
if ( b->yy_is_our_buffer )
15802
yy_flex_free( (void *) b->yy_ch_buf );
15804
yy_flex_free( (void *) b );
15808
#ifndef YY_ALWAYS_INTERACTIVE
15809
#ifndef YY_NEVER_INTERACTIVE
15810
extern int isatty YY_PROTO(( int ));
15814
#ifdef YY_USE_PROTOS
15815
void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
15817
void yy_init_buffer( b, file )
15824
yy_flush_buffer( b );
15881
base_yyfree((void *) b->yy_ch_buf );
15883
base_yyfree((void *) b );
15886
/* Initializes or reinitializes a buffer.
15887
* This function is sometimes called more than once on the same buffer,
15888
* such as during a base_yyrestart() or at EOF.
15890
static void base_yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
15893
int oerrno = errno;
15895
base_yy_flush_buffer(b );
15826
15897
b->yy_input_file = file;
15827
15898
b->yy_fill_buffer = 1;
15829
#if YY_ALWAYS_INTERACTIVE
15830
b->yy_is_interactive = 1;
15832
#if YY_NEVER_INTERACTIVE
15833
b->yy_is_interactive = 0;
15835
b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
15841
#ifdef YY_USE_PROTOS
15842
void yy_flush_buffer( YY_BUFFER_STATE b )
15844
void yy_flush_buffer( b )
15900
/* If b is the current buffer, then base_yy_init_buffer was _probably_
15901
* called from base_yyrestart() or through yy_get_next_buffer.
15902
* In that case, we don't want to reset the lineno or column.
15904
if (b != YY_CURRENT_BUFFER){
15905
b->yy_bs_lineno = 1;
15906
b->yy_bs_column = 0;
15909
b->yy_is_interactive = 0;
15914
/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
15915
* @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
15918
void base_yy_flush_buffer (YY_BUFFER_STATE b )
15852
15923
b->yy_n_chars = 0;
15863
15934
b->yy_at_bol = 1;
15864
15935
b->yy_buffer_status = YY_BUFFER_NEW;
15866
if ( b == yy_current_buffer )
15867
yy_load_buffer_state();
15871
#ifndef YY_NO_SCAN_BUFFER
15872
#ifdef YY_USE_PROTOS
15873
YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
15875
YY_BUFFER_STATE yy_scan_buffer( base, size )
15937
if ( b == YY_CURRENT_BUFFER )
15938
base_yy_load_buffer_state( );
15941
/** Pushes the new state onto the stack. The new state becomes
15942
* the current state. This function will allocate the stack
15944
* @param new_buffer The new state.
15947
void base_yypush_buffer_state (YY_BUFFER_STATE new_buffer )
15949
if (new_buffer == NULL)
15952
base_yyensure_buffer_stack();
15954
/* This block is copied from base_yy_switch_to_buffer. */
15955
if ( YY_CURRENT_BUFFER )
15957
/* Flush out information for old buffer. */
15958
*(yy_c_buf_p) = (yy_hold_char);
15959
YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
15960
YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
15963
/* Only push if top exists. Otherwise, replace top. */
15964
if (YY_CURRENT_BUFFER)
15965
(yy_buffer_stack_top)++;
15966
YY_CURRENT_BUFFER_LVALUE = new_buffer;
15968
/* copied from base_yy_switch_to_buffer. */
15969
base_yy_load_buffer_state( );
15970
(yy_did_buffer_switch_on_eof) = 1;
15973
/** Removes and deletes the top of the stack, if present.
15974
* The next element becomes the new top.
15977
void base_yypop_buffer_state (void)
15979
if (!YY_CURRENT_BUFFER)
15982
base_yy_delete_buffer(YY_CURRENT_BUFFER );
15983
YY_CURRENT_BUFFER_LVALUE = NULL;
15984
if ((yy_buffer_stack_top) > 0)
15985
--(yy_buffer_stack_top);
15987
if (YY_CURRENT_BUFFER) {
15988
base_yy_load_buffer_state( );
15989
(yy_did_buffer_switch_on_eof) = 1;
15993
/* Allocates the stack if it does not exist.
15994
* Guarantees space for at least one push.
15996
static void base_yyensure_buffer_stack (void)
16000
if (!(yy_buffer_stack)) {
16002
/* First allocation is just for 2 elements, since we don't know if this
16003
* scanner will even need a stack. We use 2 instead of 1 to avoid an
16004
* immediate realloc on the next call.
16007
(yy_buffer_stack) = (struct yy_buffer_state**)base_yyalloc
16008
(num_to_alloc * sizeof(struct yy_buffer_state*)
16010
if ( ! (yy_buffer_stack) )
16011
YY_FATAL_ERROR( "out of dynamic memory in base_yyensure_buffer_stack()" );
16013
memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
16015
(yy_buffer_stack_max) = num_to_alloc;
16016
(yy_buffer_stack_top) = 0;
16020
if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
16022
/* Increase the buffer to prepare for a possible push. */
16023
int grow_size = 8 /* arbitrary grow size */;
16025
num_to_alloc = (yy_buffer_stack_max) + grow_size;
16026
(yy_buffer_stack) = (struct yy_buffer_state**)base_yyrealloc
16027
((yy_buffer_stack),
16028
num_to_alloc * sizeof(struct yy_buffer_state*)
16030
if ( ! (yy_buffer_stack) )
16031
YY_FATAL_ERROR( "out of dynamic memory in base_yyensure_buffer_stack()" );
16033
/* zero only the new slots.*/
16034
memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
16035
(yy_buffer_stack_max) = num_to_alloc;
16039
/** Setup the input buffer state to scan directly from a user-specified character buffer.
16040
* @param base the character buffer
16041
* @param size the size in bytes of the character buffer
16043
* @return the newly allocated buffer state object.
16045
YY_BUFFER_STATE base_yy_scan_buffer (char * base, yy_size_t size )
15880
16047
YY_BUFFER_STATE b;
15882
16049
if ( size < 2 ||
15883
16050
base[size-2] != YY_END_OF_BUFFER_CHAR ||
15884
16051
base[size-1] != YY_END_OF_BUFFER_CHAR )
15885
16052
/* They forgot to leave room for the EOB's. */
15888
b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
16055
b = (YY_BUFFER_STATE) base_yyalloc(sizeof( struct yy_buffer_state ) );
15890
YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
16057
YY_FATAL_ERROR( "out of dynamic memory in base_yy_scan_buffer()" );
15892
16059
b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
15893
16060
b->yy_buf_pos = b->yy_ch_buf = base;
15899
16066
b->yy_fill_buffer = 0;
15900
16067
b->yy_buffer_status = YY_BUFFER_NEW;
15902
yy_switch_to_buffer( b );
16069
base_yy_switch_to_buffer(b );
15909
#ifndef YY_NO_SCAN_STRING
15910
#ifdef YY_USE_PROTOS
15911
YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
15913
YY_BUFFER_STATE yy_scan_string( yy_str )
15914
yyconst char *yy_str;
15918
for ( len = 0; yy_str[len]; ++len )
15921
return yy_scan_bytes( yy_str, len );
15926
#ifndef YY_NO_SCAN_BYTES
15927
#ifdef YY_USE_PROTOS
15928
YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
15930
YY_BUFFER_STATE yy_scan_bytes( bytes, len )
15931
yyconst char *bytes;
16074
/** Setup the input buffer state to scan a string. The next call to base_yylex() will
16075
* scan from a @e copy of @a str.
16076
* @param yystr a NUL-terminated string to scan
16078
* @return the newly allocated buffer state object.
16079
* @note If you want to scan bytes that may contain NUL values, then use
16080
* base_yy_scan_bytes() instead.
16082
YY_BUFFER_STATE base_yy_scan_string (yyconst char * yystr )
16085
return base_yy_scan_bytes(yystr,strlen(yystr) );
16088
/** Setup the input buffer state to scan the given bytes. The next call to base_yylex() will
16089
* scan from a @e copy of @a bytes.
16090
* @param bytes the byte buffer to scan
16091
* @param len the number of bytes in the buffer pointed to by @a bytes.
16093
* @return the newly allocated buffer state object.
16095
YY_BUFFER_STATE base_yy_scan_bytes (yyconst char * yybytes, int _yybytes_len )
15935
16097
YY_BUFFER_STATE b;
15940
16102
/* Get memory for full buffer, including space for trailing EOB's. */
15942
buf = (char *) yy_flex_alloc( n );
16103
n = _yybytes_len + 2;
16104
buf = (char *) base_yyalloc(n );
15944
YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
15946
for ( i = 0; i < len; ++i )
15949
buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
15951
b = yy_scan_buffer( buf, n );
16106
YY_FATAL_ERROR( "out of dynamic memory in base_yy_scan_bytes()" );
16108
for ( i = 0; i < _yybytes_len; ++i )
16109
buf[i] = yybytes[i];
16111
buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
16113
b = base_yy_scan_buffer(buf,n );
15953
YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
16115
YY_FATAL_ERROR( "bad buffer in base_yy_scan_bytes()" );
15955
16117
/* It's okay to grow etc. this buffer, and we should throw it
15956
16118
* away when we're done.
15958
16120
b->yy_is_our_buffer = 1;
15965
#ifndef YY_NO_PUSH_STATE
15966
#ifdef YY_USE_PROTOS
15967
static void yy_push_state( int new_state )
15969
static void yy_push_state( new_state )
15973
if ( yy_start_stack_ptr >= yy_start_stack_depth )
15975
yy_size_t new_size;
15977
yy_start_stack_depth += YY_START_STACK_INCR;
15978
new_size = yy_start_stack_depth * sizeof( int );
15980
if ( ! yy_start_stack )
15981
yy_start_stack = (int *) yy_flex_alloc( new_size );
15984
yy_start_stack = (int *) yy_flex_realloc(
15985
(void *) yy_start_stack, new_size );
15987
if ( ! yy_start_stack )
15989
"out of memory expanding start-condition stack" );
15992
yy_start_stack[yy_start_stack_ptr++] = YY_START;
15999
#ifndef YY_NO_POP_STATE
16000
static void yy_pop_state()
16002
if ( --yy_start_stack_ptr < 0 )
16003
YY_FATAL_ERROR( "start-condition stack underflow" );
16005
BEGIN(yy_start_stack[yy_start_stack_ptr]);
16010
#ifndef YY_NO_TOP_STATE
16011
static int yy_top_state()
16013
return yy_start_stack[yy_start_stack_ptr - 1];
16017
16125
#ifndef YY_EXIT_FAILURE
16018
16126
#define YY_EXIT_FAILURE 2
16021
#ifdef YY_USE_PROTOS
16022
static void yy_fatal_error( yyconst char msg[] )
16024
static void yy_fatal_error( msg )
16028
(void) fprintf( stderr, "%s\n", msg );
16129
static void yy_fatal_error (yyconst char* msg )
16131
(void) fprintf( stderr, "%s\n", msg );
16029
16132
exit( YY_EXIT_FAILURE );
16034
16135
/* Redefine yyless() so it works in section 3 code. */
16037
16138
#define yyless(n) \
16040
/* Undo effects of setting up yytext. */ \
16041
yytext[yyleng] = yy_hold_char; \
16042
yy_c_buf_p = yytext + n; \
16043
yy_hold_char = *yy_c_buf_p; \
16044
*yy_c_buf_p = '\0'; \
16141
/* Undo effects of setting up base_yytext. */ \
16142
int yyless_macro_arg = (n); \
16143
YY_LESS_LINENO(yyless_macro_arg);\
16144
base_yytext[base_yyleng] = (yy_hold_char); \
16145
(yy_c_buf_p) = base_yytext + yyless_macro_arg; \
16146
(yy_hold_char) = *(yy_c_buf_p); \
16147
*(yy_c_buf_p) = '\0'; \
16148
base_yyleng = yyless_macro_arg; \
16050
/* Internal utility routines. */
16053
#ifdef YY_USE_PROTOS
16054
static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
16152
/* Accessor methods (get/set functions) to struct members. */
16154
/** Get the current line number.
16157
int base_yyget_lineno (void)
16160
return base_yylineno;
16163
/** Get the input stream.
16166
FILE *base_yyget_in (void)
16171
/** Get the output stream.
16174
FILE *base_yyget_out (void)
16179
/** Get the length of the current token.
16182
int base_yyget_leng (void)
16184
return base_yyleng;
16187
/** Get the current token.
16191
char *base_yyget_text (void)
16193
return base_yytext;
16196
/** Set the current line number.
16197
* @param line_number
16200
void base_yyset_lineno (int line_number )
16203
base_yylineno = line_number;
16206
/** Set the input stream. This does not discard the current
16208
* @param in_str A readable stream.
16210
* @see base_yy_switch_to_buffer
16212
void base_yyset_in (FILE * in_str )
16214
base_yyin = in_str ;
16217
void base_yyset_out (FILE * out_str )
16219
base_yyout = out_str ;
16222
int base_yyget_debug (void)
16224
return base_yy_flex_debug;
16227
void base_yyset_debug (int bdebug )
16229
base_yy_flex_debug = bdebug ;
16232
static int yy_init_globals (void)
16234
/* Initialization is the same as for the non-reentrant scanner.
16235
* This function is called from base_yylex_destroy(), so don't allocate here.
16238
(yy_buffer_stack) = 0;
16239
(yy_buffer_stack_top) = 0;
16240
(yy_buffer_stack_max) = 0;
16241
(yy_c_buf_p) = (char *) 0;
16245
/* Defined in main.c */
16248
base_yyout = stdout;
16056
static void yy_flex_strncpy( s1, s2, n )
16250
base_yyin = (FILE *) 0;
16251
base_yyout = (FILE *) 0;
16254
/* For future reference: Set errno on error, since we are called by
16255
* base_yylex_init()
16260
/* base_yylex_destroy is for both reentrant and non-reentrant scanners. */
16261
int base_yylex_destroy (void)
16264
/* Pop the buffer stack, destroying each element. */
16265
while(YY_CURRENT_BUFFER){
16266
base_yy_delete_buffer(YY_CURRENT_BUFFER );
16267
YY_CURRENT_BUFFER_LVALUE = NULL;
16268
base_yypop_buffer_state();
16271
/* Destroy the stack itself. */
16272
base_yyfree((yy_buffer_stack) );
16273
(yy_buffer_stack) = NULL;
16275
/* Reset the globals. This is important in a non-reentrant scanner so the next time
16276
* base_yylex() is called, initialization will occur. */
16277
yy_init_globals( );
16283
* Internal utility routines.
16287
static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
16062
16289
register int i;
16063
16290
for ( i = 0; i < n; ++i )
16064
16291
s1[i] = s2[i];
16068
16295
#ifdef YY_NEED_STRLEN
16069
#ifdef YY_USE_PROTOS
16070
static int yy_flex_strlen( yyconst char *s )
16072
static int yy_flex_strlen( s )
16296
static int yy_flex_strlen (yyconst char * s )
16076
16298
register int n;
16077
16299
for ( n = 0; s[n]; ++n )
16085
#ifdef YY_USE_PROTOS
16086
static void *yy_flex_alloc( yy_size_t size )
16088
static void *yy_flex_alloc( size )
16306
void *base_yyalloc (yy_size_t size )
16092
16308
return (void *) malloc( size );
16095
#ifdef YY_USE_PROTOS
16096
static void *yy_flex_realloc( void *ptr, yy_size_t size )
16098
static void *yy_flex_realloc( ptr, size )
16311
void *base_yyrealloc (void * ptr, yy_size_t size )
16103
16313
/* The cast to (char *) in the following accommodates both
16104
16314
* implementations that use char* generic pointers, and those
16105
16315
* that use void* generic pointers. It works with the latter