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