1706f2543Smrg
2706f2543Smrg#line 3 "winprefslex.c"
3706f2543Smrg
4706f2543Smrg#define  YY_INT_ALIGNED short int
5706f2543Smrg
6706f2543Smrg/* A lexical scanner generated by flex */
7706f2543Smrg
8706f2543Smrg#define FLEX_SCANNER
9706f2543Smrg#define YY_FLEX_MAJOR_VERSION 2
10706f2543Smrg#define YY_FLEX_MINOR_VERSION 5
11706f2543Smrg#define YY_FLEX_SUBMINOR_VERSION 35
12706f2543Smrg#if YY_FLEX_SUBMINOR_VERSION > 0
13706f2543Smrg#define FLEX_BETA
14706f2543Smrg#endif
15706f2543Smrg
16706f2543Smrg/* First, we deal with  platform-specific or compiler-specific issues. */
17706f2543Smrg
18706f2543Smrg/* begin standard C headers. */
19706f2543Smrg#include <stdio.h>
20706f2543Smrg#include <string.h>
21706f2543Smrg#include <errno.h>
22706f2543Smrg#include <stdlib.h>
23706f2543Smrg
24706f2543Smrg/* end standard C headers. */
25706f2543Smrg
26706f2543Smrg/* flex integer type definitions */
27706f2543Smrg
28706f2543Smrg#ifndef FLEXINT_H
29706f2543Smrg#define FLEXINT_H
30706f2543Smrg
31706f2543Smrg/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
32706f2543Smrg
33706f2543Smrg#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
34706f2543Smrg
35706f2543Smrg/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
36706f2543Smrg * if you want the limit (max/min) macros for int types.
37706f2543Smrg */
38706f2543Smrg#ifndef __STDC_LIMIT_MACROS
39706f2543Smrg#define __STDC_LIMIT_MACROS 1
40706f2543Smrg#endif
41706f2543Smrg
42706f2543Smrg#include <inttypes.h>
43706f2543Smrgtypedef int8_t flex_int8_t;
44706f2543Smrgtypedef uint8_t flex_uint8_t;
45706f2543Smrgtypedef int16_t flex_int16_t;
46706f2543Smrgtypedef uint16_t flex_uint16_t;
47706f2543Smrgtypedef int32_t flex_int32_t;
48706f2543Smrgtypedef uint32_t flex_uint32_t;
49706f2543Smrg#else
50706f2543Smrgtypedef signed char flex_int8_t;
51706f2543Smrgtypedef short int flex_int16_t;
52706f2543Smrgtypedef int flex_int32_t;
53706f2543Smrgtypedef unsigned char flex_uint8_t;
54706f2543Smrgtypedef unsigned short int flex_uint16_t;
55706f2543Smrgtypedef unsigned int flex_uint32_t;
56706f2543Smrg#endif /* ! C99 */
57706f2543Smrg
58706f2543Smrg/* Limits of integral types. */
59706f2543Smrg#ifndef INT8_MIN
60706f2543Smrg#define INT8_MIN               (-128)
61706f2543Smrg#endif
62706f2543Smrg#ifndef INT16_MIN
63706f2543Smrg#define INT16_MIN              (-32767-1)
64706f2543Smrg#endif
65706f2543Smrg#ifndef INT32_MIN
66706f2543Smrg#define INT32_MIN              (-2147483647-1)
67706f2543Smrg#endif
68706f2543Smrg#ifndef INT8_MAX
69706f2543Smrg#define INT8_MAX               (127)
70706f2543Smrg#endif
71706f2543Smrg#ifndef INT16_MAX
72706f2543Smrg#define INT16_MAX              (32767)
73706f2543Smrg#endif
74706f2543Smrg#ifndef INT32_MAX
75706f2543Smrg#define INT32_MAX              (2147483647)
76706f2543Smrg#endif
77706f2543Smrg#ifndef UINT8_MAX
78706f2543Smrg#define UINT8_MAX              (255U)
79706f2543Smrg#endif
80706f2543Smrg#ifndef UINT16_MAX
81706f2543Smrg#define UINT16_MAX             (65535U)
82706f2543Smrg#endif
83706f2543Smrg#ifndef UINT32_MAX
84706f2543Smrg#define UINT32_MAX             (4294967295U)
85706f2543Smrg#endif
86706f2543Smrg
87706f2543Smrg#endif /* ! FLEXINT_H */
88706f2543Smrg
89706f2543Smrg#ifdef __cplusplus
90706f2543Smrg
91706f2543Smrg/* The "const" storage-class-modifier is valid. */
92706f2543Smrg#define YY_USE_CONST
93706f2543Smrg
94706f2543Smrg#else	/* ! __cplusplus */
95706f2543Smrg
96706f2543Smrg/* C99 requires __STDC__ to be defined as 1. */
97706f2543Smrg#if defined (__STDC__)
98706f2543Smrg
99706f2543Smrg#define YY_USE_CONST
100706f2543Smrg
101706f2543Smrg#endif	/* defined (__STDC__) */
102706f2543Smrg#endif	/* ! __cplusplus */
103706f2543Smrg
104706f2543Smrg#ifdef YY_USE_CONST
105706f2543Smrg#define yyconst const
106706f2543Smrg#else
107706f2543Smrg#define yyconst
108706f2543Smrg#endif
109706f2543Smrg
110706f2543Smrg/* Returned upon end-of-file. */
111706f2543Smrg#define YY_NULL 0
112706f2543Smrg
113706f2543Smrg/* Promotes a possibly negative, possibly signed char to an unsigned
114706f2543Smrg * integer for use as an array index.  If the signed char is negative,
115706f2543Smrg * we want to instead treat it as an 8-bit unsigned char, hence the
116706f2543Smrg * double cast.
117706f2543Smrg */
118706f2543Smrg#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
119706f2543Smrg
120706f2543Smrg/* Enter a start condition.  This macro really ought to take a parameter,
121706f2543Smrg * but we do it the disgusting crufty way forced on us by the ()-less
122706f2543Smrg * definition of BEGIN.
123706f2543Smrg */
124706f2543Smrg#define BEGIN (yy_start) = 1 + 2 *
125706f2543Smrg
126706f2543Smrg/* Translate the current start state into a value that can be later handed
127706f2543Smrg * to BEGIN to return to the state.  The YYSTATE alias is for lex
128706f2543Smrg * compatibility.
129706f2543Smrg */
130706f2543Smrg#define YY_START (((yy_start) - 1) / 2)
131706f2543Smrg#define YYSTATE YY_START
132706f2543Smrg
133706f2543Smrg/* Action number for EOF rule of a given start state. */
134706f2543Smrg#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
135706f2543Smrg
136706f2543Smrg/* Special action meaning "start processing a new file". */
137706f2543Smrg#define YY_NEW_FILE yyrestart(yyin  )
138706f2543Smrg
139706f2543Smrg#define YY_END_OF_BUFFER_CHAR 0
140706f2543Smrg
141706f2543Smrg/* Size of default input buffer. */
142706f2543Smrg#ifndef YY_BUF_SIZE
143706f2543Smrg#define YY_BUF_SIZE 16384
144706f2543Smrg#endif
145706f2543Smrg
146706f2543Smrg/* The state buf must be large enough to hold one state per character in the main buffer.
147706f2543Smrg */
148706f2543Smrg#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
149706f2543Smrg
150706f2543Smrg#ifndef YY_TYPEDEF_YY_BUFFER_STATE
151706f2543Smrg#define YY_TYPEDEF_YY_BUFFER_STATE
152706f2543Smrgtypedef struct yy_buffer_state *YY_BUFFER_STATE;
153706f2543Smrg#endif
154706f2543Smrg
155706f2543Smrgextern int yyleng;
156706f2543Smrg
157706f2543Smrgextern FILE *yyin, *yyout;
158706f2543Smrg
159706f2543Smrg#define EOB_ACT_CONTINUE_SCAN 0
160706f2543Smrg#define EOB_ACT_END_OF_FILE 1
161706f2543Smrg#define EOB_ACT_LAST_MATCH 2
162706f2543Smrg
163706f2543Smrg    /* Note: We specifically omit the test for yy_rule_can_match_eol because it requires
164706f2543Smrg     *       access to the local variable yy_act. Since yyless() is a macro, it would break
165706f2543Smrg     *       existing scanners that call yyless() from OUTSIDE yylex.
166706f2543Smrg     *       One obvious solution it to make yy_act a global. I tried that, and saw
167706f2543Smrg     *       a 5% performance hit in a non-yylineno scanner, because yy_act is
168706f2543Smrg     *       normally declared as a register variable-- so it is not worth it.
169706f2543Smrg     */
170706f2543Smrg    #define  YY_LESS_LINENO(n) \
171706f2543Smrg            do { \
172706f2543Smrg                int yyl;\
173706f2543Smrg                for ( yyl = n; yyl < yyleng; ++yyl )\
174706f2543Smrg                    if ( yytext[yyl] == '\n' )\
175706f2543Smrg                        --yylineno;\
176706f2543Smrg            }while(0)
177706f2543Smrg
178706f2543Smrg/* Return all but the first "n" matched characters back to the input stream. */
179706f2543Smrg#define yyless(n) \
180706f2543Smrg	do \
181706f2543Smrg		{ \
182706f2543Smrg		/* Undo effects of setting up yytext. */ \
183706f2543Smrg        int yyless_macro_arg = (n); \
184706f2543Smrg        YY_LESS_LINENO(yyless_macro_arg);\
185706f2543Smrg		*yy_cp = (yy_hold_char); \
186706f2543Smrg		YY_RESTORE_YY_MORE_OFFSET \
187706f2543Smrg		(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
188706f2543Smrg		YY_DO_BEFORE_ACTION; /* set up yytext again */ \
189706f2543Smrg		} \
190706f2543Smrg	while ( 0 )
191706f2543Smrg
192706f2543Smrg#define unput(c) yyunput( c, (yytext_ptr)  )
193706f2543Smrg
194706f2543Smrg#ifndef YY_TYPEDEF_YY_SIZE_T
195706f2543Smrg#define YY_TYPEDEF_YY_SIZE_T
196706f2543Smrgtypedef size_t yy_size_t;
197706f2543Smrg#endif
198706f2543Smrg
199706f2543Smrg#ifndef YY_STRUCT_YY_BUFFER_STATE
200706f2543Smrg#define YY_STRUCT_YY_BUFFER_STATE
201706f2543Smrgstruct yy_buffer_state
202706f2543Smrg	{
203706f2543Smrg	FILE *yy_input_file;
204706f2543Smrg
205706f2543Smrg	char *yy_ch_buf;		/* input buffer */
206706f2543Smrg	char *yy_buf_pos;		/* current position in input buffer */
207706f2543Smrg
208706f2543Smrg	/* Size of input buffer in bytes, not including room for EOB
209706f2543Smrg	 * characters.
210706f2543Smrg	 */
211706f2543Smrg	yy_size_t yy_buf_size;
212706f2543Smrg
213706f2543Smrg	/* Number of characters read into yy_ch_buf, not including EOB
214706f2543Smrg	 * characters.
215706f2543Smrg	 */
216706f2543Smrg	int yy_n_chars;
217706f2543Smrg
218706f2543Smrg	/* Whether we "own" the buffer - i.e., we know we created it,
219706f2543Smrg	 * and can realloc() it to grow it, and should free() it to
220706f2543Smrg	 * delete it.
221706f2543Smrg	 */
222706f2543Smrg	int yy_is_our_buffer;
223706f2543Smrg
224706f2543Smrg	/* Whether this is an "interactive" input source; if so, and
225706f2543Smrg	 * if we're using stdio for input, then we want to use getc()
226706f2543Smrg	 * instead of fread(), to make sure we stop fetching input after
227706f2543Smrg	 * each newline.
228706f2543Smrg	 */
229706f2543Smrg	int yy_is_interactive;
230706f2543Smrg
231706f2543Smrg	/* Whether we're considered to be at the beginning of a line.
232706f2543Smrg	 * If so, '^' rules will be active on the next match, otherwise
233706f2543Smrg	 * not.
234706f2543Smrg	 */
235706f2543Smrg	int yy_at_bol;
236706f2543Smrg
237706f2543Smrg    int yy_bs_lineno; /**< The line count. */
238706f2543Smrg    int yy_bs_column; /**< The column count. */
239706f2543Smrg
240706f2543Smrg	/* Whether to try to fill the input buffer when we reach the
241706f2543Smrg	 * end of it.
242706f2543Smrg	 */
243706f2543Smrg	int yy_fill_buffer;
244706f2543Smrg
245706f2543Smrg	int yy_buffer_status;
246706f2543Smrg
247706f2543Smrg#define YY_BUFFER_NEW 0
248706f2543Smrg#define YY_BUFFER_NORMAL 1
249706f2543Smrg	/* When an EOF's been seen but there's still some text to process
250706f2543Smrg	 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
251706f2543Smrg	 * shouldn't try reading from the input source any more.  We might
252706f2543Smrg	 * still have a bunch of tokens to match, though, because of
253706f2543Smrg	 * possible backing-up.
254706f2543Smrg	 *
255706f2543Smrg	 * When we actually see the EOF, we change the status to "new"
256706f2543Smrg	 * (via yyrestart()), so that the user can continue scanning by
257706f2543Smrg	 * just pointing yyin at a new input file.
258706f2543Smrg	 */
259706f2543Smrg#define YY_BUFFER_EOF_PENDING 2
260706f2543Smrg
261706f2543Smrg	};
262706f2543Smrg#endif /* !YY_STRUCT_YY_BUFFER_STATE */
263706f2543Smrg
264706f2543Smrg/* Stack of input buffers. */
265706f2543Smrgstatic size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
266706f2543Smrgstatic size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
267706f2543Smrgstatic YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
268706f2543Smrg
269706f2543Smrg/* We provide macros for accessing buffer states in case in the
270706f2543Smrg * future we want to put the buffer states in a more general
271706f2543Smrg * "scanner state".
272706f2543Smrg *
273706f2543Smrg * Returns the top of the stack, or NULL.
274706f2543Smrg */
275706f2543Smrg#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
276706f2543Smrg                          ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
277706f2543Smrg                          : NULL)
278706f2543Smrg
279706f2543Smrg/* Same as previous macro, but useful when we know that the buffer stack is not
280706f2543Smrg * NULL or when we need an lvalue. For internal use only.
281706f2543Smrg */
282706f2543Smrg#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
283706f2543Smrg
284706f2543Smrg/* yy_hold_char holds the character lost when yytext is formed. */
285706f2543Smrgstatic char yy_hold_char;
286706f2543Smrgstatic int yy_n_chars;		/* number of characters read into yy_ch_buf */
287706f2543Smrgint yyleng;
288706f2543Smrg
289706f2543Smrg/* Points to current character in buffer. */
290706f2543Smrgstatic char *yy_c_buf_p = (char *) 0;
291706f2543Smrgstatic int yy_init = 0;		/* whether we need to initialize */
292706f2543Smrgstatic int yy_start = 0;	/* start state number */
293706f2543Smrg
294706f2543Smrg/* Flag which is used to allow yywrap()'s to do buffer switches
295706f2543Smrg * instead of setting up a fresh yyin.  A bit of a hack ...
296706f2543Smrg */
297706f2543Smrgstatic int yy_did_buffer_switch_on_eof;
298706f2543Smrg
299706f2543Smrgvoid yyrestart (FILE *input_file  );
300706f2543Smrgvoid yy_switch_to_buffer (YY_BUFFER_STATE new_buffer  );
301706f2543SmrgYY_BUFFER_STATE yy_create_buffer (FILE *file,int size  );
302706f2543Smrgvoid yy_delete_buffer (YY_BUFFER_STATE b  );
303706f2543Smrgvoid yy_flush_buffer (YY_BUFFER_STATE b  );
304706f2543Smrgvoid yypush_buffer_state (YY_BUFFER_STATE new_buffer  );
305706f2543Smrgvoid yypop_buffer_state (void );
306706f2543Smrg
307706f2543Smrgstatic void yyensure_buffer_stack (void );
308706f2543Smrgstatic void yy_load_buffer_state (void );
309706f2543Smrgstatic void yy_init_buffer (YY_BUFFER_STATE b,FILE *file  );
310706f2543Smrg
311706f2543Smrg#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
312706f2543Smrg
313706f2543SmrgYY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size  );
314706f2543SmrgYY_BUFFER_STATE yy_scan_string (yyconst char *yy_str  );
315706f2543SmrgYY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len  );
316706f2543Smrg
317706f2543Smrgvoid *yyalloc (yy_size_t  );
318706f2543Smrgvoid *yyrealloc (void *,yy_size_t  );
319706f2543Smrgvoid yyfree (void *  );
320706f2543Smrg
321706f2543Smrg#define yy_new_buffer yy_create_buffer
322706f2543Smrg
323706f2543Smrg#define yy_set_interactive(is_interactive) \
324706f2543Smrg	{ \
325706f2543Smrg	if ( ! YY_CURRENT_BUFFER ){ \
326706f2543Smrg        yyensure_buffer_stack (); \
327706f2543Smrg		YY_CURRENT_BUFFER_LVALUE =    \
328706f2543Smrg            yy_create_buffer(yyin,YY_BUF_SIZE ); \
329706f2543Smrg	} \
330706f2543Smrg	YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
331706f2543Smrg	}
332706f2543Smrg
333706f2543Smrg#define yy_set_bol(at_bol) \
334706f2543Smrg	{ \
335706f2543Smrg	if ( ! YY_CURRENT_BUFFER ){\
336706f2543Smrg        yyensure_buffer_stack (); \
337706f2543Smrg		YY_CURRENT_BUFFER_LVALUE =    \
338706f2543Smrg            yy_create_buffer(yyin,YY_BUF_SIZE ); \
339706f2543Smrg	} \
340706f2543Smrg	YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
341706f2543Smrg	}
342706f2543Smrg
343706f2543Smrg#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
344706f2543Smrg
345706f2543Smrg/* Begin user sect3 */
346706f2543Smrg
347706f2543Smrgtypedef unsigned char YY_CHAR;
348706f2543Smrg
349706f2543SmrgFILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
350706f2543Smrg
351706f2543Smrgtypedef int yy_state_type;
352706f2543Smrg
353706f2543Smrgextern int yylineno;
354706f2543Smrg
355706f2543Smrgint yylineno = 1;
356706f2543Smrg
357706f2543Smrgextern char *yytext;
358706f2543Smrg#define yytext_ptr yytext
359706f2543Smrg
360706f2543Smrgstatic yy_state_type yy_get_previous_state (void );
361706f2543Smrgstatic yy_state_type yy_try_NUL_trans (yy_state_type current_state  );
362706f2543Smrgstatic int yy_get_next_buffer (void );
363706f2543Smrgstatic void yy_fatal_error (yyconst char msg[]  );
364706f2543Smrg
365706f2543Smrg/* Done after the current pattern has been matched and before the
366706f2543Smrg * corresponding action - sets up yytext.
367706f2543Smrg */
368706f2543Smrg#define YY_DO_BEFORE_ACTION \
369706f2543Smrg	(yytext_ptr) = yy_bp; \
370706f2543Smrg	yyleng = (size_t) (yy_cp - yy_bp); \
371706f2543Smrg	(yy_hold_char) = *yy_cp; \
372706f2543Smrg	*yy_cp = '\0'; \
373706f2543Smrg	(yy_c_buf_p) = yy_cp;
374706f2543Smrg
375706f2543Smrg#define YY_NUM_RULES 33
376706f2543Smrg#define YY_END_OF_BUFFER 34
377706f2543Smrg/* This struct is not used in this scanner,
378706f2543Smrg   but its presence is necessary. */
379706f2543Smrgstruct yy_trans_info
380706f2543Smrg	{
381706f2543Smrg	flex_int32_t yy_verify;
382706f2543Smrg	flex_int32_t yy_nxt;
383706f2543Smrg	};
384706f2543Smrgstatic yyconst flex_int16_t yy_accept[186] =
385706f2543Smrg    {   0,
386706f2543Smrg        0,    0,   34,   32,    4,    3,   32,   32,   32,   32,
387706f2543Smrg       32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
388706f2543Smrg       29,   30,   32,    4,   32,    0,   32,    0,    1,    1,
389706f2543Smrg       32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
390706f2543Smrg       32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
391706f2543Smrg       31,   31,   32,    0,    2,    2,   32,   32,   32,   32,
392706f2543Smrg       32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
393706f2543Smrg       32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
394706f2543Smrg       32,   32,   32,   32,   23,   32,   32,    5,   32,   32,
395706f2543Smrg       32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
396706f2543Smrg
397706f2543Smrg       32,   22,   32,   32,   25,   32,   32,    8,   32,   32,
398706f2543Smrg       32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
399706f2543Smrg       32,   32,   32,   13,   32,   32,   32,   32,   32,   32,
400706f2543Smrg       32,   26,   32,   32,   32,    9,   32,   32,   32,   32,
401706f2543Smrg       21,   32,   32,   32,   32,   16,   14,   15,   32,   32,
402706f2543Smrg       32,   19,   10,   32,   32,   32,   32,   32,   11,   12,
403706f2543Smrg       17,   32,   32,   27,   32,   32,   32,   32,   20,   32,
404706f2543Smrg       32,   32,   32,   32,   28,   24,    7,   32,   32,   32,
405706f2543Smrg       32,   32,    6,   18,    0
406706f2543Smrg    } ;
407706f2543Smrg
408706f2543Smrgstatic yyconst flex_int32_t yy_ec[256] =
409706f2543Smrg    {   0,
410706f2543Smrg        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
411706f2543Smrg        1,    1,    4,    1,    1,    1,    1,    1,    1,    1,
412706f2543Smrg        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
413706f2543Smrg        1,    2,    1,    5,    6,    1,    1,    1,    1,    1,
414706f2543Smrg        1,    1,    1,    1,    1,    1,    7,    1,    1,    1,
415706f2543Smrg        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
416706f2543Smrg        1,    1,    1,    1,    8,    9,   10,   11,   12,   13,
417706f2543Smrg       14,    1,   15,    1,    1,   16,   17,   18,   19,   20,
418706f2543Smrg        1,   21,   22,   23,   24,    1,   25,   26,   27,   28,
419706f2543Smrg        1,    1,    1,    1,    1,    1,   29,   30,   31,   32,
420706f2543Smrg
421706f2543Smrg       33,   34,   35,    1,   36,    1,    1,   37,   38,   39,
422706f2543Smrg       40,   41,    1,   42,   43,   44,   45,    1,   46,   47,
423706f2543Smrg       48,   49,   50,    1,   51,    1,    1,    1,    1,    1,
424706f2543Smrg        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
425706f2543Smrg        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
426706f2543Smrg        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
427706f2543Smrg        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
428706f2543Smrg        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
429706f2543Smrg        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
430706f2543Smrg        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
431706f2543Smrg
432706f2543Smrg        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
433706f2543Smrg        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
434706f2543Smrg        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
435706f2543Smrg        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
436706f2543Smrg        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
437706f2543Smrg        1,    1,    1,    1,    1
438706f2543Smrg    } ;
439706f2543Smrg
440706f2543Smrgstatic yyconst flex_int32_t yy_meta[52] =
441706f2543Smrg    {   0,
442706f2543Smrg        1,    2,    3,    3,    1,    1,    1,    1,    1,    1,
443706f2543Smrg        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
444706f2543Smrg        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
445706f2543Smrg        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
446706f2543Smrg        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
447706f2543Smrg        1
448706f2543Smrg    } ;
449706f2543Smrg
450706f2543Smrgstatic yyconst flex_int16_t yy_base[193] =
451706f2543Smrg    {   0,
452706f2543Smrg        0,    0,  373,    0,  370,  403,   50,   54,  363,   37,
453706f2543Smrg       35,   47,   35,   52,   55,   45,   41,   54,   83,   50,
454706f2543Smrg        0,    0,    0,  367,   74,  362,   97,   74,  403,   93,
455706f2543Smrg      100,   43,   93,   49,   98,   96,   90,   86,   95,   96,
456706f2543Smrg      124,   94,  102,  101,  101,  106,   96,  102,  105,  132,
457706f2543Smrg        0,  403,  146,  148,  403,  150,  147,  138,  134,  136,
458706f2543Smrg      136,  154,  153,  146,  150,  142,  152,  148,  155,  155,
459706f2543Smrg      153,  150,  166,  163,  163,  165,  172,  170,  171,  188,
460706f2543Smrg      193,  183,  190,  181,    0,  195,  190,    0,  191,  201,
461706f2543Smrg      188,  197,  205,  197,  194,  198,  209,  212,  212,  224,
462706f2543Smrg
463706f2543Smrg      218,    0,  220,  226,    0,  228,  231,    0,  232,  233,
464706f2543Smrg      232,  234,  233,  242,  242,  247,  233,  235,  240,  237,
465706f2543Smrg      253,  247,  250,    0,  258,  261,  255,  257,  274,  276,
466706f2543Smrg      277,    0,  272,  268,  280,    0,  269,  272,  277,  279,
467706f2543Smrg        0,  283,  287,  288,  289,    0,    0,    0,  284,  296,
468706f2543Smrg      297,    0,    0,  306,  302,  317,  301,  320,    0,    0,
469706f2543Smrg        0,  310,  317,    0,  314,  315,  313,  314,    0,  315,
470706f2543Smrg      319,  322,  324,  323,    0,    0,    0,  331,  326,  332,
471706f2543Smrg      330,  341,    0,    0,  403,  365,  386,  388,  391,  393,
472706f2543Smrg      396,  399
473706f2543Smrg
474706f2543Smrg    } ;
475706f2543Smrg
476706f2543Smrgstatic yyconst flex_int16_t yy_def[193] =
477706f2543Smrg    {   0,
478706f2543Smrg      185,    1,  185,  186,  185,  185,  187,  188,  186,  186,
479706f2543Smrg      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
480706f2543Smrg      186,  186,  186,  185,  187,  189,  188,  190,  185,  190,
481706f2543Smrg      191,  186,  186,  186,  186,  186,  186,  186,  186,  186,
482706f2543Smrg      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
483706f2543Smrg      186,  185,  191,  192,  185,  192,  186,  186,  186,  186,
484706f2543Smrg      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
485706f2543Smrg      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
486706f2543Smrg      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
487706f2543Smrg      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
488706f2543Smrg
489706f2543Smrg      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
490706f2543Smrg      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
491706f2543Smrg      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
492706f2543Smrg      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
493706f2543Smrg      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
494706f2543Smrg      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
495706f2543Smrg      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
496706f2543Smrg      186,  186,  186,  186,  186,  186,  186,  186,  186,  186,
497706f2543Smrg      186,  186,  186,  186,    0,  185,  185,  185,  185,  185,
498706f2543Smrg      185,  185
499706f2543Smrg
500706f2543Smrg    } ;
501706f2543Smrg
502706f2543Smrgstatic yyconst flex_int16_t yy_nxt[455] =
503706f2543Smrg    {   0,
504706f2543Smrg        4,    5,    6,    6,    7,    8,    9,   10,   11,    4,
505706f2543Smrg       12,   13,    4,    4,   14,    4,   15,   16,   17,    4,
506706f2543Smrg       18,   19,   20,    4,    4,    4,    4,    4,   10,   11,
507706f2543Smrg        4,   12,   13,    4,    4,   14,    4,   15,   16,   17,
508706f2543Smrg        4,   18,   19,   20,    4,    4,    4,    4,    4,   21,
509706f2543Smrg       22,   26,   32,   34,   23,   28,   29,   30,   35,   33,
510706f2543Smrg       36,   37,   38,   41,   42,   43,   39,   57,   49,   40,
511706f2543Smrg       50,   60,   44,   32,   34,   26,   29,   30,   51,   35,
512706f2543Smrg       33,   36,   37,   38,   41,   42,   43,   39,   57,   49,
513706f2543Smrg       40,   50,   60,   44,   45,   29,   30,   46,   28,   29,
514706f2543Smrg
515706f2543Smrg       30,   54,   55,   56,   58,   47,   61,   63,   64,   48,
516706f2543Smrg       62,   65,   66,   67,   59,   45,   70,   71,   46,   72,
517706f2543Smrg       73,   74,   75,   76,   77,   58,   47,   61,   63,   64,
518706f2543Smrg       48,   62,   65,   66,   67,   59,   68,   70,   71,   78,
519706f2543Smrg       72,   73,   74,   75,   76,   77,   69,   54,   55,   56,
520706f2543Smrg       55,   56,   55,   56,   79,   80,   81,   68,   82,   83,
521706f2543Smrg       78,   84,   85,   86,   87,   88,   89,   69,   90,   91,
522706f2543Smrg       92,   93,   94,   95,   96,   79,   80,   81,   97,   82,
523706f2543Smrg       83,   98,   84,   85,   86,   87,   88,   89,   99,   90,
524706f2543Smrg       91,   92,   93,   94,   95,   96,  100,  101,  102,   97,
525706f2543Smrg
526706f2543Smrg      103,  104,   98,  105,  106,  107,  109,  110,  111,   99,
527706f2543Smrg      112,  113,  114,  115,  116,  117,  108,  100,  101,  102,
528706f2543Smrg      118,  103,  104,  119,  105,  106,  107,  109,  110,  111,
529706f2543Smrg      120,  112,  113,  114,  115,  116,  117,  108,  121,  122,
530706f2543Smrg      123,  118,  124,  125,  119,  126,  127,  128,  129,  130,
531706f2543Smrg      131,  120,  132,  133,  134,  135,  136,  137,  138,  121,
532706f2543Smrg      122,  123,  139,  124,  125,  140,  126,  127,  128,  129,
533706f2543Smrg      130,  131,  141,  132,  133,  134,  135,  136,  137,  138,
534706f2543Smrg      142,  143,  144,  139,  145,  146,  140,  147,  148,  149,
535706f2543Smrg      150,  151,  152,  141,  153,  154,  155,  156,  158,  159,
536706f2543Smrg
537706f2543Smrg      160,  142,  143,  144,  157,  145,  146,  161,  147,  148,
538706f2543Smrg      149,  150,  151,  152,  162,  153,  154,  155,  156,  158,
539706f2543Smrg      159,  160,  163,  164,  165,  157,  166,  167,  161,  168,
540706f2543Smrg      169,  170,  171,  172,  173,  162,  174,  175,  176,  177,
541706f2543Smrg      178,  179,  180,  163,  164,  165,  181,  166,  167,  182,
542706f2543Smrg      168,  169,  170,  171,  172,  173,  183,  174,  175,  176,
543706f2543Smrg      177,  178,  179,  180,  184,   23,   52,  181,   24,   31,
544706f2543Smrg      182,   24,  185,  185,  185,  185,  185,  183,  185,  185,
545706f2543Smrg      185,  185,  185,  185,  185,  184,   25,   25,   27,   27,
546706f2543Smrg       27,   26,   26,   28,   28,   28,   53,   53,   53,   54,
547706f2543Smrg
548706f2543Smrg       54,   54,    3,  185,  185,  185,  185,  185,  185,  185,
549706f2543Smrg      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
550706f2543Smrg      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
551706f2543Smrg      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
552706f2543Smrg      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
553706f2543Smrg      185,  185,  185,  185
554706f2543Smrg    } ;
555706f2543Smrg
556706f2543Smrgstatic yyconst flex_int16_t yy_chk[455] =
557706f2543Smrg    {   0,
558706f2543Smrg        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
559706f2543Smrg        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
560706f2543Smrg        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
561706f2543Smrg        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
562706f2543Smrg        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
563706f2543Smrg        1,    7,   10,   11,    7,    8,    8,    8,   12,   10,
564706f2543Smrg       13,   14,   15,   16,   17,   18,   15,   32,   20,   15,
565706f2543Smrg       20,   34,   18,   10,   11,   25,   28,   28,   25,   12,
566706f2543Smrg       10,   13,   14,   15,   16,   17,   18,   15,   32,   20,
567706f2543Smrg       15,   20,   34,   18,   19,   30,   30,   19,   27,   27,
568706f2543Smrg
569706f2543Smrg       27,   31,   31,   31,   33,   19,   35,   36,   37,   19,
570706f2543Smrg       35,   38,   39,   40,   33,   19,   42,   43,   19,   44,
571706f2543Smrg       45,   46,   47,   48,   49,   33,   19,   35,   36,   37,
572706f2543Smrg       19,   35,   38,   39,   40,   33,   41,   42,   43,   50,
573706f2543Smrg       44,   45,   46,   47,   48,   49,   41,   53,   53,   53,
574706f2543Smrg       54,   54,   56,   56,   57,   58,   59,   41,   60,   61,
575706f2543Smrg       50,   62,   63,   64,   65,   66,   67,   41,   68,   69,
576706f2543Smrg       70,   71,   72,   73,   74,   57,   58,   59,   75,   60,
577706f2543Smrg       61,   76,   62,   63,   64,   65,   66,   67,   77,   68,
578706f2543Smrg       69,   70,   71,   72,   73,   74,   78,   79,   80,   75,
579706f2543Smrg
580706f2543Smrg       81,   82,   76,   83,   84,   86,   87,   89,   90,   77,
581706f2543Smrg       91,   92,   93,   94,   95,   96,   86,   78,   79,   80,
582706f2543Smrg       97,   81,   82,   98,   83,   84,   86,   87,   89,   90,
583706f2543Smrg       99,   91,   92,   93,   94,   95,   96,   86,  100,  101,
584706f2543Smrg      103,   97,  104,  106,   98,  107,  109,  110,  111,  112,
585706f2543Smrg      113,   99,  114,  115,  116,  117,  118,  119,  120,  100,
586706f2543Smrg      101,  103,  121,  104,  106,  122,  107,  109,  110,  111,
587706f2543Smrg      112,  113,  123,  114,  115,  116,  117,  118,  119,  120,
588706f2543Smrg      125,  126,  127,  121,  128,  129,  122,  130,  131,  133,
589706f2543Smrg      134,  135,  137,  123,  138,  139,  140,  142,  143,  144,
590706f2543Smrg
591706f2543Smrg      145,  125,  126,  127,  142,  128,  129,  149,  130,  131,
592706f2543Smrg      133,  134,  135,  137,  150,  138,  139,  140,  142,  143,
593706f2543Smrg      144,  145,  151,  154,  155,  142,  156,  157,  149,  158,
594706f2543Smrg      162,  163,  165,  166,  167,  150,  168,  170,  171,  172,
595706f2543Smrg      173,  174,  178,  151,  154,  155,  179,  156,  157,  180,
596706f2543Smrg      158,  162,  163,  165,  166,  167,  181,  168,  170,  171,
597706f2543Smrg      172,  173,  174,  178,  182,  186,   26,  179,   24,    9,
598706f2543Smrg      180,    5,    3,    0,    0,    0,    0,  181,    0,    0,
599706f2543Smrg        0,    0,    0,    0,    0,  182,  187,  187,  188,  188,
600706f2543Smrg      188,  189,  189,  190,  190,  190,  191,  191,  191,  192,
601706f2543Smrg
602706f2543Smrg      192,  192,  185,  185,  185,  185,  185,  185,  185,  185,
603706f2543Smrg      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
604706f2543Smrg      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
605706f2543Smrg      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
606706f2543Smrg      185,  185,  185,  185,  185,  185,  185,  185,  185,  185,
607706f2543Smrg      185,  185,  185,  185
608706f2543Smrg    } ;
609706f2543Smrg
610706f2543Smrg/* Table of booleans, true if rule could match eol. */
611706f2543Smrgstatic yyconst flex_int32_t yy_rule_can_match_eol[34] =
612706f2543Smrg    {   0,
613706f2543Smrg1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
614706f2543Smrg    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,     };
615706f2543Smrg
616706f2543Smrgstatic yy_state_type yy_last_accepting_state;
617706f2543Smrgstatic char *yy_last_accepting_cpos;
618706f2543Smrg
619706f2543Smrgextern int yy_flex_debug;
620706f2543Smrgint yy_flex_debug = 0;
621706f2543Smrg
622706f2543Smrg/* The intent behind this definition is that it'll catch
623706f2543Smrg * any uses of REJECT which flex missed.
624706f2543Smrg */
625706f2543Smrg#define REJECT reject_used_but_not_detected
626706f2543Smrg#define yymore() yymore_used_but_not_detected
627706f2543Smrg#define YY_MORE_ADJ 0
628706f2543Smrg#define YY_RESTORE_YY_MORE_OFFSET
629706f2543Smrgchar *yytext;
630706f2543Smrg#line 1 "winprefslex.l"
631706f2543Smrg#line 2 "winprefslex.l"
632706f2543Smrg/*
633706f2543Smrg * Copyright (C) 1994-2000 The XFree86 Project, Inc. All Rights Reserved.
634706f2543Smrg * Copyright (C) Colin Harrison 2005-2008
635706f2543Smrg *
636706f2543Smrg * Permission is hereby granted, free of charge, to any person obtaining
637706f2543Smrg * a copy of this software and associated documentation files (the
638706f2543Smrg * "Software"), to deal in the Software without restriction, including
639706f2543Smrg * without limitation the rights to use, copy, modify, merge, publish,
640706f2543Smrg * distribute, sublicense, and/or sell copies of the Software, and to
641706f2543Smrg * permit persons to whom the Software is furnished to do so, subject to
642706f2543Smrg * the following conditions:
643706f2543Smrg *
644706f2543Smrg * The above copyright notice and this permission notice shall be
645706f2543Smrg * included in all copies or substantial portions of the Software.
646706f2543Smrg *
647706f2543Smrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
648706f2543Smrg * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
649706f2543Smrg * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
650706f2543Smrg * NONINFRINGEMENT. IN NO EVENT SHALL THE XFREE86 PROJECT BE LIABLE FOR
651706f2543Smrg * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
652706f2543Smrg * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
653706f2543Smrg * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
654706f2543Smrg *
655706f2543Smrg * Except as contained in this notice, the name of the XFree86 Project
656706f2543Smrg * shall not be used in advertising or otherwise to promote the sale, use
657706f2543Smrg * or other dealings in this Software without prior written authorization
658706f2543Smrg * from the XFree86 Project.
659706f2543Smrg *
660706f2543Smrg * Authors:     Earle F. Philhower, III
661706f2543Smrg *              Colin Harrison
662706f2543Smrg */
663706f2543Smrg/* $XFree86: $ */
664706f2543Smrg
665706f2543Smrg#include <stdio.h>
666706f2543Smrg#include <stdlib.h>
667706f2543Smrg#include <string.h>
668706f2543Smrg#include "winprefsyacc.h"
669706f2543Smrg
670706f2543Smrgextern YYSTYPE yylval;
671706f2543Smrgextern char *yytext;
672706f2543Smrgextern int yyparse(void);
673706f2543Smrg
674706f2543Smrgextern void ErrorF (const char* /*f*/, ...);
675706f2543Smrg
676706f2543Smrgint yylineno;
677706f2543Smrg
678706f2543Smrg/* Copy the parsed string, must be free()d in yacc parser */
679706f2543Smrgstatic char *makestr(char *str)
680706f2543Smrg{
681706f2543Smrg  char *ptr;
682706f2543Smrg  ptr = (char*)malloc (strlen(str)+1);
683706f2543Smrg  if (!ptr)
684706f2543Smrg    {
685706f2543Smrg      ErrorF ("winMultiWindowLex:makestr() out of memory\n");
686706f2543Smrg      exit (-1);
687706f2543Smrg    }
688706f2543Smrg  strcpy(ptr, str);
689706f2543Smrg  return ptr;
690706f2543Smrg}
691706f2543Smrg
692706f2543Smrg#line 693 "winprefslex.c"
693706f2543Smrg
694706f2543Smrg#define INITIAL 0
695706f2543Smrg
696706f2543Smrg#ifndef YY_NO_UNISTD_H
697706f2543Smrg/* Special case for "unistd.h", since it is non-ANSI. We include it way
698706f2543Smrg * down here because we want the user's section 1 to have been scanned first.
699706f2543Smrg * The user has a chance to override it with an option.
700706f2543Smrg */
701706f2543Smrg#include <unistd.h>
702706f2543Smrg#endif
703706f2543Smrg
704706f2543Smrg#ifndef YY_EXTRA_TYPE
705706f2543Smrg#define YY_EXTRA_TYPE void *
706706f2543Smrg#endif
707706f2543Smrg
708706f2543Smrgstatic int yy_init_globals (void );
709706f2543Smrg
710706f2543Smrg/* Accessor methods to globals.
711706f2543Smrg   These are made visible to non-reentrant scanners for convenience. */
712706f2543Smrg
713706f2543Smrgint yylex_destroy (void );
714706f2543Smrg
715706f2543Smrgint yyget_debug (void );
716706f2543Smrg
717706f2543Smrgvoid yyset_debug (int debug_flag  );
718706f2543Smrg
719706f2543SmrgYY_EXTRA_TYPE yyget_extra (void );
720706f2543Smrg
721706f2543Smrgvoid yyset_extra (YY_EXTRA_TYPE user_defined  );
722706f2543Smrg
723706f2543SmrgFILE *yyget_in (void );
724706f2543Smrg
725706f2543Smrgvoid yyset_in  (FILE * in_str  );
726706f2543Smrg
727706f2543SmrgFILE *yyget_out (void );
728706f2543Smrg
729706f2543Smrgvoid yyset_out  (FILE * out_str  );
730706f2543Smrg
731706f2543Smrgint yyget_leng (void );
732706f2543Smrg
733706f2543Smrgchar *yyget_text (void );
734706f2543Smrg
735706f2543Smrgint yyget_lineno (void );
736706f2543Smrg
737706f2543Smrgvoid yyset_lineno (int line_number  );
738706f2543Smrg
739706f2543Smrg/* Macros after this point can all be overridden by user definitions in
740706f2543Smrg * section 1.
741706f2543Smrg */
742706f2543Smrg
743706f2543Smrg#ifndef YY_SKIP_YYWRAP
744706f2543Smrg#ifdef __cplusplus
745706f2543Smrgextern "C" int yywrap (void );
746706f2543Smrg#else
747706f2543Smrgextern int yywrap (void );
748706f2543Smrg#endif
749706f2543Smrg#endif
750706f2543Smrg
751706f2543Smrg    static void yyunput (int c,char *buf_ptr  );
752706f2543Smrg
753706f2543Smrg#ifndef yytext_ptr
754706f2543Smrgstatic void yy_flex_strncpy (char *,yyconst char *,int );
755706f2543Smrg#endif
756706f2543Smrg
757706f2543Smrg#ifdef YY_NEED_STRLEN
758706f2543Smrgstatic int yy_flex_strlen (yyconst char * );
759706f2543Smrg#endif
760706f2543Smrg
761706f2543Smrg#ifndef YY_NO_INPUT
762706f2543Smrg
763706f2543Smrg#ifdef __cplusplus
764706f2543Smrgstatic int yyinput (void );
765706f2543Smrg#else
766706f2543Smrgstatic int input (void );
767706f2543Smrg#endif
768706f2543Smrg
769706f2543Smrg#endif
770706f2543Smrg
771706f2543Smrg/* Amount of stuff to slurp up with each read. */
772706f2543Smrg#ifndef YY_READ_BUF_SIZE
773706f2543Smrg#define YY_READ_BUF_SIZE 8192
774706f2543Smrg#endif
775706f2543Smrg
776706f2543Smrg/* Copy whatever the last rule matched to the standard output. */
777706f2543Smrg#ifndef ECHO
778706f2543Smrg/* This used to be an fputs(), but since the string might contain NUL's,
779706f2543Smrg * we now use fwrite().
780706f2543Smrg */
781706f2543Smrg#define ECHO fwrite( yytext, yyleng, 1, yyout )
782706f2543Smrg#endif
783706f2543Smrg
784706f2543Smrg/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
785706f2543Smrg * is returned in "result".
786706f2543Smrg */
787706f2543Smrg#ifndef YY_INPUT
788706f2543Smrg#define YY_INPUT(buf,result,max_size) \
789706f2543Smrg	if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
790706f2543Smrg		{ \
791706f2543Smrg		int c = '*'; \
792706f2543Smrg		int n; \
793706f2543Smrg		for ( n = 0; n < max_size && \
794706f2543Smrg			     (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
795706f2543Smrg			buf[n] = (char) c; \
796706f2543Smrg		if ( c == '\n' ) \
797706f2543Smrg			buf[n++] = (char) c; \
798706f2543Smrg		if ( c == EOF && ferror( yyin ) ) \
799706f2543Smrg			YY_FATAL_ERROR( "input in flex scanner failed" ); \
800706f2543Smrg		result = n; \
801706f2543Smrg		} \
802706f2543Smrg	else \
803706f2543Smrg		{ \
804706f2543Smrg		errno=0; \
805706f2543Smrg		while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
806706f2543Smrg			{ \
807706f2543Smrg			if( errno != EINTR) \
808706f2543Smrg				{ \
809706f2543Smrg				YY_FATAL_ERROR( "input in flex scanner failed" ); \
810706f2543Smrg				break; \
811706f2543Smrg				} \
812706f2543Smrg			errno=0; \
813706f2543Smrg			clearerr(yyin); \
814706f2543Smrg			} \
815706f2543Smrg		}\
816706f2543Smrg\
817706f2543Smrg
818706f2543Smrg#endif
819706f2543Smrg
820706f2543Smrg/* No semi-colon after return; correct usage is to write "yyterminate();" -
821706f2543Smrg * we don't want an extra ';' after the "return" because that will cause
822706f2543Smrg * some compilers to complain about unreachable statements.
823706f2543Smrg */
824706f2543Smrg#ifndef yyterminate
825706f2543Smrg#define yyterminate() return YY_NULL
826706f2543Smrg#endif
827706f2543Smrg
828706f2543Smrg/* Number of entries by which start-condition stack grows. */
829706f2543Smrg#ifndef YY_START_STACK_INCR
830706f2543Smrg#define YY_START_STACK_INCR 25
831706f2543Smrg#endif
832706f2543Smrg
833706f2543Smrg/* Report a fatal error. */
834706f2543Smrg#ifndef YY_FATAL_ERROR
835706f2543Smrg#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
836706f2543Smrg#endif
837706f2543Smrg
838706f2543Smrg/* end tables serialization structures and prototypes */
839706f2543Smrg
840706f2543Smrg/* Default declaration of generated scanner - a define so the user can
841706f2543Smrg * easily add parameters.
842706f2543Smrg */
843706f2543Smrg#ifndef YY_DECL
844706f2543Smrg#define YY_DECL_IS_OURS 1
845706f2543Smrg
846706f2543Smrgextern int yylex (void);
847706f2543Smrg
848706f2543Smrg#define YY_DECL int yylex (void)
849706f2543Smrg#endif /* !YY_DECL */
850706f2543Smrg
851706f2543Smrg/* Code executed at the beginning of each rule, after yytext and yyleng
852706f2543Smrg * have been set up.
853706f2543Smrg */
854706f2543Smrg#ifndef YY_USER_ACTION
855706f2543Smrg#define YY_USER_ACTION
856706f2543Smrg#endif
857706f2543Smrg
858706f2543Smrg/* Code executed at the end of each rule. */
859706f2543Smrg#ifndef YY_BREAK
860706f2543Smrg#define YY_BREAK break;
861706f2543Smrg#endif
862706f2543Smrg
863706f2543Smrg#define YY_RULE_SETUP \
864706f2543Smrg	YY_USER_ACTION
865706f2543Smrg
866706f2543Smrg/** The main scanner function which does all the work.
867706f2543Smrg */
868706f2543SmrgYY_DECL
869706f2543Smrg{
870706f2543Smrg	register yy_state_type yy_current_state;
871706f2543Smrg	register char *yy_cp, *yy_bp;
872706f2543Smrg	register int yy_act;
873706f2543Smrg
874706f2543Smrg#line 66 "winprefslex.l"
875706f2543Smrg
876706f2543Smrg#line 877 "winprefslex.c"
877706f2543Smrg
878706f2543Smrg	if ( !(yy_init) )
879706f2543Smrg		{
880706f2543Smrg		(yy_init) = 1;
881706f2543Smrg
882706f2543Smrg#ifdef YY_USER_INIT
883706f2543Smrg		YY_USER_INIT;
884706f2543Smrg#endif
885706f2543Smrg
886706f2543Smrg		if ( ! (yy_start) )
887706f2543Smrg			(yy_start) = 1;	/* first start state */
888706f2543Smrg
889706f2543Smrg		if ( ! yyin )
890706f2543Smrg			yyin = stdin;
891706f2543Smrg
892706f2543Smrg		if ( ! yyout )
893706f2543Smrg			yyout = stdout;
894706f2543Smrg
895706f2543Smrg		if ( ! YY_CURRENT_BUFFER ) {
896706f2543Smrg			yyensure_buffer_stack ();
897706f2543Smrg			YY_CURRENT_BUFFER_LVALUE =
898706f2543Smrg				yy_create_buffer(yyin,YY_BUF_SIZE );
899706f2543Smrg		}
900706f2543Smrg
901706f2543Smrg		yy_load_buffer_state( );
902706f2543Smrg		}
903706f2543Smrg
904706f2543Smrg	while ( 1 )		/* loops until end-of-file is reached */
905706f2543Smrg		{
906706f2543Smrg		yy_cp = (yy_c_buf_p);
907706f2543Smrg
908706f2543Smrg		/* Support of yytext. */
909706f2543Smrg		*yy_cp = (yy_hold_char);
910706f2543Smrg
911706f2543Smrg		/* yy_bp points to the position in yy_ch_buf of the start of
912706f2543Smrg		 * the current run.
913706f2543Smrg		 */
914706f2543Smrg		yy_bp = yy_cp;
915706f2543Smrg
916706f2543Smrg		yy_current_state = (yy_start);
917706f2543Smrgyy_match:
918706f2543Smrg		do
919706f2543Smrg			{
920706f2543Smrg			register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
921706f2543Smrg			if ( yy_accept[yy_current_state] )
922706f2543Smrg				{
923706f2543Smrg				(yy_last_accepting_state) = yy_current_state;
924706f2543Smrg				(yy_last_accepting_cpos) = yy_cp;
925706f2543Smrg				}
926706f2543Smrg			while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
927706f2543Smrg				{
928706f2543Smrg				yy_current_state = (int) yy_def[yy_current_state];
929706f2543Smrg				if ( yy_current_state >= 186 )
930706f2543Smrg					yy_c = yy_meta[(unsigned int) yy_c];
931706f2543Smrg				}
932706f2543Smrg			yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
933706f2543Smrg			++yy_cp;
934706f2543Smrg			}
935706f2543Smrg		while ( yy_base[yy_current_state] != 403 );
936706f2543Smrg
937706f2543Smrgyy_find_action:
938706f2543Smrg		yy_act = yy_accept[yy_current_state];
939706f2543Smrg		if ( yy_act == 0 )
940706f2543Smrg			{ /* have to back up */
941706f2543Smrg			yy_cp = (yy_last_accepting_cpos);
942706f2543Smrg			yy_current_state = (yy_last_accepting_state);
943706f2543Smrg			yy_act = yy_accept[yy_current_state];
944706f2543Smrg			}
945706f2543Smrg
946706f2543Smrg		YY_DO_BEFORE_ACTION;
947706f2543Smrg
948706f2543Smrg		if ( yy_act != YY_END_OF_BUFFER && yy_rule_can_match_eol[yy_act] )
949706f2543Smrg			{
950706f2543Smrg			int yyl;
951706f2543Smrg			for ( yyl = 0; yyl < yyleng; ++yyl )
952706f2543Smrg				if ( yytext[yyl] == '\n' )
953706f2543Smrg
954706f2543Smrg    yylineno++;
955706f2543Smrg;
956706f2543Smrg			}
957706f2543Smrg
958706f2543Smrgdo_action:	/* This label is used only to access EOF actions. */
959706f2543Smrg
960706f2543Smrg		switch ( yy_act )
961706f2543Smrg	{ /* beginning of action switch */
962706f2543Smrg			case 0: /* must back up */
963706f2543Smrg			/* undo the effects of YY_DO_BEFORE_ACTION */
964706f2543Smrg			*yy_cp = (yy_hold_char);
965706f2543Smrg			yy_cp = (yy_last_accepting_cpos);
966706f2543Smrg			yy_current_state = (yy_last_accepting_state);
967706f2543Smrg			goto yy_find_action;
968706f2543Smrg
969706f2543Smrgcase 1:
970706f2543Smrg/* rule 1 can match eol */
971706f2543SmrgYY_RULE_SETUP
972706f2543Smrg#line 67 "winprefslex.l"
973706f2543Smrg{ /* comment */ return NEWLINE; }
974706f2543Smrg	YY_BREAK
975706f2543Smrgcase 2:
976706f2543Smrg/* rule 2 can match eol */
977706f2543SmrgYY_RULE_SETUP
978706f2543Smrg#line 68 "winprefslex.l"
979706f2543Smrg{ /* comment */ return NEWLINE; }
980706f2543Smrg	YY_BREAK
981706f2543Smrgcase 3:
982706f2543Smrg/* rule 3 can match eol */
983706f2543SmrgYY_RULE_SETUP
984706f2543Smrg#line 69 "winprefslex.l"
985706f2543Smrg{ return NEWLINE; }
986706f2543Smrg	YY_BREAK
987706f2543Smrgcase 4:
988706f2543SmrgYY_RULE_SETUP
989706f2543Smrg#line 70 "winprefslex.l"
990706f2543Smrg{ /* ignore whitespace */ }
991706f2543Smrg	YY_BREAK
992706f2543Smrgcase 5:
993706f2543SmrgYY_RULE_SETUP
994706f2543Smrg#line 71 "winprefslex.l"
995706f2543Smrg{ return MENU; }
996706f2543Smrg	YY_BREAK
997706f2543Smrgcase 6:
998706f2543SmrgYY_RULE_SETUP
999706f2543Smrg#line 72 "winprefslex.l"
1000706f2543Smrg{ return ICONDIRECTORY; }
1001706f2543Smrg	YY_BREAK
1002706f2543Smrgcase 7:
1003706f2543SmrgYY_RULE_SETUP
1004706f2543Smrg#line 73 "winprefslex.l"
1005706f2543Smrg{ return DEFAULTICON; }
1006706f2543Smrg	YY_BREAK
1007706f2543Smrgcase 8:
1008706f2543SmrgYY_RULE_SETUP
1009706f2543Smrg#line 74 "winprefslex.l"
1010706f2543Smrg{ return ICONS; }
1011706f2543Smrg	YY_BREAK
1012706f2543Smrgcase 9:
1013706f2543SmrgYY_RULE_SETUP
1014706f2543Smrg#line 75 "winprefslex.l"
1015706f2543Smrg{ return STYLES; }
1016706f2543Smrg	YY_BREAK
1017706f2543Smrgcase 10:
1018706f2543SmrgYY_RULE_SETUP
1019706f2543Smrg#line 76 "winprefslex.l"
1020706f2543Smrg{ return TOPMOST; }
1021706f2543Smrg	YY_BREAK
1022706f2543Smrgcase 11:
1023706f2543SmrgYY_RULE_SETUP
1024706f2543Smrg#line 77 "winprefslex.l"
1025706f2543Smrg{ return MAXIMIZE; }
1026706f2543Smrg	YY_BREAK
1027706f2543Smrgcase 12:
1028706f2543SmrgYY_RULE_SETUP
1029706f2543Smrg#line 78 "winprefslex.l"
1030706f2543Smrg{ return MINIMIZE; }
1031706f2543Smrg	YY_BREAK
1032706f2543Smrgcase 13:
1033706f2543SmrgYY_RULE_SETUP
1034706f2543Smrg#line 79 "winprefslex.l"
1035706f2543Smrg{ return BOTTOM; }
1036706f2543Smrg	YY_BREAK
1037706f2543Smrgcase 14:
1038706f2543SmrgYY_RULE_SETUP
1039706f2543Smrg#line 80 "winprefslex.l"
1040706f2543Smrg{ return NOTITLE; }
1041706f2543Smrg	YY_BREAK
1042706f2543Smrgcase 15:
1043706f2543SmrgYY_RULE_SETUP
1044706f2543Smrg#line 81 "winprefslex.l"
1045706f2543Smrg{ return OUTLINE; }
1046706f2543Smrg	YY_BREAK
1047706f2543Smrgcase 16:
1048706f2543SmrgYY_RULE_SETUP
1049706f2543Smrg#line 82 "winprefslex.l"
1050706f2543Smrg{ return NOFRAME; }
1051706f2543Smrg	YY_BREAK
1052706f2543Smrgcase 17:
1053706f2543SmrgYY_RULE_SETUP
1054706f2543Smrg#line 83 "winprefslex.l"
1055706f2543Smrg{ return ROOTMENU; }
1056706f2543Smrg	YY_BREAK
1057706f2543Smrgcase 18:
1058706f2543SmrgYY_RULE_SETUP
1059706f2543Smrg#line 84 "winprefslex.l"
1060706f2543Smrg{ return DEFAULTSYSMENU; }
1061706f2543Smrg	YY_BREAK
1062706f2543Smrgcase 19:
1063706f2543SmrgYY_RULE_SETUP
1064706f2543Smrg#line 85 "winprefslex.l"
1065706f2543Smrg{ return SYSMENU; }
1066706f2543Smrg	YY_BREAK
1067706f2543Smrgcase 20:
1068706f2543SmrgYY_RULE_SETUP
1069706f2543Smrg#line 86 "winprefslex.l"
1070706f2543Smrg{ return SEPARATOR; }
1071706f2543Smrg	YY_BREAK
1072706f2543Smrgcase 21:
1073706f2543SmrgYY_RULE_SETUP
1074706f2543Smrg#line 87 "winprefslex.l"
1075706f2543Smrg{ return ATSTART; }
1076706f2543Smrg	YY_BREAK
1077706f2543Smrgcase 22:
1078706f2543SmrgYY_RULE_SETUP
1079706f2543Smrg#line 88 "winprefslex.l"
1080706f2543Smrg{ return ATEND; }
1081706f2543Smrg	YY_BREAK
1082706f2543Smrgcase 23:
1083706f2543SmrgYY_RULE_SETUP
1084706f2543Smrg#line 89 "winprefslex.l"
1085706f2543Smrg{ return EXEC; }
1086706f2543Smrg	YY_BREAK
1087706f2543Smrgcase 24:
1088706f2543SmrgYY_RULE_SETUP
1089706f2543Smrg#line 90 "winprefslex.l"
1090706f2543Smrg{ return ALWAYSONTOP; }
1091706f2543Smrg	YY_BREAK
1092706f2543Smrgcase 25:
1093706f2543SmrgYY_RULE_SETUP
1094706f2543Smrg#line 91 "winprefslex.l"
1095706f2543Smrg{ return DEBUGOUTPUT; }
1096706f2543Smrg	YY_BREAK
1097706f2543Smrgcase 26:
1098706f2543SmrgYY_RULE_SETUP
1099706f2543Smrg#line 92 "winprefslex.l"
1100706f2543Smrg{ return RELOAD; }
1101706f2543Smrg	YY_BREAK
1102706f2543Smrgcase 27:
1103706f2543SmrgYY_RULE_SETUP
1104706f2543Smrg#line 93 "winprefslex.l"
1105706f2543Smrg{ return TRAYICON; }
1106706f2543Smrg	YY_BREAK
1107706f2543Smrgcase 28:
1108706f2543SmrgYY_RULE_SETUP
1109706f2543Smrg#line 94 "winprefslex.l"
1110706f2543Smrg{ return SILENTEXIT; }
1111706f2543Smrg	YY_BREAK
1112706f2543Smrgcase 29:
1113706f2543SmrgYY_RULE_SETUP
1114706f2543Smrg#line 95 "winprefslex.l"
1115706f2543Smrg{ return LB; }
1116706f2543Smrg	YY_BREAK
1117706f2543Smrgcase 30:
1118706f2543SmrgYY_RULE_SETUP
1119706f2543Smrg#line 96 "winprefslex.l"
1120706f2543Smrg{ return RB; }
1121706f2543Smrg	YY_BREAK
1122706f2543Smrgcase 31:
1123706f2543SmrgYY_RULE_SETUP
1124706f2543Smrg#line 97 "winprefslex.l"
1125706f2543Smrg{ yylval.sVal = makestr(yytext+1); \
1126706f2543Smrg                          yylval.sVal[strlen(yylval.sVal)-1] = 0; \
1127706f2543Smrg                          return STRING; }
1128706f2543Smrg	YY_BREAK
1129706f2543Smrgcase 32:
1130706f2543SmrgYY_RULE_SETUP
1131706f2543Smrg#line 100 "winprefslex.l"
1132706f2543Smrg{ yylval.sVal = makestr(yytext); \
1133706f2543Smrg                          return STRING; }
1134706f2543Smrg	YY_BREAK
1135706f2543Smrgcase 33:
1136706f2543SmrgYY_RULE_SETUP
1137706f2543Smrg#line 102 "winprefslex.l"
1138706f2543SmrgECHO;
1139706f2543Smrg	YY_BREAK
1140706f2543Smrg#line 1141 "winprefslex.c"
1141706f2543Smrgcase YY_STATE_EOF(INITIAL):
1142706f2543Smrg	yyterminate();
1143706f2543Smrg
1144706f2543Smrg	case YY_END_OF_BUFFER:
1145706f2543Smrg		{
1146706f2543Smrg		/* Amount of text matched not including the EOB char. */
1147706f2543Smrg		int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
1148706f2543Smrg
1149706f2543Smrg		/* Undo the effects of YY_DO_BEFORE_ACTION. */
1150706f2543Smrg		*yy_cp = (yy_hold_char);
1151706f2543Smrg		YY_RESTORE_YY_MORE_OFFSET
1152706f2543Smrg
1153706f2543Smrg		if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
1154706f2543Smrg			{
1155706f2543Smrg			/* We're scanning a new file or input source.  It's
1156706f2543Smrg			 * possible that this happened because the user
1157706f2543Smrg			 * just pointed yyin at a new source and called
1158706f2543Smrg			 * yylex().  If so, then we have to assure
1159706f2543Smrg			 * consistency between YY_CURRENT_BUFFER and our
1160706f2543Smrg			 * globals.  Here is the right place to do so, because
1161706f2543Smrg			 * this is the first action (other than possibly a
1162706f2543Smrg			 * back-up) that will match for the new input source.
1163706f2543Smrg			 */
1164706f2543Smrg			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
1165706f2543Smrg			YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
1166706f2543Smrg			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
1167706f2543Smrg			}
1168706f2543Smrg
1169706f2543Smrg		/* Note that here we test for yy_c_buf_p "<=" to the position
1170706f2543Smrg		 * of the first EOB in the buffer, since yy_c_buf_p will
1171706f2543Smrg		 * already have been incremented past the NUL character
1172706f2543Smrg		 * (since all states make transitions on EOB to the
1173706f2543Smrg		 * end-of-buffer state).  Contrast this with the test
1174706f2543Smrg		 * in input().
1175706f2543Smrg		 */
1176706f2543Smrg		if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
1177706f2543Smrg			{ /* This was really a NUL. */
1178706f2543Smrg			yy_state_type yy_next_state;
1179706f2543Smrg
1180706f2543Smrg			(yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
1181706f2543Smrg
1182706f2543Smrg			yy_current_state = yy_get_previous_state(  );
1183706f2543Smrg
1184706f2543Smrg			/* Okay, we're now positioned to make the NUL
1185706f2543Smrg			 * transition.  We couldn't have
1186706f2543Smrg			 * yy_get_previous_state() go ahead and do it
1187706f2543Smrg			 * for us because it doesn't know how to deal
1188706f2543Smrg			 * with the possibility of jamming (and we don't
1189706f2543Smrg			 * want to build jamming into it because then it
1190706f2543Smrg			 * will run more slowly).
1191706f2543Smrg			 */
1192706f2543Smrg
1193706f2543Smrg			yy_next_state = yy_try_NUL_trans( yy_current_state );
1194706f2543Smrg
1195706f2543Smrg			yy_bp = (yytext_ptr) + YY_MORE_ADJ;
1196706f2543Smrg
1197706f2543Smrg			if ( yy_next_state )
1198706f2543Smrg				{
1199706f2543Smrg				/* Consume the NUL. */
1200706f2543Smrg				yy_cp = ++(yy_c_buf_p);
1201706f2543Smrg				yy_current_state = yy_next_state;
1202706f2543Smrg				goto yy_match;
1203706f2543Smrg				}
1204706f2543Smrg
1205706f2543Smrg			else
1206706f2543Smrg				{
1207706f2543Smrg				yy_cp = (yy_c_buf_p);
1208706f2543Smrg				goto yy_find_action;
1209706f2543Smrg				}
1210706f2543Smrg			}
1211706f2543Smrg
1212706f2543Smrg		else switch ( yy_get_next_buffer(  ) )
1213706f2543Smrg			{
1214706f2543Smrg			case EOB_ACT_END_OF_FILE:
1215706f2543Smrg				{
1216706f2543Smrg				(yy_did_buffer_switch_on_eof) = 0;
1217706f2543Smrg
1218706f2543Smrg				if ( yywrap( ) )
1219706f2543Smrg					{
1220706f2543Smrg					/* Note: because we've taken care in
1221706f2543Smrg					 * yy_get_next_buffer() to have set up
1222706f2543Smrg					 * yytext, we can now set up
1223706f2543Smrg					 * yy_c_buf_p so that if some total
1224706f2543Smrg					 * hoser (like flex itself) wants to
1225706f2543Smrg					 * call the scanner after we return the
1226706f2543Smrg					 * YY_NULL, it'll still work - another
1227706f2543Smrg					 * YY_NULL will get returned.
1228706f2543Smrg					 */
1229706f2543Smrg					(yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
1230706f2543Smrg
1231706f2543Smrg					yy_act = YY_STATE_EOF(YY_START);
1232706f2543Smrg					goto do_action;
1233706f2543Smrg					}
1234706f2543Smrg
1235706f2543Smrg				else
1236706f2543Smrg					{
1237706f2543Smrg					if ( ! (yy_did_buffer_switch_on_eof) )
1238706f2543Smrg						YY_NEW_FILE;
1239706f2543Smrg					}
1240706f2543Smrg				break;
1241706f2543Smrg				}
1242706f2543Smrg
1243706f2543Smrg			case EOB_ACT_CONTINUE_SCAN:
1244706f2543Smrg				(yy_c_buf_p) =
1245706f2543Smrg					(yytext_ptr) + yy_amount_of_matched_text;
1246706f2543Smrg
1247706f2543Smrg				yy_current_state = yy_get_previous_state(  );
1248706f2543Smrg
1249706f2543Smrg				yy_cp = (yy_c_buf_p);
1250706f2543Smrg				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
1251706f2543Smrg				goto yy_match;
1252706f2543Smrg
1253706f2543Smrg			case EOB_ACT_LAST_MATCH:
1254706f2543Smrg				(yy_c_buf_p) =
1255706f2543Smrg				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
1256706f2543Smrg
1257706f2543Smrg				yy_current_state = yy_get_previous_state(  );
1258706f2543Smrg
1259706f2543Smrg				yy_cp = (yy_c_buf_p);
1260706f2543Smrg				yy_bp = (yytext_ptr) + YY_MORE_ADJ;
1261706f2543Smrg				goto yy_find_action;
1262706f2543Smrg			}
1263706f2543Smrg		break;
1264706f2543Smrg		}
1265706f2543Smrg
1266706f2543Smrg	default:
1267706f2543Smrg		YY_FATAL_ERROR(
1268706f2543Smrg			"fatal flex scanner internal error--no action found" );
1269706f2543Smrg	} /* end of action switch */
1270706f2543Smrg		} /* end of scanning one token */
1271706f2543Smrg} /* end of yylex */
1272706f2543Smrg
1273706f2543Smrg/* yy_get_next_buffer - try to read in a new buffer
1274706f2543Smrg *
1275706f2543Smrg * Returns a code representing an action:
1276706f2543Smrg *	EOB_ACT_LAST_MATCH -
1277706f2543Smrg *	EOB_ACT_CONTINUE_SCAN - continue scanning from current position
1278706f2543Smrg *	EOB_ACT_END_OF_FILE - end of file
1279706f2543Smrg */
1280706f2543Smrgstatic int yy_get_next_buffer (void)
1281706f2543Smrg{
1282706f2543Smrg    	register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
1283706f2543Smrg	register char *source = (yytext_ptr);
1284706f2543Smrg	register int number_to_move, i;
1285706f2543Smrg	int ret_val;
1286706f2543Smrg
1287706f2543Smrg	if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
1288706f2543Smrg		YY_FATAL_ERROR(
1289706f2543Smrg		"fatal flex scanner internal error--end of buffer missed" );
1290706f2543Smrg
1291706f2543Smrg	if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
1292706f2543Smrg		{ /* Don't try to fill the buffer, so this is an EOF. */
1293706f2543Smrg		if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
1294706f2543Smrg			{
1295706f2543Smrg			/* We matched a single character, the EOB, so
1296706f2543Smrg			 * treat this as a final EOF.
1297706f2543Smrg			 */
1298706f2543Smrg			return EOB_ACT_END_OF_FILE;
1299706f2543Smrg			}
1300706f2543Smrg
1301706f2543Smrg		else
1302706f2543Smrg			{
1303706f2543Smrg			/* We matched some text prior to the EOB, first
1304706f2543Smrg			 * process it.
1305706f2543Smrg			 */
1306706f2543Smrg			return EOB_ACT_LAST_MATCH;
1307706f2543Smrg			}
1308706f2543Smrg		}
1309706f2543Smrg
1310706f2543Smrg	/* Try to read more data. */
1311706f2543Smrg
1312706f2543Smrg	/* First move last chars to start of buffer. */
1313706f2543Smrg	number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
1314706f2543Smrg
1315706f2543Smrg	for ( i = 0; i < number_to_move; ++i )
1316706f2543Smrg		*(dest++) = *(source++);
1317706f2543Smrg
1318706f2543Smrg	if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
1319706f2543Smrg		/* don't do the read, it's not guaranteed to return an EOF,
1320706f2543Smrg		 * just force an EOF
1321706f2543Smrg		 */
1322706f2543Smrg		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
1323706f2543Smrg
1324706f2543Smrg	else
1325706f2543Smrg		{
1326706f2543Smrg			int num_to_read =
1327706f2543Smrg			YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
1328706f2543Smrg
1329706f2543Smrg		while ( num_to_read <= 0 )
1330706f2543Smrg			{ /* Not enough room in the buffer - grow it. */
1331706f2543Smrg
1332706f2543Smrg			/* just a shorter name for the current buffer */
1333706f2543Smrg			YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
1334706f2543Smrg
1335706f2543Smrg			int yy_c_buf_p_offset =
1336706f2543Smrg				(int) ((yy_c_buf_p) - b->yy_ch_buf);
1337706f2543Smrg
1338706f2543Smrg			if ( b->yy_is_our_buffer )
1339706f2543Smrg				{
1340706f2543Smrg				int new_size = b->yy_buf_size * 2;
1341706f2543Smrg
1342706f2543Smrg				if ( new_size <= 0 )
1343706f2543Smrg					b->yy_buf_size += b->yy_buf_size / 8;
1344706f2543Smrg				else
1345706f2543Smrg					b->yy_buf_size *= 2;
1346706f2543Smrg
1347706f2543Smrg				b->yy_ch_buf = (char *)
1348706f2543Smrg					/* Include room in for 2 EOB chars. */
1349706f2543Smrg					yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
1350706f2543Smrg				}
1351706f2543Smrg			else
1352706f2543Smrg				/* Can't grow it, we don't own it. */
1353706f2543Smrg				b->yy_ch_buf = 0;
1354706f2543Smrg
1355706f2543Smrg			if ( ! b->yy_ch_buf )
1356706f2543Smrg				YY_FATAL_ERROR(
1357706f2543Smrg				"fatal error - scanner input buffer overflow" );
1358706f2543Smrg
1359706f2543Smrg			(yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
1360706f2543Smrg
1361706f2543Smrg			num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
1362706f2543Smrg						number_to_move - 1;
1363706f2543Smrg
1364706f2543Smrg			}
1365706f2543Smrg
1366706f2543Smrg		if ( num_to_read > YY_READ_BUF_SIZE )
1367706f2543Smrg			num_to_read = YY_READ_BUF_SIZE;
1368706f2543Smrg
1369706f2543Smrg		/* Read in more data. */
1370706f2543Smrg		YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
1371706f2543Smrg			(yy_n_chars), (size_t) num_to_read );
1372706f2543Smrg
1373706f2543Smrg		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
1374706f2543Smrg		}
1375706f2543Smrg
1376706f2543Smrg	if ( (yy_n_chars) == 0 )
1377706f2543Smrg		{
1378706f2543Smrg		if ( number_to_move == YY_MORE_ADJ )
1379706f2543Smrg			{
1380706f2543Smrg			ret_val = EOB_ACT_END_OF_FILE;
1381706f2543Smrg			yyrestart(yyin  );
1382706f2543Smrg			}
1383706f2543Smrg
1384706f2543Smrg		else
1385706f2543Smrg			{
1386706f2543Smrg			ret_val = EOB_ACT_LAST_MATCH;
1387706f2543Smrg			YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
1388706f2543Smrg				YY_BUFFER_EOF_PENDING;
1389706f2543Smrg			}
1390706f2543Smrg		}
1391706f2543Smrg
1392706f2543Smrg	else
1393706f2543Smrg		ret_val = EOB_ACT_CONTINUE_SCAN;
1394706f2543Smrg
1395706f2543Smrg	if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
1396706f2543Smrg		/* Extend the array by 50%, plus the number we really need. */
1397706f2543Smrg		yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
1398706f2543Smrg		YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
1399706f2543Smrg		if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
1400706f2543Smrg			YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
1401706f2543Smrg	}
1402706f2543Smrg
1403706f2543Smrg	(yy_n_chars) += number_to_move;
1404706f2543Smrg	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
1405706f2543Smrg	YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
1406706f2543Smrg
1407706f2543Smrg	(yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
1408706f2543Smrg
1409706f2543Smrg	return ret_val;
1410706f2543Smrg}
1411706f2543Smrg
1412706f2543Smrg/* yy_get_previous_state - get the state just before the EOB char was reached */
1413706f2543Smrg
1414706f2543Smrg    static yy_state_type yy_get_previous_state (void)
1415706f2543Smrg{
1416706f2543Smrg	register yy_state_type yy_current_state;
1417706f2543Smrg	register char *yy_cp;
1418706f2543Smrg
1419706f2543Smrg	yy_current_state = (yy_start);
1420706f2543Smrg
1421706f2543Smrg	for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
1422706f2543Smrg		{
1423706f2543Smrg		register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
1424706f2543Smrg		if ( yy_accept[yy_current_state] )
1425706f2543Smrg			{
1426706f2543Smrg			(yy_last_accepting_state) = yy_current_state;
1427706f2543Smrg			(yy_last_accepting_cpos) = yy_cp;
1428706f2543Smrg			}
1429706f2543Smrg		while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1430706f2543Smrg			{
1431706f2543Smrg			yy_current_state = (int) yy_def[yy_current_state];
1432706f2543Smrg			if ( yy_current_state >= 186 )
1433706f2543Smrg				yy_c = yy_meta[(unsigned int) yy_c];
1434706f2543Smrg			}
1435706f2543Smrg		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1436706f2543Smrg		}
1437706f2543Smrg
1438706f2543Smrg	return yy_current_state;
1439706f2543Smrg}
1440706f2543Smrg
1441706f2543Smrg/* yy_try_NUL_trans - try to make a transition on the NUL character
1442706f2543Smrg *
1443706f2543Smrg * synopsis
1444706f2543Smrg *	next_state = yy_try_NUL_trans( current_state );
1445706f2543Smrg */
1446706f2543Smrg    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
1447706f2543Smrg{
1448706f2543Smrg	register int yy_is_jam;
1449706f2543Smrg    	register char *yy_cp = (yy_c_buf_p);
1450706f2543Smrg
1451706f2543Smrg	register YY_CHAR yy_c = 1;
1452706f2543Smrg	if ( yy_accept[yy_current_state] )
1453706f2543Smrg		{
1454706f2543Smrg		(yy_last_accepting_state) = yy_current_state;
1455706f2543Smrg		(yy_last_accepting_cpos) = yy_cp;
1456706f2543Smrg		}
1457706f2543Smrg	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1458706f2543Smrg		{
1459706f2543Smrg		yy_current_state = (int) yy_def[yy_current_state];
1460706f2543Smrg		if ( yy_current_state >= 186 )
1461706f2543Smrg			yy_c = yy_meta[(unsigned int) yy_c];
1462706f2543Smrg		}
1463706f2543Smrg	yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
1464706f2543Smrg	yy_is_jam = (yy_current_state == 185);
1465706f2543Smrg
1466706f2543Smrg	return yy_is_jam ? 0 : yy_current_state;
1467706f2543Smrg}
1468706f2543Smrg
1469706f2543Smrg    static void yyunput (int c, register char * yy_bp )
1470706f2543Smrg{
1471706f2543Smrg	register char *yy_cp;
1472706f2543Smrg
1473706f2543Smrg    yy_cp = (yy_c_buf_p);
1474706f2543Smrg
1475706f2543Smrg	/* undo effects of setting up yytext */
1476706f2543Smrg	*yy_cp = (yy_hold_char);
1477706f2543Smrg
1478706f2543Smrg	if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
1479706f2543Smrg		{ /* need to shift things up to make room */
1480706f2543Smrg		/* +2 for EOB chars. */
1481706f2543Smrg		register int number_to_move = (yy_n_chars) + 2;
1482706f2543Smrg		register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
1483706f2543Smrg					YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
1484706f2543Smrg		register char *source =
1485706f2543Smrg				&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
1486706f2543Smrg
1487706f2543Smrg		while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
1488706f2543Smrg			*--dest = *--source;
1489706f2543Smrg
1490706f2543Smrg		yy_cp += (int) (dest - source);
1491706f2543Smrg		yy_bp += (int) (dest - source);
1492706f2543Smrg		YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
1493706f2543Smrg			(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
1494706f2543Smrg
1495706f2543Smrg		if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
1496706f2543Smrg			YY_FATAL_ERROR( "flex scanner push-back overflow" );
1497706f2543Smrg		}
1498706f2543Smrg
1499706f2543Smrg	*--yy_cp = (char) c;
1500706f2543Smrg
1501706f2543Smrg    if ( c == '\n' ){
1502706f2543Smrg        --yylineno;
1503706f2543Smrg    }
1504706f2543Smrg
1505706f2543Smrg	(yytext_ptr) = yy_bp;
1506706f2543Smrg	(yy_hold_char) = *yy_cp;
1507706f2543Smrg	(yy_c_buf_p) = yy_cp;
1508706f2543Smrg}
1509706f2543Smrg
1510706f2543Smrg#ifndef YY_NO_INPUT
1511706f2543Smrg#ifdef __cplusplus
1512706f2543Smrg    static int yyinput (void)
1513706f2543Smrg#else
1514706f2543Smrg    static int input  (void)
1515706f2543Smrg#endif
1516706f2543Smrg
1517706f2543Smrg{
1518706f2543Smrg	int c;
1519706f2543Smrg
1520706f2543Smrg	*(yy_c_buf_p) = (yy_hold_char);
1521706f2543Smrg
1522706f2543Smrg	if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
1523706f2543Smrg		{
1524706f2543Smrg		/* yy_c_buf_p now points to the character we want to return.
1525706f2543Smrg		 * If this occurs *before* the EOB characters, then it's a
1526706f2543Smrg		 * valid NUL; if not, then we've hit the end of the buffer.
1527706f2543Smrg		 */
1528706f2543Smrg		if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
1529706f2543Smrg			/* This was really a NUL. */
1530706f2543Smrg			*(yy_c_buf_p) = '\0';
1531706f2543Smrg
1532706f2543Smrg		else
1533706f2543Smrg			{ /* need more input */
1534706f2543Smrg			int offset = (yy_c_buf_p) - (yytext_ptr);
1535706f2543Smrg			++(yy_c_buf_p);
1536706f2543Smrg
1537706f2543Smrg			switch ( yy_get_next_buffer(  ) )
1538706f2543Smrg				{
1539706f2543Smrg				case EOB_ACT_LAST_MATCH:
1540706f2543Smrg					/* This happens because yy_g_n_b()
1541706f2543Smrg					 * sees that we've accumulated a
1542706f2543Smrg					 * token and flags that we need to
1543706f2543Smrg					 * try matching the token before
1544706f2543Smrg					 * proceeding.  But for input(),
1545706f2543Smrg					 * there's no matching to consider.
1546706f2543Smrg					 * So convert the EOB_ACT_LAST_MATCH
1547706f2543Smrg					 * to EOB_ACT_END_OF_FILE.
1548706f2543Smrg					 */
1549706f2543Smrg
1550706f2543Smrg					/* Reset buffer status. */
1551706f2543Smrg					yyrestart(yyin );
1552706f2543Smrg
1553706f2543Smrg					/*FALLTHROUGH*/
1554706f2543Smrg
1555706f2543Smrg				case EOB_ACT_END_OF_FILE:
1556706f2543Smrg					{
1557706f2543Smrg					if ( yywrap( ) )
1558706f2543Smrg						return EOF;
1559706f2543Smrg
1560706f2543Smrg					if ( ! (yy_did_buffer_switch_on_eof) )
1561706f2543Smrg						YY_NEW_FILE;
1562706f2543Smrg#ifdef __cplusplus
1563706f2543Smrg					return yyinput();
1564706f2543Smrg#else
1565706f2543Smrg					return input();
1566706f2543Smrg#endif
1567706f2543Smrg					}
1568706f2543Smrg
1569706f2543Smrg				case EOB_ACT_CONTINUE_SCAN:
1570706f2543Smrg					(yy_c_buf_p) = (yytext_ptr) + offset;
1571706f2543Smrg					break;
1572706f2543Smrg				}
1573706f2543Smrg			}
1574706f2543Smrg		}
1575706f2543Smrg
1576706f2543Smrg	c = *(unsigned char *) (yy_c_buf_p);	/* cast for 8-bit char's */
1577706f2543Smrg	*(yy_c_buf_p) = '\0';	/* preserve yytext */
1578706f2543Smrg	(yy_hold_char) = *++(yy_c_buf_p);
1579706f2543Smrg
1580706f2543Smrg	if ( c == '\n' )
1581706f2543Smrg
1582706f2543Smrg    yylineno++;
1583706f2543Smrg;
1584706f2543Smrg
1585706f2543Smrg	return c;
1586706f2543Smrg}
1587706f2543Smrg#endif	/* ifndef YY_NO_INPUT */
1588706f2543Smrg
1589706f2543Smrg/** Immediately switch to a different input stream.
1590706f2543Smrg * @param input_file A readable stream.
1591706f2543Smrg *
1592706f2543Smrg * @note This function does not reset the start condition to @c INITIAL .
1593706f2543Smrg */
1594706f2543Smrg    void yyrestart  (FILE * input_file )
1595706f2543Smrg{
1596706f2543Smrg
1597706f2543Smrg	if ( ! YY_CURRENT_BUFFER ){
1598706f2543Smrg        yyensure_buffer_stack ();
1599706f2543Smrg		YY_CURRENT_BUFFER_LVALUE =
1600706f2543Smrg            yy_create_buffer(yyin,YY_BUF_SIZE );
1601706f2543Smrg	}
1602706f2543Smrg
1603706f2543Smrg	yy_init_buffer(YY_CURRENT_BUFFER,input_file );
1604706f2543Smrg	yy_load_buffer_state( );
1605706f2543Smrg}
1606706f2543Smrg
1607706f2543Smrg/** Switch to a different input buffer.
1608706f2543Smrg * @param new_buffer The new input buffer.
1609706f2543Smrg *
1610706f2543Smrg */
1611706f2543Smrg    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
1612706f2543Smrg{
1613706f2543Smrg
1614706f2543Smrg	/* TODO. We should be able to replace this entire function body
1615706f2543Smrg	 * with
1616706f2543Smrg	 *		yypop_buffer_state();
1617706f2543Smrg	 *		yypush_buffer_state(new_buffer);
1618706f2543Smrg     */
1619706f2543Smrg	yyensure_buffer_stack ();
1620706f2543Smrg	if ( YY_CURRENT_BUFFER == new_buffer )
1621706f2543Smrg		return;
1622706f2543Smrg
1623706f2543Smrg	if ( YY_CURRENT_BUFFER )
1624706f2543Smrg		{
1625706f2543Smrg		/* Flush out information for old buffer. */
1626706f2543Smrg		*(yy_c_buf_p) = (yy_hold_char);
1627706f2543Smrg		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
1628706f2543Smrg		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
1629706f2543Smrg		}
1630706f2543Smrg
1631706f2543Smrg	YY_CURRENT_BUFFER_LVALUE = new_buffer;
1632706f2543Smrg	yy_load_buffer_state( );
1633706f2543Smrg
1634706f2543Smrg	/* We don't actually know whether we did this switch during
1635706f2543Smrg	 * EOF (yywrap()) processing, but the only time this flag
1636706f2543Smrg	 * is looked at is after yywrap() is called, so it's safe
1637706f2543Smrg	 * to go ahead and always set it.
1638706f2543Smrg	 */
1639706f2543Smrg	(yy_did_buffer_switch_on_eof) = 1;
1640706f2543Smrg}
1641706f2543Smrg
1642706f2543Smrgstatic void yy_load_buffer_state  (void)
1643706f2543Smrg{
1644706f2543Smrg    	(yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
1645706f2543Smrg	(yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
1646706f2543Smrg	yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
1647706f2543Smrg	(yy_hold_char) = *(yy_c_buf_p);
1648706f2543Smrg}
1649706f2543Smrg
1650706f2543Smrg/** Allocate and initialize an input buffer state.
1651706f2543Smrg * @param file A readable stream.
1652706f2543Smrg * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
1653706f2543Smrg *
1654706f2543Smrg * @return the allocated buffer state.
1655706f2543Smrg */
1656706f2543Smrg    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size )
1657706f2543Smrg{
1658706f2543Smrg	YY_BUFFER_STATE b;
1659706f2543Smrg
1660706f2543Smrg	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
1661706f2543Smrg	if ( ! b )
1662706f2543Smrg		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
1663706f2543Smrg
1664706f2543Smrg	b->yy_buf_size = size;
1665706f2543Smrg
1666706f2543Smrg	/* yy_ch_buf has to be 2 characters longer than the size given because
1667706f2543Smrg	 * we need to put in 2 end-of-buffer characters.
1668706f2543Smrg	 */
1669706f2543Smrg	b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
1670706f2543Smrg	if ( ! b->yy_ch_buf )
1671706f2543Smrg		YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
1672706f2543Smrg
1673706f2543Smrg	b->yy_is_our_buffer = 1;
1674706f2543Smrg
1675706f2543Smrg	yy_init_buffer(b,file );
1676706f2543Smrg
1677706f2543Smrg	return b;
1678706f2543Smrg}
1679706f2543Smrg
1680706f2543Smrg/** Destroy the buffer.
1681706f2543Smrg * @param b a buffer created with yy_create_buffer()
1682706f2543Smrg *
1683706f2543Smrg */
1684706f2543Smrg    void yy_delete_buffer (YY_BUFFER_STATE  b )
1685706f2543Smrg{
1686706f2543Smrg
1687706f2543Smrg	if ( ! b )
1688706f2543Smrg		return;
1689706f2543Smrg
1690706f2543Smrg	if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
1691706f2543Smrg		YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
1692706f2543Smrg
1693706f2543Smrg	if ( b->yy_is_our_buffer )
1694706f2543Smrg		yyfree((void *) b->yy_ch_buf  );
1695706f2543Smrg
1696706f2543Smrg	yyfree((void *) b  );
1697706f2543Smrg}
1698706f2543Smrg
1699706f2543Smrg#ifndef __cplusplus
1700706f2543Smrgextern int isatty (int );
1701706f2543Smrg#endif /* __cplusplus */
1702706f2543Smrg
1703706f2543Smrg/* Initializes or reinitializes a buffer.
1704706f2543Smrg * This function is sometimes called more than once on the same buffer,
1705706f2543Smrg * such as during a yyrestart() or at EOF.
1706706f2543Smrg */
1707706f2543Smrg    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file )
1708706f2543Smrg
1709706f2543Smrg{
1710706f2543Smrg	int oerrno = errno;
1711706f2543Smrg
1712706f2543Smrg	yy_flush_buffer(b );
1713706f2543Smrg
1714706f2543Smrg	b->yy_input_file = file;
1715706f2543Smrg	b->yy_fill_buffer = 1;
1716706f2543Smrg
1717706f2543Smrg    /* If b is the current buffer, then yy_init_buffer was _probably_
1718706f2543Smrg     * called from yyrestart() or through yy_get_next_buffer.
1719706f2543Smrg     * In that case, we don't want to reset the lineno or column.
1720706f2543Smrg     */
1721706f2543Smrg    if (b != YY_CURRENT_BUFFER){
1722706f2543Smrg        b->yy_bs_lineno = 1;
1723706f2543Smrg        b->yy_bs_column = 0;
1724706f2543Smrg    }
1725706f2543Smrg
1726706f2543Smrg        b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
1727706f2543Smrg
1728706f2543Smrg	errno = oerrno;
1729706f2543Smrg}
1730706f2543Smrg
1731706f2543Smrg/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
1732706f2543Smrg * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
1733706f2543Smrg *
1734706f2543Smrg */
1735706f2543Smrg    void yy_flush_buffer (YY_BUFFER_STATE  b )
1736706f2543Smrg{
1737706f2543Smrg    	if ( ! b )
1738706f2543Smrg		return;
1739706f2543Smrg
1740706f2543Smrg	b->yy_n_chars = 0;
1741706f2543Smrg
1742706f2543Smrg	/* We always need two end-of-buffer characters.  The first causes
1743706f2543Smrg	 * a transition to the end-of-buffer state.  The second causes
1744706f2543Smrg	 * a jam in that state.
1745706f2543Smrg	 */
1746706f2543Smrg	b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
1747706f2543Smrg	b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
1748706f2543Smrg
1749706f2543Smrg	b->yy_buf_pos = &b->yy_ch_buf[0];
1750706f2543Smrg
1751706f2543Smrg	b->yy_at_bol = 1;
1752706f2543Smrg	b->yy_buffer_status = YY_BUFFER_NEW;
1753706f2543Smrg
1754706f2543Smrg	if ( b == YY_CURRENT_BUFFER )
1755706f2543Smrg		yy_load_buffer_state( );
1756706f2543Smrg}
1757706f2543Smrg
1758706f2543Smrg/** Pushes the new state onto the stack. The new state becomes
1759706f2543Smrg *  the current state. This function will allocate the stack
1760706f2543Smrg *  if necessary.
1761706f2543Smrg *  @param new_buffer The new state.
1762706f2543Smrg *
1763706f2543Smrg */
1764706f2543Smrgvoid yypush_buffer_state (YY_BUFFER_STATE new_buffer )
1765706f2543Smrg{
1766706f2543Smrg    	if (new_buffer == NULL)
1767706f2543Smrg		return;
1768706f2543Smrg
1769706f2543Smrg	yyensure_buffer_stack();
1770706f2543Smrg
1771706f2543Smrg	/* This block is copied from yy_switch_to_buffer. */
1772706f2543Smrg	if ( YY_CURRENT_BUFFER )
1773706f2543Smrg		{
1774706f2543Smrg		/* Flush out information for old buffer. */
1775706f2543Smrg		*(yy_c_buf_p) = (yy_hold_char);
1776706f2543Smrg		YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
1777706f2543Smrg		YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
1778706f2543Smrg		}
1779706f2543Smrg
1780706f2543Smrg	/* Only push if top exists. Otherwise, replace top. */
1781706f2543Smrg	if (YY_CURRENT_BUFFER)
1782706f2543Smrg		(yy_buffer_stack_top)++;
1783706f2543Smrg	YY_CURRENT_BUFFER_LVALUE = new_buffer;
1784706f2543Smrg
1785706f2543Smrg	/* copied from yy_switch_to_buffer. */
1786706f2543Smrg	yy_load_buffer_state( );
1787706f2543Smrg	(yy_did_buffer_switch_on_eof) = 1;
1788706f2543Smrg}
1789706f2543Smrg
1790706f2543Smrg/** Removes and deletes the top of the stack, if present.
1791706f2543Smrg *  The next element becomes the new top.
1792706f2543Smrg *
1793706f2543Smrg */
1794706f2543Smrgvoid yypop_buffer_state (void)
1795706f2543Smrg{
1796706f2543Smrg    	if (!YY_CURRENT_BUFFER)
1797706f2543Smrg		return;
1798706f2543Smrg
1799706f2543Smrg	yy_delete_buffer(YY_CURRENT_BUFFER );
1800706f2543Smrg	YY_CURRENT_BUFFER_LVALUE = NULL;
1801706f2543Smrg	if ((yy_buffer_stack_top) > 0)
1802706f2543Smrg		--(yy_buffer_stack_top);
1803706f2543Smrg
1804706f2543Smrg	if (YY_CURRENT_BUFFER) {
1805706f2543Smrg		yy_load_buffer_state( );
1806706f2543Smrg		(yy_did_buffer_switch_on_eof) = 1;
1807706f2543Smrg	}
1808706f2543Smrg}
1809706f2543Smrg
1810706f2543Smrg/* Allocates the stack if it does not exist.
1811706f2543Smrg *  Guarantees space for at least one push.
1812706f2543Smrg */
1813706f2543Smrgstatic void yyensure_buffer_stack (void)
1814706f2543Smrg{
1815706f2543Smrg	int num_to_alloc;
1816706f2543Smrg
1817706f2543Smrg	if (!(yy_buffer_stack)) {
1818706f2543Smrg
1819706f2543Smrg		/* First allocation is just for 2 elements, since we don't know if this
1820706f2543Smrg		 * scanner will even need a stack. We use 2 instead of 1 to avoid an
1821706f2543Smrg		 * immediate realloc on the next call.
1822706f2543Smrg         */
1823706f2543Smrg		num_to_alloc = 1;
1824706f2543Smrg		(yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
1825706f2543Smrg								(num_to_alloc * sizeof(struct yy_buffer_state*)
1826706f2543Smrg								);
1827706f2543Smrg		if ( ! (yy_buffer_stack) )
1828706f2543Smrg			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
1829706f2543Smrg
1830706f2543Smrg		memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
1831706f2543Smrg
1832706f2543Smrg		(yy_buffer_stack_max) = num_to_alloc;
1833706f2543Smrg		(yy_buffer_stack_top) = 0;
1834706f2543Smrg		return;
1835706f2543Smrg	}
1836706f2543Smrg
1837706f2543Smrg	if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
1838706f2543Smrg
1839706f2543Smrg		/* Increase the buffer to prepare for a possible push. */
1840706f2543Smrg		int grow_size = 8 /* arbitrary grow size */;
1841706f2543Smrg
1842706f2543Smrg		num_to_alloc = (yy_buffer_stack_max) + grow_size;
1843706f2543Smrg		(yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
1844706f2543Smrg								((yy_buffer_stack),
1845706f2543Smrg								num_to_alloc * sizeof(struct yy_buffer_state*)
1846706f2543Smrg								);
1847706f2543Smrg		if ( ! (yy_buffer_stack) )
1848706f2543Smrg			YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
1849706f2543Smrg
1850706f2543Smrg		/* zero only the new slots.*/
1851706f2543Smrg		memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
1852706f2543Smrg		(yy_buffer_stack_max) = num_to_alloc;
1853706f2543Smrg	}
1854706f2543Smrg}
1855706f2543Smrg
1856706f2543Smrg/** Setup the input buffer state to scan directly from a user-specified character buffer.
1857706f2543Smrg * @param base the character buffer
1858706f2543Smrg * @param size the size in bytes of the character buffer
1859706f2543Smrg *
1860706f2543Smrg * @return the newly allocated buffer state object.
1861706f2543Smrg */
1862706f2543SmrgYY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size )
1863706f2543Smrg{
1864706f2543Smrg	YY_BUFFER_STATE b;
1865706f2543Smrg
1866706f2543Smrg	if ( size < 2 ||
1867706f2543Smrg	     base[size-2] != YY_END_OF_BUFFER_CHAR ||
1868706f2543Smrg	     base[size-1] != YY_END_OF_BUFFER_CHAR )
1869706f2543Smrg		/* They forgot to leave room for the EOB's. */
1870706f2543Smrg		return 0;
1871706f2543Smrg
1872706f2543Smrg	b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
1873706f2543Smrg	if ( ! b )
1874706f2543Smrg		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
1875706f2543Smrg
1876706f2543Smrg	b->yy_buf_size = size - 2;	/* "- 2" to take care of EOB's */
1877706f2543Smrg	b->yy_buf_pos = b->yy_ch_buf = base;
1878706f2543Smrg	b->yy_is_our_buffer = 0;
1879706f2543Smrg	b->yy_input_file = 0;
1880706f2543Smrg	b->yy_n_chars = b->yy_buf_size;
1881706f2543Smrg	b->yy_is_interactive = 0;
1882706f2543Smrg	b->yy_at_bol = 1;
1883706f2543Smrg	b->yy_fill_buffer = 0;
1884706f2543Smrg	b->yy_buffer_status = YY_BUFFER_NEW;
1885706f2543Smrg
1886706f2543Smrg	yy_switch_to_buffer(b  );
1887706f2543Smrg
1888706f2543Smrg	return b;
1889706f2543Smrg}
1890706f2543Smrg
1891706f2543Smrg/** Setup the input buffer state to scan a string. The next call to yylex() will
1892706f2543Smrg * scan from a @e copy of @a str.
1893706f2543Smrg * @param yystr a NUL-terminated string to scan
1894706f2543Smrg *
1895706f2543Smrg * @return the newly allocated buffer state object.
1896706f2543Smrg * @note If you want to scan bytes that may contain NUL values, then use
1897706f2543Smrg *       yy_scan_bytes() instead.
1898706f2543Smrg */
1899706f2543SmrgYY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
1900706f2543Smrg{
1901706f2543Smrg
1902706f2543Smrg	return yy_scan_bytes(yystr,strlen(yystr) );
1903706f2543Smrg}
1904706f2543Smrg
1905706f2543Smrg/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
1906706f2543Smrg * scan from a @e copy of @a bytes.
1907706f2543Smrg * @param bytes the byte buffer to scan
1908706f2543Smrg * @param len the number of bytes in the buffer pointed to by @a bytes.
1909706f2543Smrg *
1910706f2543Smrg * @return the newly allocated buffer state object.
1911706f2543Smrg */
1912706f2543SmrgYY_BUFFER_STATE yy_scan_bytes  (yyconst char * yybytes, int  _yybytes_len )
1913706f2543Smrg{
1914706f2543Smrg	YY_BUFFER_STATE b;
1915706f2543Smrg	char *buf;
1916706f2543Smrg	yy_size_t n;
1917706f2543Smrg	int i;
1918706f2543Smrg
1919706f2543Smrg	/* Get memory for full buffer, including space for trailing EOB's. */
1920706f2543Smrg	n = _yybytes_len + 2;
1921706f2543Smrg	buf = (char *) yyalloc(n  );
1922706f2543Smrg	if ( ! buf )
1923706f2543Smrg		YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
1924706f2543Smrg
1925706f2543Smrg	for ( i = 0; i < _yybytes_len; ++i )
1926706f2543Smrg		buf[i] = yybytes[i];
1927706f2543Smrg
1928706f2543Smrg	buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
1929706f2543Smrg
1930706f2543Smrg	b = yy_scan_buffer(buf,n );
1931706f2543Smrg	if ( ! b )
1932706f2543Smrg		YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
1933706f2543Smrg
1934706f2543Smrg	/* It's okay to grow etc. this buffer, and we should throw it
1935706f2543Smrg	 * away when we're done.
1936706f2543Smrg	 */
1937706f2543Smrg	b->yy_is_our_buffer = 1;
1938706f2543Smrg
1939706f2543Smrg	return b;
1940706f2543Smrg}
1941706f2543Smrg
1942706f2543Smrg#ifndef YY_EXIT_FAILURE
1943706f2543Smrg#define YY_EXIT_FAILURE 2
1944706f2543Smrg#endif
1945706f2543Smrg
1946706f2543Smrgstatic void yy_fatal_error (yyconst char* msg )
1947706f2543Smrg{
1948706f2543Smrg    	(void) fprintf( stderr, "%s\n", msg );
1949706f2543Smrg	exit( YY_EXIT_FAILURE );
1950706f2543Smrg}
1951706f2543Smrg
1952706f2543Smrg/* Redefine yyless() so it works in section 3 code. */
1953706f2543Smrg
1954706f2543Smrg#undef yyless
1955706f2543Smrg#define yyless(n) \
1956706f2543Smrg	do \
1957706f2543Smrg		{ \
1958706f2543Smrg		/* Undo effects of setting up yytext. */ \
1959706f2543Smrg        int yyless_macro_arg = (n); \
1960706f2543Smrg        YY_LESS_LINENO(yyless_macro_arg);\
1961706f2543Smrg		yytext[yyleng] = (yy_hold_char); \
1962706f2543Smrg		(yy_c_buf_p) = yytext + yyless_macro_arg; \
1963706f2543Smrg		(yy_hold_char) = *(yy_c_buf_p); \
1964706f2543Smrg		*(yy_c_buf_p) = '\0'; \
1965706f2543Smrg		yyleng = yyless_macro_arg; \
1966706f2543Smrg		} \
1967706f2543Smrg	while ( 0 )
1968706f2543Smrg
1969706f2543Smrg/* Accessor  methods (get/set functions) to struct members. */
1970706f2543Smrg
1971706f2543Smrg/** Get the current line number.
1972706f2543Smrg *
1973706f2543Smrg */
1974706f2543Smrgint yyget_lineno  (void)
1975706f2543Smrg{
1976706f2543Smrg
1977706f2543Smrg    return yylineno;
1978706f2543Smrg}
1979706f2543Smrg
1980706f2543Smrg/** Get the input stream.
1981706f2543Smrg *
1982706f2543Smrg */
1983706f2543SmrgFILE *yyget_in  (void)
1984706f2543Smrg{
1985706f2543Smrg        return yyin;
1986706f2543Smrg}
1987706f2543Smrg
1988706f2543Smrg/** Get the output stream.
1989706f2543Smrg *
1990706f2543Smrg */
1991706f2543SmrgFILE *yyget_out  (void)
1992706f2543Smrg{
1993706f2543Smrg        return yyout;
1994706f2543Smrg}
1995706f2543Smrg
1996706f2543Smrg/** Get the length of the current token.
1997706f2543Smrg *
1998706f2543Smrg */
1999706f2543Smrgint yyget_leng  (void)
2000706f2543Smrg{
2001706f2543Smrg        return yyleng;
2002706f2543Smrg}
2003706f2543Smrg
2004706f2543Smrg/** Get the current token.
2005706f2543Smrg *
2006706f2543Smrg */
2007706f2543Smrg
2008706f2543Smrgchar *yyget_text  (void)
2009706f2543Smrg{
2010706f2543Smrg        return yytext;
2011706f2543Smrg}
2012706f2543Smrg
2013706f2543Smrg/** Set the current line number.
2014706f2543Smrg * @param line_number
2015706f2543Smrg *
2016706f2543Smrg */
2017706f2543Smrgvoid yyset_lineno (int  line_number )
2018706f2543Smrg{
2019706f2543Smrg
2020706f2543Smrg    yylineno = line_number;
2021706f2543Smrg}
2022706f2543Smrg
2023706f2543Smrg/** Set the input stream. This does not discard the current
2024706f2543Smrg * input buffer.
2025706f2543Smrg * @param in_str A readable stream.
2026706f2543Smrg *
2027706f2543Smrg * @see yy_switch_to_buffer
2028706f2543Smrg */
2029706f2543Smrgvoid yyset_in (FILE *  in_str )
2030706f2543Smrg{
2031706f2543Smrg        yyin = in_str ;
2032706f2543Smrg}
2033706f2543Smrg
2034706f2543Smrgvoid yyset_out (FILE *  out_str )
2035706f2543Smrg{
2036706f2543Smrg        yyout = out_str ;
2037706f2543Smrg}
2038706f2543Smrg
2039706f2543Smrgint yyget_debug  (void)
2040706f2543Smrg{
2041706f2543Smrg        return yy_flex_debug;
2042706f2543Smrg}
2043706f2543Smrg
2044706f2543Smrgvoid yyset_debug (int  bdebug )
2045706f2543Smrg{
2046706f2543Smrg        yy_flex_debug = bdebug ;
2047706f2543Smrg}
2048706f2543Smrg
2049706f2543Smrgstatic int yy_init_globals (void)
2050706f2543Smrg{
2051706f2543Smrg        /* Initialization is the same as for the non-reentrant scanner.
2052706f2543Smrg     * This function is called from yylex_destroy(), so don't allocate here.
2053706f2543Smrg     */
2054706f2543Smrg
2055706f2543Smrg    /* We do not touch yylineno unless the option is enabled. */
2056706f2543Smrg    yylineno =  1;
2057706f2543Smrg
2058706f2543Smrg    (yy_buffer_stack) = 0;
2059706f2543Smrg    (yy_buffer_stack_top) = 0;
2060706f2543Smrg    (yy_buffer_stack_max) = 0;
2061706f2543Smrg    (yy_c_buf_p) = (char *) 0;
2062706f2543Smrg    (yy_init) = 0;
2063706f2543Smrg    (yy_start) = 0;
2064706f2543Smrg
2065706f2543Smrg/* Defined in main.c */
2066706f2543Smrg#ifdef YY_STDINIT
2067706f2543Smrg    yyin = stdin;
2068706f2543Smrg    yyout = stdout;
2069706f2543Smrg#else
2070706f2543Smrg    yyin = (FILE *) 0;
2071706f2543Smrg    yyout = (FILE *) 0;
2072706f2543Smrg#endif
2073706f2543Smrg
2074706f2543Smrg    /* For future reference: Set errno on error, since we are called by
2075706f2543Smrg     * yylex_init()
2076706f2543Smrg     */
2077706f2543Smrg    return 0;
2078706f2543Smrg}
2079706f2543Smrg
2080706f2543Smrg/* yylex_destroy is for both reentrant and non-reentrant scanners. */
2081706f2543Smrgint yylex_destroy  (void)
2082706f2543Smrg{
2083706f2543Smrg
2084706f2543Smrg    /* Pop the buffer stack, destroying each element. */
2085706f2543Smrg	while(YY_CURRENT_BUFFER){
2086706f2543Smrg		yy_delete_buffer(YY_CURRENT_BUFFER  );
2087706f2543Smrg		YY_CURRENT_BUFFER_LVALUE = NULL;
2088706f2543Smrg		yypop_buffer_state();
2089706f2543Smrg	}
2090706f2543Smrg
2091706f2543Smrg	/* Destroy the stack itself. */
2092706f2543Smrg	yyfree((yy_buffer_stack) );
2093706f2543Smrg	(yy_buffer_stack) = NULL;
2094706f2543Smrg
2095706f2543Smrg    /* Reset the globals. This is important in a non-reentrant scanner so the next time
2096706f2543Smrg     * yylex() is called, initialization will occur. */
2097706f2543Smrg    yy_init_globals( );
2098706f2543Smrg
2099706f2543Smrg    return 0;
2100706f2543Smrg}
2101706f2543Smrg
2102706f2543Smrg/*
2103706f2543Smrg * Internal utility routines.
2104706f2543Smrg */
2105706f2543Smrg
2106706f2543Smrg#ifndef yytext_ptr
2107706f2543Smrgstatic void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
2108706f2543Smrg{
2109706f2543Smrg	register int i;
2110706f2543Smrg	for ( i = 0; i < n; ++i )
2111706f2543Smrg		s1[i] = s2[i];
2112706f2543Smrg}
2113706f2543Smrg#endif
2114706f2543Smrg
2115706f2543Smrg#ifdef YY_NEED_STRLEN
2116706f2543Smrgstatic int yy_flex_strlen (yyconst char * s )
2117706f2543Smrg{
2118706f2543Smrg	register int n;
2119706f2543Smrg	for ( n = 0; s[n]; ++n )
2120706f2543Smrg		;
2121706f2543Smrg
2122706f2543Smrg	return n;
2123706f2543Smrg}
2124706f2543Smrg#endif
2125706f2543Smrg
2126706f2543Smrgvoid *yyalloc (yy_size_t  size )
2127706f2543Smrg{
2128706f2543Smrg	return (void *) malloc( size );
2129706f2543Smrg}
2130706f2543Smrg
2131706f2543Smrgvoid *yyrealloc  (void * ptr, yy_size_t  size )
2132706f2543Smrg{
2133706f2543Smrg	/* The cast to (char *) in the following accommodates both
2134706f2543Smrg	 * implementations that use char* generic pointers, and those
2135706f2543Smrg	 * that use void* generic pointers.  It works with the latter
2136706f2543Smrg	 * because both ANSI C and C++ allow castless assignment from
2137706f2543Smrg	 * any pointer type to void*, and deal with argument conversions
2138706f2543Smrg	 * as though doing an assignment.
2139706f2543Smrg	 */
2140706f2543Smrg	return (void *) realloc( (char *) ptr, size );
2141706f2543Smrg}
2142706f2543Smrg
2143706f2543Smrgvoid yyfree (void * ptr )
2144706f2543Smrg{
2145706f2543Smrg	free( (char *) ptr );	/* see yyrealloc() for (char *) cast */
2146706f2543Smrg}
2147706f2543Smrg
2148706f2543Smrg#define YYTABLES_NAME "yytables"
2149706f2543Smrg
2150706f2543Smrg#line 102 "winprefslex.l"
2151706f2543Smrg
2152706f2543Smrg
2153706f2543Smrg
2154706f2543Smrg/*
2155706f2543Smrg * Run-of-the mill requirement for yacc
2156706f2543Smrg */
2157706f2543Smrgint
2158706f2543Smrgyywrap (void)
2159706f2543Smrg{
2160706f2543Smrg  return 1;
2161706f2543Smrg}
2162706f2543Smrg
2163706f2543Smrg/*
2164706f2543Smrg * Run a file through the yacc parser
2165706f2543Smrg */
2166706f2543Smrgvoid
2167706f2543Smrgparse_file (FILE *file)
2168706f2543Smrg{
2169706f2543Smrg  if (!file)
2170706f2543Smrg    return;
2171706f2543Smrg
2172706f2543Smrg  yylineno = 1;
2173706f2543Smrg  yyin = file;
2174706f2543Smrg  yyparse ();
2175706f2543Smrg}
2176706f2543Smrg
2177706f2543Smrg
2178