• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
16 void *malloc( unsigned );
17 void 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 */
65 char *malloc();
66 int free();
67 int 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 
161 typedef 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
195 static char rcsid[] =
196     "@(#) $Header: scan.l,v 2.9 90/06/27 23:48:34 vern 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 
281 struct 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 
303 static 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 */
313 static YY_CHAR yy_hold_char;
314 
315 static 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 
327 extern YY_CHAR *yytext;
328 extern int yyleng;
329 extern FILE *yyin, *yyout;
330 
331 YY_CHAR *yytext;
332 int yyleng;
333 
334 FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
335 
336 #define YY_END_OF_BUFFER 121
337 typedef int yy_ste_type;
338 static 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 
379 static 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 
411 static 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 
460 static 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 
509 static 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 
874 static 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 
1239 static yy_ste_type yy_last_accepting_state;
1240 static 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 */
1253 static YY_CHAR *yy_c_buf_p = (YY_CHAR *) 0;
1254 static int yy_init = 1;         /* whether we need to initialize */
1255 static 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  */
1260 static int yy_did_buffer_switch_on_eof;
1261 
1262 static yy_ste_type yy_get_previous_state YY_PROTO(( void ));
1263 static yy_ste_type yy_try_NUL_trans YY_PROTO(( yy_ste_type current_state ));
1264 static int yy_get_next_buffer YY_PROTO(( void ));
1265 static void yyunput YY_PROTO(( YY_CHAR c, YY_CHAR *buf_ptr ));
1266 void yyrestrt YY_PROTO(( FILE *input_file ));
1267 void yyswtobf YY_PROTO(( YY_BUFFER_STATE new_buffer ));
1268 void yyldbfst YY_PROTO(( void ));
1269 YY_BUFFER_STATE yycrbffr YY_PROTO(( FILE *file, int size ));
1270 void yydlbffr YY_PROTO(( YY_BUFFER_STATE b ));
1271 void yyinbffr YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
1272 
1273 #define yy_new_buffer yycrbffr
1274 
1275 #ifdef __cplusplus
1276 static int yyinput YY_PROTO(( void ));
1277 #else
1278 static int input YY_PROTO(( void ));
1279 #endif
1280 
1281 YY_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;
1332 yy_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 
1352 yy_find_action:
1353 	yy_act = yy_accept[yy_current_state];
1354 
1355         YY_DO_BEFORE_ACTION;
1356         YY_USER_ACTION;
1357 
1358 do_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 
1370 case 1:
1371 # line 90 "<stdin>"
1372 indented_code = true; BEGIN(CODEBLOCK);
1373 	YY_BREAK
1374 case 2:
1375 # line 91 "<stdin>"
1376 ++linenum; /* treat as a comment */
1377 	YY_BREAK
1378 case 3:
1379 # line 92 "<stdin>"
1380 ECHO; BEGIN(C_COMMENT);
1381 	YY_BREAK
1382 case 4:
1383 # line 93 "<stdin>"
1384 return ( SCDECL );
1385 	YY_BREAK
1386 case 5:
1387 # line 94 "<stdin>"
1388 return ( XSCDECL );
1389 	YY_BREAK
1390 case 6:
1391 # line 95 "<stdin>"
1392 {
1393                         ++linenum;
1394                         lndirout( stdout );
1395                         indented_code = false;
1396                         BEGIN(CODEBLOCK);
1397                         }
1398 	YY_BREAK
1399 case 7:
1400 # line 102 "<stdin>"
1401 return ( WHITESPACE );
1402 	YY_BREAK
1403 case 8:
1404 # line 104 "<stdin>"
1405 {
1406                         sectnum = 2;
1407                         lndirout( stdout );
1408                         BEGIN(SECT2PROLOG);
1409                         return ( SECTEND );
1410                         }
1411 	YY_BREAK
1412 case 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
1419 case 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
1427 case 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
1438 case 12:
1439 # line 131 "<stdin>"
1440 /* ignore old lex directive */
1441 	YY_BREAK
1442 case 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
1461 case 14:
1462 # line 150 "<stdin>"
1463 synerr( "unrecognized '%' directive" );
1464 	YY_BREAK
1465 case 15:
1466 # line 152 "<stdin>"
1467 {
1468                         (void) strcpy( nmstr, (char *) yytext );
1469                         didadef = false;
1470                         BEGIN(PICKUPDEF);
1471                         }
1472 	YY_BREAK
1473 case 16:
1474 # line 158 "<stdin>"
1475 RETURNNAME;
1476 	YY_BREAK
1477 case 17:
1478 # line 159 "<stdin>"
1479 ++linenum; /* allows blank lines in section 1 */
1480 	YY_BREAK
1481 case 18:
1482 # line 160 "<stdin>"
1483 ++linenum; return ( '\n' );
1484 	YY_BREAK
1485 case 19:
1486 # line 161 "<stdin>"
1487 synerr( "illegal character" ); BEGIN(RECOVER);
1488 	YY_BREAK
1489 case 20:
1490 # line 164 "<stdin>"
1491 ECHO; BEGIN(INITIAL);
1492 	YY_BREAK
1493 case 21:
1494 # line 165 "<stdin>"
1495 ++linenum; ECHO; BEGIN(INITIAL);
1496 	YY_BREAK
1497 case 22:
1498 # line 166 "<stdin>"
1499 ECHO;
1500 	YY_BREAK
1501 case 23:
1502 # line 167 "<stdin>"
1503 ECHO;
1504 	YY_BREAK
1505 case 24:
1506 # line 168 "<stdin>"
1507 ++linenum; ECHO;
1508 	YY_BREAK
1509 case 25:
1510 # line 171 "<stdin>"
1511 ++linenum; BEGIN(INITIAL);
1512 	YY_BREAK
1513 case 26:
1514 # line 172 "<stdin>"
1515 ECHO; CHECK_REJECT(yytext);
1516 	YY_BREAK
1517 case 27:
1518 # line 173 "<stdin>"
1519 ECHO; CHECK_YYMORE(yytext);
1520 	YY_BREAK
1521 case 28:
1522 # line 174 "<stdin>"
1523 ECHO;
1524 	YY_BREAK
1525 case 29:
1526 # line 175 "<stdin>"
1527 {
1528                         ++linenum;
1529                         ECHO;
1530                         if ( indented_code )
1531                             BEGIN(INITIAL);
1532                         }
1533 	YY_BREAK
1534 case 30:
1535 # line 183 "<stdin>"
1536 /* separates name and definition */
1537 	YY_BREAK
1538 case 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
1555 case 32:
1556 # line 200 "<stdin>"
1557 {
1558                         if ( ! didadef )
1559                             synerr( "incomplete name definition" );
1560                         BEGIN(INITIAL);
1561                         ++linenum;
1562                         }
1563 	YY_BREAK
1564 case 33:
1565 # line 207 "<stdin>"
1566 ++linenum; BEGIN(INITIAL); RETURNNAME;
1567 	YY_BREAK
1568 case 34:
1569 # line 210 "<stdin>"
1570 ++linenum; BEGIN(INITIAL);
1571 	YY_BREAK
1572 case 35:
1573 # line 211 "<stdin>"
1574 
1575 	YY_BREAK
1576 case 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
1585 case 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
1594 case 38:
1595 # line 224 "<stdin>"
1596 synerr( "unrecognized %used/%unused construct" );
1597 	YY_BREAK
1598 case 39:
1599 # line 227 "<stdin>"
1600 ++linenum; BEGIN(INITIAL);
1601 	YY_BREAK
1602 case 40:
1603 # line 228 "<stdin>"
1604 ++nuxlatns; new_xlation = true;
1605 	YY_BREAK
1606 case 41:
1607 # line 229 "<stdin>"
1608 synerr( "bad row in translation table" );
1609 	YY_BREAK
1610 case 42:
1611 # line 230 "<stdin>"
1612 /* ignore whitespace */
1613 	YY_BREAK
1614 case 43:
1615 # line 232 "<stdin>"
1616 {
1617                         xlation[myesc( yytext )] =
1618                                 (new_xlation ? nuxlatns : -nuxlatns);
1619                         new_xlation = false;
1620                         }
1621 	YY_BREAK
1622 case 44:
1623 # line 237 "<stdin>"
1624 {
1625                         xlation[yytext[0]] =
1626                                 (new_xlation ? nuxlatns : -nuxlatns);
1627                         new_xlation = false;
1628                         }
1629 	YY_BREAK
1630 case 45:
1631 # line 243 "<stdin>"
1632 ++linenum;
1633 	YY_BREAK
1634 case 46:
1635 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
1636 yy_c_buf_p = yy_cp -= 1;
1637 YY_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
1646 case 47:
1647 # line 253 "<stdin>"
1648 ++linenum; ACTION_ECHO;
1649 	YY_BREAK
1650 case YY_STATE_EOF(SECT2PROLOG):
1651 # line 255 "<stdin>"
1652 MARK_END_OF_PROLOG; yyterminate();
1653 	YY_BREAK
1654 case 49:
1655 # line 257 "<stdin>"
1656 ++linenum; /* allow blank lines in section 2 */
1657 	YY_BREAK
1658 case 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
1671 case 51:
1672 # line 270 "<stdin>"
1673 BEGIN(SC); return ( '<' );
1674 	YY_BREAK
1675 case 52:
1676 # line 271 "<stdin>"
1677 return ( '^' );
1678 	YY_BREAK
1679 case 53:
1680 # line 272 "<stdin>"
1681 BEGIN(QUOTE); return ( '"' );
1682 	YY_BREAK
1683 case 54:
1684 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
1685 yy_c_buf_p = yy_cp = yy_bp + 1;
1686 YY_DO_BEFORE_ACTION; /* set up yytext again */
1687 # line 273 "<stdin>"
1688 BEGIN(NUM); return ( '{' );
1689 	YY_BREAK
1690 case 55:
1691 # line 274 "<stdin>"
1692 BEGIN(BRACEERROR);
1693 	YY_BREAK
1694 case 56:
1695 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
1696 yy_c_buf_p = yy_cp = yy_bp + 1;
1697 YY_DO_BEFORE_ACTION; /* set up yytext again */
1698 # line 275 "<stdin>"
1699 return ( '$' );
1700 	YY_BREAK
1701 case 57:
1702 # line 277 "<stdin>"
1703 {
1704                         bracelevel = 1;
1705                         BEGIN(PERCENT_BRACE_ACTION);
1706                         return ( '\n' );
1707                         }
1708 	YY_BREAK
1709 case 58:
1710 # line 282 "<stdin>"
1711 cntdactn = true; ++linenum; return ( '\n' );
1712 	YY_BREAK
1713 case 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
1726 case 60:
1727 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
1728 yy_c_buf_p = yy_cp -= 1;
1729 YY_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
1738 case 61:
1739 # line 302 "<stdin>"
1740 ++linenum; return ( '\n' );
1741 	YY_BREAK
1742 case 62:
1743 # line 304 "<stdin>"
1744 return ( EOF_OP );
1745 	YY_BREAK
1746 case 63:
1747 # line 306 "<stdin>"
1748 {
1749                         sectnum = 3;
1750                         BEGIN(SECT3);
1751                         return ( EOF ); /* to stop the parser */
1752                         }
1753 	YY_BREAK
1754 case 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
1785 case 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
1806 case 66:
1807 # line 360 "<stdin>"
1808 return ( yytext[0] );
1809 	YY_BREAK
1810 case 67:
1811 # line 361 "<stdin>"
1812 RETURNCHAR;
1813 	YY_BREAK
1814 case 68:
1815 # line 362 "<stdin>"
1816 ++linenum; return ( '\n' );
1817 	YY_BREAK
1818 case 69:
1819 # line 365 "<stdin>"
1820 return ( ',' );
1821 	YY_BREAK
1822 case 70:
1823 # line 366 "<stdin>"
1824 BEGIN(SECT2); return ( '>' );
1825 	YY_BREAK
1826 case 71:
1827 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
1828 yy_c_buf_p = yy_cp = yy_bp + 1;
1829 YY_DO_BEFORE_ACTION; /* set up yytext again */
1830 # line 367 "<stdin>"
1831 BEGIN(CARETISBOL); return ( '>' );
1832 	YY_BREAK
1833 case 72:
1834 # line 368 "<stdin>"
1835 RETURNNAME;
1836 	YY_BREAK
1837 case 73:
1838 # line 369 "<stdin>"
1839 synerr( "bad start condition name" );
1840 	YY_BREAK
1841 case 74:
1842 # line 371 "<stdin>"
1843 BEGIN(SECT2); return ( '^' );
1844 	YY_BREAK
1845 case 75:
1846 # line 374 "<stdin>"
1847 RETURNCHAR;
1848 	YY_BREAK
1849 case 76:
1850 # line 375 "<stdin>"
1851 BEGIN(SECT2); return ( '"' );
1852 	YY_BREAK
1853 case 77:
1854 # line 377 "<stdin>"
1855 {
1856                         synerr( "missing quote" );
1857                         BEGIN(SECT2);
1858                         ++linenum;
1859                         return ( '"' );
1860                         }
1861 	YY_BREAK
1862 case 78:
1863 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
1864 yy_c_buf_p = yy_cp = yy_bp + 1;
1865 YY_DO_BEFORE_ACTION; /* set up yytext again */
1866 # line 385 "<stdin>"
1867 BEGIN(CCL); return ( '^' );
1868 	YY_BREAK
1869 case 79:
1870 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
1871 yy_c_buf_p = yy_cp = yy_bp + 1;
1872 YY_DO_BEFORE_ACTION; /* set up yytext again */
1873 # line 386 "<stdin>"
1874 return ( '^' );
1875 	YY_BREAK
1876 case 80:
1877 # line 387 "<stdin>"
1878 BEGIN(CCL); yylval = '-'; return ( CHAR );
1879 	YY_BREAK
1880 case 81:
1881 # line 388 "<stdin>"
1882 BEGIN(CCL); RETURNCHAR;
1883 	YY_BREAK
1884 case 82:
1885 *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
1886 yy_c_buf_p = yy_cp = yy_bp + 1;
1887 YY_DO_BEFORE_ACTION; /* set up yytext again */
1888 # line 390 "<stdin>"
1889 return ( '-' );
1890 	YY_BREAK
1891 case 83:
1892 # line 391 "<stdin>"
1893 RETURNCHAR;
1894 	YY_BREAK
1895 case 84:
1896 # line 392 "<stdin>"
1897 BEGIN(SECT2); return ( ']' );
1898 	YY_BREAK
1899 case 85:
1900 # line 395 "<stdin>"
1901 {
1902                         yylval = myctoi( yytext );
1903                         return ( NUMBER );
1904                         }
1905 	YY_BREAK
1906 case 86:
1907 # line 400 "<stdin>"
1908 return ( ',' );
1909 	YY_BREAK
1910 case 87:
1911 # line 401 "<stdin>"
1912 BEGIN(SECT2); return ( '}' );
1913 	YY_BREAK
1914 case 88:
1915 # line 403 "<stdin>"
1916 {
1917                         synerr( "bad character inside {}'s" );
1918                         BEGIN(SECT2);
1919                         return ( '}' );
1920                         }
1921 	YY_BREAK
1922 case 89:
1923 # line 409 "<stdin>"
1924 {
1925                         synerr( "missing }" );
1926                         BEGIN(SECT2);
1927                         ++linenum;
1928                         return ( '}' );
1929                         }
1930 	YY_BREAK
1931 case 90:
1932 # line 417 "<stdin>"
1933 synerr( "bad name in {}'s" ); BEGIN(SECT2);
1934 	YY_BREAK
1935 case 91:
1936 # line 418 "<stdin>"
1937 synerr( "missing }" ); ++linenum; BEGIN(SECT2);
1938 	YY_BREAK
1939 case 92:
1940 # line 421 "<stdin>"
1941 bracelevel = 0;
1942 	YY_BREAK
1943 case 93:
1944 # line 422 "<stdin>"
1945 {
1946                         ACTION_ECHO;
1947                         CHECK_REJECT(yytext);
1948                         }
1949 	YY_BREAK
1950 case 94:
1951 # line 426 "<stdin>"
1952 {
1953                         ACTION_ECHO;
1954                         CHECK_YYMORE(yytext);
1955                         }
1956 	YY_BREAK
1957 case 95:
1958 # line 430 "<stdin>"
1959 ACTION_ECHO;
1960 	YY_BREAK
1961 case 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 */
1978 case 97:
1979 # line 447 "<stdin>"
1980 ACTION_ECHO; ++bracelevel;
1981 	YY_BREAK
1982 case 98:
1983 # line 448 "<stdin>"
1984 ACTION_ECHO; --bracelevel;
1985 	YY_BREAK
1986 case 99:
1987 # line 449 "<stdin>"
1988 ACTION_ECHO;
1989 	YY_BREAK
1990 case 100:
1991 # line 450 "<stdin>"
1992 ACTION_ECHO;
1993 	YY_BREAK
1994 case 101:
1995 # line 451 "<stdin>"
1996 ACTION_ECHO; BEGIN(ACTION_COMMENT);
1997 	YY_BREAK
1998 case 102:
1999 # line 452 "<stdin>"
2000 ACTION_ECHO; /* character constant */
2001 	YY_BREAK
2002 case 103:
2003 # line 453 "<stdin>"
2004 ACTION_ECHO; BEGIN(ACTION_STRING);
2005 	YY_BREAK
2006 case 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
2018 case 105:
2019 # line 463 "<stdin>"
2020 ACTION_ECHO;
2021 	YY_BREAK
2022 case 106:
2023 # line 465 "<stdin>"
2024 ACTION_ECHO; BEGIN(ACTION);
2025 	YY_BREAK
2026 case 107:
2027 # line 466 "<stdin>"
2028 ACTION_ECHO;
2029 	YY_BREAK
2030 case 108:
2031 # line 467 "<stdin>"
2032 ACTION_ECHO;
2033 	YY_BREAK
2034 case 109:
2035 # line 468 "<stdin>"
2036 ++linenum; ACTION_ECHO;
2037 	YY_BREAK
2038 case 110:
2039 # line 469 "<stdin>"
2040 ACTION_ECHO;
2041 	YY_BREAK
2042 case 111:
2043 # line 471 "<stdin>"
2044 ACTION_ECHO;
2045 	YY_BREAK
2046 case 112:
2047 # line 472 "<stdin>"
2048 ACTION_ECHO;
2049 	YY_BREAK
2050 case 113:
2051 # line 473 "<stdin>"
2052 ++linenum; ACTION_ECHO;
2053 	YY_BREAK
2054 case 114:
2055 # line 474 "<stdin>"
2056 ACTION_ECHO; BEGIN(ACTION);
2057 	YY_BREAK
2058 case 115:
2059 # line 475 "<stdin>"
2060 ACTION_ECHO;
2061 	YY_BREAK
2062 case YY_STATE_EOF(ACTION):
2063 case YY_STATE_EOF(ACTION_COMMENT):
2064 case YY_STATE_EOF(ACTION_STRING):
2065 # line 477 "<stdin>"
2066 {
2067                         synerr( "EOF encountered inside an action" );
2068                         yyterminate();
2069                         }
2070 	YY_BREAK
2071 case 117:
2072 # line 483 "<stdin>"
2073 {
2074                         yylval = myesc( yytext );
2075                         return ( CHAR );
2076                         }
2077 	YY_BREAK
2078 case 118:
2079 # line 488 "<stdin>"
2080 {
2081                         yylval = myesc( yytext );
2082                         BEGIN(CCL);
2083                         return ( CHAR );
2084                         }
2085 	YY_BREAK
2086 case 119:
2087 # line 495 "<stdin>"
2088 ECHO;
2089 	YY_BREAK
2090 case 120:
2091 # line 496 "<stdin>"
2092 YY_FATAL_ERROR( "flex scanner jammed" );
2093 	YY_BREAK
2094 case YY_STATE_EOF(INITIAL):
2095 case YY_STATE_EOF(SECT2):
2096 case YY_STATE_EOF(SECT3):
2097 case YY_STATE_EOF(CODEBLOCK):
2098 case YY_STATE_EOF(PICKUPDEF):
2099 case YY_STATE_EOF(SC):
2100 case YY_STATE_EOF(CARETISBOL):
2101 case YY_STATE_EOF(NUM):
2102 case YY_STATE_EOF(QUOTE):
2103 case YY_STATE_EOF(FIRSTCCL):
2104 case YY_STATE_EOF(CCL):
2105 case YY_STATE_EOF(RECOVER):
2106 case YY_STATE_EOF(BRACEERROR):
2107 case YY_STATE_EOF(C_COMMENT):
2108 case YY_STATE_EOF(PERCENT_BRACE_ACTION):
2109 case YY_STATE_EOF(USED_LIST):
2110 case YY_STATE_EOF(CODEBLOCK_2):
2111 case 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 
yy_get_next_buffer()2240 static 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 
yy_get_previous_state()2321 static 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
yy_try_NUL_trans(register yy_ste_type yy_current_state)2359 static yy_ste_type yy_try_NUL_trans( register yy_ste_type yy_current_state )
2360 #else
2361 static yy_ste_type yy_try_NUL_trans( yy_current_state )
2362 register 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
yyunput(YY_CHAR c,register YY_CHAR * yy_bp)2387 static void yyunput( YY_CHAR c, register YY_CHAR *yy_bp )
2388 #else
2389 static void yyunput( c, yy_bp )
2390 YY_CHAR c;
2391 register 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
yyinput()2432 static int yyinput()
2433 #else
2434 static 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
yyrestrt(FILE * input_file)2500 void yyrestrt( FILE *input_file )
2501 #else
2502 void yyrestrt( input_file )
2503 FILE *input_file;
2504 #endif
2505 
2506     {
2507     yyinbffr( yy_current_buffer, input_file );
2508     yyldbfst();
2509     }
2510 
2511 
2512 #ifdef YY_USE_PROTOS
yyswtobf(YY_BUFFER_STATE new_buffer)2513 void yyswtobf( YY_BUFFER_STATE new_buffer )
2514 #else
2515 void yyswtobf( new_buffer )
2516 YY_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
yyldbfst(void)2544 void yyldbfst( void )
2545 #else
2546 void 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
yycrbffr(FILE * file,int size)2558 YY_BUFFER_STATE yycrbffr( FILE *file, int size )
2559 #else
2560 YY_BUFFER_STATE yycrbffr( file, size )
2561 FILE *file;
2562 int 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
yydlbffr(YY_BUFFER_STATE b)2590 void yydlbffr( YY_BUFFER_STATE b )
2591 #else
2592 void yydlbffr( b )
2593 YY_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
yyinbffr(YY_BUFFER_STATE b,FILE * file)2606 void yyinbffr( YY_BUFFER_STATE b, FILE *file )
2607 #else
2608 void yyinbffr( b, file )
2609 YY_BUFFER_STATE b;
2610 FILE *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 
yywrap()2638 int 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 
stinpfle(file)2654 void stinpfle( file )
2655 char *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