Annotation of 43BSDReno/pgrm/lex/initscan.c, revision 1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.