blob: df102812fce97003bab295d2179559096b583548 [file] [log] [blame]
Eric Andersenc9f20d92002-12-05 08:41:41 +00001#define yy_create_buffer zconf_create_buffer
2#define yy_delete_buffer zconf_delete_buffer
3#define yy_scan_buffer zconf_scan_buffer
4#define yy_scan_string zconf_scan_string
5#define yy_scan_bytes zconf_scan_bytes
6#define yy_flex_debug zconf_flex_debug
7#define yy_init_buffer zconf_init_buffer
8#define yy_flush_buffer zconf_flush_buffer
9#define yy_load_buffer_state zconf_load_buffer_state
10#define yy_switch_to_buffer zconf_switch_to_buffer
11#define yyin zconfin
12#define yyleng zconfleng
13#define yylex zconflex
14#define yyout zconfout
15#define yyrestart zconfrestart
16#define yytext zconftext
17
18/* A lexical scanner generated by flex */
19
20/* Scanner skeleton version:
21 * $Header: /var/cvs/busybox/scripts/config/lex.zconf.c_shipped,v 1.1 2002/12/05 08:41:07 andersen Exp $
22 */
23
24#define FLEX_SCANNER
25#define YY_FLEX_MAJOR_VERSION 2
26#define YY_FLEX_MINOR_VERSION 5
27
28#include <stdio.h>
29#include <errno.h>
30
31/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
32#ifdef c_plusplus
33#ifndef __cplusplus
34#define __cplusplus
35#endif
36#endif
37
38
39#ifdef __cplusplus
40
41#include <stdlib.h>
42#ifndef _WIN32
43#include <unistd.h>
44#endif
45
46/* Use prototypes in function declarations. */
47#define YY_USE_PROTOS
48
49/* The "const" storage-class-modifier is valid. */
50#define YY_USE_CONST
51
52#else /* ! __cplusplus */
53
54#if __STDC__
55
56#define YY_USE_PROTOS
57#define YY_USE_CONST
58
59#endif /* __STDC__ */
60#endif /* ! __cplusplus */
61
62#ifdef __TURBOC__
63 #pragma warn -rch
64 #pragma warn -use
65#include <io.h>
66#include <stdlib.h>
67#define YY_USE_CONST
68#define YY_USE_PROTOS
69#endif
70
71#ifdef YY_USE_CONST
72#define yyconst const
73#else
74#define yyconst
75#endif
76
77
78#ifdef YY_USE_PROTOS
79#define YY_PROTO(proto) proto
80#else
81#define YY_PROTO(proto) ()
82#endif
83
84/* Returned upon end-of-file. */
85#define YY_NULL 0
86
87/* Promotes a possibly negative, possibly signed char to an unsigned
88 * integer for use as an array index. If the signed char is negative,
89 * we want to instead treat it as an 8-bit unsigned char, hence the
90 * double cast.
91 */
92#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
93
94/* Enter a start condition. This macro really ought to take a parameter,
95 * but we do it the disgusting crufty way forced on us by the ()-less
96 * definition of BEGIN.
97 */
98#define BEGIN yy_start = 1 + 2 *
99
100/* Translate the current start state into a value that can be later handed
101 * to BEGIN to return to the state. The YYSTATE alias is for lex
102 * compatibility.
103 */
104#define YY_START ((yy_start - 1) / 2)
105#define YYSTATE YY_START
106
107/* Action number for EOF rule of a given start state. */
108#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
109
110/* Special action meaning "start processing a new file". */
111#define YY_NEW_FILE yyrestart( yyin )
112
113#define YY_END_OF_BUFFER_CHAR 0
114
115/* Size of default input buffer. */
116#define YY_BUF_SIZE 16384
117
118typedef struct yy_buffer_state *YY_BUFFER_STATE;
119
120extern int yyleng;
121extern FILE *yyin, *yyout;
122
123#define EOB_ACT_CONTINUE_SCAN 0
124#define EOB_ACT_END_OF_FILE 1
125#define EOB_ACT_LAST_MATCH 2
126
127/* The funky do-while in the following #define is used to turn the definition
128 * int a single C statement (which needs a semi-colon terminator). This
129 * avoids problems with code like:
130 *
131 * if ( condition_holds )
132 * yyless( 5 );
133 * else
134 * do_something_else();
135 *
136 * Prior to using the do-while the compiler would get upset at the
137 * "else" because it interpreted the "if" statement as being all
138 * done when it reached the ';' after the yyless() call.
139 */
140
141/* Return all but the first 'n' matched characters back to the input stream. */
142
143#define yyless(n) \
144 do \
145 { \
146 /* Undo effects of setting up yytext. */ \
147 *yy_cp = yy_hold_char; \
148 YY_RESTORE_YY_MORE_OFFSET \
149 yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
150 YY_DO_BEFORE_ACTION; /* set up yytext again */ \
151 } \
152 while ( 0 )
153
154#define unput(c) yyunput( c, yytext_ptr )
155
156/* The following is because we cannot portably get our hands on size_t
157 * (without autoconf's help, which isn't available because we want
158 * flex-generated scanners to compile on their own).
159 */
160typedef unsigned int yy_size_t;
161
162
163struct yy_buffer_state
164 {
165 FILE *yy_input_file;
166
167 char *yy_ch_buf; /* input buffer */
168 char *yy_buf_pos; /* current position in input buffer */
169
170 /* Size of input buffer in bytes, not including room for EOB
171 * characters.
172 */
173 yy_size_t yy_buf_size;
174
175 /* Number of characters read into yy_ch_buf, not including EOB
176 * characters.
177 */
178 int yy_n_chars;
179
180 /* Whether we "own" the buffer - i.e., we know we created it,
181 * and can realloc() it to grow it, and should free() it to
182 * delete it.
183 */
184 int yy_is_our_buffer;
185
186 /* Whether this is an "interactive" input source; if so, and
187 * if we're using stdio for input, then we want to use getc()
188 * instead of fread(), to make sure we stop fetching input after
189 * each newline.
190 */
191 int yy_is_interactive;
192
193 /* Whether we're considered to be at the beginning of a line.
194 * If so, '^' rules will be active on the next match, otherwise
195 * not.
196 */
197 int yy_at_bol;
198
199 /* Whether to try to fill the input buffer when we reach the
200 * end of it.
201 */
202 int yy_fill_buffer;
203
204 int yy_buffer_status;
205#define YY_BUFFER_NEW 0
206#define YY_BUFFER_NORMAL 1
207 /* When an EOF's been seen but there's still some text to process
208 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
209 * shouldn't try reading from the input source any more. We might
210 * still have a bunch of tokens to match, though, because of
211 * possible backing-up.
212 *
213 * When we actually see the EOF, we change the status to "new"
214 * (via yyrestart()), so that the user can continue scanning by
215 * just pointing yyin at a new input file.
216 */
217#define YY_BUFFER_EOF_PENDING 2
218 };
219
220static YY_BUFFER_STATE yy_current_buffer = 0;
221
222/* We provide macros for accessing buffer states in case in the
223 * future we want to put the buffer states in a more general
224 * "scanner state".
225 */
226#define YY_CURRENT_BUFFER yy_current_buffer
227
228
229/* yy_hold_char holds the character lost when yytext is formed. */
230static char yy_hold_char;
231
232static int yy_n_chars; /* number of characters read into yy_ch_buf */
233
234
235int yyleng;
236
237/* Points to current character in buffer. */
238static char *yy_c_buf_p = (char *) 0;
239static int yy_init = 1; /* whether we need to initialize */
240static int yy_start = 0; /* start state number */
241
242/* Flag which is used to allow yywrap()'s to do buffer switches
243 * instead of setting up a fresh yyin. A bit of a hack ...
244 */
245static int yy_did_buffer_switch_on_eof;
246
247void yyrestart YY_PROTO(( FILE *input_file ));
248
249void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
250void yy_load_buffer_state YY_PROTO(( void ));
251YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
252void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
253void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
254void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
255#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
256
257YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
258YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
259YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
260
261static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
262static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
263static void yy_flex_free YY_PROTO(( void * ));
264
265#define yy_new_buffer yy_create_buffer
266
267#define yy_set_interactive(is_interactive) \
268 { \
269 if ( ! yy_current_buffer ) \
270 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
271 yy_current_buffer->yy_is_interactive = is_interactive; \
272 }
273
274#define yy_set_bol(at_bol) \
275 { \
276 if ( ! yy_current_buffer ) \
277 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \
278 yy_current_buffer->yy_at_bol = at_bol; \
279 }
280
281#define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
282
283
284#define yywrap() 1
285#define YY_SKIP_YYWRAP
286typedef unsigned char YY_CHAR;
287FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
288typedef int yy_state_type;
289extern char *yytext;
290#define yytext_ptr yytext
291static yyconst short yy_nxt[][37] =
292 {
293 {
294 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
295 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
296 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
297 0, 0, 0, 0, 0, 0, 0
298 },
299
300 {
301 11, 12, 13, 14, 12, 12, 15, 12, 12, 12,
302 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
303 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
304 12, 12, 12, 12, 12, 12, 12
305 },
306
307 {
308 11, 12, 13, 14, 12, 12, 15, 12, 12, 12,
309 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
310
311 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
312 12, 12, 12, 12, 12, 12, 12
313 },
314
315 {
316 11, 16, 16, 17, 16, 16, 16, 16, 16, 16,
317 16, 16, 16, 18, 16, 16, 18, 19, 20, 21,
318 22, 18, 18, 23, 24, 18, 25, 18, 26, 27,
319 18, 28, 29, 30, 18, 18, 16
320 },
321
322 {
323 11, 16, 16, 17, 16, 16, 16, 16, 16, 16,
324 16, 16, 16, 18, 16, 16, 18, 19, 20, 21,
325 22, 18, 18, 23, 24, 18, 25, 18, 26, 27,
326 18, 28, 29, 30, 18, 18, 16
327
328 },
329
330 {
331 11, 31, 32, 33, 31, 31, 31, 31, 31, 31,
332 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
333 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
334 31, 31, 31, 31, 31, 31, 31
335 },
336
337 {
338 11, 31, 32, 33, 31, 31, 31, 31, 31, 31,
339 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
340 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
341 31, 31, 31, 31, 31, 31, 31
342 },
343
344 {
345 11, 34, 34, 35, 34, 36, 34, 34, 36, 34,
346 34, 34, 34, 34, 34, 37, 34, 34, 34, 34,
347
348 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
349 34, 34, 34, 34, 34, 34, 34
350 },
351
352 {
353 11, 34, 34, 35, 34, 36, 34, 34, 36, 34,
354 34, 34, 34, 34, 34, 37, 34, 34, 34, 34,
355 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
356 34, 34, 34, 34, 34, 34, 34
357 },
358
359 {
360 11, 38, 38, 39, 40, 41, 38, 42, 41, 43,
361 44, 45, 46, 46, 47, 38, 46, 46, 46, 46,
362 46, 46, 46, 46, 48, 46, 46, 46, 49, 46,
363 46, 46, 46, 46, 46, 46, 50
364
365 },
366
367 {
368 11, 38, 38, 39, 40, 41, 38, 42, 41, 43,
369 44, 45, 46, 46, 47, 38, 46, 46, 46, 46,
370 46, 46, 46, 46, 48, 46, 46, 46, 49, 46,
371 46, 46, 46, 46, 46, 46, 50
372 },
373
374 {
375 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
376 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
377 -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
378 -11, -11, -11, -11, -11, -11, -11
379 },
380
381 {
382 11, -12, -12, -12, -12, -12, -12, -12, -12, -12,
383 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,
384
385 -12, -12, -12, -12, -12, -12, -12, -12, -12, -12,
386 -12, -12, -12, -12, -12, -12, -12
387 },
388
389 {
390 11, -13, 51, 52, -13, -13, 53, -13, -13, -13,
391 -13, -13, -13, -13, -13, -13, -13, -13, -13, -13,
392 -13, -13, -13, -13, -13, -13, -13, -13, -13, -13,
393 -13, -13, -13, -13, -13, -13, -13
394 },
395
396 {
397 11, -14, -14, -14, -14, -14, -14, -14, -14, -14,
398 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
399 -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
400 -14, -14, -14, -14, -14, -14, -14
401
402 },
403
404 {
405 11, 54, 54, 55, 54, 54, 54, 54, 54, 54,
406 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
407 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
408 54, 54, 54, 54, 54, 54, 54
409 },
410
411 {
412 11, -16, -16, -16, -16, -16, -16, -16, -16, -16,
413 -16, -16, -16, -16, -16, -16, -16, -16, -16, -16,
414 -16, -16, -16, -16, -16, -16, -16, -16, -16, -16,
415 -16, -16, -16, -16, -16, -16, -16
416 },
417
418 {
419 11, -17, -17, -17, -17, -17, -17, -17, -17, -17,
420 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
421
422 -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
423 -17, -17, -17, -17, -17, -17, -17
424 },
425
426 {
427 11, -18, -18, -18, -18, -18, -18, -18, -18, -18,
428 -18, -18, -18, 56, -18, -18, 56, 56, 56, 56,
429 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
430 56, 56, 56, 56, 56, 56, -18
431 },
432
433 {
434 11, -19, -19, -19, -19, -19, -19, -19, -19, -19,
435 -19, -19, -19, 56, -19, -19, 56, 56, 56, 56,
436 56, 56, 56, 56, 56, 56, 56, 56, 57, 56,
437 56, 56, 56, 56, 56, 56, -19
438
439 },
440
441 {
442 11, -20, -20, -20, -20, -20, -20, -20, -20, -20,
443 -20, -20, -20, 56, -20, -20, 56, 56, 56, 56,
444 56, 56, 56, 58, 56, 56, 56, 56, 59, 56,
445 56, 56, 56, 56, 56, 56, -20
446 },
447
448 {
449 11, -21, -21, -21, -21, -21, -21, -21, -21, -21,
450 -21, -21, -21, 56, -21, -21, 56, 56, 56, 56,
451 60, 56, 56, 56, 56, 56, 56, 56, 56, 56,
452 56, 56, 56, 56, 56, 56, -21
453 },
454
455 {
456 11, -22, -22, -22, -22, -22, -22, -22, -22, -22,
457 -22, -22, -22, 56, -22, -22, 56, 56, 56, 56,
458
459 56, 56, 56, 56, 56, 56, 56, 61, 56, 56,
460 56, 56, 56, 56, 56, 56, -22
461 },
462
463 {
464 11, -23, -23, -23, -23, -23, -23, -23, -23, -23,
465 -23, -23, -23, 56, -23, -23, 56, 56, 56, 56,
466 62, 56, 56, 56, 56, 56, 56, 56, 56, 56,
467 56, 56, 56, 56, 56, 56, -23
468 },
469
470 {
471 11, -24, -24, -24, -24, -24, -24, -24, -24, -24,
472 -24, -24, -24, 56, -24, -24, 56, 56, 56, 56,
473 56, 63, 56, 56, 56, 56, 56, 64, 56, 56,
474 56, 56, 56, 56, 56, 56, -24
475
476 },
477
478 {
479 11, -25, -25, -25, -25, -25, -25, -25, -25, -25,
480 -25, -25, -25, 56, -25, -25, 65, 56, 56, 56,
481 66, 56, 56, 56, 56, 56, 56, 56, 56, 56,
482 56, 56, 56, 56, 56, 56, -25
483 },
484
485 {
486 11, -26, -26, -26, -26, -26, -26, -26, -26, -26,
487 -26, -26, -26, 56, -26, -26, 56, 56, 56, 56,
488 56, 56, 56, 56, 56, 56, 56, 56, 56, 67,
489 56, 56, 56, 56, 56, 56, -26
490 },
491
492 {
493 11, -27, -27, -27, -27, -27, -27, -27, -27, -27,
494 -27, -27, -27, 56, -27, -27, 56, 56, 56, 56,
495
496 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
497 56, 68, 56, 56, 56, 56, -27
498 },
499
500 {
501 11, -28, -28, -28, -28, -28, -28, -28, -28, -28,
502 -28, -28, -28, 56, -28, -28, 56, 56, 56, 56,
503 69, 56, 56, 56, 56, 56, 56, 56, 56, 56,
504 56, 56, 56, 56, 56, 56, -28
505 },
506
507 {
508 11, -29, -29, -29, -29, -29, -29, -29, -29, -29,
509 -29, -29, -29, 56, -29, -29, 56, 56, 56, 56,
510 56, 56, 56, 56, 56, 56, 56, 56, 70, 56,
511 56, 56, 56, 71, 56, 56, -29
512
513 },
514
515 {
516 11, -30, -30, -30, -30, -30, -30, -30, -30, -30,
517 -30, -30, -30, 56, -30, -30, 56, 56, 56, 56,
518 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
519 56, 72, 56, 56, 56, 56, -30
520 },
521
522 {
523 11, 73, 73, -31, 73, 73, 73, 73, 73, 73,
524 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
525 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
526 73, 73, 73, 73, 73, 73, 73
527 },
528
529 {
530 11, -32, 74, 75, -32, -32, -32, -32, -32, -32,
531 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
532
533 -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
534 -32, -32, -32, -32, -32, -32, -32
535 },
536
537 {
538 11, 76, -33, -33, 76, 76, 76, 76, 76, 76,
539 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
540 76, 76, 76, 76, 76, 76, 76, 76, 76, 76,
541 76, 76, 76, 76, 76, 76, 76
542 },
543
544 {
545 11, 77, 77, 78, 77, -34, 77, 77, -34, 77,
546 77, 77, 77, 77, 77, -34, 77, 77, 77, 77,
547 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
548 77, 77, 77, 77, 77, 77, 77
549
550 },
551
552 {
553 11, -35, -35, -35, -35, -35, -35, -35, -35, -35,
554 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
555 -35, -35, -35, -35, -35, -35, -35, -35, -35, -35,
556 -35, -35, -35, -35, -35, -35, -35
557 },
558
559 {
560 11, -36, -36, -36, -36, -36, -36, -36, -36, -36,
561 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
562 -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
563 -36, -36, -36, -36, -36, -36, -36
564 },
565
566 {
567 11, 79, 79, 80, 79, 79, 79, 79, 79, 79,
568 79, 79, 79, 79, 79, 79, 79, 79, 79, 79,
569
570 79, 79, 79, 79, 79, 79, 79, 79, 79, 79,
571 79, 79, 79, 79, 79, 79, 79
572 },
573
574 {
575 11, -38, -38, -38, -38, -38, -38, -38, -38, -38,
576 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
577 -38, -38, -38, -38, -38, -38, -38, -38, -38, -38,
578 -38, -38, -38, -38, -38, -38, -38
579 },
580
581 {
582 11, -39, -39, -39, -39, -39, -39, -39, -39, -39,
583 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
584 -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
585 -39, -39, -39, -39, -39, -39, -39
586
587 },
588
589 {
590 11, -40, -40, -40, -40, -40, -40, -40, -40, -40,
591 -40, -40, -40, -40, 81, -40, -40, -40, -40, -40,
592 -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
593 -40, -40, -40, -40, -40, -40, -40
594 },
595
596 {
597 11, -41, -41, -41, -41, -41, -41, -41, -41, -41,
598 -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
599 -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
600 -41, -41, -41, -41, -41, -41, -41
601 },
602
603 {
604 11, -42, -42, -42, -42, -42, -42, 82, -42, -42,
605 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
606
607 -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
608 -42, -42, -42, -42, -42, -42, -42
609 },
610
611 {
612 11, -43, -43, -43, -43, -43, -43, -43, -43, -43,
613 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
614 -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
615 -43, -43, -43, -43, -43, -43, -43
616 },
617
618 {
619 11, -44, -44, -44, -44, -44, -44, -44, -44, -44,
620 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
621 -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
622 -44, -44, -44, -44, -44, -44, -44
623
624 },
625
626 {
627 11, -45, -45, -45, -45, -45, -45, -45, -45, -45,
628 -45, 83, 84, 84, -45, -45, 84, 84, 84, 84,
629 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
630 84, 84, 84, 84, 84, 84, -45
631 },
632
633 {
634 11, -46, -46, -46, -46, -46, -46, -46, -46, -46,
635 -46, 84, 84, 84, -46, -46, 84, 84, 84, 84,
636 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
637 84, 84, 84, 84, 84, 84, -46
638 },
639
640 {
641 11, -47, -47, -47, -47, -47, -47, -47, -47, -47,
642 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
643
644 -47, -47, -47, -47, -47, -47, -47, -47, -47, -47,
645 -47, -47, -47, -47, -47, -47, -47
646 },
647
648 {
649 11, -48, -48, -48, -48, -48, -48, -48, -48, -48,
650 -48, 84, 84, 84, -48, -48, 84, 84, 84, 84,
651 84, 85, 84, 84, 84, 84, 84, 84, 84, 84,
652 84, 84, 84, 84, 84, 84, -48
653 },
654
655 {
656 11, -49, -49, -49, -49, -49, -49, -49, -49, -49,
657 -49, 84, 84, 84, -49, -49, 84, 84, 84, 84,
658 84, 84, 84, 84, 84, 84, 84, 86, 84, 84,
659 84, 84, 84, 84, 84, 84, -49
660
661 },
662
663 {
664 11, -50, -50, -50, -50, -50, -50, -50, -50, -50,
665 -50, -50, -50, -50, -50, -50, -50, -50, -50, -50,
666 -50, -50, -50, -50, -50, -50, -50, -50, -50, -50,
667 -50, -50, -50, -50, -50, -50, 87
668 },
669
670 {
671 11, -51, 51, 52, -51, -51, 53, -51, -51, -51,
672 -51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
673 -51, -51, -51, -51, -51, -51, -51, -51, -51, -51,
674 -51, -51, -51, -51, -51, -51, -51
675 },
676
677 {
678 11, -52, -52, -52, -52, -52, -52, -52, -52, -52,
679 -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
680
681 -52, -52, -52, -52, -52, -52, -52, -52, -52, -52,
682 -52, -52, -52, -52, -52, -52, -52
683 },
684
685 {
686 11, 54, 54, 55, 54, 54, 54, 54, 54, 54,
687 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
688 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
689 54, 54, 54, 54, 54, 54, 54
690 },
691
692 {
693 11, 54, 54, 55, 54, 54, 54, 54, 54, 54,
694 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
695 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
696 54, 54, 54, 54, 54, 54, 54
697
698 },
699
700 {
701 11, -55, -55, -55, -55, -55, -55, -55, -55, -55,
702 -55, -55, -55, -55, -55, -55, -55, -55, -55, -55,
703 -55, -55, -55, -55, -55, -55, -55, -55, -55, -55,
704 -55, -55, -55, -55, -55, -55, -55
705 },
706
707 {
708 11, -56, -56, -56, -56, -56, -56, -56, -56, -56,
709 -56, -56, -56, 56, -56, -56, 56, 56, 56, 56,
710 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
711 56, 56, 56, 56, 56, 56, -56
712 },
713
714 {
715 11, -57, -57, -57, -57, -57, -57, -57, -57, -57,
716 -57, -57, -57, 56, -57, -57, 56, 56, 56, 56,
717
718 56, 56, 56, 56, 56, 56, 56, 56, 88, 56,
719 56, 56, 56, 56, 56, 56, -57
720 },
721
722 {
723 11, -58, -58, -58, -58, -58, -58, -58, -58, -58,
724 -58, -58, -58, 56, -58, -58, 56, 56, 56, 56,
725 56, 56, 56, 56, 56, 56, 56, 56, 89, 56,
726 56, 56, 56, 56, 56, 56, -58
727 },
728
729 {
730 11, -59, -59, -59, -59, -59, -59, -59, -59, -59,
731 -59, -59, -59, 56, -59, -59, 56, 56, 56, 56,
732 56, 56, 56, 56, 56, 56, 90, 91, 56, 56,
733 56, 56, 56, 56, 56, 56, -59
734
735 },
736
737 {
738 11, -60, -60, -60, -60, -60, -60, -60, -60, -60,
739 -60, -60, -60, 56, -60, -60, 56, 56, 56, 56,
740 56, 92, 56, 56, 56, 56, 56, 56, 56, 93,
741 56, 56, 56, 56, 56, 56, -60
742 },
743
744 {
745 11, -61, -61, -61, -61, -61, -61, -61, -61, -61,
746 -61, -61, -61, 56, -61, -61, 56, 56, 56, 94,
747 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
748 56, 56, 56, 56, 56, 56, -61
749 },
750
751 {
752 11, -62, -62, -62, -62, -62, -62, -62, -62, -62,
753 -62, -62, -62, 56, -62, -62, 56, 56, 56, 56,
754
755 56, 56, 56, 56, 56, 95, 56, 56, 56, 56,
756 56, 56, 56, 56, 56, 96, -62
757 },
758
759 {
760 11, -63, -63, -63, -63, -63, -63, -63, -63, -63,
761 -63, -63, -63, 56, -63, -63, 56, 56, 56, 56,
762 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
763 56, 56, 56, 56, 56, 56, -63
764 },
765
766 {
767 11, -64, -64, -64, -64, -64, -64, -64, -64, -64,
768 -64, -64, -64, 56, -64, -64, 56, 56, 56, 56,
769 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
770 56, 56, 56, 97, 56, 56, -64
771
772 },
773
774 {
775 11, -65, -65, -65, -65, -65, -65, -65, -65, -65,
776 -65, -65, -65, 56, -65, -65, 56, 56, 56, 56,
777 56, 56, 56, 56, 98, 56, 56, 56, 56, 56,
778 56, 56, 56, 56, 56, 56, -65
779 },
780
781 {
782 11, -66, -66, -66, -66, -66, -66, -66, -66, -66,
783 -66, -66, -66, 56, -66, -66, 56, 56, 56, 56,
784 56, 56, 56, 56, 56, 56, 56, 99, 56, 56,
785 56, 56, 56, 56, 56, 56, -66
786 },
787
788 {
789 11, -67, -67, -67, -67, -67, -67, -67, -67, -67,
790 -67, -67, -67, 56, -67, -67, 56, 56, 56, 56,
791
792 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
793 56, 56, 56, 100, 56, 56, -67
794 },
795
796 {
797 11, -68, -68, -68, -68, -68, -68, -68, -68, -68,
798 -68, -68, -68, 56, -68, -68, 56, 56, 56, 56,
799 56, 56, 56, 56, 56, 56, 56, 56, 101, 56,
800 56, 56, 56, 56, 56, 56, -68
801 },
802
803 {
804 11, -69, -69, -69, -69, -69, -69, -69, -69, -69,
805 -69, -69, -69, 56, -69, -69, 56, 56, 56, 56,
806 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
807 102, 56, 56, 56, 56, 56, -69
808
809 },
810
811 {
812 11, -70, -70, -70, -70, -70, -70, -70, -70, -70,
813 -70, -70, -70, 56, -70, -70, 56, 56, 56, 56,
814 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
815 56, 56, 56, 56, 103, 56, -70
816 },
817
818 {
819 11, -71, -71, -71, -71, -71, -71, -71, -71, -71,
820 -71, -71, -71, 56, -71, -71, 56, 56, 56, 56,
821 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
822 56, 104, 56, 56, 56, 56, -71
823 },
824
825 {
826 11, -72, -72, -72, -72, -72, -72, -72, -72, -72,
827 -72, -72, -72, 56, -72, -72, 56, 56, 56, 56,
828
829 56, 56, 56, 56, 105, 56, 56, 56, 56, 56,
830 56, 56, 56, 56, 56, 56, -72
831 },
832
833 {
834 11, 73, 73, -73, 73, 73, 73, 73, 73, 73,
835 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
836 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
837 73, 73, 73, 73, 73, 73, 73
838 },
839
840 {
841 11, -74, 74, 75, -74, -74, -74, -74, -74, -74,
842 -74, -74, -74, -74, -74, -74, -74, -74, -74, -74,
843 -74, -74, -74, -74, -74, -74, -74, -74, -74, -74,
844 -74, -74, -74, -74, -74, -74, -74
845
846 },
847
848 {
849 11, -75, -75, -75, -75, -75, -75, -75, -75, -75,
850 -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
851 -75, -75, -75, -75, -75, -75, -75, -75, -75, -75,
852 -75, -75, -75, -75, -75, -75, -75
853 },
854
855 {
856 11, -76, -76, -76, -76, -76, -76, -76, -76, -76,
857 -76, -76, -76, -76, -76, -76, -76, -76, -76, -76,
858 -76, -76, -76, -76, -76, -76, -76, -76, -76, -76,
859 -76, -76, -76, -76, -76, -76, -76
860 },
861
862 {
863 11, 77, 77, 78, 77, -77, 77, 77, -77, 77,
864 77, 77, 77, 77, 77, -77, 77, 77, 77, 77,
865
866 77, 77, 77, 77, 77, 77, 77, 77, 77, 77,
867 77, 77, 77, 77, 77, 77, 77
868 },
869
870 {
871 11, -78, -78, -78, -78, -78, -78, -78, -78, -78,
872 -78, -78, -78, -78, -78, -78, -78, -78, -78, -78,
873 -78, -78, -78, -78, -78, -78, -78, -78, -78, -78,
874 -78, -78, -78, -78, -78, -78, -78
875 },
876
877 {
878 11, -79, -79, 80, -79, -79, -79, -79, -79, -79,
879 -79, -79, -79, -79, -79, -79, -79, -79, -79, -79,
880 -79, -79, -79, -79, -79, -79, -79, -79, -79, -79,
881 -79, -79, -79, -79, -79, -79, -79
882
883 },
884
885 {
886 11, -80, -80, -80, -80, -80, -80, -80, -80, -80,
887 -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
888 -80, -80, -80, -80, -80, -80, -80, -80, -80, -80,
889 -80, -80, -80, -80, -80, -80, -80
890 },
891
892 {
893 11, -81, -81, -81, -81, -81, -81, -81, -81, -81,
894 -81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
895 -81, -81, -81, -81, -81, -81, -81, -81, -81, -81,
896 -81, -81, -81, -81, -81, -81, -81
897 },
898
899 {
900 11, -82, -82, -82, -82, -82, -82, -82, -82, -82,
901 -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
902
903 -82, -82, -82, -82, -82, -82, -82, -82, -82, -82,
904 -82, -82, -82, -82, -82, -82, -82
905 },
906
907 {
908 11, -83, -83, -83, -83, -83, -83, -83, -83, -83,
909 -83, 106, 84, 84, -83, -83, 84, 84, 84, 84,
910 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
911 84, 84, 84, 84, 84, 84, -83
912 },
913
914 {
915 11, -84, -84, -84, -84, -84, -84, -84, -84, -84,
916 -84, 84, 84, 84, -84, -84, 84, 84, 84, 84,
917 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
918 84, 84, 84, 84, 84, 84, -84
919
920 },
921
922 {
923 11, -85, -85, -85, -85, -85, -85, -85, -85, -85,
924 -85, 84, 84, 84, -85, -85, 84, 84, 84, 84,
925 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
926 84, 84, 84, 84, 84, 84, -85
927 },
928
929 {
930 11, -86, -86, -86, -86, -86, -86, -86, -86, -86,
931 -86, 84, 84, 84, -86, -86, 84, 84, 84, 84,
932 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
933 84, 84, 84, 84, 84, 84, -86
934 },
935
936 {
937 11, -87, -87, -87, -87, -87, -87, -87, -87, -87,
938 -87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
939
940 -87, -87, -87, -87, -87, -87, -87, -87, -87, -87,
941 -87, -87, -87, -87, -87, -87, -87
942 },
943
944 {
945 11, -88, -88, -88, -88, -88, -88, -88, -88, -88,
946 -88, -88, -88, 56, -88, -88, 56, 56, 56, 56,
947 56, 56, 56, 56, 56, 107, 56, 56, 56, 56,
948 56, 56, 56, 56, 56, 56, -88
949 },
950
951 {
952 11, -89, -89, -89, -89, -89, -89, -89, -89, -89,
953 -89, -89, -89, 56, -89, -89, 56, 56, 56, 56,
954 56, 56, 56, 56, 108, 56, 56, 56, 56, 56,
955 56, 56, 56, 56, 56, 56, -89
956
957 },
958
959 {
960 11, -90, -90, -90, -90, -90, -90, -90, -90, -90,
961 -90, -90, -90, 56, -90, -90, 56, 56, 56, 56,
962 56, 56, 56, 56, 56, 56, 109, 56, 56, 56,
963 56, 56, 56, 56, 56, 56, -90
964 },
965
966 {
967 11, -91, -91, -91, -91, -91, -91, -91, -91, -91,
968 -91, -91, -91, 56, -91, -91, 56, 56, 56, 56,
969 56, 110, 56, 56, 56, 56, 56, 56, 56, 56,
970 56, 56, 56, 56, 56, 56, -91
971 },
972
973 {
974 11, -92, -92, -92, -92, -92, -92, -92, -92, -92,
975 -92, -92, -92, 56, -92, -92, 111, 56, 56, 56,
976
977 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
978 56, 56, 56, 56, 56, 56, -92
979 },
980
981 {
982 11, -93, -93, -93, -93, -93, -93, -93, -93, -93,
983 -93, -93, -93, 56, -93, -93, 56, 56, 56, 56,
984 112, 56, 56, 56, 56, 56, 56, 56, 56, 56,
985 56, 56, 56, 56, 56, 56, -93
986 },
987
988 {
989 11, -94, -94, -94, -94, -94, -94, -94, -94, -94,
990 -94, -94, -94, 56, -94, -94, 56, 56, 113, 56,
991 56, 56, 56, 56, 114, 56, 115, 56, 56, 56,
992 56, 56, 56, 56, 56, 56, -94
993
994 },
995
996 {
997 11, -95, -95, -95, -95, -95, -95, -95, -95, -95,
998 -95, -95, -95, 56, -95, -95, 56, 56, 56, 56,
999 56, 56, 56, 56, 56, 56, 56, 56, 56, 116,
1000 56, 56, 56, 56, 56, 56, -95
1001 },
1002
1003 {
1004 11, -96, -96, -96, -96, -96, -96, -96, -96, -96,
1005 -96, -96, -96, 56, -96, -96, 56, 56, 56, 56,
1006 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1007 56, 56, 56, 56, 56, 56, -96
1008 },
1009
1010 {
1011 11, -97, -97, -97, -97, -97, -97, -97, -97, -97,
1012 -97, -97, -97, 56, -97, -97, 56, 56, 56, 56,
1013
1014 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1015 56, 56, 56, 56, 56, 56, -97
1016 },
1017
1018 {
1019 11, -98, -98, -98, -98, -98, -98, -98, -98, -98,
1020 -98, -98, -98, 56, -98, -98, 56, 56, 56, 56,
1021 56, 56, 56, 56, 56, 56, 56, 117, 56, 56,
1022 56, 56, 56, 56, 56, 56, -98
1023 },
1024
1025 {
1026 11, -99, -99, -99, -99, -99, -99, -99, -99, -99,
1027 -99, -99, -99, 56, -99, -99, 56, 56, 56, 56,
1028 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1029 56, 56, 56, 56, 118, 56, -99
1030
1031 },
1032
1033 {
1034 11, -100, -100, -100, -100, -100, -100, -100, -100, -100,
1035 -100, -100, -100, 56, -100, -100, 56, 56, 56, 56,
1036 56, 56, 56, 56, 119, 56, 56, 56, 56, 56,
1037 56, 56, 56, 56, 56, 56, -100
1038 },
1039
1040 {
1041 11, -101, -101, -101, -101, -101, -101, -101, -101, -101,
1042 -101, -101, -101, 56, -101, -101, 56, 56, 56, 56,
1043 56, 56, 56, 56, 56, 56, 120, 56, 56, 56,
1044 56, 56, 56, 56, 56, 56, -101
1045 },
1046
1047 {
1048 11, -102, -102, -102, -102, -102, -102, -102, -102, -102,
1049 -102, -102, -102, 56, -102, -102, 56, 56, 56, 56,
1050
1051 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1052 56, 56, 56, 56, 121, 56, -102
1053 },
1054
1055 {
1056 11, -103, -103, -103, -103, -103, -103, -103, -103, -103,
1057 -103, -103, -103, 56, -103, -103, 56, 56, 56, 56,
1058 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1059 56, 122, 56, 56, 56, 56, -103
1060 },
1061
1062 {
1063 11, -104, -104, -104, -104, -104, -104, -104, -104, -104,
1064 -104, -104, -104, 56, -104, -104, 56, 56, 56, 56,
1065 56, 56, 56, 56, 123, 56, 56, 56, 56, 56,
1066 56, 56, 56, 56, 56, 56, -104
1067
1068 },
1069
1070 {
1071 11, -105, -105, -105, -105, -105, -105, -105, -105, -105,
1072 -105, -105, -105, 56, -105, -105, 56, 56, 56, 56,
1073 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1074 56, 56, 124, 56, 56, 56, -105
1075 },
1076
1077 {
1078 11, -106, -106, -106, -106, -106, -106, -106, -106, -106,
1079 -106, 84, 84, 84, -106, -106, 84, 84, 84, 84,
1080 84, 84, 84, 84, 84, 84, 84, 84, 84, 84,
1081 84, 84, 84, 84, 84, 84, -106
1082 },
1083
1084 {
1085 11, -107, -107, -107, -107, -107, -107, -107, -107, -107,
1086 -107, -107, -107, 56, -107, -107, 56, 56, 56, 56,
1087
1088 125, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1089 56, 56, 56, 56, 56, 56, -107
1090 },
1091
1092 {
1093 11, -108, -108, -108, -108, -108, -108, -108, -108, -108,
1094 -108, -108, -108, 56, -108, -108, 56, 56, 126, 56,
1095 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1096 56, 56, 56, 56, 56, 56, -108
1097 },
1098
1099 {
1100 11, -109, -109, -109, -109, -109, -109, -109, -109, -109,
1101 -109, -109, -109, 56, -109, -109, 56, 56, 56, 56,
1102 127, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1103 56, 56, 56, 56, 56, 56, -109
1104
1105 },
1106
1107 {
1108 11, -110, -110, -110, -110, -110, -110, -110, -110, -110,
1109 -110, -110, -110, 56, -110, -110, 56, 56, 56, 56,
1110 56, 56, 56, 56, 128, 56, 56, 56, 56, 56,
1111 56, 56, 56, 56, 56, 56, -110
1112 },
1113
1114 {
1115 11, -111, -111, -111, -111, -111, -111, -111, -111, -111,
1116 -111, -111, -111, 56, -111, -111, 56, 56, 56, 56,
1117 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1118 56, 56, 56, 56, 129, 56, -111
1119 },
1120
1121 {
1122 11, -112, -112, -112, -112, -112, -112, -112, -112, -112,
1123 -112, -112, -112, 56, -112, -112, 56, 56, 56, 56,
1124
1125 56, 56, 56, 56, 56, 56, 56, 130, 56, 56,
1126 56, 56, 56, 56, 56, 56, -112
1127 },
1128
1129 {
1130 11, -113, -113, -113, -113, -113, -113, -113, -113, -113,
1131 -113, -113, -113, 56, -113, -113, 56, 56, 56, 56,
1132 56, 56, 56, 131, 56, 56, 56, 56, 56, 56,
1133 56, 56, 56, 56, 56, 56, -113
1134 },
1135
1136 {
1137 11, -114, -114, -114, -114, -114, -114, -114, -114, -114,
1138 -114, -114, -114, 56, -114, -114, 56, 56, 56, 56,
1139 56, 132, 56, 56, 56, 56, 56, 56, 56, 56,
1140 56, 56, 56, 56, 56, 56, -114
1141
1142 },
1143
1144 {
1145 11, -115, -115, -115, -115, -115, -115, -115, -115, -115,
1146 -115, -115, -115, 56, -115, -115, 56, 56, 56, 56,
1147 133, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1148 56, 56, 56, 56, 56, 56, -115
1149 },
1150
1151 {
1152 11, -116, -116, -116, -116, -116, -116, -116, -116, -116,
1153 -116, -116, -116, 56, -116, -116, 56, 56, 56, 56,
1154 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1155 56, 56, 56, 56, 56, 56, -116
1156 },
1157
1158 {
1159 11, -117, -117, -117, -117, -117, -117, -117, -117, -117,
1160 -117, -117, -117, 56, -117, -117, 56, 56, 56, 56,
1161
1162 56, 56, 56, 56, 56, 56, 134, 56, 56, 56,
1163 56, 56, 56, 56, 56, 56, -117
1164 },
1165
1166 {
1167 11, -118, -118, -118, -118, -118, -118, -118, -118, -118,
1168 -118, -118, -118, 56, -118, -118, 56, 56, 56, 56,
1169 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1170 56, 56, 56, 56, 56, 56, -118
1171 },
1172
1173 {
1174 11, -119, -119, -119, -119, -119, -119, -119, -119, -119,
1175 -119, -119, -119, 56, -119, -119, 56, 56, 56, 56,
1176 56, 56, 56, 56, 56, 56, 56, 56, 135, 56,
1177 56, 56, 56, 56, 56, 56, -119
1178
1179 },
1180
1181 {
1182 11, -120, -120, -120, -120, -120, -120, -120, -120, -120,
1183 -120, -120, -120, 56, -120, -120, 56, 56, 56, 56,
1184 56, 56, 56, 56, 56, 56, 56, 56, 56, 136,
1185 56, 56, 56, 56, 56, 56, -120
1186 },
1187
1188 {
1189 11, -121, -121, -121, -121, -121, -121, -121, -121, -121,
1190 -121, -121, -121, 56, -121, -121, 56, 56, 56, 56,
1191 56, 56, 56, 56, 137, 56, 56, 56, 56, 56,
1192 56, 56, 56, 56, 56, 56, -121
1193 },
1194
1195 {
1196 11, -122, -122, -122, -122, -122, -122, -122, -122, -122,
1197 -122, -122, -122, 56, -122, -122, 56, 56, 138, 56,
1198
1199 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1200 56, 56, 56, 56, 56, 56, -122
1201 },
1202
1203 {
1204 11, -123, -123, -123, -123, -123, -123, -123, -123, -123,
1205 -123, -123, -123, 56, -123, -123, 56, 56, 56, 56,
1206 56, 56, 56, 56, 56, 56, 56, 139, 56, 56,
1207 56, 56, 56, 56, 56, 56, -123
1208 },
1209
1210 {
1211 11, -124, -124, -124, -124, -124, -124, -124, -124, -124,
1212 -124, -124, -124, 56, -124, -124, 56, 56, 56, 56,
1213 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1214 56, 56, 56, 140, 56, 56, -124
1215
1216 },
1217
1218 {
1219 11, -125, -125, -125, -125, -125, -125, -125, -125, -125,
1220 -125, -125, -125, 56, -125, -125, 141, 56, 56, 56,
1221 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1222 56, 56, 56, 56, 56, 56, -125
1223 },
1224
1225 {
1226 11, -126, -126, -126, -126, -126, -126, -126, -126, -126,
1227 -126, -126, -126, 56, -126, -126, 56, 56, 56, 56,
1228 142, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1229 56, 56, 56, 56, 56, 56, -126
1230 },
1231
1232 {
1233 11, -127, -127, -127, -127, -127, -127, -127, -127, -127,
1234 -127, -127, -127, 56, -127, -127, 56, 56, 56, 56,
1235
1236 56, 56, 56, 56, 56, 56, 56, 143, 56, 56,
1237 56, 56, 56, 56, 56, 56, -127
1238 },
1239
1240 {
1241 11, -128, -128, -128, -128, -128, -128, -128, -128, -128,
1242 -128, -128, -128, 56, -128, -128, 56, 56, 56, 56,
1243 56, 56, 144, 56, 56, 56, 56, 56, 56, 56,
1244 56, 56, 56, 56, 56, 56, -128
1245 },
1246
1247 {
1248 11, -129, -129, -129, -129, -129, -129, -129, -129, -129,
1249 -129, -129, -129, 56, -129, -129, 56, 56, 56, 56,
1250 56, 56, 56, 56, 56, 145, 56, 56, 56, 56,
1251 56, 56, 56, 56, 56, 56, -129
1252
1253 },
1254
1255 {
1256 11, -130, -130, -130, -130, -130, -130, -130, -130, -130,
1257 -130, -130, -130, 56, -130, -130, 56, 56, 56, 146,
1258 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1259 56, 56, 56, 56, 56, 56, -130
1260 },
1261
1262 {
1263 11, -131, -131, -131, -131, -131, -131, -131, -131, -131,
1264 -131, -131, -131, 56, -131, -131, 56, 56, 56, 56,
1265 56, 56, 56, 56, 56, 56, 56, 56, 147, 56,
1266 56, 56, 56, 56, 56, 56, -131
1267 },
1268
1269 {
1270 11, -132, -132, -132, -132, -132, -132, -132, -132, -132,
1271 -132, -132, -132, 56, -132, -132, 56, 56, 56, 56,
1272
1273 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1274 56, 56, 56, 56, 56, 56, -132
1275 },
1276
1277 {
1278 11, -133, -133, -133, -133, -133, -133, -133, -133, -133,
1279 -133, -133, -133, 56, -133, -133, 56, 56, 56, 56,
1280 56, 56, 56, 56, 56, 56, 56, 148, 56, 56,
1281 56, 56, 56, 56, 56, 56, -133
1282 },
1283
1284 {
1285 11, -134, -134, -134, -134, -134, -134, -134, -134, -134,
1286 -134, -134, -134, 56, -134, -134, 56, 56, 56, 56,
1287 149, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1288 56, 56, 56, 56, 56, 56, -134
1289
1290 },
1291
1292 {
1293 11, -135, -135, -135, -135, -135, -135, -135, -135, -135,
1294 -135, -135, -135, 56, -135, -135, 56, 56, 56, 56,
1295 56, 56, 56, 56, 56, 56, 56, 150, 56, 56,
1296 56, 56, 56, 56, 56, 56, -135
1297 },
1298
1299 {
1300 11, -136, -136, -136, -136, -136, -136, -136, -136, -136,
1301 -136, -136, -136, 56, -136, -136, 56, 56, 56, 56,
1302 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1303 56, 56, 56, 151, 56, 56, -136
1304 },
1305
1306 {
1307 11, -137, -137, -137, -137, -137, -137, -137, -137, -137,
1308 -137, -137, -137, 56, -137, -137, 56, 56, 56, 56,
1309
1310 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1311 56, 152, 56, 56, 56, 56, -137
1312 },
1313
1314 {
1315 11, -138, -138, -138, -138, -138, -138, -138, -138, -138,
1316 -138, -138, -138, 56, -138, -138, 56, 56, 56, 56,
1317 153, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1318 56, 56, 56, 56, 56, 56, -138
1319 },
1320
1321 {
1322 11, -139, -139, -139, -139, -139, -139, -139, -139, -139,
1323 -139, -139, -139, 56, -139, -139, 56, 56, 56, 56,
1324 56, 56, 154, 56, 56, 56, 56, 56, 56, 56,
1325 56, 56, 56, 56, 56, 56, -139
1326
1327 },
1328
1329 {
1330 11, -140, -140, -140, -140, -140, -140, -140, -140, -140,
1331 -140, -140, -140, 56, -140, -140, 155, 56, 56, 56,
1332 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1333 56, 56, 56, 56, 56, 56, -140
1334 },
1335
1336 {
1337 11, -141, -141, -141, -141, -141, -141, -141, -141, -141,
1338 -141, -141, -141, 56, -141, -141, 56, 56, 56, 56,
1339 56, 56, 56, 56, 56, 56, 56, 156, 56, 56,
1340 56, 56, 56, 56, 56, 56, -141
1341 },
1342
1343 {
1344 11, -142, -142, -142, -142, -142, -142, -142, -142, -142,
1345 -142, -142, -142, 56, -142, -142, 56, 56, 56, 56,
1346
1347 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1348 56, 56, 56, 56, 56, 56, -142
1349 },
1350
1351 {
1352 11, -143, -143, -143, -143, -143, -143, -143, -143, -143,
1353 -143, -143, -143, 56, -143, -143, 56, 56, 56, 56,
1354 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1355 56, 56, 56, 157, 56, 56, -143
1356 },
1357
1358 {
1359 11, -144, -144, -144, -144, -144, -144, -144, -144, -144,
1360 -144, -144, -144, 56, -144, -144, 56, 56, 56, 56,
1361 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1362 56, 56, 56, 56, 56, 56, -144
1363
1364 },
1365
1366 {
1367 11, -145, -145, -145, -145, -145, -145, -145, -145, -145,
1368 -145, -145, -145, 56, -145, -145, 56, 56, 56, 56,
1369 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1370 56, 56, 56, 158, 56, 56, -145
1371 },
1372
1373 {
1374 11, -146, -146, -146, -146, -146, -146, -146, -146, -146,
1375 -146, -146, -146, 56, -146, -146, 56, 56, 56, 56,
1376 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1377 56, 56, 159, 56, 56, 56, -146
1378 },
1379
1380 {
1381 11, -147, -147, -147, -147, -147, -147, -147, -147, -147,
1382 -147, -147, -147, 56, -147, -147, 56, 56, 56, 56,
1383
1384 56, 56, 56, 56, 160, 56, 56, 56, 56, 56,
1385 56, 56, 56, 56, 56, 56, -147
1386 },
1387
1388 {
1389 11, -148, -148, -148, -148, -148, -148, -148, -148, -148,
1390 -148, -148, -148, 56, -148, -148, 56, 56, 56, 56,
1391 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1392 56, 56, 56, 56, 161, 56, -148
1393 },
1394
1395 {
1396 11, -149, -149, -149, -149, -149, -149, -149, -149, -149,
1397 -149, -149, -149, 56, -149, -149, 56, 56, 56, 56,
1398 56, 56, 56, 56, 56, 56, 56, 162, 56, 56,
1399 56, 56, 56, 56, 56, 56, -149
1400
1401 },
1402
1403 {
1404 11, -150, -150, -150, -150, -150, -150, -150, -150, -150,
1405 -150, -150, -150, 56, -150, -150, 163, 56, 56, 56,
1406 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1407 56, 56, 56, 56, 56, 56, -150
1408 },
1409
1410 {
1411 11, -151, -151, -151, -151, -151, -151, -151, -151, -151,
1412 -151, -151, -151, 56, -151, -151, 56, 56, 56, 56,
1413 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1414 56, 56, 56, 56, 56, 56, -151
1415 },
1416
1417 {
1418 11, -152, -152, -152, -152, -152, -152, -152, -152, -152,
1419 -152, -152, -152, 56, -152, -152, 56, 56, 56, 56,
1420
1421 164, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1422 56, 56, 56, 56, 56, 56, -152
1423 },
1424
1425 {
1426 11, -153, -153, -153, -153, -153, -153, -153, -153, -153,
1427 -153, -153, -153, 56, -153, -153, 56, 56, 56, 56,
1428 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1429 56, 56, 56, 56, 56, 56, -153
1430 },
1431
1432 {
1433 11, -154, -154, -154, -154, -154, -154, -154, -154, -154,
1434 -154, -154, -154, 56, -154, -154, 56, 56, 56, 56,
1435 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1436 56, 56, 56, 56, 56, 56, -154
1437
1438 },
1439
1440 {
1441 11, -155, -155, -155, -155, -155, -155, -155, -155, -155,
1442 -155, -155, -155, 56, -155, -155, 56, 56, 56, 56,
1443 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1444 56, 56, 56, 165, 56, 56, -155
1445 },
1446
1447 {
1448 11, -156, -156, -156, -156, -156, -156, -156, -156, -156,
1449 -156, -156, -156, 56, -156, -156, 56, 56, 56, 56,
1450 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1451 56, 56, 56, 56, 56, 56, -156
1452 },
1453
1454 {
1455 11, -157, -157, -157, -157, -157, -157, -157, -157, -157,
1456 -157, -157, -157, 56, -157, -157, 56, 56, 56, 56,
1457
1458 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1459 56, 56, 56, 56, 56, 56, -157
1460 },
1461
1462 {
1463 11, -158, -158, -158, -158, -158, -158, -158, -158, -158,
1464 -158, -158, -158, 56, -158, -158, 56, 56, 56, 56,
1465 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1466 56, 56, 56, 56, 56, 56, -158
1467 },
1468
1469 {
1470 11, -159, -159, -159, -159, -159, -159, -159, -159, -159,
1471 -159, -159, -159, 56, -159, -159, 56, 56, 56, 56,
1472 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1473 56, 56, 56, 56, 56, 56, -159
1474
1475 },
1476
1477 {
1478 11, -160, -160, -160, -160, -160, -160, -160, -160, -160,
1479 -160, -160, -160, 56, -160, -160, 56, 56, 166, 56,
1480 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1481 56, 56, 56, 56, 56, 56, -160
1482 },
1483
1484 {
1485 11, -161, -161, -161, -161, -161, -161, -161, -161, -161,
1486 -161, -161, -161, 56, -161, -161, 56, 56, 56, 56,
1487 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1488 56, 56, 56, 56, 56, 56, -161
1489 },
1490
1491 {
1492 11, -162, -162, -162, -162, -162, -162, -162, -162, -162,
1493 -162, -162, -162, 56, -162, -162, 56, 56, 56, 56,
1494
1495 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1496 56, 56, 56, 56, 167, 56, -162
1497 },
1498
1499 {
1500 11, -163, -163, -163, -163, -163, -163, -163, -163, -163,
1501 -163, -163, -163, 56, -163, -163, 56, 56, 56, 56,
1502 56, 56, 56, 56, 56, 168, 56, 56, 56, 56,
1503 56, 56, 56, 56, 56, 56, -163
1504 },
1505
1506 {
1507 11, -164, -164, -164, -164, -164, -164, -164, -164, -164,
1508 -164, -164, -164, 56, -164, -164, 56, 56, 56, 56,
1509 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1510 56, 56, 169, 56, 56, 56, -164
1511
1512 },
1513
1514 {
1515 11, -165, -165, -165, -165, -165, -165, -165, -165, -165,
1516 -165, -165, -165, 56, -165, -165, 56, 56, 56, 56,
1517 170, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1518 56, 56, 56, 56, 56, 56, -165
1519 },
1520
1521 {
1522 11, -166, -166, -166, -166, -166, -166, -166, -166, -166,
1523 -166, -166, -166, 56, -166, -166, 56, 56, 56, 56,
1524 171, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1525 56, 56, 56, 56, 56, 56, -166
1526 },
1527
1528 {
1529 11, -167, -167, -167, -167, -167, -167, -167, -167, -167,
1530 -167, -167, -167, 56, -167, -167, 56, 56, 56, 56,
1531
1532 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1533 56, 56, 56, 56, 56, 56, -167
1534 },
1535
1536 {
1537 11, -168, -168, -168, -168, -168, -168, -168, -168, -168,
1538 -168, -168, -168, 56, -168, -168, 56, 56, 56, 56,
1539 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1540 56, 56, 56, 56, 56, 56, -168
1541 },
1542
1543 {
1544 11, -169, -169, -169, -169, -169, -169, -169, -169, -169,
1545 -169, -169, -169, 56, -169, -169, 56, 56, 56, 56,
1546 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1547 56, 56, 56, 56, 56, 56, -169
1548
1549 },
1550
1551 {
1552 11, -170, -170, -170, -170, -170, -170, -170, -170, -170,
1553 -170, -170, -170, 56, -170, -170, 56, 56, 56, 56,
1554 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1555 56, 56, 56, 56, 56, 56, -170
1556 },
1557
1558 {
1559 11, -171, -171, -171, -171, -171, -171, -171, -171, -171,
1560 -171, -171, -171, 56, -171, -171, 56, 56, 56, 56,
1561 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
1562 56, 56, 56, 56, 56, 56, -171
1563 },
1564
1565 } ;
1566
1567
1568static yy_state_type yy_get_previous_state YY_PROTO(( void ));
1569static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
1570static int yy_get_next_buffer YY_PROTO(( void ));
1571static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
1572
1573/* Done after the current pattern has been matched and before the
1574 * corresponding action - sets up yytext.
1575 */
1576#define YY_DO_BEFORE_ACTION \
1577 yytext_ptr = yy_bp; \
1578 yyleng = (int) (yy_cp - yy_bp); \
1579 yy_hold_char = *yy_cp; \
1580 *yy_cp = '\0'; \
1581 yy_c_buf_p = yy_cp;
1582
1583#define YY_NUM_RULES 55
1584#define YY_END_OF_BUFFER 56
1585static yyconst short int yy_accept[172] =
1586 { 0,
1587 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1588 56, 5, 4, 3, 2, 29, 30, 28, 28, 28,
1589 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
1590 54, 51, 53, 46, 50, 49, 48, 44, 41, 35,
1591 40, 44, 33, 34, 43, 43, 36, 43, 43, 44,
1592 4, 3, 2, 2, 1, 28, 28, 28, 28, 28,
1593 28, 28, 15, 28, 28, 28, 28, 28, 28, 28,
1594 28, 28, 54, 51, 53, 52, 46, 45, 48, 47,
1595 37, 31, 43, 43, 38, 39, 32, 28, 28, 28,
1596 28, 28, 28, 28, 28, 26, 25, 28, 28, 28,
1597
1598 28, 28, 28, 28, 28, 42, 23, 28, 28, 28,
1599 28, 28, 28, 28, 28, 14, 28, 7, 28, 28,
1600 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
1601 28, 16, 28, 28, 28, 28, 28, 28, 28, 28,
1602 28, 10, 28, 13, 28, 28, 28, 28, 28, 28,
1603 21, 28, 9, 27, 28, 24, 12, 20, 17, 28,
1604 8, 28, 28, 28, 28, 28, 6, 19, 18, 22,
1605 11
1606 } ;
1607
1608static yyconst int yy_ec[256] =
1609 { 0,
1610 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
1611 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1612 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1613 1, 2, 4, 5, 6, 1, 1, 7, 8, 9,
1614 10, 1, 1, 1, 11, 12, 12, 13, 13, 13,
1615 13, 13, 13, 13, 13, 13, 13, 1, 1, 1,
1616 14, 1, 1, 1, 13, 13, 13, 13, 13, 13,
1617 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1618 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
1619 1, 15, 1, 1, 13, 1, 16, 17, 18, 19,
1620
1621 20, 21, 22, 23, 24, 13, 13, 25, 26, 27,
1622 28, 29, 30, 31, 32, 33, 34, 13, 13, 35,
1623 13, 13, 1, 36, 1, 1, 1, 1, 1, 1,
1624 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1625 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1626 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1627 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1628 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1629 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1630 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1631
1632 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1633 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1634 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1635 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1636 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1637 1, 1, 1, 1, 1
1638 } ;
1639
1640/* The intent behind this definition is that it'll catch
1641 * any uses of REJECT which flex missed.
1642 */
1643#define REJECT reject_used_but_not_detected
1644#define yymore() yymore_used_but_not_detected
1645#define YY_MORE_ADJ 0
1646#define YY_RESTORE_YY_MORE_OFFSET
1647char *yytext;
1648#line 1 "zconf.l"
1649#define INITIAL 0
1650#define YY_NEVER_INTERACTIVE 1
1651#define COMMAND 1
1652#define HELP 2
1653#define STRING 3
1654#define PARAM 4
1655
1656#line 5 "zconf.l"
1657/*
1658 * Copyright (C) 2002 Roman Zippel <zippel@linux-m68k.org>
1659 * Released under the terms of the GNU GPL v2.0.
1660 */
1661
1662#include <stdio.h>
1663#include <stdlib.h>
1664#include <string.h>
1665#include <unistd.h>
1666
1667#define LKC_DIRECT_LINK
1668#include "lkc.h"
1669#include "zconf.tab.h"
1670
1671#define START_STRSIZE 16
1672
1673char *text;
1674static char *text_ptr;
1675static int text_size, text_asize;
1676
1677struct buffer {
1678 struct buffer *parent;
1679 YY_BUFFER_STATE state;
1680};
1681
1682struct buffer *current_buf;
1683
1684static int last_ts, first_ts;
1685
1686static void zconf_endhelp(void);
1687static struct buffer *zconf_endfile(void);
1688
1689void new_string(void)
1690{
1691 text = malloc(START_STRSIZE);
1692 text_asize = START_STRSIZE;
1693 text_ptr = text;
1694 text_size = 0;
1695 *text_ptr = 0;
1696}
1697
1698void append_string(const char *str, int size)
1699{
1700 int new_size = text_size + size + 1;
1701 if (new_size > text_asize) {
1702 text = realloc(text, new_size);
1703 text_asize = new_size;
1704 text_ptr = text + text_size;
1705 }
1706 memcpy(text_ptr, str, size);
1707 text_ptr += size;
1708 text_size += size;
1709 *text_ptr = 0;
1710}
1711
1712void alloc_string(const char *str, int size)
1713{
1714 text = malloc(size + 1);
1715 memcpy(text, str, size);
1716 text[size] = 0;
1717}
1718#line 1719 "lex.zconf.c"
1719
1720/* Macros after this point can all be overridden by user definitions in
1721 * section 1.
1722 */
1723
1724#ifndef YY_SKIP_YYWRAP
1725#ifdef __cplusplus
1726extern "C" int yywrap YY_PROTO(( void ));
1727#else
1728extern int yywrap YY_PROTO(( void ));
1729#endif
1730#endif
1731
1732#ifndef YY_NO_UNPUT
1733static void yyunput YY_PROTO(( int c, char *buf_ptr ));
1734#endif
1735
1736#ifndef yytext_ptr
1737static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
1738#endif
1739
1740#ifdef YY_NEED_STRLEN
1741static int yy_flex_strlen YY_PROTO(( yyconst char * ));
1742#endif
1743
1744#ifndef YY_NO_INPUT
1745#ifdef __cplusplus
1746static int yyinput YY_PROTO(( void ));
1747#else
1748static int input YY_PROTO(( void ));
1749#endif
1750#endif
1751
1752#if YY_STACK_USED
1753static int yy_start_stack_ptr = 0;
1754static int yy_start_stack_depth = 0;
1755static int *yy_start_stack = 0;
1756#ifndef YY_NO_PUSH_STATE
1757static void yy_push_state YY_PROTO(( int new_state ));
1758#endif
1759#ifndef YY_NO_POP_STATE
1760static void yy_pop_state YY_PROTO(( void ));
1761#endif
1762#ifndef YY_NO_TOP_STATE
1763static int yy_top_state YY_PROTO(( void ));
1764#endif
1765
1766#else
1767#define YY_NO_PUSH_STATE 1
1768#define YY_NO_POP_STATE 1
1769#define YY_NO_TOP_STATE 1
1770#endif
1771
1772#ifdef YY_MALLOC_DECL
1773YY_MALLOC_DECL
1774#else
1775#if __STDC__
1776#ifndef __cplusplus
1777#include <stdlib.h>
1778#endif
1779#else
1780/* Just try to get by without declaring the routines. This will fail
1781 * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
1782 * or sizeof(void*) != sizeof(int).
1783 */
1784#endif
1785#endif
1786
1787/* Amount of stuff to slurp up with each read. */
1788#ifndef YY_READ_BUF_SIZE
1789#define YY_READ_BUF_SIZE 8192
1790#endif
1791
1792/* Copy whatever the last rule matched to the standard output. */
1793
1794#ifndef ECHO
1795/* This used to be an fputs(), but since the string might contain NUL's,
1796 * we now use fwrite().
1797 */
1798#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
1799#endif
1800
1801/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
1802 * is returned in "result".
1803 */
1804#ifndef YY_INPUT
1805#define YY_INPUT(buf,result,max_size) \
1806 errno=0; \
1807 while ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
1808 { \
1809 if( errno != EINTR) \
1810 { \
1811 YY_FATAL_ERROR( "input in flex scanner failed" ); \
1812 break; \
1813 } \
1814 errno=0; \
1815 clearerr(yyin); \
1816 }
1817#endif
1818
1819/* No semi-colon after return; correct usage is to write "yyterminate();" -
1820 * we don't want an extra ';' after the "return" because that will cause
1821 * some compilers to complain about unreachable statements.
1822 */
1823#ifndef yyterminate
1824#define yyterminate() return YY_NULL
1825#endif
1826
1827/* Number of entries by which start-condition stack grows. */
1828#ifndef YY_START_STACK_INCR
1829#define YY_START_STACK_INCR 25
1830#endif
1831
1832/* Report a fatal error. */
1833#ifndef YY_FATAL_ERROR
1834#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
1835#endif
1836
1837/* Default declaration of generated scanner - a define so the user can
1838 * easily add parameters.
1839 */
1840#ifndef YY_DECL
1841#define YY_DECL int yylex YY_PROTO(( void ))
1842#endif
1843
1844/* Code executed at the beginning of each rule, after yytext and yyleng
1845 * have been set up.
1846 */
1847#ifndef YY_USER_ACTION
1848#define YY_USER_ACTION
1849#endif
1850
1851/* Code executed at the end of each rule. */
1852#ifndef YY_BREAK
1853#define YY_BREAK break;
1854#endif
1855
1856#define YY_RULE_SETUP \
1857 YY_USER_ACTION
1858
1859YY_DECL
1860 {
1861 register yy_state_type yy_current_state;
1862 register char *yy_cp, *yy_bp;
1863 register int yy_act;
1864
1865#line 71 "zconf.l"
1866
1867 int str = 0;
1868 int ts, i;
1869
1870#line 1871 "lex.zconf.c"
1871
1872 if ( yy_init )
1873 {
1874 yy_init = 0;
1875
1876#ifdef YY_USER_INIT
1877 YY_USER_INIT;
1878#endif
1879
1880 if ( ! yy_start )
1881 yy_start = 1; /* first start state */
1882
1883 if ( ! yyin )
1884 yyin = stdin;
1885
1886 if ( ! yyout )
1887 yyout = stdout;
1888
1889 if ( ! yy_current_buffer )
1890 yy_current_buffer =
1891 yy_create_buffer( yyin, YY_BUF_SIZE );
1892
1893 yy_load_buffer_state();
1894 }
1895
1896 while ( 1 ) /* loops until end-of-file is reached */
1897 {
1898 yy_cp = yy_c_buf_p;
1899
1900 /* Support of yytext. */
1901 *yy_cp = yy_hold_char;
1902
1903 /* yy_bp points to the position in yy_ch_buf of the start of
1904 * the current run.
1905 */
1906 yy_bp = yy_cp;
1907
1908 yy_current_state = yy_start;
1909yy_match:
1910 while ( (yy_current_state = yy_nxt[yy_current_state][yy_ec[YY_SC_TO_UI(*yy_cp)]]) > 0 )
1911 ++yy_cp;
1912
1913 yy_current_state = -yy_current_state;
1914
1915yy_find_action:
1916 yy_act = yy_accept[yy_current_state];
1917
1918 YY_DO_BEFORE_ACTION;
1919
1920
1921do_action: /* This label is used only to access EOF actions. */
1922
1923
1924 switch ( yy_act )
1925 { /* beginning of action switch */
1926case 1:
1927YY_RULE_SETUP
1928#line 75 "zconf.l"
1929current_file->lineno++;
1930 YY_BREAK
1931case 2:
1932YY_RULE_SETUP
1933#line 76 "zconf.l"
1934
1935 YY_BREAK
1936case 3:
1937YY_RULE_SETUP
1938#line 78 "zconf.l"
1939current_file->lineno++; return T_EOL;
1940 YY_BREAK
1941case 4:
1942YY_RULE_SETUP
1943#line 80 "zconf.l"
1944{
1945 BEGIN(COMMAND);
1946}
1947 YY_BREAK
1948case 5:
1949YY_RULE_SETUP
1950#line 84 "zconf.l"
1951{
1952 unput(yytext[0]);
1953 BEGIN(COMMAND);
1954}
1955 YY_BREAK
1956
1957case 6:
1958YY_RULE_SETUP
1959#line 91 "zconf.l"
1960BEGIN(PARAM); return T_MAINMENU;
1961 YY_BREAK
1962case 7:
1963YY_RULE_SETUP
1964#line 92 "zconf.l"
1965BEGIN(PARAM); return T_MENU;
1966 YY_BREAK
1967case 8:
1968YY_RULE_SETUP
1969#line 93 "zconf.l"
1970BEGIN(PARAM); return T_ENDMENU;
1971 YY_BREAK
1972case 9:
1973YY_RULE_SETUP
1974#line 94 "zconf.l"
1975BEGIN(PARAM); return T_SOURCE;
1976 YY_BREAK
1977case 10:
1978YY_RULE_SETUP
1979#line 95 "zconf.l"
1980BEGIN(PARAM); return T_CHOICE;
1981 YY_BREAK
1982case 11:
1983YY_RULE_SETUP
1984#line 96 "zconf.l"
1985BEGIN(PARAM); return T_ENDCHOICE;
1986 YY_BREAK
1987case 12:
1988YY_RULE_SETUP
1989#line 97 "zconf.l"
1990BEGIN(PARAM); return T_COMMENT;
1991 YY_BREAK
1992case 13:
1993YY_RULE_SETUP
1994#line 98 "zconf.l"
1995BEGIN(PARAM); return T_CONFIG;
1996 YY_BREAK
1997case 14:
1998YY_RULE_SETUP
1999#line 99 "zconf.l"
2000BEGIN(PARAM); return T_HELP;
2001 YY_BREAK
2002case 15:
2003YY_RULE_SETUP
2004#line 100 "zconf.l"
2005BEGIN(PARAM); return T_IF;
2006 YY_BREAK
2007case 16:
2008YY_RULE_SETUP
2009#line 101 "zconf.l"
2010BEGIN(PARAM); return T_ENDIF;
2011 YY_BREAK
2012case 17:
2013YY_RULE_SETUP
2014#line 102 "zconf.l"
2015BEGIN(PARAM); return T_DEPENDS;
2016 YY_BREAK
2017case 18:
2018YY_RULE_SETUP
2019#line 103 "zconf.l"
2020BEGIN(PARAM); return T_REQUIRES;
2021 YY_BREAK
2022case 19:
2023YY_RULE_SETUP
2024#line 104 "zconf.l"
2025BEGIN(PARAM); return T_OPTIONAL;
2026 YY_BREAK
2027case 20:
2028YY_RULE_SETUP
2029#line 105 "zconf.l"
2030BEGIN(PARAM); return T_DEFAULT;
2031 YY_BREAK
2032case 21:
2033YY_RULE_SETUP
2034#line 106 "zconf.l"
2035BEGIN(PARAM); return T_PROMPT;
2036 YY_BREAK
2037case 22:
2038YY_RULE_SETUP
2039#line 107 "zconf.l"
2040BEGIN(PARAM); return T_TRISTATE;
2041 YY_BREAK
2042case 23:
2043YY_RULE_SETUP
2044#line 108 "zconf.l"
2045BEGIN(PARAM); return T_BOOLEAN;
2046 YY_BREAK
2047case 24:
2048YY_RULE_SETUP
2049#line 109 "zconf.l"
2050BEGIN(PARAM); return T_BOOLEAN;
2051 YY_BREAK
2052case 25:
2053YY_RULE_SETUP
2054#line 110 "zconf.l"
2055BEGIN(PARAM); return T_INT;
2056 YY_BREAK
2057case 26:
2058YY_RULE_SETUP
2059#line 111 "zconf.l"
2060BEGIN(PARAM); return T_HEX;
2061 YY_BREAK
2062case 27:
2063YY_RULE_SETUP
2064#line 112 "zconf.l"
2065BEGIN(PARAM); return T_STRING;
2066 YY_BREAK
2067case 28:
2068YY_RULE_SETUP
2069#line 113 "zconf.l"
2070{
2071 alloc_string(yytext, yyleng);
2072 zconflval.string = text;
2073 return T_WORD;
2074 }
2075 YY_BREAK
2076case 29:
2077YY_RULE_SETUP
2078#line 118 "zconf.l"
2079
2080 YY_BREAK
2081case 30:
2082YY_RULE_SETUP
2083#line 119 "zconf.l"
2084current_file->lineno++; BEGIN(INITIAL);
2085 YY_BREAK
2086
2087
2088case 31:
2089YY_RULE_SETUP
2090#line 123 "zconf.l"
2091return T_AND;
2092 YY_BREAK
2093case 32:
2094YY_RULE_SETUP
2095#line 124 "zconf.l"
2096return T_OR;
2097 YY_BREAK
2098case 33:
2099YY_RULE_SETUP
2100#line 125 "zconf.l"
2101return T_OPEN_PAREN;
2102 YY_BREAK
2103case 34:
2104YY_RULE_SETUP
2105#line 126 "zconf.l"
2106return T_CLOSE_PAREN;
2107 YY_BREAK
2108case 35:
2109YY_RULE_SETUP
2110#line 127 "zconf.l"
2111return T_NOT;
2112 YY_BREAK
2113case 36:
2114YY_RULE_SETUP
2115#line 128 "zconf.l"
2116return T_EQUAL;
2117 YY_BREAK
2118case 37:
2119YY_RULE_SETUP
2120#line 129 "zconf.l"
2121return T_UNEQUAL;
2122 YY_BREAK
2123case 38:
2124YY_RULE_SETUP
2125#line 130 "zconf.l"
2126return T_IF;
2127 YY_BREAK
2128case 39:
2129YY_RULE_SETUP
2130#line 131 "zconf.l"
2131return T_ON;
2132 YY_BREAK
2133case 40:
2134YY_RULE_SETUP
2135#line 132 "zconf.l"
2136{
2137 str = yytext[0];
2138 new_string();
2139 BEGIN(STRING);
2140 }
2141 YY_BREAK
2142case 41:
2143YY_RULE_SETUP
2144#line 137 "zconf.l"
2145BEGIN(INITIAL); current_file->lineno++; return T_EOL;
2146 YY_BREAK
2147case 42:
2148YY_RULE_SETUP
2149#line 138 "zconf.l"
2150/* ignore */
2151 YY_BREAK
2152case 43:
2153YY_RULE_SETUP
2154#line 139 "zconf.l"
2155{
2156 alloc_string(yytext, yyleng);
2157 zconflval.string = text;
2158 return T_WORD;
2159 }
2160 YY_BREAK
2161case 44:
2162YY_RULE_SETUP
2163#line 144 "zconf.l"
2164
2165 YY_BREAK
2166case YY_STATE_EOF(PARAM):
2167#line 145 "zconf.l"
2168{
2169 BEGIN(INITIAL);
2170 }
2171 YY_BREAK
2172
2173
2174case 45:
2175*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2176yy_c_buf_p = yy_cp -= 1;
2177YY_DO_BEFORE_ACTION; /* set up yytext again */
2178YY_RULE_SETUP
2179#line 151 "zconf.l"
2180{
2181 append_string(yytext, yyleng);
2182 zconflval.string = text;
2183 return T_STRING;
2184 }
2185 YY_BREAK
2186case 46:
2187YY_RULE_SETUP
2188#line 156 "zconf.l"
2189{
2190 append_string(yytext, yyleng);
2191 }
2192 YY_BREAK
2193case 47:
2194*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2195yy_c_buf_p = yy_cp -= 1;
2196YY_DO_BEFORE_ACTION; /* set up yytext again */
2197YY_RULE_SETUP
2198#line 159 "zconf.l"
2199{
2200 append_string(yytext+1, yyleng);
2201 zconflval.string = text;
2202 return T_STRING;
2203 }
2204 YY_BREAK
2205case 48:
2206YY_RULE_SETUP
2207#line 164 "zconf.l"
2208{
2209 append_string(yytext+1, yyleng - 1);
2210 }
2211 YY_BREAK
2212case 49:
2213YY_RULE_SETUP
2214#line 167 "zconf.l"
2215{
2216 if (str == yytext[0]) {
2217 BEGIN(PARAM);
2218 zconflval.string = text;
2219 return T_STRING;
2220 } else
2221 append_string(yytext, 1);
2222 }
2223 YY_BREAK
2224case 50:
2225YY_RULE_SETUP
2226#line 175 "zconf.l"
2227{
2228 printf("%s:%d:warning: multi-line strings not supported\n", zconf_curname(), zconf_lineno());
2229 BEGIN(INITIAL);
2230 return T_EOL;
2231 }
2232 YY_BREAK
2233case YY_STATE_EOF(STRING):
2234#line 180 "zconf.l"
2235{
2236 BEGIN(INITIAL);
2237 }
2238 YY_BREAK
2239
2240
2241case 51:
2242YY_RULE_SETUP
2243#line 186 "zconf.l"
2244{
2245 ts = 0;
2246 for (i = 0; i < yyleng; i++) {
2247 if (yytext[i] == '\t')
2248 ts = (ts & ~7) + 8;
2249 else
2250 ts++;
2251 }
2252 last_ts = ts;
2253 if (first_ts) {
2254 if (ts < first_ts) {
2255 zconf_endhelp();
2256 return T_HELPTEXT;
2257 }
2258 ts -= first_ts;
2259 while (ts > 8) {
2260 append_string(" ", 8);
2261 ts -= 8;
2262 }
2263 append_string(" ", ts);
2264 }
2265
2266 }
2267 YY_BREAK
2268case 52:
2269*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
2270yy_c_buf_p = yy_cp = yy_bp + 1;
2271YY_DO_BEFORE_ACTION; /* set up yytext again */
2272YY_RULE_SETUP
2273#line 209 "zconf.l"
2274{
2275 current_file->lineno++;
2276 zconf_endhelp();
2277 return T_HELPTEXT;
2278 }
2279 YY_BREAK
2280case 53:
2281YY_RULE_SETUP
2282#line 214 "zconf.l"
2283{
2284 current_file->lineno++;
2285 append_string("\n", 1);
2286 }
2287 YY_BREAK
2288case 54:
2289YY_RULE_SETUP
2290#line 218 "zconf.l"
2291{
2292 append_string(yytext, yyleng);
2293 if (!first_ts)
2294 first_ts = last_ts;
2295 }
2296 YY_BREAK
2297case YY_STATE_EOF(HELP):
2298#line 223 "zconf.l"
2299{
2300 zconf_endhelp();
2301 return T_HELPTEXT;
2302 }
2303 YY_BREAK
2304
2305case YY_STATE_EOF(INITIAL):
2306case YY_STATE_EOF(COMMAND):
2307#line 229 "zconf.l"
2308{
2309 if (current_buf) {
2310 zconf_endfile();
2311 return T_EOF;
2312 }
2313 fclose(yyin);
2314 yyterminate();
2315}
2316 YY_BREAK
2317case 55:
2318YY_RULE_SETUP
2319#line 238 "zconf.l"
2320YY_FATAL_ERROR( "flex scanner jammed" );
2321 YY_BREAK
2322#line 2323 "lex.zconf.c"
2323
2324 case YY_END_OF_BUFFER:
2325 {
2326 /* Amount of text matched not including the EOB char. */
2327 int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
2328
2329 /* Undo the effects of YY_DO_BEFORE_ACTION. */
2330 *yy_cp = yy_hold_char;
2331 YY_RESTORE_YY_MORE_OFFSET
2332
2333 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
2334 {
2335 /* We're scanning a new file or input source. It's
2336 * possible that this happened because the user
2337 * just pointed yyin at a new source and called
2338 * yylex(). If so, then we have to assure
2339 * consistency between yy_current_buffer and our
2340 * globals. Here is the right place to do so, because
2341 * this is the first action (other than possibly a
2342 * back-up) that will match for the new input source.
2343 */
2344 yy_n_chars = yy_current_buffer->yy_n_chars;
2345 yy_current_buffer->yy_input_file = yyin;
2346 yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
2347 }
2348
2349 /* Note that here we test for yy_c_buf_p "<=" to the position
2350 * of the first EOB in the buffer, since yy_c_buf_p will
2351 * already have been incremented past the NUL character
2352 * (since all states make transitions on EOB to the
2353 * end-of-buffer state). Contrast this with the test
2354 * in input().
2355 */
2356 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
2357 { /* This was really a NUL. */
2358 yy_state_type yy_next_state;
2359
2360 yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
2361
2362 yy_current_state = yy_get_previous_state();
2363
2364 /* Okay, we're now positioned to make the NUL
2365 * transition. We couldn't have
2366 * yy_get_previous_state() go ahead and do it
2367 * for us because it doesn't know how to deal
2368 * with the possibility of jamming (and we don't
2369 * want to build jamming into it because then it
2370 * will run more slowly).
2371 */
2372
2373 yy_next_state = yy_try_NUL_trans( yy_current_state );
2374
2375 yy_bp = yytext_ptr + YY_MORE_ADJ;
2376
2377 if ( yy_next_state )
2378 {
2379 /* Consume the NUL. */
2380 yy_cp = ++yy_c_buf_p;
2381 yy_current_state = yy_next_state;
2382 goto yy_match;
2383 }
2384
2385 else
2386 {
2387 yy_cp = yy_c_buf_p;
2388 goto yy_find_action;
2389 }
2390 }
2391
2392 else switch ( yy_get_next_buffer() )
2393 {
2394 case EOB_ACT_END_OF_FILE:
2395 {
2396 yy_did_buffer_switch_on_eof = 0;
2397
2398 if ( yywrap() )
2399 {
2400 /* Note: because we've taken care in
2401 * yy_get_next_buffer() to have set up
2402 * yytext, we can now set up
2403 * yy_c_buf_p so that if some total
2404 * hoser (like flex itself) wants to
2405 * call the scanner after we return the
2406 * YY_NULL, it'll still work - another
2407 * YY_NULL will get returned.
2408 */
2409 yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
2410
2411 yy_act = YY_STATE_EOF(YY_START);
2412 goto do_action;
2413 }
2414
2415 else
2416 {
2417 if ( ! yy_did_buffer_switch_on_eof )
2418 YY_NEW_FILE;
2419 }
2420 break;
2421 }
2422
2423 case EOB_ACT_CONTINUE_SCAN:
2424 yy_c_buf_p =
2425 yytext_ptr + yy_amount_of_matched_text;
2426
2427 yy_current_state = yy_get_previous_state();
2428
2429 yy_cp = yy_c_buf_p;
2430 yy_bp = yytext_ptr + YY_MORE_ADJ;
2431 goto yy_match;
2432
2433 case EOB_ACT_LAST_MATCH:
2434 yy_c_buf_p =
2435 &yy_current_buffer->yy_ch_buf[yy_n_chars];
2436
2437 yy_current_state = yy_get_previous_state();
2438
2439 yy_cp = yy_c_buf_p;
2440 yy_bp = yytext_ptr + YY_MORE_ADJ;
2441 goto yy_find_action;
2442 }
2443 break;
2444 }
2445
2446 default:
2447 YY_FATAL_ERROR(
2448 "fatal flex scanner internal error--no action found" );
2449 } /* end of action switch */
2450 } /* end of scanning one token */
2451 } /* end of yylex */
2452
2453
2454/* yy_get_next_buffer - try to read in a new buffer
2455 *
2456 * Returns a code representing an action:
2457 * EOB_ACT_LAST_MATCH -
2458 * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2459 * EOB_ACT_END_OF_FILE - end of file
2460 */
2461
2462static int yy_get_next_buffer()
2463 {
2464 register char *dest = yy_current_buffer->yy_ch_buf;
2465 register char *source = yytext_ptr;
2466 register int number_to_move, i;
2467 int ret_val;
2468
2469 if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
2470 YY_FATAL_ERROR(
2471 "fatal flex scanner internal error--end of buffer missed" );
2472
2473 if ( yy_current_buffer->yy_fill_buffer == 0 )
2474 { /* Don't try to fill the buffer, so this is an EOF. */
2475 if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
2476 {
2477 /* We matched a single character, the EOB, so
2478 * treat this as a final EOF.
2479 */
2480 return EOB_ACT_END_OF_FILE;
2481 }
2482
2483 else
2484 {
2485 /* We matched some text prior to the EOB, first
2486 * process it.
2487 */
2488 return EOB_ACT_LAST_MATCH;
2489 }
2490 }
2491
2492 /* Try to read more data. */
2493
2494 /* First move last chars to start of buffer. */
2495 number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
2496
2497 for ( i = 0; i < number_to_move; ++i )
2498 *(dest++) = *(source++);
2499
2500 if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2501 /* don't do the read, it's not guaranteed to return an EOF,
2502 * just force an EOF
2503 */
2504 yy_current_buffer->yy_n_chars = yy_n_chars = 0;
2505
2506 else
2507 {
2508 int num_to_read =
2509 yy_current_buffer->yy_buf_size - number_to_move - 1;
2510
2511 while ( num_to_read <= 0 )
2512 { /* Not enough room in the buffer - grow it. */
2513#ifdef YY_USES_REJECT
2514 YY_FATAL_ERROR(
2515"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
2516#else
2517
2518 /* just a shorter name for the current buffer */
2519 YY_BUFFER_STATE b = yy_current_buffer;
2520
2521 int yy_c_buf_p_offset =
2522 (int) (yy_c_buf_p - b->yy_ch_buf);
2523
2524 if ( b->yy_is_our_buffer )
2525 {
2526 int new_size = b->yy_buf_size * 2;
2527
2528 if ( new_size <= 0 )
2529 b->yy_buf_size += b->yy_buf_size / 8;
2530 else
2531 b->yy_buf_size *= 2;
2532
2533 b->yy_ch_buf = (char *)
2534 /* Include room in for 2 EOB chars. */
2535 yy_flex_realloc( (void *) b->yy_ch_buf,
2536 b->yy_buf_size + 2 );
2537 }
2538 else
2539 /* Can't grow it, we don't own it. */
2540 b->yy_ch_buf = 0;
2541
2542 if ( ! b->yy_ch_buf )
2543 YY_FATAL_ERROR(
2544 "fatal error - scanner input buffer overflow" );
2545
2546 yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
2547
2548 num_to_read = yy_current_buffer->yy_buf_size -
2549 number_to_move - 1;
2550#endif
2551 }
2552
2553 if ( num_to_read > YY_READ_BUF_SIZE )
2554 num_to_read = YY_READ_BUF_SIZE;
2555
2556 /* Read in more data. */
2557 YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
2558 yy_n_chars, num_to_read );
2559
2560 yy_current_buffer->yy_n_chars = yy_n_chars;
2561 }
2562
2563 if ( yy_n_chars == 0 )
2564 {
2565 if ( number_to_move == YY_MORE_ADJ )
2566 {
2567 ret_val = EOB_ACT_END_OF_FILE;
2568 yyrestart( yyin );
2569 }
2570
2571 else
2572 {
2573 ret_val = EOB_ACT_LAST_MATCH;
2574 yy_current_buffer->yy_buffer_status =
2575 YY_BUFFER_EOF_PENDING;
2576 }
2577 }
2578
2579 else
2580 ret_val = EOB_ACT_CONTINUE_SCAN;
2581
2582 yy_n_chars += number_to_move;
2583 yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2584 yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
2585
2586 yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
2587
2588 return ret_val;
2589 }
2590
2591
2592/* yy_get_previous_state - get the state just before the EOB char was reached */
2593
2594static yy_state_type yy_get_previous_state()
2595 {
2596 register yy_state_type yy_current_state;
2597 register char *yy_cp;
2598
2599 yy_current_state = yy_start;
2600
2601 for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
2602 {
2603 yy_current_state = yy_nxt[yy_current_state][(*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1)];
2604 }
2605
2606 return yy_current_state;
2607 }
2608
2609
2610/* yy_try_NUL_trans - try to make a transition on the NUL character
2611 *
2612 * synopsis
2613 * next_state = yy_try_NUL_trans( current_state );
2614 */
2615
2616#ifdef YY_USE_PROTOS
2617static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
2618#else
2619static yy_state_type yy_try_NUL_trans( yy_current_state )
2620yy_state_type yy_current_state;
2621#endif
2622 {
2623 register int yy_is_jam;
2624
2625 yy_current_state = yy_nxt[yy_current_state][1];
2626 yy_is_jam = (yy_current_state <= 0);
2627
2628 return yy_is_jam ? 0 : yy_current_state;
2629 }
2630
2631
2632#ifndef YY_NO_UNPUT
2633#ifdef YY_USE_PROTOS
2634static void yyunput( int c, register char *yy_bp )
2635#else
2636static void yyunput( c, yy_bp )
2637int c;
2638register char *yy_bp;
2639#endif
2640 {
2641 register char *yy_cp = yy_c_buf_p;
2642
2643 /* undo effects of setting up yytext */
2644 *yy_cp = yy_hold_char;
2645
2646 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
2647 { /* need to shift things up to make room */
2648 /* +2 for EOB chars. */
2649 register int number_to_move = yy_n_chars + 2;
2650 register char *dest = &yy_current_buffer->yy_ch_buf[
2651 yy_current_buffer->yy_buf_size + 2];
2652 register char *source =
2653 &yy_current_buffer->yy_ch_buf[number_to_move];
2654
2655 while ( source > yy_current_buffer->yy_ch_buf )
2656 *--dest = *--source;
2657
2658 yy_cp += (int) (dest - source);
2659 yy_bp += (int) (dest - source);
2660 yy_current_buffer->yy_n_chars =
2661 yy_n_chars = yy_current_buffer->yy_buf_size;
2662
2663 if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
2664 YY_FATAL_ERROR( "flex scanner push-back overflow" );
2665 }
2666
2667 *--yy_cp = (char) c;
2668
2669
2670 yytext_ptr = yy_bp;
2671 yy_hold_char = *yy_cp;
2672 yy_c_buf_p = yy_cp;
2673 }
2674#endif /* ifndef YY_NO_UNPUT */
2675
2676
2677#ifdef __cplusplus
2678static int yyinput()
2679#else
2680static int input()
2681#endif
2682 {
2683 int c;
2684
2685 *yy_c_buf_p = yy_hold_char;
2686
2687 if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
2688 {
2689 /* yy_c_buf_p now points to the character we want to return.
2690 * If this occurs *before* the EOB characters, then it's a
2691 * valid NUL; if not, then we've hit the end of the buffer.
2692 */
2693 if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
2694 /* This was really a NUL. */
2695 *yy_c_buf_p = '\0';
2696
2697 else
2698 { /* need more input */
2699 int offset = yy_c_buf_p - yytext_ptr;
2700 ++yy_c_buf_p;
2701
2702 switch ( yy_get_next_buffer() )
2703 {
2704 case EOB_ACT_LAST_MATCH:
2705 /* This happens because yy_g_n_b()
2706 * sees that we've accumulated a
2707 * token and flags that we need to
2708 * try matching the token before
2709 * proceeding. But for input(),
2710 * there's no matching to consider.
2711 * So convert the EOB_ACT_LAST_MATCH
2712 * to EOB_ACT_END_OF_FILE.
2713 */
2714
2715 /* Reset buffer status. */
2716 yyrestart( yyin );
2717
2718 /* fall through */
2719
2720 case EOB_ACT_END_OF_FILE:
2721 {
2722 if ( yywrap() )
2723 return EOF;
2724
2725 if ( ! yy_did_buffer_switch_on_eof )
2726 YY_NEW_FILE;
2727#ifdef __cplusplus
2728 return yyinput();
2729#else
2730 return input();
2731#endif
2732 }
2733
2734 case EOB_ACT_CONTINUE_SCAN:
2735 yy_c_buf_p = yytext_ptr + offset;
2736 break;
2737 }
2738 }
2739 }
2740
2741 c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
2742 *yy_c_buf_p = '\0'; /* preserve yytext */
2743 yy_hold_char = *++yy_c_buf_p;
2744
2745
2746 return c;
2747 }
2748
2749
2750#ifdef YY_USE_PROTOS
2751void yyrestart( FILE *input_file )
2752#else
2753void yyrestart( input_file )
2754FILE *input_file;
2755#endif
2756 {
2757 if ( ! yy_current_buffer )
2758 yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
2759
2760 yy_init_buffer( yy_current_buffer, input_file );
2761 yy_load_buffer_state();
2762 }
2763
2764
2765#ifdef YY_USE_PROTOS
2766void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
2767#else
2768void yy_switch_to_buffer( new_buffer )
2769YY_BUFFER_STATE new_buffer;
2770#endif
2771 {
2772 if ( yy_current_buffer == new_buffer )
2773 return;
2774
2775 if ( yy_current_buffer )
2776 {
2777 /* Flush out information for old buffer. */
2778 *yy_c_buf_p = yy_hold_char;
2779 yy_current_buffer->yy_buf_pos = yy_c_buf_p;
2780 yy_current_buffer->yy_n_chars = yy_n_chars;
2781 }
2782
2783 yy_current_buffer = new_buffer;
2784 yy_load_buffer_state();
2785
2786 /* We don't actually know whether we did this switch during
2787 * EOF (yywrap()) processing, but the only time this flag
2788 * is looked at is after yywrap() is called, so it's safe
2789 * to go ahead and always set it.
2790 */
2791 yy_did_buffer_switch_on_eof = 1;
2792 }
2793
2794
2795#ifdef YY_USE_PROTOS
2796void yy_load_buffer_state( void )
2797#else
2798void yy_load_buffer_state()
2799#endif
2800 {
2801 yy_n_chars = yy_current_buffer->yy_n_chars;
2802 yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
2803 yyin = yy_current_buffer->yy_input_file;
2804 yy_hold_char = *yy_c_buf_p;
2805 }
2806
2807
2808#ifdef YY_USE_PROTOS
2809YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
2810#else
2811YY_BUFFER_STATE yy_create_buffer( file, size )
2812FILE *file;
2813int size;
2814#endif
2815 {
2816 YY_BUFFER_STATE b;
2817
2818 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
2819 if ( ! b )
2820 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2821
2822 b->yy_buf_size = size;
2823
2824 /* yy_ch_buf has to be 2 characters longer than the size given because
2825 * we need to put in 2 end-of-buffer characters.
2826 */
2827 b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
2828 if ( ! b->yy_ch_buf )
2829 YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2830
2831 b->yy_is_our_buffer = 1;
2832
2833 yy_init_buffer( b, file );
2834
2835 return b;
2836 }
2837
2838
2839#ifdef YY_USE_PROTOS
2840void yy_delete_buffer( YY_BUFFER_STATE b )
2841#else
2842void yy_delete_buffer( b )
2843YY_BUFFER_STATE b;
2844#endif
2845 {
2846 if ( ! b )
2847 return;
2848
2849 if ( b == yy_current_buffer )
2850 yy_current_buffer = (YY_BUFFER_STATE) 0;
2851
2852 if ( b->yy_is_our_buffer )
2853 yy_flex_free( (void *) b->yy_ch_buf );
2854
2855 yy_flex_free( (void *) b );
2856 }
2857
2858
2859#ifndef _WIN32
2860#include <unistd.h>
2861#else
2862#ifndef YY_ALWAYS_INTERACTIVE
2863#ifndef YY_NEVER_INTERACTIVE
2864extern int isatty YY_PROTO(( int ));
2865#endif
2866#endif
2867#endif
2868
2869#ifdef YY_USE_PROTOS
2870void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
2871#else
2872void yy_init_buffer( b, file )
2873YY_BUFFER_STATE b;
2874FILE *file;
2875#endif
2876
2877
2878 {
2879 yy_flush_buffer( b );
2880
2881 b->yy_input_file = file;
2882 b->yy_fill_buffer = 1;
2883
2884#if YY_ALWAYS_INTERACTIVE
2885 b->yy_is_interactive = 1;
2886#else
2887#if YY_NEVER_INTERACTIVE
2888 b->yy_is_interactive = 0;
2889#else
2890 b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
2891#endif
2892#endif
2893 }
2894
2895
2896#ifdef YY_USE_PROTOS
2897void yy_flush_buffer( YY_BUFFER_STATE b )
2898#else
2899void yy_flush_buffer( b )
2900YY_BUFFER_STATE b;
2901#endif
2902
2903 {
2904 if ( ! b )
2905 return;
2906
2907 b->yy_n_chars = 0;
2908
2909 /* We always need two end-of-buffer characters. The first causes
2910 * a transition to the end-of-buffer state. The second causes
2911 * a jam in that state.
2912 */
2913 b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2914 b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2915
2916 b->yy_buf_pos = &b->yy_ch_buf[0];
2917
2918 b->yy_at_bol = 1;
2919 b->yy_buffer_status = YY_BUFFER_NEW;
2920
2921 if ( b == yy_current_buffer )
2922 yy_load_buffer_state();
2923 }
2924
2925
2926#ifndef YY_NO_SCAN_BUFFER
2927#ifdef YY_USE_PROTOS
2928YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
2929#else
2930YY_BUFFER_STATE yy_scan_buffer( base, size )
2931char *base;
2932yy_size_t size;
2933#endif
2934 {
2935 YY_BUFFER_STATE b;
2936
2937 if ( size < 2 ||
2938 base[size-2] != YY_END_OF_BUFFER_CHAR ||
2939 base[size-1] != YY_END_OF_BUFFER_CHAR )
2940 /* They forgot to leave room for the EOB's. */
2941 return 0;
2942
2943 b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
2944 if ( ! b )
2945 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
2946
2947 b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
2948 b->yy_buf_pos = b->yy_ch_buf = base;
2949 b->yy_is_our_buffer = 0;
2950 b->yy_input_file = 0;
2951 b->yy_n_chars = b->yy_buf_size;
2952 b->yy_is_interactive = 0;
2953 b->yy_at_bol = 1;
2954 b->yy_fill_buffer = 0;
2955 b->yy_buffer_status = YY_BUFFER_NEW;
2956
2957 yy_switch_to_buffer( b );
2958
2959 return b;
2960 }
2961#endif
2962
2963
2964#ifndef YY_NO_SCAN_STRING
2965#ifdef YY_USE_PROTOS
2966YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
2967#else
2968YY_BUFFER_STATE yy_scan_string( yy_str )
2969yyconst char *yy_str;
2970#endif
2971 {
2972 int len;
2973 for ( len = 0; yy_str[len]; ++len )
2974 ;
2975
2976 return yy_scan_bytes( yy_str, len );
2977 }
2978#endif
2979
2980
2981#ifndef YY_NO_SCAN_BYTES
2982#ifdef YY_USE_PROTOS
2983YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
2984#else
2985YY_BUFFER_STATE yy_scan_bytes( bytes, len )
2986yyconst char *bytes;
2987int len;
2988#endif
2989 {
2990 YY_BUFFER_STATE b;
2991 char *buf;
2992 yy_size_t n;
2993 int i;
2994
2995 /* Get memory for full buffer, including space for trailing EOB's. */
2996 n = len + 2;
2997 buf = (char *) yy_flex_alloc( n );
2998 if ( ! buf )
2999 YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
3000
3001 for ( i = 0; i < len; ++i )
3002 buf[i] = bytes[i];
3003
3004 buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
3005
3006 b = yy_scan_buffer( buf, n );
3007 if ( ! b )
3008 YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
3009
3010 /* It's okay to grow etc. this buffer, and we should throw it
3011 * away when we're done.
3012 */
3013 b->yy_is_our_buffer = 1;
3014
3015 return b;
3016 }
3017#endif
3018
3019
3020#ifndef YY_NO_PUSH_STATE
3021#ifdef YY_USE_PROTOS
3022static void yy_push_state( int new_state )
3023#else
3024static void yy_push_state( new_state )
3025int new_state;
3026#endif
3027 {
3028 if ( yy_start_stack_ptr >= yy_start_stack_depth )
3029 {
3030 yy_size_t new_size;
3031
3032 yy_start_stack_depth += YY_START_STACK_INCR;
3033 new_size = yy_start_stack_depth * sizeof( int );
3034
3035 if ( ! yy_start_stack )
3036 yy_start_stack = (int *) yy_flex_alloc( new_size );
3037
3038 else
3039 yy_start_stack = (int *) yy_flex_realloc(
3040 (void *) yy_start_stack, new_size );
3041
3042 if ( ! yy_start_stack )
3043 YY_FATAL_ERROR(
3044 "out of memory expanding start-condition stack" );
3045 }
3046
3047 yy_start_stack[yy_start_stack_ptr++] = YY_START;
3048
3049 BEGIN(new_state);
3050 }
3051#endif
3052
3053
3054#ifndef YY_NO_POP_STATE
3055static void yy_pop_state()
3056 {
3057 if ( --yy_start_stack_ptr < 0 )
3058 YY_FATAL_ERROR( "start-condition stack underflow" );
3059
3060 BEGIN(yy_start_stack[yy_start_stack_ptr]);
3061 }
3062#endif
3063
3064
3065#ifndef YY_NO_TOP_STATE
3066static int yy_top_state()
3067 {
3068 return yy_start_stack[yy_start_stack_ptr - 1];
3069 }
3070#endif
3071
3072#ifndef YY_EXIT_FAILURE
3073#define YY_EXIT_FAILURE 2
3074#endif
3075
3076#ifdef YY_USE_PROTOS
3077static void yy_fatal_error( yyconst char msg[] )
3078#else
3079static void yy_fatal_error( msg )
3080char msg[];
3081#endif
3082 {
3083 (void) fprintf( stderr, "%s\n", msg );
3084 exit( YY_EXIT_FAILURE );
3085 }
3086
3087
3088
3089/* Redefine yyless() so it works in section 3 code. */
3090
3091#undef yyless
3092#define yyless(n) \
3093 do \
3094 { \
3095 /* Undo effects of setting up yytext. */ \
3096 yytext[yyleng] = yy_hold_char; \
3097 yy_c_buf_p = yytext + n; \
3098 yy_hold_char = *yy_c_buf_p; \
3099 *yy_c_buf_p = '\0'; \
3100 yyleng = n; \
3101 } \
3102 while ( 0 )
3103
3104
3105/* Internal utility routines. */
3106
3107#ifndef yytext_ptr
3108#ifdef YY_USE_PROTOS
3109static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
3110#else
3111static void yy_flex_strncpy( s1, s2, n )
3112char *s1;
3113yyconst char *s2;
3114int n;
3115#endif
3116 {
3117 register int i;
3118 for ( i = 0; i < n; ++i )
3119 s1[i] = s2[i];
3120 }
3121#endif
3122
3123#ifdef YY_NEED_STRLEN
3124#ifdef YY_USE_PROTOS
3125static int yy_flex_strlen( yyconst char *s )
3126#else
3127static int yy_flex_strlen( s )
3128yyconst char *s;
3129#endif
3130 {
3131 register int n;
3132 for ( n = 0; s[n]; ++n )
3133 ;
3134
3135 return n;
3136 }
3137#endif
3138
3139
3140#ifdef YY_USE_PROTOS
3141static void *yy_flex_alloc( yy_size_t size )
3142#else
3143static void *yy_flex_alloc( size )
3144yy_size_t size;
3145#endif
3146 {
3147 return (void *) malloc( size );
3148 }
3149
3150#ifdef YY_USE_PROTOS
3151static void *yy_flex_realloc( void *ptr, yy_size_t size )
3152#else
3153static void *yy_flex_realloc( ptr, size )
3154void *ptr;
3155yy_size_t size;
3156#endif
3157 {
3158 /* The cast to (char *) in the following accommodates both
3159 * implementations that use char* generic pointers, and those
3160 * that use void* generic pointers. It works with the latter
3161 * because both ANSI C and C++ allow castless assignment from
3162 * any pointer type to void*, and deal with argument conversions
3163 * as though doing an assignment.
3164 */
3165 return (void *) realloc( (char *) ptr, size );
3166 }
3167
3168#ifdef YY_USE_PROTOS
3169static void yy_flex_free( void *ptr )
3170#else
3171static void yy_flex_free( ptr )
3172void *ptr;
3173#endif
3174 {
3175 free( ptr );
3176 }
3177
3178#if YY_MAIN
3179int main()
3180 {
3181 yylex();
3182 return 0;
3183 }
3184#endif
3185#line 238 "zconf.l"
3186
3187void zconf_starthelp(void)
3188{
3189 new_string();
3190 last_ts = first_ts = 0;
3191 BEGIN(HELP);
3192}
3193
3194static void zconf_endhelp(void)
3195{
3196 zconflval.string = text;
3197 BEGIN(INITIAL);
3198}
3199
3200void zconf_initscan(const char *name)
3201{
3202 yyin = fopen(name, "r");
3203 if (!yyin) {
3204 printf("can't find file %s\n", name);
3205 exit(1);
3206 }
3207
3208 current_buf = malloc(sizeof(*current_buf));
3209 memset(current_buf, 0, sizeof(*current_buf));
3210
3211 current_file = file_lookup(name);
3212 current_file->lineno = 1;
3213 current_file->flags = FILE_BUSY;
3214}
3215
3216void zconf_nextfile(const char *name)
3217{
3218 struct file *file = file_lookup(name);
3219 struct buffer *buf = malloc(sizeof(*buf));
3220 memset(buf, 0, sizeof(*buf));
3221
3222 current_buf->state = YY_CURRENT_BUFFER;
3223 yyin = fopen(name, "r");
3224 if (!yyin) {
3225 printf("%s:%d: can't open file \"%s\"\n", zconf_curname(), zconf_lineno(), name);
3226 exit(1);
3227 }
3228 yy_switch_to_buffer(yy_create_buffer(yyin, YY_BUF_SIZE));
3229 buf->parent = current_buf;
3230 current_buf = buf;
3231
3232 if (file->flags & FILE_BUSY) {
3233 printf("recursive scan (%s)?\n", name);
3234 exit(1);
3235 }
3236 if (file->flags & FILE_SCANNED) {
3237 printf("file %s already scanned?\n", name);
3238 exit(1);
3239 }
3240 file->flags |= FILE_BUSY;
3241 file->lineno = 1;
3242 file->parent = current_file;
3243 current_file = file;
3244}
3245
3246static struct buffer *zconf_endfile(void)
3247{
3248 struct buffer *parent;
3249
3250 current_file->flags |= FILE_SCANNED;
3251 current_file->flags &= ~FILE_BUSY;
3252 current_file = current_file->parent;
3253
3254 parent = current_buf->parent;
3255 if (parent) {
3256 fclose(yyin);
3257 yy_delete_buffer(YY_CURRENT_BUFFER);
3258 yy_switch_to_buffer(parent->state);
3259 }
3260 free(current_buf);
3261 current_buf = parent;
3262
3263 return parent;
3264}
3265
3266int zconf_lineno(void)
3267{
3268 if (current_buf)
3269 return current_file->lineno;
3270 else
3271 return 0;
3272}
3273
3274char *zconf_curname(void)
3275{
3276 if (current_buf)
3277 return current_file->name;
3278 else
3279 return "<none>";
3280}