home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 22 gnu / 22-gnu.zip / flex254.zip / scan.c < prev    next >
C/C++ Source or Header  |  1998-02-15  |  115KB  |  3,701 lines

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