1/* A lexical scanner generated by flex */
2
3/* scanner skeleton version:
4 * $Header: flex.skel,v 2.13 90/05/26 17:24:13 ve
5 */
6
7#define FLEX_SCANNER
8
9#include <stdio.h>
10
11#ifdef __STDC__
12
13#ifndef DONT_HAVE_STDLIB_H
14#include <stdlib.h>
15#else
16void *malloc( unsigned );
17void free( void* );
18#endif
19
20#define YY_USE_PROTOS
21#define YY_USE_CONST
22#endif
23
24
25/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
26#ifdef c_plusplus
27#ifndef __cplusplus
28#define __cplusplus
29#endif
30#endif
31
32
33#ifdef __cplusplus
34
35#ifndef __STDC__
36#include <stdlib.h>
37#endif
38
39#include <osfcn.h>
40
41/* use prototypes in function declarations */
42#define YY_USE_PROTOS
43
44/* the "const" storage-class-modifier is valid */
45#define YY_USE_CONST
46
47#endif
48
49
50#ifdef __TURBOC__
51#define YY_USE_CONST
52#endif
53
54
55#ifndef YY_USE_CONST
56#define const
57#endif
58
59
60#ifdef YY_USE_PROTOS
61#define YY_PROTO(proto) proto
62#else
63#define YY_PROTO(proto) ()
64/* there's no standard place to get these definitions */
65char *malloc();
66int free();
67int read();
68#endif
69
70
71/* amount of stuff to slurp up with each read */
72#ifndef YY_READ_BUF_SIZE
73#define YY_READ_BUF_SIZE 8192
74#endif
75
76/* returned upon end-of-file */
77#define YY_END_TOK 0
78
79/* copy whatever the last rule matched to the standard output */
80
81/* cast to (char *) is because for 8-bit chars, yytext is (unsigned char *) */
82/* this used to be an fputs(), but since the string might contain NUL's,
83 * we now use fwrite()
84 */
85#define ECHO (void) fwrite( (char *) yytext, yyleng, 1, yyout )
86
87/* gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
88 * is returned in "result".
89 */
90#define YY_INPUT(buf,result,max_size) \
91        if ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
92            YY_FATAL_ERROR( "read() in flex scanner failed" );
93#define YY_NULL 0
94
95/* no semi-colon after return; correct usage is to write "yyterminate();" -
96 * we don't want an extra ';' after the "return" because that will cause
97 * some compilers to complain about unreachable statements.
98 */
99#define yyterminate() return ( YY_NULL )
100
101/* report a fatal error */
102
103/* The funky do-while is used to turn this macro definition into
104 * a single C statement (which needs a semi-colon terminator).
105 * This avoids problems with code like:
106 *
107 *      if ( something_happens )
108 *              YY_FATAL_ERROR( "oops, the something happened" );
109 *      else
110 *              everything_okay();
111 *
112 * Prior to using the do-while the compiler would get upset at the
113 * "else" because it interpreted the "if" statement as being all
114 * done when it reached the ';' after the YY_FATAL_ERROR() call.
115 */
116
117#define YY_FATAL_ERROR(msg) \
118        do \
119                { \
120                (void) fputs( msg, stderr ); \
121                (void) putc( '\n', stderr ); \
122                exit( 1 ); \
123                } \
124        while ( 0 )
125
126/* default yywrap function - always treat EOF as an EOF */
127#define yywrap() 1
128
129/* enter a start condition.  This macro really ought to take a parameter,
130 * but we do it the disgusting crufty way forced on us by the ()-less
131 * definition of BEGIN
132 */
133#define BEGIN yy_start = 1 + 2 *
134
135/* action number for EOF rule of a given start state */
136#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
137
138/* special action meaning "start processing a new file" */
139#define YY_NEW_FILE \
140        do \
141                { \
142                yyinbffr( yy_current_buffer, yyin ); \
143                yyldbfst(); \
144                } \
145        while ( 0 )
146
147/* default declaration of generated scanner - a define so the user can
148 * easily add parameters
149 */
150#define YY_DECL int yylex YY_PROTO(( void ))
151
152/* code executed at the end of each rule */
153#define YY_BREAK break;
154
155#define YY_END_OF_BUFFER_CHAR 0
156
157#ifndef YY_BUF_SIZE
158#define YY_BUF_SIZE (YY_READ_BUF_SIZE * 2) /* size of default input buffer */
159#endif
160
161typedef struct yy_buffer_state *YY_BUFFER_STATE;
162
163#define YY_CHAR unsigned char
164# line 1 "<stdin>"
165#define INITIAL 0
166/* scan.l - scanner for flex input */
167# line 5 "<stdin>"
168/*-
169 * Copyright (c) 1990 The Regents of the University of California.
170 * All rights reserved.
171 *
172 * This code is derived from software contributed to Berkeley by
173 * Vern Paxson.
174 *
175 * The United States Government has rights in this work pursuant
176 * to contract no. DE-AC03-76SF00098 between the United States
177 * Department of Energy and the University of California.
178 *
179 * Redistribution and use in source and binary forms with or without
180 * modification are permitted provided that: (1) source distributions retain
181 * this entire copyright notice and comment, and (2) distributions including
182 * binaries display the following acknowledgement:  ``This product includes
183 * software developed by the University of California, Berkeley and its
184 * contributors'' in the documentation or other materials provided with the
185 * distribution and in all advertising materials mentioning features or use
186 * of this software.  Neither the name of the University nor the names of
187 * its contributors may be used to endorse or promote products derived from
188 * this software without specific prior written permission.
189 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
190 * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
191 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
192 */
193
194#ifndef lint
195static char rcsid[] =
196    "@(#) $Header: /projects/cvsroot/src/router/flex/MISC/MVS/initscan-mvs.c,v 1.1.1.1 2001/04/08 23:53:37 mhuang Exp $ (LBL)";
197#endif
198
199#undef yywrap
200
201#include <flexdef.h>
202#include <parse.h>
203
204#define ACTION_ECHO fprintf( tmpactfl, "%s", yytext )
205#define MARK_END_OF_PROLOG fprintf( tmpactfl, "%%%% end of prolog\n" );
206
207#undef YY_DECL
208#define YY_DECL \
209        int flexscan()
210
211#define RETURNCHAR \
212        yylval = yytext[0]; \
213        return ( CHAR );
214
215#define RETURNNAME \
216        (void) strcpy( nmstr, (char *) yytext ); \
217        return ( NAME );
218
219#define PUT_BACK_STRING(str, start) \
220        for ( i = strlen( (char *) (str) ) - 1; i >= start; --i ) \
221            unput((str)[i])
222
223#define CHECK_REJECT(str) \
224        if ( allupper( str ) ) \
225            reject = true;
226
227#define CHECK_YYMORE(str) \
228        if ( alllower( str ) ) \
229            yymrused = true;
230#define SECT2 1
231#define SECT2PROLOG 2
232#define SECT3 3
233#define CODEBLOCK 4
234#define PICKUPDEF 5
235#define SC 6
236#define CARETISBOL 7
237#define NUM 8
238#define QUOTE 9
239#define FIRSTCCL 10
240#define CCL 11
241#define ACTION 12
242#define RECOVER 13
243#define BRACEERROR 14
244#define C_COMMENT 15
245#define ACTION_COMMENT 16
246#define ACTION_STRING 17
247#define PERCENT_BRACE_ACTION 18
248#define USED_LIST 19
249#define CODEBLOCK_2 20
250#define XLATION 21
251# line 84 "<stdin>"
252
253/* done after the current pattern has been matched and before the
254 * corresponding action - sets up yytext
255 */
256#define YY_DO_BEFORE_ACTION \
257        yytext = yy_bp; \
258	yyleng = yy_cp - yy_bp; \
259        yy_hold_char = *yy_cp; \
260        *yy_cp = '\0'; \
261        yy_c_buf_p = yy_cp;
262
263#define EOB_ACT_CONTINUE_SCAN 0
264#define EOB_ACT_END_OF_FILE 1
265#define EOB_ACT_LAST_MATCH 2
266
267/* return all but the first 'n' matched characters back to the input stream */
268#define yyless(n) \
269        do \
270                { \
271                /* undo effects of setting up yytext */ \
272                *yy_cp = yy_hold_char; \
273                yy_c_buf_p = yy_cp = yy_bp + n; \
274                YY_DO_BEFORE_ACTION; /* set up yytext again */ \
275                } \
276        while ( 0 )
277
278#define unput(c) yyunput( c, yytext )
279
280
281struct yy_buffer_state
282    {
283    FILE *yy_input_file;
284
285    YY_CHAR *yy_ch_buf;         /* input buffer */
286    YY_CHAR *yy_buf_pos;        /* current position in input buffer */
287
288    /* size of input buffer in bytes, not including room for EOB characters*/
289    int yy_buf_size;
290
291    /* number of characters read into yy_ch_buf, not including EOB characters */
292    int yy_n_chars;
293
294    int yy_eof_status;          /* whether we've seen an EOF on this buffer */
295#define EOF_NOT_SEEN 0
296    /* "pending" happens when the EOF has been seen but there's still
297     * some text process
298     */
299#define EOF_PENDING 1
300#define EOF_DONE 2
301    };
302
303static YY_BUFFER_STATE yy_current_buffer;
304
305/* we provide macros for accessing buffer states in case in the
306 * future we want to put the buffer states in a more general
307 * "scanner state"
308 */
309#define YY_CURRENT_BUFFER yy_current_buffer
310
311
312/* yy_hold_char holds the character lost when yytext is formed */
313static YY_CHAR yy_hold_char;
314
315static int yy_n_chars;          /* number of characters read into yy_ch_buf */
316
317
318
319#ifndef YY_USER_ACTION
320#define YY_USER_ACTION
321#endif
322
323#ifndef YY_USER_INIT
324#define YY_USER_INIT
325#endif
326
327extern YY_CHAR *yytext;
328extern int yyleng;
329extern FILE *yyin, *yyout;
330
331YY_CHAR *yytext;
332int yyleng;
333
334FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
335
336#define YY_END_OF_BUFFER 121
337typedef int yy_ste_type;
338static const short int yy_accept[341] =
339    {   0,
340        0,    0,    0,    0,    0,    0,  119,  119,    0,    0,
341        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
342        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
343        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
344        0,    0,    0,    0,  121,   19,    7,   18,   19,   16,
345        1,   17,   19,   19,   15,   19,   67,   59,   60,   66,
346       51,   67,   53,   67,   67,   67,   50,   49,   52,   67,
347      120,   47,  119,  119,   28,   29,   28,   28,   28,   28,
348       31,   30,   32,   73,  120,   69,   72,   70,   74,   88,
349       89,   86,   87,   85,   75,   77,   76,   75,   81,   81,
350
351       80,   81,   83,   83,   84,   83,   99,  104,  105,  100,
352      105,  103,  100,  100,   97,   98,  120,   33,   91,   90,
353       22,   24,   23,  107,  109,  108,  111,  113,  114,  115,
354       95,   95,   96,   95,   95,   95,   95,   38,   35,   34,
355       38,   38,   44,   42,   45,   44,   44,   41,   41,   41,
356       41,   40,    7,   18,    0,   16,    1,   17,    3,   14,
357        8,    0,   12,    4,    0,    0,    5,    0,   15,    0,
358        2,   59,   60,    0,    0,    0,   56,    0,    0,   55,
359       55,   54,  117,  117,  117,   50,   49,   63,   50,    0,
360       47,   46,  119,  119,   28,   28,   28,   28,   28,   31,
361
362       30,   72,   71,   85,   78,   79,  118,  118,  118,   82,
363       99,  101,  100,    0,  102,    0,  100,  100,    0,   33,
364       22,   20,  107,  106,  111,  112,   95,   95,   95,   92,
365       95,   95,   95,   38,   35,   38,   38,   42,    0,   43,
366       43,   43,   42,   40,    0,   13,   14,    8,    8,    0,
367       12,    4,    0,    0,    0,    5,    0,    6,    0,   58,
368       57,    0,   64,    0,    0,   55,   55,   65,  117,  117,
369       63,   28,   28,   28,   25,    0,  118,  118,  100,  100,
370        0,   21,   92,   92,   95,   95,   38,   38,    0,   39,
371       43,   43,    0,   11,    4,    0,   11,    0,    0,    5,
372
373        0,    0,    0,  117,   28,   28,  118,  100,  100,   95,
374       95,   38,   38,   43,    0,    9,    0,    0,    0,   28,
375       28,  100,  100,   95,   95,   38,   38,    0,    0,   26,
376       27,   93,   94,   93,   94,   36,   37,   10,   62,    0
377    } ;
378
379static const YY_CHAR yy_ec[256] =
380    {   0,
381        1,    1,    1,    1,    2,    1,    1,    1,    1,    1,
382        1,    3,    1,    1,    1,    1,    1,    1,    1,    1,
383        4,    1,    1,    1,    1,    1,    1,    1,    1,    1,
384        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
385        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
386        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
387        1,    1,    1,    5,    1,    1,    1,    1,    1,    1,
388        1,    1,    1,    1,    6,    7,    6,    6,    8,    1,
389        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
390        9,   10,    6,    1,   11,   12,   13,    1,    1,    1,
391
392        1,    1,    1,    1,    1,    1,   14,   15,   16,   17,
393        6,    1,    1,    1,    1,    1,    1,    1,    1,    1,
394        1,    1,   18,    1,   19,    1,   20,    1,   21,   22,
395       23,   24,   25,   26,   16,   16,   16,   16,   16,   16,
396       16,   16,   16,   16,   27,   28,   16,   29,   30,   31,
397       28,   16,   32,   16,   16,   16,   16,   16,   16,   16,
398       16,   33,   34,   35,   16,   16,   36,   37,   16,    1,
399        1,    1,   38,    1,    1,    1,    1,    1,    1,    1,
400        1,    1,    1,    1,    1,    1,    1,    1,   39,    1,
401        1,   40,   21,   22,   23,   24,   25,   26,   16,   16,
402
403       16,    1,    1,    1,    1,    1,    1,   41,   27,   28,
404       16,   29,   30,   31,   28,   16,   32,    1,    1,    1,
405        1,    1,    1,   42,    1,   33,   34,   35,   16,   16,
406       36,   37,   16,    1,    1,    1,    1,    1,    1,   43,
407       43,   43,   43,   43,   43,   43,   43,   43,   43,    1,
408        1,    1,    1,    1,    1
409    } ;
410
411static const short int yy_base[404] =
412    {   0,
413        0,   43,   85,  126, 1573, 1572, 1571, 1570,  168, 1558,
414       97,  104,  211,    0, 1544, 1543,   99,  106,  118,  251,
415      252,  254,  112,  114,  296,    0, 1549, 1548,  107,  111,
416      140,  151,  153,  155,  253,  336,  378,    0,  339,  420,
417        0,    0,  424,  465, 1550, 3243,  257, 3243, 1515,    0,
418      265, 3243, 1538,  494,    0, 1540, 3243,  272, 3243, 3243,
419     1495,  277, 3243, 1459,  534,   61,  343, 3243, 3243,   81,
420     1496,    0, 1495, 3243,    0, 3243,    0, 1473, 1443, 1438,
421        0,  281, 3243, 3243, 3243, 3243,    0, 1467, 3243, 3243,
422     3243, 3243, 3243, 1434, 3243, 3243, 3243,   76, 3243, 1463,
423
424     3243,  242, 3243,    0, 3243,  314,    0, 3243, 1464,    0,
425      330, 3243, 1448,  745, 3243, 3243,  777, 3243, 3243, 3243,
426        0, 3243,  767,    0, 3243,  766,    0, 3243, 3243,    0,
427        0,  350, 3243,  737,    0,  752,  739,    0,  286, 3243,
428      750,  737, 3243,  357, 3243,  739,  318, 3243,  428,  738,
429      327,  728,  364, 3243,  432,    0,  438, 3243, 3243,  372,
430      442,  765,  446,    0,  451,   84,    0,  765,    0,  764,
431     3243,  457, 3243,  763,  718,  732, 3243,  434,  438,    0,
432      566, 3243, 3243,    0,  712,  480, 3243,    0, 3243,  750,
433        0, 3243,  749, 3243,    0,    0,  725,  722,  609,    0,
434
435      484,    0, 3243,  707, 3243, 3243, 3243,    0,  706, 3243,
436        0, 3243,    0,  456, 3243,    0,  721,  718,  742, 3243,
437        0,  741,    0, 3243,    0, 3243,    0,  488,  703,  652,
438        0,  709,  706,    0,  494,  707,  704,  499,  508, 3243,
439        0,  689,  694,  688,  581, 3243,  518,    0,  603,  725,
440      698,    0,  702,  693,  697,    0,  706, 3243,  705, 3243,
441     3243,  671, 3243,  717,  669,    0,    0, 3243,    0,  655,
442        0,  631,  573,    0, 3243,  577,    0,  537,  554,  507,
443      529, 3243,    0,    0,  507,  500,  493,  485,  711, 3243,
444        0,  471,  502, 3243,    0,  715, 3243,  472,  476,    0,
445
446      468,  740,  682, 3243,  469,  447, 3243,  455,  432,  440,
447      426,  427,  414, 3243,  413, 3243,  415,  684,  688,  339,
448      339,  258,  265,  238,  142,  128,  133,  121,  126,    0,
449        0,    0,    0,    0,    0,    0,    0, 3243, 3243, 3243,
450      783,  826,  869,  912,  955,  998, 1041, 1084, 1127, 1170,
451     1213, 1256, 1299, 1342, 1385, 1428, 1460, 1503, 1535, 1578,
452     1621, 1664, 1707, 1750, 1793, 1836, 1868, 1911, 1943, 1986,
453     2029, 2072, 2115, 2147, 2190, 2233, 2276, 2319, 2362, 2405,
454     2448, 2480, 2523, 2566, 2609, 2637, 2659, 2696, 2739, 2782,
455     2805, 2848, 2871, 2914, 2937, 2980, 3012, 3044, 3067, 3110,
456
457     3133, 3176, 3199
458    } ;
459
460static const short int yy_def[404] =
461    {   0,
462      340,  340,  341,  341,  342,  342,  343,  343,  340,    9,
463      344,  344,  340,   13,  345,  345,  346,  346,  347,  347,
464      348,  348,  349,  349,  340,   25,  350,  350,  345,  345,
465      351,  351,  352,  352,  353,  353,  340,   37,  354,  354,
466       37,   37,  355,  356,  340,  340,  340,  340,  340,  357,
467      340,  340,  340,  358,  359,  360,  340,  340,  340,  340,
468      340,  340,  340,  361,  340,  362,  340,  340,  340,  340,
469      363,  364,  365,  340,  366,  340,  367,  367,  367,  366,
470      368,  340,  340,  340,  340,  340,  369,  340,  340,  340,
471      340,  340,  340,  340,  340,  340,  340,  362,  340,  370,
472
473      340,  371,  340,  372,  340,  362,  373,  340,  340,  374,
474      375,  340,  374,  374,  340,  340,  376,  340,  340,  340,
475      377,  340,  340,  378,  340,  340,  379,  340,  340,  380,
476      381,  381,  340,  381,  382,  382,  382,  383,  340,  340,
477      383,  383,  340,  340,  340,  340,  384,  340,  340,  340,
478      384,  340,  340,  340,  340,  357,  340,  340,  340,  340,
479      385,  340,  340,  386,  340,  340,  387,  388,  359,  360,
480      340,  340,  340,  389,  340,  340,  340,  361,  361,  390,
481      390,  340,  340,  391,  340,  340,  340,  392,  340,  363,
482      364,  340,  365,  340,  366,  367,  367,  367,  340,  368,
483
484      340,  369,  340,  340,  340,  340,  340,  393,  340,  340,
485      373,  340,  374,  375,  340,  375,  374,  374,  376,  340,
486      377,  394,  378,  340,  379,  340,  381,  381,  381,  340,
487      382,  382,  382,  383,  340,  383,  383,  340,  340,  340,
488      395,  340,  340,  340,  340,  340,  340,  385,  385,  396,
489      340,  397,  396,  340,  340,  398,  388,  340,  389,  340,
490      340,  340,  340,  361,  361,  390,  181,  340,  399,  340,
491      392,  367,  367,  199,  340,  400,  401,  340,  374,  374,
492      394,  340,  230,  402,  382,  382,  383,  383,  340,  340,
493      403,  340,  396,  340,  397,  396,  340,  340,  340,  398,
494
495      340,  264,  361,  340,  367,  367,  340,  374,  374,  382,
496      382,  383,  383,  340,  340,  340,  340,  361,  361,  367,
497      367,  374,  374,  382,  382,  383,  383,  340,  340,  367,
498      367,  374,  374,  382,  382,  383,  383,  340,  340,    0,
499      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
500      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
501      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
502      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
503      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
504      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
505
506      340,  340,  340
507    } ;
508
509static const short int yy_nxt[3287] =
510    {   0,
511       46,   47,   47,   48,   47,   46,   46,   46,   46,   46,
512       46,   46,   46,   46,   49,   50,   46,   46,   46,   46,
513       50,   50,   50,   50,   50,   50,   50,   50,   50,   50,
514       50,   50,   50,   50,   50,   50,   50,   46,   46,   46,
515       46,   46,   46,   46,   51,   51,   52,   51,   46,   46,
516       46,   46,   46,   46,   46,   53,   46,   54,   55,   46,
517       56,   46,   46,   55,   55,   55,   55,   55,   55,   55,
518       55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
519       46,   46,   46,   46,   46,   46,   58,   58,   59,   58,
520       60,   61,   60,   62,   60,  188,  184,   60,   82,   82,
521
522       83,   82,   91,  185,   63,   82,   82,   83,   82,   91,
523      119,  184,   92,  254,  119,   85,  255,   85,  185,   92,
524      189,   96,   64,  104,   65,  104,   66,   67,   67,   68,
525       67,   60,   61,   60,   62,   60,   69,   97,   60,   93,
526       70,   94,  339,  122,  338,   63,   93,  120,   94,  123,
527      105,  120,  105,  106,  122,  106,  125,  337,  125,   98,
528      123,  336,  126,   64,  126,   65,  335,   66,   75,   75,
529       75,   76,   75,   75,   75,   75,   75,   75,   75,   75,
530       75,   75,   75,   77,   75,   75,   75,   75,   77,   77,
531       77,   77,   77,   77,   77,   77,   77,   77,   77,   78,
532
533       77,   77,   77,   77,   79,   75,   75,   75,   75,   75,
534       75,   84,   84,   84,   85,   84,   84,   84,   84,   84,
535       84,   84,   84,   84,   86,   84,   87,   88,   84,   84,
536       84,   87,   87,   87,   87,   87,   87,   87,   87,   87,
537       87,   87,   87,   87,   87,   87,   87,   87,   84,   84,
538       84,   84,   84,   84,   96,   85,  128,   85,  153,  153,
539      154,  153,  100,  101,  100,  101,  157,  157,  158,  157,
540       97,  334,  129,  172,  172,  173,  172,  208,  177,  174,
541      177,  177,  201,  201,  209,  201,  175,  235,  235,  333,
542      235,  332,   98,  102,  130,  102,  107,  107,  107,  108,
543
544      107,  107,  107,  107,  107,  107,  107,  107,  109,  107,
545      107,  110,  107,  107,  111,  112,  110,  110,  110,  110,
546      110,  110,  110,  110,  110,  110,  110,  113,  110,  110,
547      110,  110,  114,  107,  107,  115,  116,  107,  107,  128,
548      139,  139,  140,  139,  186,  186,  187,  186,  215,  184,
549      174,  228,  228,  241,  228,  129,  185,  175,  238,  238,
550      242,  238,  241,  331,  229,  153,  153,  154,  153,  242,
551      141,  216,  330,  247,  247,  142,  247,  130,  131,  132,
552      132,  133,  132,  131,  131,  131,  131,  131,  131,  131,
553      131,  131,  134,  135,  131,  131,  131,  131,  135,  135,
554
555      135,  135,  135,  135,  135,  135,  135,  135,  135,  136,
556      135,  135,  135,  135,  137,  131,  131,  131,  131,  131,
557      131,  139,  139,  140,  139,  144,  144,  145,  144,  243,
558      243,  329,  243,  245,  245,  246,  245,  328,  146,  157,
559      157,  158,  157,  249,  249,  327,  249,  251,  251,  326,
560      251,  141,  245,  245,  246,  253,  142,  325,  172,  172,
561      173,  172,  324,  323,  174,  147,  149,  149,  145,  149,
562      244,  175,  263,  264,  215,  179,  178,  322,  321,  150,
563      265,  186,  186,  187,  186,  201,  201,  174,  201,  228,
564      228,  320,  228,  317,  175,  235,  235,  216,  235,  316,
565
566      238,  238,  229,  238,  315,  294,  151,  152,  161,  289,
567      289,  290,  289,  240,  162,  313,  163,  312,  162,  247,
568      247,  162,  247,  162,  162,  163,  164,  165,  166,  167,
569      311,  310,  282,  168,  180,  180,  180,  309,  180,  180,
570      180,  180,  180,  180,  180,  180,  180,  180,  180,  181,
571      180,  180,  180,  180,  181,  181,  181,  181,  181,  181,
572      181,  181,  181,  181,  181,  181,  181,  181,  181,  181,
573      181,  180,  180,  180,  180,  180,  182,  267,  308,  207,
574      275,  267,  245,  245,  246,  245,  267,  267,  267,  267,
575      267,  267,  267,  267,  267,  267,  267,  267,  267,  267,
576
577      267,  267,  267,  306,  249,  249,  268,  249,  267,  274,
578      274,  274,  275,  274,  274,  274,  274,  274,  274,  274,
579      274,  274,  274,  274,  276,  274,  274,  274,  274,  276,
580      276,  276,  276,  276,  276,  276,  276,  276,  276,  276,
581      276,  276,  276,  276,  276,  276,  274,  274,  274,  274,
582      274,  274,  283,  283,  283,  305,  283,  283,  283,  283,
583      283,  283,  283,  283,  283,  283,  283,  284,  283,  283,
584      283,  283,  284,  284,  284,  284,  284,  284,  284,  284,
585      284,  284,  284,  284,  284,  284,  284,  284,  284,  283,
586      283,  283,  283,  283,  283,  243,  243,  183,  243,  251,
587
588      251,  301,  251,  296,  296,  297,  296,  263,  260,  258,
589      179,  303,  289,  289,  290,  289,  296,  296,  297,  296,
590      263,  299,  263,  179,  319,  179,  263,  298,  294,  179,
591      244,  292,  288,  287,  286,  285,  244,  302,  302,  302,
592      302,  302,  302,  230,  282,  220,  280,  279,  278,  204,
593      273,  272,  194,  191,  270,  263,  262,  261,  179,  302,
594      318,  318,  318,  318,  318,  318,  260,  171,  258,  250,
595      244,  239,  239,  237,  236,  233,  232,  230,  224,  222,
596      220,  218,  318,   57,   57,   57,   57,   57,   57,   57,
597       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
598
599       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
600       57,   57,   57,   57,   57,   57,   57,   57,   57,   57,
601       57,   57,   57,   57,   57,   57,   71,   71,   71,   71,
602       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
603       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
604       71,   71,   71,   71,   71,   71,   71,   71,   71,   71,
605       71,   71,   71,   71,   71,   71,   71,   71,   71,   73,
606       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
607       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
608       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
609
610       73,   73,   73,   73,   73,   73,   73,   73,   73,   73,
611       73,   73,   81,   81,   81,   81,   81,   81,   81,   81,
612       81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
613       81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
614       81,   81,   81,   81,   81,   81,   81,   81,   81,   81,
615       81,   81,   81,   81,   81,   85,   85,   85,   85,   85,
616       85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
617       85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
618       85,   85,   85,   85,   85,   85,   85,   85,   85,   85,
619       85,   85,   85,   85,   85,   85,   85,   85,   90,   90,
620
621       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
622       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
623       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
624       90,   90,   90,   90,   90,   90,   90,   90,   90,   90,
625       90,   95,   95,   95,   95,   95,   95,   95,   95,   95,
626       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
627       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
628       95,   95,   95,   95,   95,   95,   95,   95,   95,   95,
629       95,   95,   95,   95,   99,   99,   99,   99,   99,   99,
630       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
631
632       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
633       99,   99,   99,   99,   99,   99,   99,   99,   99,   99,
634       99,   99,   99,   99,   99,   99,   99,  103,  103,  103,
635      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
636      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
637      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
638      103,  103,  103,  103,  103,  103,  103,  103,  103,  103,
639      117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
640      117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
641      117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
642
643      117,  117,  117,  117,  117,  117,  117,  117,  117,  117,
644      117,  117,  117,  121,  121,  121,  121,  121,  121,  121,
645      121,  121,  121,  121,  121,  121,  121,  121,  121,  121,
646      121,  121,  121,  121,  121,  121,  121,  121,  121,  121,
647      121,  121,  121,  121,  121,  121,  121,  121,  121,  121,
648      121,  121,  121,  121,  121,  121,  124,  124,  124,  124,
649      124,  124,  124,  124,  124,  124,  124,  124,  124,  124,
650      124,  124,  124,  124,  124,  124,  124,  124,  124,  124,
651      124,  124,  124,  124,  124,  124,  124,  124,  124,  124,
652      124,  124,  124,  124,  124,  124,  124,  124,  124,  127,
653
654      127,  127,  127,  127,  127,  127,  127,  127,  127,  127,
655      127,  127,  127,  127,  127,  127,  127,  127,  127,  127,
656      127,  127,  127,  127,  127,  127,  127,  127,  127,  127,
657      127,  127,  127,  127,  127,  127,  127,  127,  127,  127,
658      127,  127,  138,  138,  138,  138,  138,  138,  138,  138,
659      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
660      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
661      138,  138,  138,  138,  138,  138,  138,  138,  138,  138,
662      138,  138,  138,  138,  138,  143,  143,  143,  143,  143,
663      143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
664
665      143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
666      143,  143,  143,  143,  143,  143,  143,  143,  143,  143,
667      143,  143,  143,  143,  143,  143,  143,  143,  148,  148,
668      148,  148,  148,  148,  148,  148,  148,  148,  148,  148,
669      148,  148,  148,  148,  148,  148,  148,  148,  148,  148,
670      148,  148,  148,  148,  148,  148,  148,  148,  148,  148,
671      148,  148,  148,  148,  148,  148,  148,  148,  148,  148,
672      148,  156,  217,  212,  206,  156,  204,  203,  199,  198,
673      156,  156,  156,  156,  156,  156,  156,  156,  156,  156,
674      156,  156,  156,  156,  156,  156,  156,  197,  194,  191,
675
676      179,  176,  156,  160,  160,  160,  160,  160,  160,  160,
677      160,  160,  160,  160,  160,  160,  160,  160,  160,  160,
678      160,  160,  160,  160,  160,  160,  160,  160,  160,  160,
679      160,  160,  160,  160,  160,  160,  160,  160,  160,  160,
680      160,  160,  160,  171,  160,  160,  169,  159,  155,  340,
681      169,  118,  118,   89,   89,  169,  169,  169,  169,  169,
682      169,  169,  169,  169,  169,  169,  169,  169,  169,  169,
683      169,  169,   80,   74,   74,   72,   72,  169,  170,  170,
684      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
685      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
686
687      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
688      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,
689      170,  178,  178,  178,  340,  178,  178,  178,  178,  178,
690      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
691      178,  178,  178,  178,  178,  178,  178,  178,  178,  178,
692      178,  178,  178,  178,  178,  178,  178,  178,  178,  340,
693      178,  178,  178,  178,  183,  183,  183,  340,  183,  183,
694      183,  183,  183,  183,  183,  183,  183,  183,  183,  183,
695      183,  183,  183,  183,  183,  183,  183,  183,  183,  183,
696      183,  183,  183,  183,  183,  183,  183,  183,  183,  183,
697
698      183,  183,  183,  183,  183,  183,  183,  190,  190,  190,
699      190,  190,  190,  190,  190,  190,  190,  190,  190,  190,
700      190,  190,  190,  190,  190,  190,  190,  190,  190,  190,
701      190,  190,  190,  190,  190,  190,  190,  190,  190,  190,
702      190,  190,  190,  190,  190,  190,  190,  190,  190,  190,
703      192,  340,  340,  340,  340,  192,  192,  192,  192,  192,
704      192,  192,  192,  192,  192,  192,  192,  192,  192,  192,
705      192,  192,  192,  192,  192,  192,  192,  192,  192,  192,
706      192,  192,  192,  192,  192,  192,  192,  192,  192,  192,
707      192,  192,  192,  193,  193,  193,  193,  193,  193,  193,
708
709      193,  193,  193,  193,  193,  193,  193,  193,  193,  193,
710      193,  193,  193,  193,  193,  193,  193,  193,  193,  193,
711      193,  193,  193,  193,  193,  193,  193,  193,  193,  193,
712      193,  193,  193,  193,  193,  193,  195,  195,  195,  340,
713      195,  195,  195,  195,  195,  195,  195,  195,  195,  195,
714      195,  340,  195,  195,  195,  195,  340,  340,  340,  340,
715      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
716      340,  340,  340,  195,  195,  195,  195,  195,  195,  196,
717      340,  340,  340,  196,  340,  340,  340,  340,  196,  196,
718      196,  196,  196,  196,  196,  196,  196,  196,  196,  196,
719
720      196,  196,  196,  196,  196,  340,  340,  340,  340,  340,
721      196,  200,  200,  200,  340,  200,  200,  200,  200,  200,
722      200,  200,  200,  200,  200,  200,  200,  200,  200,  200,
723      200,  200,  200,  200,  200,  200,  200,  200,  200,  200,
724      200,  200,  200,  200,  200,  200,  200,  200,  200,  200,
725      200,  200,  200,  200,  202,  340,  340,  340,  202,  340,
726      340,  340,  340,  202,  202,  202,  202,  202,  202,  202,
727      202,  202,  202,  202,  202,  202,  202,  202,  202,  202,
728      340,  340,  340,  340,  340,  202,  205,  205,  205,  340,
729      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
730
731      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
732      205,  205,  205,  205,  205,  205,  205,  205,  205,  205,
733      205,  205,  205,  205,  205,  205,  205,  205,  205,  207,
734      207,  207,  340,  207,  207,  207,  207,  207,  207,  207,
735      207,  207,  207,  207,  207,  207,  207,  207,  207,  207,
736      207,  207,  207,  207,  207,  207,  207,  207,  207,  207,
737      207,  207,  207,  207,  207,  207,  207,  207,  207,  207,
738      207,  207,  210,  210,  210,  340,  210,  210,  210,  210,
739      210,  210,  210,  210,  210,  210,  210,  210,  210,  210,
740      210,  210,  210,  210,  210,  210,  210,  210,  210,  210,
741
742      210,  210,  210,  210,  210,  210,  210,  210,  210,  210,
743      340,  210,  210,  210,  210,  211,  211,  211,  340,  211,
744      211,  211,  211,  211,  211,  211,  211,  340,  211,  211,
745      340,  211,  211,  340,  340,  340,  340,  340,  340,  340,
746      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
747      340,  340,  211,  211,  340,  340,  211,  211,  213,  340,
748      340,  340,  213,  340,  340,  340,  340,  213,  213,  213,
749      213,  213,  213,  213,  213,  213,  213,  213,  213,  213,
750      213,  213,  213,  213,  340,  340,  340,  340,  340,  213,
751      214,  214,  214,  340,  214,  214,  214,  214,  214,  214,
752
753      214,  214,  214,  214,  214,  214,  214,  214,  214,  214,
754      214,  214,  214,  214,  214,  214,  214,  214,  214,  214,
755      214,  214,  214,  214,  214,  214,  214,  214,  214,  214,
756      214,  214,  214,  219,  219,  219,  219,  219,  219,  219,
757      219,  219,  219,  219,  219,  219,  219,  219,  219,  219,
758      219,  219,  219,  219,  219,  219,  219,  219,  219,  219,
759      219,  219,  219,  219,  219,  219,  219,  219,  219,  219,
760      219,  219,  219,  219,  219,  219,  221,  221,  221,  340,
761      221,  221,  221,  221,  221,  340,  221,  221,  221,  221,
762      221,  221,  221,  221,  221,  221,  221,  221,  221,  221,
763
764      221,  221,  221,  221,  221,  221,  221,  221,  221,  221,
765      221,  221,  221,  221,  221,  221,  221,  221,  221,  223,
766      223,  223,  340,  223,  223,  223,  223,  223,  340,  223,
767      223,  223,  223,  223,  223,  223,  223,  223,  223,  223,
768      223,  223,  223,  223,  223,  223,  223,  223,  223,  223,
769      223,  223,  223,  223,  223,  223,  223,  223,  223,  223,
770      223,  223,  225,  225,  225,  340,  225,  225,  225,  225,
771      225,  225,  225,  225,  225,  225,  225,  225,  225,  225,
772      225,  340,  225,  225,  225,  225,  225,  225,  225,  225,
773      225,  225,  225,  225,  225,  225,  225,  225,  225,  225,
774
775      225,  225,  225,  340,  225,  226,  226,  226,  340,  226,
776      226,  226,  226,  226,  226,  226,  226,  226,  226,  226,
777      226,  226,  226,  226,  226,  226,  226,  226,  226,  226,
778      226,  226,  226,  226,  226,  226,  226,  226,  226,  226,
779      226,  226,  226,  226,  226,  226,  226,  226,  227,  227,
780      227,  340,  227,  227,  227,  227,  227,  227,  227,  227,
781      227,  227,  227,  340,  227,  227,  227,  227,  340,  340,
782      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
783      340,  340,  340,  340,  340,  227,  227,  227,  227,  227,
784      227,  231,  340,  340,  340,  231,  340,  340,  340,  340,
785
786      231,  231,  231,  231,  231,  231,  231,  231,  231,  231,
787      231,  231,  231,  231,  231,  231,  231,  340,  340,  340,
788      340,  340,  231,  234,  340,  340,  340,  340,  234,  234,
789      234,  234,  234,  234,  234,  234,  234,  234,  234,  234,
790      234,  234,  234,  234,  234,  234,  234,  234,  234,  234,
791      234,  234,  234,  234,  234,  234,  234,  234,  234,  234,
792      234,  234,  234,  234,  234,  234,  240,  240,  240,  340,
793      240,  240,  240,  240,  240,  240,  240,  240,  240,  240,
794      240,  240,  240,  240,  240,  240,  240,  240,  240,  240,
795      240,  240,  240,  240,  240,  240,  240,  240,  240,  240,
796
797      240,  240,  240,  240,  240,  240,  240,  240,  240,  248,
798      248,  248,  340,  248,  248,  248,  248,  248,  248,  248,
799      248,  248,  248,  248,  248,  248,  248,  248,  248,  248,
800      248,  248,  248,  248,  248,  248,  248,  248,  248,  248,
801      248,  248,  248,  248,  248,  248,  248,  248,  248,  248,
802      248,  248,  252,  340,  340,  340,  340,  252,  252,  252,
803      252,  252,  252,  252,  252,  252,  252,  252,  252,  252,
804      252,  252,  252,  252,  256,  340,  340,  340,  340,  256,
805      256,  256,  256,  256,  256,  256,  256,  256,  256,  256,
806      256,  256,  256,  256,  256,  256,  257,  257,  257,  257,
807
808      257,  257,  257,  257,  257,  257,  257,  257,  257,  257,
809      257,  257,  257,  257,  257,  257,  257,  257,  257,  257,
810      257,  257,  257,  257,  257,  257,  257,  257,  257,  257,
811      257,  257,  257,  257,  257,  257,  257,  257,  257,  259,
812      259,  259,  259,  259,  259,  259,  259,  259,  259,  259,
813      259,  259,  259,  259,  259,  259,  259,  259,  259,  259,
814      259,  259,  259,  259,  259,  259,  259,  259,  259,  259,
815      259,  259,  259,  259,  259,  259,  259,  259,  259,  259,
816      259,  259,  266,  266,  266,  340,  266,  266,  266,  266,
817      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
818
819      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
820      266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
821      266,  266,  340,  266,  266,  269,  269,  269,  269,  269,
822      269,  340,  340,  340,  340,  340,  340,  340,  340,  340,
823      340,  340,  340,  340,  340,  340,  340,  269,  271,  271,
824      271,  340,  271,  271,  271,  271,  271,  271,  271,  271,
825      271,  271,  271,  271,  271,  271,  271,  271,  271,  271,
826      271,  271,  271,  271,  271,  271,  271,  271,  271,  271,
827      271,  271,  271,  271,  271,  271,  271,  271,  271,  271,
828      271,  277,  277,  277,  277,  277,  277,  340,  340,  340,
829
830      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
831      340,  340,  340,  277,  281,  281,  281,  281,  281,  281,
832      281,  281,  281,  281,  281,  281,  281,  281,  281,  281,
833      281,  281,  281,  281,  281,  281,  281,  281,  281,  281,
834      281,  281,  281,  281,  281,  281,  281,  281,  281,  281,
835      281,  281,  281,  281,  281,  281,  281,  291,  291,  291,
836      291,  291,  291,  340,  340,  340,  340,  340,  340,  340,
837      340,  340,  340,  340,  340,  340,  340,  340,  340,  291,
838      293,  293,  293,  293,  293,  293,  293,  293,  293,  293,
839      293,  293,  293,  293,  293,  293,  293,  293,  293,  293,
840
841      293,  293,  293,  293,  293,  293,  293,  293,  293,  293,
842      293,  293,  293,  293,  293,  293,  293,  293,  293,  293,
843      293,  293,  293,  295,  340,  340,  340,  295,  340,  340,
844      340,  340,  295,  295,  295,  295,  295,  295,  295,  295,
845      295,  295,  295,  295,  295,  295,  295,  295,  295,  340,
846      340,  340,  340,  340,  295,  300,  340,  340,  340,  300,
847      340,  340,  340,  340,  300,  300,  300,  300,  300,  300,
848      300,  300,  300,  300,  300,  300,  300,  300,  300,  300,
849      300,  340,  340,  340,  340,  340,  300,  304,  304,  304,
850      304,  304,  304,  340,  340,  340,  340,  340,  340,  340,
851
852      340,  340,  340,  340,  340,  340,  340,  340,  340,  304,
853      276,  276,  276,  276,  276,  276,  276,  276,  276,  276,
854      276,  276,  276,  276,  276,  276,  276,  276,  276,  276,
855      276,  276,  276,  276,  276,  276,  276,  276,  276,  276,
856      276,  276,  276,  276,  276,  276,  276,  276,  276,  276,
857      276,  276,  276,  307,  307,  307,  307,  307,  307,  340,
858      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
859      340,  340,  340,  340,  340,  307,  284,  284,  284,  340,
860      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
861      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
862
863      284,  284,  284,  284,  284,  284,  284,  284,  284,  284,
864      284,  284,  284,  284,  284,  284,  284,  284,  284,  314,
865      314,  314,  314,  314,  314,  340,  340,  340,  340,  340,
866      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
867      340,  314,   45,  340,  340,  340,  340,  340,  340,  340,
868      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
869      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
870      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
871      340,  340,  340,  340,  340,  340
872    } ;
873
874static const short int yy_chk[3287] =
875    {   0,
876        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
877        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
878        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
879        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
880        1,    1,    1,    2,    2,    2,    2,    2,    2,    2,
881        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
882        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
883        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
884        2,    2,    2,    2,    2,    2,    3,    3,    3,    3,
885        3,    3,    3,    3,    3,   70,   66,    3,   11,   11,
886
887       11,   11,   17,   66,    3,   12,   12,   12,   12,   18,
888       29,   98,   17,  166,   30,   23,  166,   24,   98,   18,
889       70,   19,    3,   23,    3,   24,    3,    4,    4,    4,
890        4,    4,    4,    4,    4,    4,    4,   19,    4,   17,
891        4,   17,  329,   31,  328,    4,   18,   29,   18,   31,
892       23,   30,   24,   23,   32,   24,   33,  327,   34,   19,
893       32,  326,   33,    4,   34,    4,  325,    4,    9,    9,
894        9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
895        9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
896        9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
897
898        9,    9,    9,    9,    9,    9,    9,    9,    9,    9,
899        9,   13,   13,   13,   13,   13,   13,   13,   13,   13,
900       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
901       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
902       13,   13,   13,   13,   13,   13,   13,   13,   13,   13,
903       13,   13,   13,   13,   20,   21,   35,   22,   47,   47,
904       47,   47,   21,   21,   22,   22,   51,   51,   51,   51,
905       20,  324,   35,   58,   58,   58,   58,  102,   62,   58,
906       62,   62,   82,   82,  102,   82,   58,  139,  139,  323,
907      139,  322,   20,   21,   35,   22,   25,   25,   25,   25,
908
909       25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
910       25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
911       25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
912       25,   25,   25,   25,   25,   25,   25,   25,   25,   36,
913       39,   39,   39,   39,   67,   67,   67,   67,  111,  106,
914       67,  132,  132,  147,  132,   36,  106,   67,  144,  144,
915      147,  144,  151,  321,  132,  153,  153,  153,  153,  151,
916       39,  111,  320,  160,  160,   39,  160,   36,   37,   37,
917       37,   37,   37,   37,   37,   37,   37,   37,   37,   37,
918       37,   37,   37,   37,   37,   37,   37,   37,   37,   37,
919
920       37,   37,   37,   37,   37,   37,   37,   37,   37,   37,
921       37,   37,   37,   37,   37,   37,   37,   37,   37,   37,
922       37,   40,   40,   40,   40,   43,   43,   43,   43,  149,
923      149,  317,  149,  155,  155,  155,  155,  315,   43,  157,
924      157,  157,  157,  161,  161,  313,  161,  163,  163,  312,
925      163,   40,  165,  165,  165,  165,   40,  311,  172,  172,
926      172,  172,  310,  309,  172,   43,   44,   44,   44,   44,
927      149,  172,  178,  179,  214,  178,  179,  308,  306,   44,
928      179,  186,  186,  186,  186,  201,  201,  186,  201,  228,
929      228,  305,  228,  301,  186,  235,  235,  214,  235,  299,
930
931      238,  238,  228,  238,  298,  293,   44,   44,   54,  239,
932      239,  239,  239,  292,   54,  288,   54,  287,   54,  247,
933      247,   54,  247,   54,   54,   54,   54,   54,   54,   54,
934      286,  285,  281,   54,   65,   65,   65,  280,   65,   65,
935       65,   65,   65,   65,   65,   65,   65,   65,   65,   65,
936       65,   65,   65,   65,   65,   65,   65,   65,   65,   65,
937       65,   65,   65,   65,   65,   65,   65,   65,   65,   65,
938       65,   65,   65,   65,   65,   65,   65,  181,  279,  278,
939      276,  181,  245,  245,  245,  245,  181,  181,  181,  181,
940      181,  181,  181,  181,  181,  181,  181,  181,  181,  181,
941
942      181,  181,  181,  273,  249,  249,  181,  249,  181,  199,
943      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
944      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
945      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
946      199,  199,  199,  199,  199,  199,  199,  199,  199,  199,
947      199,  199,  230,  230,  230,  272,  230,  230,  230,  230,
948      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
949      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
950      230,  230,  230,  230,  230,  230,  230,  230,  230,  230,
951      230,  230,  230,  230,  230,  243,  243,  270,  243,  251,
952
953      251,  262,  251,  253,  253,  253,  253,  265,  259,  257,
954      265,  265,  289,  289,  289,  289,  296,  296,  296,  296,
955      303,  255,  318,  303,  303,  318,  319,  254,  250,  319,
956      244,  242,  237,  236,  233,  232,  243,  264,  264,  264,
957      264,  264,  264,  229,  222,  219,  218,  217,  209,  204,
958      198,  197,  193,  190,  185,  264,  176,  175,  264,  264,
959      302,  302,  302,  302,  302,  302,  174,  170,  168,  162,
960      152,  150,  146,  142,  141,  137,  136,  134,  126,  123,
961      117,  114,  302,  341,  341,  341,  341,  341,  341,  341,
962      341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
963
964      341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
965      341,  341,  341,  341,  341,  341,  341,  341,  341,  341,
966      341,  341,  341,  341,  341,  341,  342,  342,  342,  342,
967      342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
968      342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
969      342,  342,  342,  342,  342,  342,  342,  342,  342,  342,
970      342,  342,  342,  342,  342,  342,  342,  342,  342,  343,
971      343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
972      343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
973      343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
974
975      343,  343,  343,  343,  343,  343,  343,  343,  343,  343,
976      343,  343,  344,  344,  344,  344,  344,  344,  344,  344,
977      344,  344,  344,  344,  344,  344,  344,  344,  344,  344,
978      344,  344,  344,  344,  344,  344,  344,  344,  344,  344,
979      344,  344,  344,  344,  344,  344,  344,  344,  344,  344,
980      344,  344,  344,  344,  344,  345,  345,  345,  345,  345,
981      345,  345,  345,  345,  345,  345,  345,  345,  345,  345,
982      345,  345,  345,  345,  345,  345,  345,  345,  345,  345,
983      345,  345,  345,  345,  345,  345,  345,  345,  345,  345,
984      345,  345,  345,  345,  345,  345,  345,  345,  346,  346,
985
986      346,  346,  346,  346,  346,  346,  346,  346,  346,  346,
987      346,  346,  346,  346,  346,  346,  346,  346,  346,  346,
988      346,  346,  346,  346,  346,  346,  346,  346,  346,  346,
989      346,  346,  346,  346,  346,  346,  346,  346,  346,  346,
990      346,  347,  347,  347,  347,  347,  347,  347,  347,  347,
991      347,  347,  347,  347,  347,  347,  347,  347,  347,  347,
992      347,  347,  347,  347,  347,  347,  347,  347,  347,  347,
993      347,  347,  347,  347,  347,  347,  347,  347,  347,  347,
994      347,  347,  347,  347,  348,  348,  348,  348,  348,  348,
995      348,  348,  348,  348,  348,  348,  348,  348,  348,  348,
996
997      348,  348,  348,  348,  348,  348,  348,  348,  348,  348,
998      348,  348,  348,  348,  348,  348,  348,  348,  348,  348,
999      348,  348,  348,  348,  348,  348,  348,  349,  349,  349,
1000      349,  349,  349,  349,  349,  349,  349,  349,  349,  349,
1001      349,  349,  349,  349,  349,  349,  349,  349,  349,  349,
1002      349,  349,  349,  349,  349,  349,  349,  349,  349,  349,
1003      349,  349,  349,  349,  349,  349,  349,  349,  349,  349,
1004      350,  350,  350,  350,  350,  350,  350,  350,  350,  350,
1005      350,  350,  350,  350,  350,  350,  350,  350,  350,  350,
1006      350,  350,  350,  350,  350,  350,  350,  350,  350,  350,
1007
1008      350,  350,  350,  350,  350,  350,  350,  350,  350,  350,
1009      350,  350,  350,  351,  351,  351,  351,  351,  351,  351,
1010      351,  351,  351,  351,  351,  351,  351,  351,  351,  351,
1011      351,  351,  351,  351,  351,  351,  351,  351,  351,  351,
1012      351,  351,  351,  351,  351,  351,  351,  351,  351,  351,
1013      351,  351,  351,  351,  351,  351,  352,  352,  352,  352,
1014      352,  352,  352,  352,  352,  352,  352,  352,  352,  352,
1015      352,  352,  352,  352,  352,  352,  352,  352,  352,  352,
1016      352,  352,  352,  352,  352,  352,  352,  352,  352,  352,
1017      352,  352,  352,  352,  352,  352,  352,  352,  352,  353,
1018
1019      353,  353,  353,  353,  353,  353,  353,  353,  353,  353,
1020      353,  353,  353,  353,  353,  353,  353,  353,  353,  353,
1021      353,  353,  353,  353,  353,  353,  353,  353,  353,  353,
1022      353,  353,  353,  353,  353,  353,  353,  353,  353,  353,
1023      353,  353,  354,  354,  354,  354,  354,  354,  354,  354,
1024      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
1025      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
1026      354,  354,  354,  354,  354,  354,  354,  354,  354,  354,
1027      354,  354,  354,  354,  354,  355,  355,  355,  355,  355,
1028      355,  355,  355,  355,  355,  355,  355,  355,  355,  355,
1029
1030      355,  355,  355,  355,  355,  355,  355,  355,  355,  355,
1031      355,  355,  355,  355,  355,  355,  355,  355,  355,  355,
1032      355,  355,  355,  355,  355,  355,  355,  355,  356,  356,
1033      356,  356,  356,  356,  356,  356,  356,  356,  356,  356,
1034      356,  356,  356,  356,  356,  356,  356,  356,  356,  356,
1035      356,  356,  356,  356,  356,  356,  356,  356,  356,  356,
1036      356,  356,  356,  356,  356,  356,  356,  356,  356,  356,
1037      356,  357,  113,  109,  100,  357,   94,   88,   80,   79,
1038      357,  357,  357,  357,  357,  357,  357,  357,  357,  357,
1039      357,  357,  357,  357,  357,  357,  357,   78,   73,   71,
1040
1041       64,   61,  357,  358,  358,  358,  358,  358,  358,  358,
1042      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
1043      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
1044      358,  358,  358,  358,  358,  358,  358,  358,  358,  358,
1045      358,  358,  358,   56,  358,  358,  359,   53,   49,   45,
1046      359,   28,   27,   16,   15,  359,  359,  359,  359,  359,
1047      359,  359,  359,  359,  359,  359,  359,  359,  359,  359,
1048      359,  359,   10,    8,    7,    6,    5,  359,  360,  360,
1049      360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
1050      360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
1051
1052      360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
1053      360,  360,  360,  360,  360,  360,  360,  360,  360,  360,
1054      360,  361,  361,  361,    0,  361,  361,  361,  361,  361,
1055      361,  361,  361,  361,  361,  361,  361,  361,  361,  361,
1056      361,  361,  361,  361,  361,  361,  361,  361,  361,  361,
1057      361,  361,  361,  361,  361,  361,  361,  361,  361,    0,
1058      361,  361,  361,  361,  362,  362,  362,    0,  362,  362,
1059      362,  362,  362,  362,  362,  362,  362,  362,  362,  362,
1060      362,  362,  362,  362,  362,  362,  362,  362,  362,  362,
1061      362,  362,  362,  362,  362,  362,  362,  362,  362,  362,
1062
1063      362,  362,  362,  362,  362,  362,  362,  363,  363,  363,
1064      363,  363,  363,  363,  363,  363,  363,  363,  363,  363,
1065      363,  363,  363,  363,  363,  363,  363,  363,  363,  363,
1066      363,  363,  363,  363,  363,  363,  363,  363,  363,  363,
1067      363,  363,  363,  363,  363,  363,  363,  363,  363,  363,
1068      364,    0,    0,    0,    0,  364,  364,  364,  364,  364,
1069      364,  364,  364,  364,  364,  364,  364,  364,  364,  364,
1070      364,  364,  364,  364,  364,  364,  364,  364,  364,  364,
1071      364,  364,  364,  364,  364,  364,  364,  364,  364,  364,
1072      364,  364,  364,  365,  365,  365,  365,  365,  365,  365,
1073
1074      365,  365,  365,  365,  365,  365,  365,  365,  365,  365,
1075      365,  365,  365,  365,  365,  365,  365,  365,  365,  365,
1076      365,  365,  365,  365,  365,  365,  365,  365,  365,  365,
1077      365,  365,  365,  365,  365,  365,  366,  366,  366,    0,
1078      366,  366,  366,  366,  366,  366,  366,  366,  366,  366,
1079      366,    0,  366,  366,  366,  366,    0,    0,    0,    0,
1080        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1081        0,    0,    0,  366,  366,  366,  366,  366,  366,  367,
1082        0,    0,    0,  367,    0,    0,    0,    0,  367,  367,
1083      367,  367,  367,  367,  367,  367,  367,  367,  367,  367,
1084
1085      367,  367,  367,  367,  367,    0,    0,    0,    0,    0,
1086      367,  368,  368,  368,    0,  368,  368,  368,  368,  368,
1087      368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
1088      368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
1089      368,  368,  368,  368,  368,  368,  368,  368,  368,  368,
1090      368,  368,  368,  368,  369,    0,    0,    0,  369,    0,
1091        0,    0,    0,  369,  369,  369,  369,  369,  369,  369,
1092      369,  369,  369,  369,  369,  369,  369,  369,  369,  369,
1093        0,    0,    0,    0,    0,  369,  370,  370,  370,    0,
1094      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
1095
1096      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
1097      370,  370,  370,  370,  370,  370,  370,  370,  370,  370,
1098      370,  370,  370,  370,  370,  370,  370,  370,  370,  371,
1099      371,  371,    0,  371,  371,  371,  371,  371,  371,  371,
1100      371,  371,  371,  371,  371,  371,  371,  371,  371,  371,
1101      371,  371,  371,  371,  371,  371,  371,  371,  371,  371,
1102      371,  371,  371,  371,  371,  371,  371,  371,  371,  371,
1103      371,  371,  372,  372,  372,    0,  372,  372,  372,  372,
1104      372,  372,  372,  372,  372,  372,  372,  372,  372,  372,
1105      372,  372,  372,  372,  372,  372,  372,  372,  372,  372,
1106
1107      372,  372,  372,  372,  372,  372,  372,  372,  372,  372,
1108        0,  372,  372,  372,  372,  373,  373,  373,    0,  373,
1109      373,  373,  373,  373,  373,  373,  373,    0,  373,  373,
1110        0,  373,  373,    0,    0,    0,    0,    0,    0,    0,
1111        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1112        0,    0,  373,  373,    0,    0,  373,  373,  374,    0,
1113        0,    0,  374,    0,    0,    0,    0,  374,  374,  374,
1114      374,  374,  374,  374,  374,  374,  374,  374,  374,  374,
1115      374,  374,  374,  374,    0,    0,    0,    0,    0,  374,
1116      375,  375,  375,    0,  375,  375,  375,  375,  375,  375,
1117
1118      375,  375,  375,  375,  375,  375,  375,  375,  375,  375,
1119      375,  375,  375,  375,  375,  375,  375,  375,  375,  375,
1120      375,  375,  375,  375,  375,  375,  375,  375,  375,  375,
1121      375,  375,  375,  376,  376,  376,  376,  376,  376,  376,
1122      376,  376,  376,  376,  376,  376,  376,  376,  376,  376,
1123      376,  376,  376,  376,  376,  376,  376,  376,  376,  376,
1124      376,  376,  376,  376,  376,  376,  376,  376,  376,  376,
1125      376,  376,  376,  376,  376,  376,  377,  377,  377,    0,
1126      377,  377,  377,  377,  377,    0,  377,  377,  377,  377,
1127      377,  377,  377,  377,  377,  377,  377,  377,  377,  377,
1128
1129      377,  377,  377,  377,  377,  377,  377,  377,  377,  377,
1130      377,  377,  377,  377,  377,  377,  377,  377,  377,  378,
1131      378,  378,    0,  378,  378,  378,  378,  378,    0,  378,
1132      378,  378,  378,  378,  378,  378,  378,  378,  378,  378,
1133      378,  378,  378,  378,  378,  378,  378,  378,  378,  378,
1134      378,  378,  378,  378,  378,  378,  378,  378,  378,  378,
1135      378,  378,  379,  379,  379,    0,  379,  379,  379,  379,
1136      379,  379,  379,  379,  379,  379,  379,  379,  379,  379,
1137      379,    0,  379,  379,  379,  379,  379,  379,  379,  379,
1138      379,  379,  379,  379,  379,  379,  379,  379,  379,  379,
1139
1140      379,  379,  379,    0,  379,  380,  380,  380,    0,  380,
1141      380,  380,  380,  380,  380,  380,  380,  380,  380,  380,
1142      380,  380,  380,  380,  380,  380,  380,  380,  380,  380,
1143      380,  380,  380,  380,  380,  380,  380,  380,  380,  380,
1144      380,  380,  380,  380,  380,  380,  380,  380,  381,  381,
1145      381,    0,  381,  381,  381,  381,  381,  381,  381,  381,
1146      381,  381,  381,    0,  381,  381,  381,  381,    0,    0,
1147        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1148        0,    0,    0,    0,    0,  381,  381,  381,  381,  381,
1149      381,  382,    0,    0,    0,  382,    0,    0,    0,    0,
1150
1151      382,  382,  382,  382,  382,  382,  382,  382,  382,  382,
1152      382,  382,  382,  382,  382,  382,  382,    0,    0,    0,
1153        0,    0,  382,  383,    0,    0,    0,    0,  383,  383,
1154      383,  383,  383,  383,  383,  383,  383,  383,  383,  383,
1155      383,  383,  383,  383,  383,  383,  383,  383,  383,  383,
1156      383,  383,  383,  383,  383,  383,  383,  383,  383,  383,
1157      383,  383,  383,  383,  383,  383,  384,  384,  384,    0,
1158      384,  384,  384,  384,  384,  384,  384,  384,  384,  384,
1159      384,  384,  384,  384,  384,  384,  384,  384,  384,  384,
1160      384,  384,  384,  384,  384,  384,  384,  384,  384,  384,
1161
1162      384,  384,  384,  384,  384,  384,  384,  384,  384,  385,
1163      385,  385,    0,  385,  385,  385,  385,  385,  385,  385,
1164      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
1165      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
1166      385,  385,  385,  385,  385,  385,  385,  385,  385,  385,
1167      385,  385,  386,    0,    0,    0,    0,  386,  386,  386,
1168      386,  386,  386,  386,  386,  386,  386,  386,  386,  386,
1169      386,  386,  386,  386,  387,    0,    0,    0,    0,  387,
1170      387,  387,  387,  387,  387,  387,  387,  387,  387,  387,
1171      387,  387,  387,  387,  387,  387,  388,  388,  388,  388,
1172
1173      388,  388,  388,  388,  388,  388,  388,  388,  388,  388,
1174      388,  388,  388,  388,  388,  388,  388,  388,  388,  388,
1175      388,  388,  388,  388,  388,  388,  388,  388,  388,  388,
1176      388,  388,  388,  388,  388,  388,  388,  388,  388,  389,
1177      389,  389,  389,  389,  389,  389,  389,  389,  389,  389,
1178      389,  389,  389,  389,  389,  389,  389,  389,  389,  389,
1179      389,  389,  389,  389,  389,  389,  389,  389,  389,  389,
1180      389,  389,  389,  389,  389,  389,  389,  389,  389,  389,
1181      389,  389,  390,  390,  390,    0,  390,  390,  390,  390,
1182      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
1183
1184      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
1185      390,  390,  390,  390,  390,  390,  390,  390,  390,  390,
1186      390,  390,    0,  390,  390,  391,  391,  391,  391,  391,
1187      391,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1188        0,    0,    0,    0,    0,    0,    0,  391,  392,  392,
1189      392,    0,  392,  392,  392,  392,  392,  392,  392,  392,
1190      392,  392,  392,  392,  392,  392,  392,  392,  392,  392,
1191      392,  392,  392,  392,  392,  392,  392,  392,  392,  392,
1192      392,  392,  392,  392,  392,  392,  392,  392,  392,  392,
1193      392,  393,  393,  393,  393,  393,  393,    0,    0,    0,
1194
1195        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1196        0,    0,    0,  393,  394,  394,  394,  394,  394,  394,
1197      394,  394,  394,  394,  394,  394,  394,  394,  394,  394,
1198      394,  394,  394,  394,  394,  394,  394,  394,  394,  394,
1199      394,  394,  394,  394,  394,  394,  394,  394,  394,  394,
1200      394,  394,  394,  394,  394,  394,  394,  395,  395,  395,
1201      395,  395,  395,    0,    0,    0,    0,    0,    0,    0,
1202        0,    0,    0,    0,    0,    0,    0,    0,    0,  395,
1203      396,  396,  396,  396,  396,  396,  396,  396,  396,  396,
1204      396,  396,  396,  396,  396,  396,  396,  396,  396,  396,
1205
1206      396,  396,  396,  396,  396,  396,  396,  396,  396,  396,
1207      396,  396,  396,  396,  396,  396,  396,  396,  396,  396,
1208      396,  396,  396,  397,    0,    0,    0,  397,    0,    0,
1209        0,    0,  397,  397,  397,  397,  397,  397,  397,  397,
1210      397,  397,  397,  397,  397,  397,  397,  397,  397,    0,
1211        0,    0,    0,    0,  397,  398,    0,    0,    0,  398,
1212        0,    0,    0,    0,  398,  398,  398,  398,  398,  398,
1213      398,  398,  398,  398,  398,  398,  398,  398,  398,  398,
1214      398,    0,    0,    0,    0,    0,  398,  399,  399,  399,
1215      399,  399,  399,    0,    0,    0,    0,    0,    0,    0,
1216
1217        0,    0,    0,    0,    0,    0,    0,    0,    0,  399,
1218      400,  400,  400,  400,  400,  400,  400,  400,  400,  400,
1219      400,  400,  400,  400,  400,  400,  400,  400,  400,  400,
1220      400,  400,  400,  400,  400,  400,  400,  400,  400,  400,
1221      400,  400,  400,  400,  400,  400,  400,  400,  400,  400,
1222      400,  400,  400,  401,  401,  401,  401,  401,  401,    0,
1223        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1224        0,    0,    0,    0,    0,  401,  402,  402,  402,    0,
1225      402,  402,  402,  402,  402,  402,  402,  402,  402,  402,
1226      402,  402,  402,  402,  402,  402,  402,  402,  402,  402,
1227
1228      402,  402,  402,  402,  402,  402,  402,  402,  402,  402,
1229      402,  402,  402,  402,  402,  402,  402,  402,  402,  403,
1230      403,  403,  403,  403,  403,    0,    0,    0,    0,    0,
1231        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1232        0,  403,  340,  340,  340,  340,  340,  340,  340,  340,
1233      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
1234      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
1235      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
1236      340,  340,  340,  340,  340,  340
1237    } ;
1238
1239static yy_ste_type yy_last_accepting_state;
1240static YY_CHAR *yy_last_accepting_cpos;
1241
1242/* the intent behind this definition is that it'll catch
1243 * any uses of REJECT which flex missed
1244 */
1245#define REJECT reject_used_but_not_detected
1246#define yymore() yymrused_but_not_detected
1247#define YY_MORE_ADJ 0
1248
1249/* these variables are all declared out here so that section 3 code can
1250 * manipulate them
1251 */
1252/* points to current character in buffer */
1253static YY_CHAR *yy_c_buf_p = (YY_CHAR *) 0;
1254static int yy_init = 1;         /* whether we need to initialize */
1255static int yy_start = 0;        /* start state number */
1256
1257/* flag which is used to allow yywrap()'s to do buffer switches
1258 * instead of setting up a fresh yyin.  A bit of a hack ...
1259 */
1260static int yy_did_buffer_switch_on_eof;
1261
1262static yy_ste_type yy_get_previous_state YY_PROTO(( void ));
1263static yy_ste_type yy_try_NUL_trans YY_PROTO(( yy_ste_type current_state ));
1264static int yy_get_next_buffer YY_PROTO(( void ));
1265static void yyunput YY_PROTO(( YY_CHAR c, YY_CHAR *buf_ptr ));
1266void yyrestrt YY_PROTO(( FILE *input_file ));
1267void yyswtobf YY_PROTO(( YY_BUFFER_STATE new_buffer ));
1268void yyldbfst YY_PROTO(( void ));
1269YY_BUFFER_STATE yycrbffr YY_PROTO(( FILE *file, int size ));
1270void yydlbffr YY_PROTO(( YY_BUFFER_STATE b ));
1271void yyinbffr YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
1272
1273#define yy_new_buffer yycrbffr
1274
1275#ifdef __cplusplus
1276static int yyinput YY_PROTO(( void ));
1277#else
1278static int input YY_PROTO(( void ));
1279#endif
1280
1281YY_DECL
1282    {
1283    register yy_ste_type yy_current_state;
1284    register YY_CHAR *yy_cp, *yy_bp;
1285    register int yy_act;
1286
1287
1288    static int bracelevel, didadef;
1289    int i, indented_code, checking_used, new_xlation;
1290    int doing_codeblock = false;
1291    Char nmdef[MAXLINE], myesc();
1292
1293
1294    if ( yy_init )
1295        {
1296        YY_USER_INIT;
1297
1298        if ( ! yy_start )
1299            yy_start = 1;       /* first start state */
1300
1301        if ( ! yyin )
1302            yyin = stdin;
1303
1304        if ( ! yyout )
1305            yyout = stdout;
1306
1307        if ( yy_current_buffer )
1308            yyinbffr( yy_current_buffer, yyin );
1309        else
1310            yy_current_buffer = yycrbffr( yyin, YY_BUF_SIZE );
1311
1312        yyldbfst();
1313
1314        yy_init = 0;
1315        }
1316
1317    while ( 1 )         /* loops until end-of-file is reached */
1318        {
1319        yy_cp = yy_c_buf_p;
1320
1321        /* support of yytext */
1322        *yy_cp = yy_hold_char;
1323
1324        /* yy_bp points to the position in yy_ch_buf of the start of the
1325         * current run.
1326         */
1327        yy_bp = yy_cp;
1328
1329	yy_current_state = yy_start;
1330	if ( yy_bp[-1] == '\n' )
1331	    ++yy_current_state;
1332yy_match:
1333	do
1334	    {
1335	    register YY_CHAR yy_c = yy_ec[*yy_cp];
1336	    if ( yy_accept[yy_current_state] )
1337		{
1338		yy_last_accepting_state = yy_current_state;
1339		yy_last_accepting_cpos = yy_cp;
1340		}
1341	    while(yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state)
1342		{
1343		yy_current_state = yy_def[yy_current_state];
1344		}
1345	    yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1346	    ++yy_cp;
1347	    }
1348	while ( yy_current_state != 340 );
1349	yy_cp = yy_last_accepting_cpos;
1350	yy_current_state = yy_last_accepting_state;
1351
1352yy_find_action:
1353	yy_act = yy_accept[yy_current_state];
1354
1355        YY_DO_BEFORE_ACTION;
1356        YY_USER_ACTION;
1357
1358do_action:      /* this label is used only to access EOF actions */
1359
1360
1361        switch ( yy_act )
1362            {
1363	    case 0: /* must backtrack */
1364	    /* undo the effects of YY_DO_BEFORE_ACTION */
1365	    *yy_cp = yy_hold_char;
1366	    yy_cp = yy_last_accepting_cpos;
1367	    yy_current_state = yy_last_accepting_state;
1368	    goto yy_find_action;
1369
1370case 1:
1371# line 90 "<stdin>"
1372indented_code = true; BEGIN(CODEBLOCK);
1373	YY_BREAK
1374case 2:
1375# line 91 "<stdin>"
1376++linenum; /* treat as a comment */
1377	YY_BREAK
1378case 3:
1379# line 92 "<stdin>"
1380ECHO; BEGIN(C_COMMENT);
1381	YY_BREAK
1382case 4:
1383# line 93 "<stdin>"
1384return ( SCDECL );
1385	YY_BREAK
1386case 5:
1387# line 94 "<stdin>"
1388return ( XSCDECL );
1389	YY_BREAK
1390case 6:
1391# line 95 "<stdin>"
1392{
1393                        ++linenum;
1394                        lndirout( stdout );
1395                        indented_code = false;
1396                        BEGIN(CODEBLOCK);
1397                        }
1398	YY_BREAK
1399case 7:
1400# line 102 "<stdin>"
1401return ( WHITESPACE );
1402	YY_BREAK
1403case 8:
1404# line 104 "<stdin>"
1405{
1406                        sectnum = 2;
1407                        lndirout( stdout );
1408                        BEGIN(SECT2PROLOG);
1409                        return ( SECTEND );
1410                        }
1411	YY_BREAK
1412case 9:
1413# line 111 "<stdin>"
1414{
1415        pptmsg( "warning - %%used/%%unused have been deprecated" );
1416                        checking_used = REALLY_USED; BEGIN(USED_LIST);
1417                        }
1418	YY_BREAK
1419case 10:
1420# line 115 "<stdin>"
1421{
1422                        checking_used = REALLY_NOT_USED; BEGIN(USED_LIST);
1423        pptmsg( "warning - %%used/%%unused have been deprecated" );
1424                        checking_used = REALLY_NOT_USED; BEGIN(USED_LIST);
1425                        }
1426	YY_BREAK
1427case 11:
1428# line 122 "<stdin>"
1429{
1430#ifdef NOTDEF
1431                        fprintf( stderr,
1432                             "old-style lex command at line %d ignored:\n\t%s",
1433                                 linenum, yytext );
1434#endif
1435                        ++linenum;
1436                        }
1437	YY_BREAK
1438case 12:
1439# line 131 "<stdin>"
1440/* ignore old lex directive */
1441	YY_BREAK
1442case 13:
1443# line 133 "<stdin>"
1444{
1445                        ++linenum;
1446                        xlation =
1447                            (int *) malloc( sizeof( int ) * (unsigned) csize );
1448
1449                        if ( ! xlation )
1450                            flxfatal(
1451                                "dynamic memory failure building %t table" );
1452
1453                        for ( i = 0; i < csize; ++i )
1454                            xlation[i] = 0;
1455
1456                        nuxlatns = 0;
1457
1458                        BEGIN(XLATION);
1459                        }
1460	YY_BREAK
1461case 14:
1462# line 150 "<stdin>"
1463synerr( "unrecognized '%' directive" );
1464	YY_BREAK
1465case 15:
1466# line 152 "<stdin>"
1467{
1468                        (void) strcpy( nmstr, (char *) yytext );
1469                        didadef = false;
1470                        BEGIN(PICKUPDEF);
1471                        }
1472	YY_BREAK
1473case 16:
1474# line 158 "<stdin>"
1475RETURNNAME;
1476	YY_BREAK
1477case 17:
1478# line 159 "<stdin>"
1479++linenum; /* allows blank lines in section 1 */
1480	YY_BREAK
1481case 18:
1482# line 160 "<stdin>"
1483++linenum; return ( '\n' );
1484	YY_BREAK
1485case 19:
1486# line 161 "<stdin>"
1487synerr( "illegal character" ); BEGIN(RECOVER);
1488	YY_BREAK
1489case 20:
1490# line 164 "<stdin>"
1491ECHO; BEGIN(INITIAL);
1492	YY_BREAK
1493case 21:
1494# line 165 "<stdin>"
1495++linenum; ECHO; BEGIN(INITIAL);
1496	YY_BREAK
1497case 22:
1498# line 166 "<stdin>"
1499ECHO;
1500	YY_BREAK
1501case 23:
1502# line 167 "<stdin>"
1503ECHO;
1504	YY_BREAK
1505case 24:
1506# line 168 "<stdin>"
1507++linenum; ECHO;
1508	YY_BREAK
1509case 25:
1510# line 171 "<stdin>"
1511++linenum; BEGIN(INITIAL);
1512	YY_BREAK
1513case 26:
1514# line 172 "<stdin>"
1515ECHO; CHECK_REJECT(yytext);
1516	YY_BREAK
1517case 27:
1518# line 173 "<stdin>"
1519ECHO; CHECK_YYMORE(yytext);
1520	YY_BREAK
1521case 28:
1522# line 174 "<stdin>"
1523ECHO;
1524	YY_BREAK
1525case 29:
1526# line 175 "<stdin>"
1527{
1528                        ++linenum;
1529                        ECHO;
1530                        if ( indented_code )
1531                            BEGIN(INITIAL);
1532                        }
1533	YY_BREAK
1534case 30:
1535# line 183 "<stdin>"
1536/* separates name and definition */
1537	YY_BREAK
1538case 31:
1539# line 185 "<stdin>"
1540{
1541                        (void) strcpy( (char *) nmdef, (char *) yytext );
1542
1543                        for ( i = strlen( (char *) nmdef ) - 1;
1544                              i >= 0 &&
1545                              nmdef[i] == ' ' || nmdef[i] == '\t';
1546                              --i )
1547                            ;
1548
1549                        nmdef[i + 1] = '\0';
1550
1551                        ndinstal( nmstr, nmdef );
1552                        didadef = true;
1553                        }
1554	YY_BREAK
1555case 32:
1556# line 200 "<stdin>"
1557{
1558                        if ( ! didadef )
1559                            synerr( "incomplete name definition" );
1560                        BEGIN(INITIAL);
1561                        ++linenum;
1562                        }
1563	YY_BREAK
1564case 33:
1565# line 207 "<stdin>"
1566++linenum; BEGIN(INITIAL); RETURNNAME;
1567	YY_BREAK
1568case 34:
1569# line 210 "<stdin>"
1570++linenum; BEGIN(INITIAL);
1571	YY_BREAK
1572case 35:
1573# line 211 "<stdin>"
1574
1575	YY_BREAK
1576case 36:
1577# line 212 "<stdin>"
1578{
1579                        if ( allupper( yytext ) )
1580                            rjctused = checking_used;
1581                        else
1582                            synerr( "unrecognized %used/%unused construct" );
1583                        }
1584	YY_BREAK
1585case 37:
1586# line 218 "<stdin>"
1587{
1588                        if ( alllower( yytext ) )
1589                            yymrreus = checking_used;
1590                        else
1591                            synerr( "unrecognized %used/%unused construct" );
1592                        }
1593	YY_BREAK
1594case 38:
1595# line 224 "<stdin>"
1596synerr( "unrecognized %used/%unused construct" );
1597	YY_BREAK
1598case 39:
1599# line 227 "<stdin>"
1600++linenum; BEGIN(INITIAL);
1601	YY_BREAK
1602case 40:
1603# line 228 "<stdin>"
1604++nuxlatns; new_xlation = true;
1605	YY_BREAK
1606case 41:
1607# line 229 "<stdin>"
1608synerr( "bad row in translation table" );
1609	YY_BREAK
1610case 42:
1611# line 230 "<stdin>"
1612/* ignore whitespace */
1613	YY_BREAK
1614case 43:
1615# line 232 "<stdin>"
1616{
1617                        xlation[myesc( yytext )] =
1618                                (new_xlation ? nuxlatns : -nuxlatns);
1619                        new_xlation = false;
1620                        }
1621	YY_BREAK
1622case 44:
1623# line 237 "<stdin>"
1624{
1625                        xlation[yytext[0]] =
1626                                (new_xlation ? nuxlatns : -nuxlatns);
1627                        new_xlation = false;
1628                        }
1629	YY_BREAK
1630case 45:
1631# line 243 "<stdin>"
1632++linenum;
1633	YY_BREAK
1634case 46:
1635*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
1636yy_c_buf_p = yy_cp -= 1;
1637YY_DO_BEFORE_ACTION; /* set up yytext again */
1638# line 246 "<stdin>"
1639{
1640                        ++linenum;
1641                        ACTION_ECHO;
1642                        MARK_END_OF_PROLOG;
1643                        BEGIN(SECT2);
1644                        }
1645	YY_BREAK
1646case 47:
1647# line 253 "<stdin>"
1648++linenum; ACTION_ECHO;
1649	YY_BREAK
1650case YY_STATE_EOF(SECT2PROLOG):
1651# line 255 "<stdin>"
1652MARK_END_OF_PROLOG; yyterminate();
1653	YY_BREAK
1654case 49:
1655# line 257 "<stdin>"
1656++linenum; /* allow blank lines in section 2 */
1657	YY_BREAK
1658case 50:
1659# line 259 "<stdin>"
1660{
1661                        indented_code = (yytext[0] != '%');
1662                        doing_codeblock = true;
1663                        bracelevel = 1;
1664
1665                        if ( indented_code )
1666                            ACTION_ECHO;
1667
1668                        BEGIN(CODEBLOCK_2);
1669                        }
1670	YY_BREAK
1671case 51:
1672# line 270 "<stdin>"
1673BEGIN(SC); return ( '<' );
1674	YY_BREAK
1675case 52:
1676# line 271 "<stdin>"
1677return ( '^' );
1678	YY_BREAK
1679case 53:
1680# line 272 "<stdin>"
1681BEGIN(QUOTE); return ( '"' );
1682	YY_BREAK
1683case 54:
1684*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
1685yy_c_buf_p = yy_cp = yy_bp + 1;
1686YY_DO_BEFORE_ACTION; /* set up yytext again */
1687# line 273 "<stdin>"
1688BEGIN(NUM); return ( '{' );
1689	YY_BREAK
1690case 55:
1691# line 274 "<stdin>"
1692BEGIN(BRACEERROR);
1693	YY_BREAK
1694case 56:
1695*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
1696yy_c_buf_p = yy_cp = yy_bp + 1;
1697YY_DO_BEFORE_ACTION; /* set up yytext again */
1698# line 275 "<stdin>"
1699return ( '$' );
1700	YY_BREAK
1701case 57:
1702# line 277 "<stdin>"
1703{
1704                        bracelevel = 1;
1705                        BEGIN(PERCENT_BRACE_ACTION);
1706                        return ( '\n' );
1707                        }
1708	YY_BREAK
1709case 58:
1710# line 282 "<stdin>"
1711cntdactn = true; ++linenum; return ( '\n' );
1712	YY_BREAK
1713case 59:
1714# line 284 "<stdin>"
1715{
1716                        /* this rule is separate from the one below because
1717                         * otherwise we get variable trailing context, so
1718                         * we can't build the scanner using -{f,F}
1719                         */
1720                        bracelevel = 0;
1721                        cntdactn = false;
1722                        BEGIN(ACTION);
1723                        return ( '\n' );
1724                        }
1725	YY_BREAK
1726case 60:
1727*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
1728yy_c_buf_p = yy_cp -= 1;
1729YY_DO_BEFORE_ACTION; /* set up yytext again */
1730# line 295 "<stdin>"
1731{
1732                        bracelevel = 0;
1733                        cntdactn = false;
1734                        BEGIN(ACTION);
1735                        return ( '\n' );
1736                        }
1737	YY_BREAK
1738case 61:
1739# line 302 "<stdin>"
1740++linenum; return ( '\n' );
1741	YY_BREAK
1742case 62:
1743# line 304 "<stdin>"
1744return ( EOF_OP );
1745	YY_BREAK
1746case 63:
1747# line 306 "<stdin>"
1748{
1749                        sectnum = 3;
1750                        BEGIN(SECT3);
1751                        return ( EOF ); /* to stop the parser */
1752                        }
1753	YY_BREAK
1754case 64:
1755# line 312 "<stdin>"
1756{
1757                        int cclval;
1758
1759                        (void) strcpy( nmstr, (char *) yytext );
1760
1761                        /* check to see if we've already encountered this ccl */
1762                        if ( (cclval = ccllookp( (Char *) nmstr )) )
1763                            {
1764                            yylval = cclval;
1765                            ++cclreuse;
1766                            return ( PREVCCL );
1767                            }
1768                        else
1769                            {
1770                            /* we fudge a bit.  We know that this ccl will
1771                             * soon be numbered as lastccl + 1 by cclinit
1772                             */
1773                            cclnstal( (Char *) nmstr, lastccl + 1 );
1774
1775                            /* push back everything but the leading bracket
1776                             * so the ccl can be rescanned
1777                             */
1778                            PUT_BACK_STRING((Char *) nmstr, 1);
1779
1780                            BEGIN(FIRSTCCL);
1781                            return ( '[' );
1782                            }
1783                        }
1784	YY_BREAK
1785case 65:
1786# line 341 "<stdin>"
1787{
1788                        register Char *nmdefptr;
1789                        Char *ndlookup();
1790
1791                        (void) strcpy( nmstr, (char *) yytext );
1792                        nmstr[yyleng - 1] = '\0';  /* chop trailing brace */
1793
1794                        /* lookup from "nmstr + 1" to chop leading brace */
1795                        if ( ! (nmdefptr = ndlookup( nmstr + 1 )) )
1796                            synerr( "undefined {name}" );
1797
1798                        else
1799                            { /* push back name surrounded by ()'s */
1800                            unput(')');
1801                            PUT_BACK_STRING(nmdefptr, 0);
1802                            unput('(');
1803                            }
1804                        }
1805	YY_BREAK
1806case 66:
1807# line 360 "<stdin>"
1808return ( yytext[0] );
1809	YY_BREAK
1810case 67:
1811# line 361 "<stdin>"
1812RETURNCHAR;
1813	YY_BREAK
1814case 68:
1815# line 362 "<stdin>"
1816++linenum; return ( '\n' );
1817	YY_BREAK
1818case 69:
1819# line 365 "<stdin>"
1820return ( ',' );
1821	YY_BREAK
1822case 70:
1823# line 366 "<stdin>"
1824BEGIN(SECT2); return ( '>' );
1825	YY_BREAK
1826case 71:
1827*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
1828yy_c_buf_p = yy_cp = yy_bp + 1;
1829YY_DO_BEFORE_ACTION; /* set up yytext again */
1830# line 367 "<stdin>"
1831BEGIN(CARETISBOL); return ( '>' );
1832	YY_BREAK
1833case 72:
1834# line 368 "<stdin>"
1835RETURNNAME;
1836	YY_BREAK
1837case 73:
1838# line 369 "<stdin>"
1839synerr( "bad start condition name" );
1840	YY_BREAK
1841case 74:
1842# line 371 "<stdin>"
1843BEGIN(SECT2); return ( '^' );
1844	YY_BREAK
1845case 75:
1846# line 374 "<stdin>"
1847RETURNCHAR;
1848	YY_BREAK
1849case 76:
1850# line 375 "<stdin>"
1851BEGIN(SECT2); return ( '"' );
1852	YY_BREAK
1853case 77:
1854# line 377 "<stdin>"
1855{
1856                        synerr( "missing quote" );
1857                        BEGIN(SECT2);
1858                        ++linenum;
1859                        return ( '"' );
1860                        }
1861	YY_BREAK
1862case 78:
1863*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
1864yy_c_buf_p = yy_cp = yy_bp + 1;
1865YY_DO_BEFORE_ACTION; /* set up yytext again */
1866# line 385 "<stdin>"
1867BEGIN(CCL); return ( '^' );
1868	YY_BREAK
1869case 79:
1870*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
1871yy_c_buf_p = yy_cp = yy_bp + 1;
1872YY_DO_BEFORE_ACTION; /* set up yytext again */
1873# line 386 "<stdin>"
1874return ( '^' );
1875	YY_BREAK
1876case 80:
1877# line 387 "<stdin>"
1878BEGIN(CCL); yylval = '-'; return ( CHAR );
1879	YY_BREAK
1880case 81:
1881# line 388 "<stdin>"
1882BEGIN(CCL); RETURNCHAR;
1883	YY_BREAK
1884case 82:
1885*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
1886yy_c_buf_p = yy_cp = yy_bp + 1;
1887YY_DO_BEFORE_ACTION; /* set up yytext again */
1888# line 390 "<stdin>"
1889return ( '-' );
1890	YY_BREAK
1891case 83:
1892# line 391 "<stdin>"
1893RETURNCHAR;
1894	YY_BREAK
1895case 84:
1896# line 392 "<stdin>"
1897BEGIN(SECT2); return ( ']' );
1898	YY_BREAK
1899case 85:
1900# line 395 "<stdin>"
1901{
1902                        yylval = myctoi( yytext );
1903                        return ( NUMBER );
1904                        }
1905	YY_BREAK
1906case 86:
1907# line 400 "<stdin>"
1908return ( ',' );
1909	YY_BREAK
1910case 87:
1911# line 401 "<stdin>"
1912BEGIN(SECT2); return ( '}' );
1913	YY_BREAK
1914case 88:
1915# line 403 "<stdin>"
1916{
1917                        synerr( "bad character inside {}'s" );
1918                        BEGIN(SECT2);
1919                        return ( '}' );
1920                        }
1921	YY_BREAK
1922case 89:
1923# line 409 "<stdin>"
1924{
1925                        synerr( "missing }" );
1926                        BEGIN(SECT2);
1927                        ++linenum;
1928                        return ( '}' );
1929                        }
1930	YY_BREAK
1931case 90:
1932# line 417 "<stdin>"
1933synerr( "bad name in {}'s" ); BEGIN(SECT2);
1934	YY_BREAK
1935case 91:
1936# line 418 "<stdin>"
1937synerr( "missing }" ); ++linenum; BEGIN(SECT2);
1938	YY_BREAK
1939case 92:
1940# line 421 "<stdin>"
1941bracelevel = 0;
1942	YY_BREAK
1943case 93:
1944# line 422 "<stdin>"
1945{
1946                        ACTION_ECHO;
1947                        CHECK_REJECT(yytext);
1948                        }
1949	YY_BREAK
1950case 94:
1951# line 426 "<stdin>"
1952{
1953                        ACTION_ECHO;
1954                        CHECK_YYMORE(yytext);
1955                        }
1956	YY_BREAK
1957case 95:
1958# line 430 "<stdin>"
1959ACTION_ECHO;
1960	YY_BREAK
1961case 96:
1962# line 431 "<stdin>"
1963{
1964                        ++linenum;
1965                        ACTION_ECHO;
1966                        if ( bracelevel == 0 ||
1967                             (doing_codeblock && indented_code) )
1968                            {
1969                            if ( ! doing_codeblock )
1970                                fputs( "\tYY_BREAK\n", tmpactfl );
1971
1972                            doing_codeblock = false;
1973                            BEGIN(SECT2);
1974                            }
1975                        }
1976	YY_BREAK
1977        /* Reject and YYmore() are checked for above, in PERCENT_BRACE_ACTION */
1978case 97:
1979# line 447 "<stdin>"
1980ACTION_ECHO; ++bracelevel;
1981	YY_BREAK
1982case 98:
1983# line 448 "<stdin>"
1984ACTION_ECHO; --bracelevel;
1985	YY_BREAK
1986case 99:
1987# line 449 "<stdin>"
1988ACTION_ECHO;
1989	YY_BREAK
1990case 100:
1991# line 450 "<stdin>"
1992ACTION_ECHO;
1993	YY_BREAK
1994case 101:
1995# line 451 "<stdin>"
1996ACTION_ECHO; BEGIN(ACTION_COMMENT);
1997	YY_BREAK
1998case 102:
1999# line 452 "<stdin>"
2000ACTION_ECHO; /* character constant */
2001	YY_BREAK
2002case 103:
2003# line 453 "<stdin>"
2004ACTION_ECHO; BEGIN(ACTION_STRING);
2005	YY_BREAK
2006case 104:
2007# line 454 "<stdin>"
2008{
2009                        ++linenum;
2010                        ACTION_ECHO;
2011                        if ( bracelevel == 0 )
2012                            {
2013                            fputs( "\tYY_BREAK\n", tmpactfl );
2014                            BEGIN(SECT2);
2015                            }
2016                        }
2017	YY_BREAK
2018case 105:
2019# line 463 "<stdin>"
2020ACTION_ECHO;
2021	YY_BREAK
2022case 106:
2023# line 465 "<stdin>"
2024ACTION_ECHO; BEGIN(ACTION);
2025	YY_BREAK
2026case 107:
2027# line 466 "<stdin>"
2028ACTION_ECHO;
2029	YY_BREAK
2030case 108:
2031# line 467 "<stdin>"
2032ACTION_ECHO;
2033	YY_BREAK
2034case 109:
2035# line 468 "<stdin>"
2036++linenum; ACTION_ECHO;
2037	YY_BREAK
2038case 110:
2039# line 469 "<stdin>"
2040ACTION_ECHO;
2041	YY_BREAK
2042case 111:
2043# line 471 "<stdin>"
2044ACTION_ECHO;
2045	YY_BREAK
2046case 112:
2047# line 472 "<stdin>"
2048ACTION_ECHO;
2049	YY_BREAK
2050case 113:
2051# line 473 "<stdin>"
2052++linenum; ACTION_ECHO;
2053	YY_BREAK
2054case 114:
2055# line 474 "<stdin>"
2056ACTION_ECHO; BEGIN(ACTION);
2057	YY_BREAK
2058case 115:
2059# line 475 "<stdin>"
2060ACTION_ECHO;
2061	YY_BREAK
2062case YY_STATE_EOF(ACTION):
2063case YY_STATE_EOF(ACTION_COMMENT):
2064case YY_STATE_EOF(ACTION_STRING):
2065# line 477 "<stdin>"
2066{
2067                        synerr( "EOF encountered inside an action" );
2068                        yyterminate();
2069                        }
2070	YY_BREAK
2071case 117:
2072# line 483 "<stdin>"
2073{
2074                        yylval = myesc( yytext );
2075                        return ( CHAR );
2076                        }
2077	YY_BREAK
2078case 118:
2079# line 488 "<stdin>"
2080{
2081                        yylval = myesc( yytext );
2082                        BEGIN(CCL);
2083                        return ( CHAR );
2084                        }
2085	YY_BREAK
2086case 119:
2087# line 495 "<stdin>"
2088ECHO;
2089	YY_BREAK
2090case 120:
2091# line 496 "<stdin>"
2092YY_FATAL_ERROR( "flex scanner jammed" );
2093	YY_BREAK
2094case YY_STATE_EOF(INITIAL):
2095case YY_STATE_EOF(SECT2):
2096case YY_STATE_EOF(SECT3):
2097case YY_STATE_EOF(CODEBLOCK):
2098case YY_STATE_EOF(PICKUPDEF):
2099case YY_STATE_EOF(SC):
2100case YY_STATE_EOF(CARETISBOL):
2101case YY_STATE_EOF(NUM):
2102case YY_STATE_EOF(QUOTE):
2103case YY_STATE_EOF(FIRSTCCL):
2104case YY_STATE_EOF(CCL):
2105case YY_STATE_EOF(RECOVER):
2106case YY_STATE_EOF(BRACEERROR):
2107case YY_STATE_EOF(C_COMMENT):
2108case YY_STATE_EOF(PERCENT_BRACE_ACTION):
2109case YY_STATE_EOF(USED_LIST):
2110case YY_STATE_EOF(CODEBLOCK_2):
2111case YY_STATE_EOF(XLATION):
2112    yyterminate();
2113
2114            case YY_END_OF_BUFFER:
2115                {
2116                /* amount of text matched not including the EOB char */
2117                int yy_amount_of_matched_text = yy_cp - yytext - 1;
2118
2119                /* undo the effects of YY_DO_BEFORE_ACTION */
2120                *yy_cp = yy_hold_char;
2121
2122                /* note that here we test for yy_c_buf_p "<=" to the position
2123                 * of the first EOB in the buffer, since yy_c_buf_p will
2124                 * already have been incremented past the NUL character
2125                 * (since all states make transitions on EOB to the end-
2126                 * of-buffer state).  Contrast this with the test in yyinput().
2127                 */
2128                if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
2129                    /* this was really a NUL */
2130                    {
2131                    yy_ste_type yy_next_state;
2132
2133                    yy_c_buf_p = yytext + yy_amount_of_matched_text;
2134
2135                    yy_current_state = yy_get_previous_state();
2136
2137                    /* okay, we're now positioned to make the
2138                     * NUL transition.  We couldn't have
2139                     * yy_get_previous_state() go ahead and do it
2140                     * for us because it doesn't know how to deal
2141                     * with the possibility of jamming (and we
2142                     * don't want to build jamming into it because
2143                     * then it will run more slowly)
2144                     */
2145
2146                    yy_next_state = yy_try_NUL_trans( yy_current_state );
2147
2148                    yy_bp = yytext + YY_MORE_ADJ;
2149
2150                    if ( yy_next_state )
2151                        {
2152                        /* consume the NUL */
2153                        yy_cp = ++yy_c_buf_p;
2154                        yy_current_state = yy_next_state;
2155                        goto yy_match;
2156                        }
2157
2158                    else
2159                        {
2160			    yy_cp = yy_last_accepting_cpos;
2161			    yy_current_state = yy_last_accepting_state;
2162                        goto yy_find_action;
2163                        }
2164                    }
2165
2166                else switch ( yy_get_next_buffer() )
2167                    {
2168                    case EOB_ACT_END_OF_FILE:
2169                        {
2170                        yy_did_buffer_switch_on_eof = 0;
2171
2172                        if ( yywrap() )
2173                            {
2174                            /* note: because we've taken care in
2175                             * yy_get_next_buffer() to have set up yytext,
2176                             * we can now set up yy_c_buf_p so that if some
2177                             * total hoser (like flex itself) wants
2178                             * to call the scanner after we return the
2179                             * YY_NULL, it'll still work - another YY_NULL
2180                             * will get returned.
2181                             */
2182                            yy_c_buf_p = yytext + YY_MORE_ADJ;
2183
2184                            yy_act = YY_STATE_EOF((yy_start - 1) / 2);
2185                            goto do_action;
2186                            }
2187
2188                        else
2189                            {
2190                            if ( ! yy_did_buffer_switch_on_eof )
2191                                YY_NEW_FILE;
2192                            }
2193                        }
2194                        break;
2195
2196                    case EOB_ACT_CONTINUE_SCAN:
2197                        yy_c_buf_p = yytext + yy_amount_of_matched_text;
2198
2199                        yy_current_state = yy_get_previous_state();
2200
2201                        yy_cp = yy_c_buf_p;
2202                        yy_bp = yytext + YY_MORE_ADJ;
2203                        goto yy_match;
2204
2205                    case EOB_ACT_LAST_MATCH:
2206                        yy_c_buf_p =
2207                            &yy_current_buffer->yy_ch_buf[yy_n_chars];
2208
2209                        yy_current_state = yy_get_previous_state();
2210
2211                        yy_cp = yy_c_buf_p;
2212                        yy_bp = yytext + YY_MORE_ADJ;
2213                        goto yy_find_action;
2214                    }
2215                break;
2216                }
2217
2218            default:
2219#ifdef FLEX_DEBUG
2220                printf( "action # %d\n", yy_act );
2221#endif
2222                YY_FATAL_ERROR(
2223                        "fatal flex scanner internal error--no action found" );
2224            }
2225        }
2226    }
2227
2228
2229/* yy_get_next_buffer - try to read in a new buffer
2230 *
2231 * synopsis
2232 *     int yy_get_next_buffer();
2233 *
2234 * returns a code representing an action
2235 *     EOB_ACT_LAST_MATCH -
2236 *     EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2237 *     EOB_ACT_END_OF_FILE - end of file
2238 */
2239
2240static int yy_get_next_buffer()
2241
2242    {
2243    register YY_CHAR *dest = yy_current_buffer->yy_ch_buf;
2244    register YY_CHAR *source = yytext - 1; /* copy prev. char, too */
2245    register int number_to_move, i;
2246    int ret_val;
2247
2248    if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
2249        YY_FATAL_ERROR(
2250                "fatal flex scanner internal error--end of buffer missed" );
2251
2252    /* try to read more data */
2253
2254    /* first move last chars to start of buffer */
2255    number_to_move = yy_c_buf_p - yytext;
2256
2257    for ( i = 0; i < number_to_move; ++i )
2258        *(dest++) = *(source++);
2259
2260    if ( yy_current_buffer->yy_eof_status != EOF_NOT_SEEN )
2261        /* don't do the read, it's not guaranteed to return an EOF,
2262         * just force an EOF
2263         */
2264        yy_n_chars = 0;
2265
2266    else
2267        {
2268        int num_to_read = yy_current_buffer->yy_buf_size - number_to_move - 1;
2269
2270        if ( num_to_read > YY_READ_BUF_SIZE )
2271            num_to_read = YY_READ_BUF_SIZE;
2272
2273        else if ( num_to_read <= 0 )
2274            YY_FATAL_ERROR( "fatal error - scanner input buffer overflow" );
2275
2276        /* read in more data */
2277        YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
2278                  yy_n_chars, num_to_read );
2279        }
2280
2281    if ( yy_n_chars == 0 )
2282        {
2283        if ( number_to_move == 1 )
2284            {
2285            ret_val = EOB_ACT_END_OF_FILE;
2286            yy_current_buffer->yy_eof_status = EOF_DONE;
2287            }
2288
2289        else
2290            {
2291            ret_val = EOB_ACT_LAST_MATCH;
2292            yy_current_buffer->yy_eof_status = EOF_PENDING;
2293            }
2294        }
2295
2296    else
2297        ret_val = EOB_ACT_CONTINUE_SCAN;
2298
2299    yy_n_chars += number_to_move;
2300    yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2301    yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
2302
2303    /* yytext begins at the second character in yy_ch_buf; the first
2304     * character is the one which preceded it before reading in the latest
2305     * buffer; it needs to be kept around in case it's a newline, so
2306     * yy_get_previous_state() will have with '^' rules active
2307     */
2308
2309    yytext = &yy_current_buffer->yy_ch_buf[1];
2310
2311    return ( ret_val );
2312    }
2313
2314
2315/* yy_get_previous_state - get the state just before the EOB char was reached
2316 *
2317 * synopsis
2318 *     yy_ste_type yy_get_previous_state();
2319 */
2320
2321static yy_ste_type yy_get_previous_state()
2322
2323    {
2324    register yy_ste_type yy_current_state;
2325    register YY_CHAR *yy_cp;
2326
2327    register YY_CHAR *yy_bp = yytext;
2328
2329    yy_current_state = yy_start;
2330    if ( yy_bp[-1] == '\n' )
2331	++yy_current_state;
2332
2333    for ( yy_cp = yytext + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
2334        {
2335	register YY_CHAR yy_c = (*yy_cp ? yy_ec[*yy_cp] : 1);
2336	if ( yy_accept[yy_current_state] )
2337	    {
2338	    yy_last_accepting_state = yy_current_state;
2339	    yy_last_accepting_cpos = yy_cp;
2340	    }
2341	while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2342	    {
2343	    yy_current_state = yy_def[yy_current_state];
2344	    }
2345	yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2346        }
2347
2348    return ( yy_current_state );
2349    }
2350
2351
2352/* yy_try_NUL_trans - try to make a transition on the NUL character
2353 *
2354 * synopsis
2355 *     next_state = yy_try_NUL_trans( current_state );
2356 */
2357
2358#ifdef YY_USE_PROTOS
2359static yy_ste_type yy_try_NUL_trans( register yy_ste_type yy_current_state )
2360#else
2361static yy_ste_type yy_try_NUL_trans( yy_current_state )
2362register yy_ste_type yy_current_state;
2363#endif
2364
2365    {
2366    register int yy_is_jam;
2367    register YY_CHAR *yy_cp = yy_c_buf_p;
2368
2369    register YY_CHAR yy_c = 1;
2370    if ( yy_accept[yy_current_state] )
2371	{
2372	yy_last_accepting_state = yy_current_state;
2373	yy_last_accepting_cpos = yy_cp;
2374	}
2375    while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2376	{
2377	yy_current_state = yy_def[yy_current_state];
2378	}
2379    yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2380    yy_is_jam = (yy_current_state == 340);
2381
2382    return ( yy_is_jam ? 0 : yy_current_state );
2383    }
2384
2385
2386#ifdef YY_USE_PROTOS
2387static void yyunput( YY_CHAR c, register YY_CHAR *yy_bp )
2388#else
2389static void yyunput( c, yy_bp )
2390YY_CHAR c;
2391register YY_CHAR *yy_bp;
2392#endif
2393
2394    {
2395    register YY_CHAR *yy_cp = yy_c_buf_p;
2396
2397    /* undo effects of setting up yytext */
2398    *yy_cp = yy_hold_char;
2399
2400    if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
2401        { /* need to shift things up to make room */
2402        register int number_to_move = yy_n_chars + 2; /* +2 for EOB chars */
2403        register YY_CHAR *dest =
2404            &yy_current_buffer->yy_ch_buf[yy_current_buffer->yy_buf_size + 2];
2405        register YY_CHAR *source =
2406            &yy_current_buffer->yy_ch_buf[number_to_move];
2407
2408        while ( source > yy_current_buffer->yy_ch_buf )
2409            *--dest = *--source;
2410
2411        yy_cp += dest - source;
2412        yy_bp += dest - source;
2413        yy_n_chars = yy_current_buffer->yy_buf_size;
2414
2415        if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
2416            YY_FATAL_ERROR( "flex scanner push-back overflow" );
2417        }
2418
2419    if ( yy_cp > yy_bp && yy_cp[-1] == '\n' )
2420        yy_cp[-2] = '\n';
2421
2422    *--yy_cp = c;
2423
2424    /* note: the formal parameter *must* be called "yy_bp" for this
2425     *       macro to now work correctly
2426     */
2427    YY_DO_BEFORE_ACTION; /* set up yytext again */
2428    }
2429
2430
2431#ifdef __cplusplus
2432static int yyinput()
2433#else
2434static int input()
2435#endif
2436
2437    {
2438    int c;
2439    YY_CHAR *yy_cp = yy_c_buf_p;
2440
2441    *yy_cp = yy_hold_char;
2442
2443    if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
2444        {
2445        /* yy_c_buf_p now points to the character we want to return.
2446         * If this occurs *before* the EOB characters, then it's a
2447         * valid NUL; if not, then we've hit the end of the buffer.
2448         */
2449        if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
2450            /* this was really a NUL */
2451            *yy_c_buf_p = '\0';
2452
2453        else
2454            { /* need more input */
2455            yytext = yy_c_buf_p;
2456            ++yy_c_buf_p;
2457
2458            switch ( yy_get_next_buffer() )
2459                {
2460                case EOB_ACT_END_OF_FILE:
2461                    {
2462                    if ( yywrap() )
2463                        {
2464                        yy_c_buf_p = yytext + YY_MORE_ADJ;
2465                        return ( EOF );
2466                        }
2467
2468                    YY_NEW_FILE;
2469
2470#ifdef __cplusplus
2471                    return ( yyinput() );
2472#else
2473                    return ( input() );
2474#endif
2475                    }
2476                    break;
2477
2478                case EOB_ACT_CONTINUE_SCAN:
2479                    yy_c_buf_p = yytext + YY_MORE_ADJ;
2480                    break;
2481
2482                case EOB_ACT_LAST_MATCH:
2483#ifdef __cplusplus
2484                    YY_FATAL_ERROR( "unexpected last match in yyinput()" );
2485#else
2486                    YY_FATAL_ERROR( "unexpected last match in input()" );
2487#endif
2488                }
2489            }
2490        }
2491
2492    c = *yy_c_buf_p;
2493    yy_hold_char = *++yy_c_buf_p;
2494
2495    return ( c );
2496    }
2497
2498
2499#ifdef YY_USE_PROTOS
2500void yyrestrt( FILE *input_file )
2501#else
2502void yyrestrt( input_file )
2503FILE *input_file;
2504#endif
2505
2506    {
2507    yyinbffr( yy_current_buffer, input_file );
2508    yyldbfst();
2509    }
2510
2511
2512#ifdef YY_USE_PROTOS
2513void yyswtobf( YY_BUFFER_STATE new_buffer )
2514#else
2515void yyswtobf( new_buffer )
2516YY_BUFFER_STATE new_buffer;
2517#endif
2518
2519    {
2520    if ( yy_current_buffer == new_buffer )
2521        return;
2522
2523    if ( yy_current_buffer )
2524        {
2525        /* flush out information for old buffer */
2526        *yy_c_buf_p = yy_hold_char;
2527        yy_current_buffer->yy_buf_pos = yy_c_buf_p;
2528        yy_current_buffer->yy_n_chars = yy_n_chars;
2529        }
2530
2531    yy_current_buffer = new_buffer;
2532    yyldbfst();
2533
2534    /* we don't actually know whether we did this switch during
2535     * EOF (yywrap()) processing, but the only time this flag
2536     * is looked at is after yywrap() is called, so it's safe
2537     * to go ahead and always set it.
2538     */
2539    yy_did_buffer_switch_on_eof = 1;
2540    }
2541
2542
2543#ifdef YY_USE_PROTOS
2544void yyldbfst( void )
2545#else
2546void yyldbfst()
2547#endif
2548
2549    {
2550    yy_n_chars = yy_current_buffer->yy_n_chars;
2551    yytext = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
2552    yyin = yy_current_buffer->yy_input_file;
2553    yy_hold_char = *yy_c_buf_p;
2554    }
2555
2556
2557#ifdef YY_USE_PROTOS
2558YY_BUFFER_STATE yycrbffr( FILE *file, int size )
2559#else
2560YY_BUFFER_STATE yycrbffr( file, size )
2561FILE *file;
2562int size;
2563#endif
2564
2565    {
2566    YY_BUFFER_STATE b;
2567
2568    b = (YY_BUFFER_STATE) malloc( sizeof( struct yy_buffer_state ) );
2569
2570    if ( ! b )
2571        YY_FATAL_ERROR( "out of dynamic memory in yycrbffr()" );
2572
2573    b->yy_buf_size = size;
2574
2575    /* yy_ch_buf has to be 2 characters longer than the size given because
2576     * we need to put in 2 end-of-buffer characters.
2577     */
2578    b->yy_ch_buf = (YY_CHAR *) malloc( (unsigned) (b->yy_buf_size + 2) );
2579
2580    if ( ! b->yy_ch_buf )
2581        YY_FATAL_ERROR( "out of dynamic memory in yycrbffr()" );
2582
2583    yyinbffr( b, file );
2584
2585    return ( b );
2586    }
2587
2588
2589#ifdef YY_USE_PROTOS
2590void yydlbffr( YY_BUFFER_STATE b )
2591#else
2592void yydlbffr( b )
2593YY_BUFFER_STATE b;
2594#endif
2595
2596    {
2597    if ( b == yy_current_buffer )
2598        yy_current_buffer = (YY_BUFFER_STATE) 0;
2599
2600    free( (char *) b->yy_ch_buf );
2601    free( (char *) b );
2602    }
2603
2604
2605#ifdef YY_USE_PROTOS
2606void yyinbffr( YY_BUFFER_STATE b, FILE *file )
2607#else
2608void yyinbffr( b, file )
2609YY_BUFFER_STATE b;
2610FILE *file;
2611#endif
2612
2613    {
2614    b->yy_input_file = file;
2615
2616    /* we put in the '\n' and start reading from [1] so that an
2617     * initial match-at-newline will be true.
2618     */
2619
2620    b->yy_ch_buf[0] = '\n';
2621    b->yy_n_chars = 1;
2622
2623    /* we always need two end-of-buffer characters.  The first causes
2624     * a transition to the end-of-buffer state.  The second causes
2625     * a jam in that state.
2626     */
2627    b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2628    b->yy_ch_buf[2] = YY_END_OF_BUFFER_CHAR;
2629
2630    b->yy_buf_pos = &b->yy_ch_buf[1];
2631
2632    b->yy_eof_status = EOF_NOT_SEEN;
2633    }
2634# line 496 "<stdin>"
2635
2636
2637
2638int yywrap()
2639
2640    {
2641    if ( --ninfiles > 0 )
2642        {
2643        stinpfle( *++inp_fles );
2644        return ( 0 );
2645        }
2646
2647    else
2648        return ( 1 );
2649    }
2650
2651
2652/* stinpfle - open the given file (if NULL, stdin) for scanning */
2653
2654void stinpfle( file )
2655char *file;
2656
2657    {
2658    if ( file )
2659        {
2660        infilnam = file;
2661        yyin = fopen( infilnam, "r" );
2662
2663        if ( yyin == NULL )
2664            lerrsf( "can't open %s", file );
2665        }
2666
2667    else
2668        {
2669        yyin = stdin;
2670        infilnam = "<stdin>";
2671        }
2672    }
2673