home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 3 / PDCD_3.iso / tex / texsrc2 / Src / web2c / c / Lex_yy < prev    next >
Encoding:
Text File  |  1993-05-21  |  32.4 KB  |  1,168 lines

  1. #define FLEX_COMPRESSED
  2. /* A lexical scanner generated by flex */
  3.  
  4. /* scanner skeleton version:
  5.  * $Header: flex.skel,v 2.0 89/06/20 15:49:46 vern Locked $
  6.  */
  7.  
  8. #include <stdio.h>
  9.  
  10. #define FLEX_SCANNER
  11.  
  12. /* amount of stuff to slurp up with each read */
  13. #ifndef YY_READ_BUF_SIZE
  14. #ifdef  LIM64K
  15. #define YY_READ_BUF_SIZE 1024
  16. #else
  17. #define YY_READ_BUF_SIZE 8192
  18. #endif
  19. #endif
  20.  
  21. #ifndef YY_BUF_SIZE
  22. #define YY_BUF_SIZE (YY_READ_BUF_SIZE * 2) /* size of input buffer */
  23. #endif
  24.  
  25. /* returned upon end-of-file */
  26. #define YY_END_TOK 0
  27.  
  28. /* copy whatever the last rule matched to the standard output */
  29.  
  30. #define ECHO fputs( yytext, yyout )
  31.  
  32. /* gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
  33.  * is returned in "result".
  34.  */
  35. #define YY_INPUT(buf,result,max_size) \
  36.         result = fread( buf, 1, max_size, yyin ); \
  37.     if ( ferror(yyin) ) \
  38.         YY_FATAL_ERROR( "fread() in flex scanner failed" );
  39.  
  40. #define YY_NULL 0
  41. #define yyterminate() return ( YY_NULL )
  42.  
  43. /* report a fatal error */
  44. #define YY_FATAL_ERROR(msg) \
  45.     { \
  46.     fputs( msg, stderr ); \
  47.     putc( '\n', stderr ); \
  48.     exit( 1 ); \
  49.     }
  50.  
  51. /* default yywrap function - always treat EOF as an EOF */
  52. #define yywrap() 1
  53.  
  54. /* enter a start condition.  This macro really ought to take a parameter,
  55.  * but we do it the disgusting crufty way forced on us by the ()-less
  56.  * definition of BEGIN
  57.  */
  58. #define BEGIN yy_start = 1 + 2 *
  59.  
  60. /* action number for EOF rule of a given start state */
  61. #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
  62.  
  63. /* special action meaning "start processing a new file" */
  64. #define YY_NEW_FILE goto new_file
  65.  
  66. /* default declaration of generated scanner - a define so the user can
  67.  * easily add parameters
  68.  */
  69. #ifdef __STDC__
  70. #define YY_DECL int yylex( void )
  71. #else
  72. #define YY_DECL int yylex()
  73. #endif
  74.  
  75. /* code executed at the end of each rule */
  76. #define YY_BREAK break;
  77.  
  78. #define YY_END_OF_BUFFER_CHAR 0
  79.  
  80. /* done after the current pattern has been matched and before the
  81.  * corresponding action - sets up yytext
  82.  */
  83. #define YY_DO_BEFORE_ACTION \
  84.     yytext = (char *)yy_bp; \
  85.     yy_hold_char = *yy_cp; \
  86.     *yy_cp = '\0'; \
  87.     yy_c_buf_p = yy_cp;
  88.  
  89. /* returns the length of the matched text */
  90. #define yyleng (yy_cp - yy_bp)
  91.  
  92. #define EOB_ACT_RESTART_SCAN 0
  93. #define EOB_ACT_END_OF_FILE 1
  94. #define EOB_ACT_LAST_MATCH 2
  95.  
  96. /* return all but the first 'n' matched characters back to the input stream */
  97. #define yyless(n) \
  98.     { \
  99.     *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \
  100.     yy_c_buf_p = yy_cp = yy_bp + n; \
  101.     YY_DO_BEFORE_ACTION; /* set up yytext again */ \
  102.     }
  103.  
  104. #define unput(c) yyunput( c, yy_bp )
  105.  
  106. #define YY_USER_ACTION
  107.  
  108. FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
  109. char *yytext;
  110.  
  111. #ifndef __STDC__
  112. #define const
  113. #endif
  114.  
  115. # line 1 "l.web2c"
  116. #define INITIAL 0
  117. # line 2 "l.web2c"
  118. /* web2c.lex -- lexical analysis for Tangle output.  */
  119.  
  120. #include "web2c.h"
  121. #ifdef RISCOS
  122. #include "Y_tab.h"
  123. #else
  124. #include "y.tab.h"
  125. #endif
  126.  
  127. /* For some reason flex wants to do a system call, so we must lose the
  128.    definition of the Pascal read that is in `pascal.h'.  */
  129. #undef read
  130.  
  131. char conditional[20], negbuf[2], temp[20];
  132. extern boolean doing_statements;
  133. # line 33 "l.web2c"
  134. #define YY_END_OF_BUFFER 72
  135. typedef int yy_state_type;
  136. static const short int yy_accept[265] =
  137.     {   0,
  138.         0,    0,   72,   70,    1,    1,    3,   70,   58,   59,
  139.        50,   48,   65,   49,   64,   51,   45,   67,   66,   54,
  140.        52,   55,   70,   69,   60,   61,   68,   69,   69,   69,
  141.        69,   69,   69,   69,   69,   69,   69,   69,   69,   69,
  142.        69,   69,   69,   69,   69,   69,    2,    1,    0,    0,
  143.        47,   63,    0,   45,    0,   62,   56,   53,   57,    0,
  144.         0,   69,   69,   69,   69,   69,   69,   69,   69,   17,
  145.        69,   69,   69,   69,   69,   69,   69,   25,   69,   69,
  146.        69,   29,   30,   69,   69,   69,   69,   69,   38,   69,
  147.        69,   69,   69,    0,    0,   46,   44,    0,   44,    0,
  148.  
  149.         0,   10,   69,   69,   69,   69,   69,   15,   69,   69,
  150.        20,   69,   22,   69,   69,    0,    0,    0,   69,    0,
  151.        69,   69,   27,   28,   69,   69,   69,   69,   69,   69,
  152.        69,   69,   41,   69,    0,   47,    0,    0,    0,   69,
  153.        69,   69,   13,   69,   69,   19,   69,   21,   69,   24,
  154.         0,    0,    0,    0,    0,    0,    0,   69,    0,    0,
  155.        69,   69,   69,   69,   69,   69,   69,   69,   37,   39,
  156.        69,   69,    0,    0,   44,    0,    0,   11,   12,   16,
  157.        14,   69,   69,   69,    0,    0,    0,    0,   35,   36,
  158.         0,    0,    0,   69,   69,   26,   69,   69,   69,   69,
  159.  
  160.        69,   69,   40,   42,    0,    0,    9,   18,    5,   69,
  161.         0,    0,    0,    0,   69,    4,   43,   69,   69,   69,
  162.        33,   34,    0,    8,   69,    0,    0,   69,    1,   69,
  163.        32,   23,    0,    0,   69,   69,    0,    0,    0,   31,
  164.         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  165.         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  166.         7,    0,    6,    0
  167.     } ;
  168.  
  169. static const char yy_ec[256] =
  170.     {   0,
  171.         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
  172.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  173.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  174.         1,    4,    1,    1,    5,    1,    1,    1,    6,    7,
  175.         8,    9,   10,   11,   12,   13,   14,   15,   16,   17,
  176.        17,   17,   17,   17,   17,   17,   17,   18,   19,   20,
  177.        21,   22,    1,   23,   24,   24,   24,   24,   24,   24,
  178.        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
  179.        24,   24,   24,   24,   24,   24,   24,   24,   24,   24,
  180.        25,    1,   26,   27,    1,    1,   28,   29,   30,   31,
  181.  
  182.        32,   33,   34,   35,   36,   37,   38,   39,   40,   41,
  183.        42,   43,   37,   44,   45,   46,   47,   48,   49,   37,
  184.        50,   37,   51,    1,   52,    1,    1,    1,    1,    1,
  185.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  186.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  187.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  188.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  189.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  190.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  191.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  192.  
  193.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  194.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  195.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  196.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  197.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  198.         1,    1,    1,    1,    1
  199.     } ;
  200.  
  201. static const char yy_meta[53] =
  202.     {   0,
  203.         1,    1,    1,    1,    1,    1,    2,    2,    1,    1,
  204.         2,    1,    1,    1,    3,    3,    3,    2,    1,    1,
  205.         1,    1,    1,    3,    1,    1,    1,    4,    4,    4,
  206.         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
  207.         4,    4,    4,    4,    4,    4,    4,    4,    4,    4,
  208.         1,    1
  209.     } ;
  210.  
  211. static const short int yy_base[274] =
  212.     {   0,
  213.         0,    0,  389,  390,   51,   54,  390,  382,  390,  390,
  214.       390,  390,  390,  390,  374,  390,   46,  365,  390,   43,
  215.       390,  364,   35,    0,  390,  390,  390,   26,   28,   41,
  216.        35,   34,   38,  342,  348,  349,  353,  338,  337,   43,
  217.        51,  346,   46,  336,  348,  340,  390,   88,  346,  367,
  218.       366,  390,   83,   88,   96,  390,  390,  390,  390,  339,
  219.       334,    0,  338,  324,  333,  334,  320,  323,  315,  313,
  220.       316,  329,  320,  314,  316,  310,  112,  324,  325,  322,
  221.       306,    0,    0,  316,  320,  307,   79,  316,    0,  304,
  222.       300,  301,  308,  313,  336,  335,  111,  117,  120,  307,
  223.  
  224.       307,    0,  310,  301,  308,  303,  289,    0,  292,  300,
  225.       295,  298,    0,  299,  286,  137,  318,  144,  298,  273,
  226.       292,  291,    0,    0,  290,  283,   52,  278,  287,  277,
  227.       285,  280,    0,  276,  276,  307,  142,  276,  272,  260,
  228.       268,  270,    0,  261,  260,    0,  272,    0,  258,    0,
  229.       275,  293,  162,  292,  102,  272,  247,  268,  245,  168,
  230.       263,  256,  250,  261,  260,  247,  246,  261,    0,    0,
  231.       249,  255,  254,  145,  161,  244,  253,    0,    0,    0,
  232.         0,  241,  275,  245,  249,  241,  241,  239,  390,  390,
  233.       217,  192,  194,  205,  235,    0,  196,  209,  208,  208,
  234.  
  235.       204,  188,    0,    0,  201,  199,  390,    0,  390,  188,
  236.       191,  219,  219,  188,  193,  390,    0,  214,  167,  172,
  237.         0,    0,  206,  390,  165,  168,  167,  163,  181,  149,
  238.         0,  188,  159,  158,  182,  150,    0,  175,  170,  164,
  239.       148,    0,  200,  137,  205,  111,  213,  105,  218,  103,
  240.        93,   94,  102,   80,   80,   95,   90,   66,   88,   71,
  241.       390,   74,  390,  390,  251,  253,  257,  261,  265,  269,
  242.       273,  276,   80
  243.     } ;
  244.  
  245. static const short int yy_def[274] =
  246.     {   0,
  247.       264,    1,  264,  264,  264,  264,  264,  265,  264,  264,
  248.       264,  264,  264,  264,  264,  264,  264,  264,  264,  264,
  249.       264,  264,  264,  266,  264,  264,  264,  266,  266,  266,
  250.       266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
  251.       266,  266,  266,  266,  266,  266,  264,  264,  264,  267,
  252.       264,  264,  264,  264,  264,  264,  264,  264,  264,  264,
  253.       264,  266,  266,  266,  266,  266,  266,  266,  266,  266,
  254.       266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
  255.       266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
  256.       266,  266,  266,  264,  267,  264,  264,  264,  264,  264,
  257.  
  258.       264,  266,  266,  266,  266,  266,  266,  266,  266,  266,
  259.       266,  266,  266,  266,  266,  264,  264,  264,  266,  268,
  260.       266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
  261.       266,  266,  266,  266,  264,  264,  264,  264,  264,  266,
  262.       266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
  263.       264,  269,  264,  264,  264,  264,  270,  266,  268,  264,
  264.       266,  266,  266,  266,  266,  266,  266,  266,  266,  266,
  265.       266,  266,  264,  264,  264,  264,  264,  266,  266,  266,
  266.       266,  266,  266,  266,  264,  269,  269,  271,  264,  264,
  267.       264,  270,  264,  266,  266,  266,  266,  266,  266,  266,
  268.  
  269.       266,  266,  266,  266,  264,  264,  264,  266,  264,  266,
  270.       264,  271,  271,  264,  266,  264,  266,  266,  266,  266,
  271.       266,  266,  264,  264,  266,  264,  264,  266,  264,  266,
  272.       266,  266,  264,  264,  266,  266,  272,  264,  264,  266,
  273.       272,  273,  264,  273,  264,  264,  264,  264,  264,  264,
  274.       264,  264,  264,  264,  264,  264,  264,  264,  264,  264,
  275.       264,  264,  264,    0,  264,  264,  264,  264,  264,  264,
  276.       264,  264,  264
  277.     } ;
  278.  
  279. static const short int yy_nxt[443] =
  280.     {   0,
  281.         4,    5,    6,    5,    7,    8,    9,   10,   11,   12,
  282.        13,   14,   15,   16,   17,   17,   17,   18,   19,   20,
  283.        21,   22,   23,   24,   25,   26,   27,   28,   29,   30,
  284.        31,   32,   33,   34,   35,   36,   24,   24,   37,   38,
  285.        39,   40,   41,   42,   24,   43,   44,   45,   46,   24,
  286.        47,    4,   48,   48,   48,   48,   48,   48,   53,   65,
  287.        54,   54,   54,   57,   58,   60,   63,   61,   67,   64,
  288.        69,   66,   71,   73,   72,   82,   70,   55,   85,   74,
  289.        88,  165,   68,  244,   75,  166,   83,   89,   84,   48,
  290.        48,   48,  263,   49,   86,   90,   49,   97,   97,   97,
  291.  
  292.        53,  262,   54,   54,   54,   98,  261,   98,  128,  260,
  293.        99,   99,   99,  116,  116,  116,  189,  190,  117,   55,
  294.       259,  129,  258,  257,  118,   97,   97,   97,  256,  255,
  295.        49,   99,   99,   99,   99,   99,   99,  254,  116,  116,
  296.       116,  253,  137,  117,  252,  153,  153,  153,  251,  118,
  297.       154,  174,  248,  174,  119,  247,  175,  175,  175,  175,
  298.       175,  175,  120,  153,  153,  153,  243,  242,  154,  116,
  299.       116,  116,  155,  193,  117,  175,  175,  175,  160,  151,
  300.       118,  240,   48,   48,   48,  160,  156,  120,  239,  238,
  301.       155,  237,  236,  235,  157,  153,  153,  153,  234,  233,
  302.  
  303.       154,  245,  245,  245,  156,  232,  245,  245,  245,  229,
  304.       151,  231,  157,  230,  249,  249,  249,  229,  120,  249,
  305.       249,  249,  155,   49,  228,  227,  193,  213,  226,  225,
  306.       224,  223,  246,  222,  221,  220,  156,  246,  219,  218,
  307.       217,  216,  215,  193,  157,  250,  214,  213,  160,  187,
  308.       250,   50,   50,   50,   50,   62,   62,   95,   95,   95,
  309.        95,  159,  159,  159,  159,  186,  186,  186,  186,  192,
  310.       192,  192,  192,  212,  212,  212,  212,  241,  211,  241,
  311.       210,  209,  208,  207,  206,  205,  204,  203,  202,  201,
  312.       200,  199,  198,  197,  196,  195,  160,  194,  193,  191,
  313.  
  314.       188,  187,  185,  184,  183,  182,  181,  180,  179,  178,
  315.       177,  176,   95,  173,  172,  171,  170,  169,  168,  167,
  316.       164,  163,  162,  161,  160,  158,  152,  150,  149,  148,
  317.       147,  146,  145,  144,  143,  142,  141,  140,  139,  138,
  318.        95,  136,  135,  134,  133,  132,  131,  130,  127,  126,
  319.       125,  124,  123,  122,  121,  115,  114,  113,  112,  111,
  320.       110,  109,  108,  107,  106,  105,  104,  103,  102,  101,
  321.       100,   50,   96,   94,   93,   92,   91,   87,   81,   80,
  322.        79,   78,   77,   76,   59,   56,   52,   51,  264,    3,
  323.       264,  264,  264,  264,  264,  264,  264,  264,  264,  264,
  324.  
  325.       264,  264,  264,  264,  264,  264,  264,  264,  264,  264,
  326.       264,  264,  264,  264,  264,  264,  264,  264,  264,  264,
  327.       264,  264,  264,  264,  264,  264,  264,  264,  264,  264,
  328.       264,  264,  264,  264,  264,  264,  264,  264,  264,  264,
  329.       264,  264
  330.     } ;
  331.  
  332. static const short int yy_chk[443] =
  333.     {   0,
  334.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  335.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  336.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  337.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  338.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  339.         1,    1,    5,    5,    5,    6,    6,    6,   17,   29,
  340.        17,   17,   17,   20,   20,   23,   28,   23,   30,   28,
  341.        31,   29,   32,   33,   32,   40,   31,   17,   41,   33,
  342.        43,  127,   30,  273,   33,  127,   40,   43,   40,   48,
  343.        48,   48,  262,    5,   41,   43,    6,   53,   53,   53,
  344.  
  345.        54,  260,   54,   54,   54,   55,  259,   55,   87,  258,
  346.        55,   55,   55,   77,   77,   77,  155,  155,   77,   54,
  347.       257,   87,  256,  255,   77,   97,   97,   97,  254,  253,
  348.        48,   98,   98,   98,   99,   99,   99,  252,  116,  116,
  349.       116,  251,   97,  116,  250,  118,  118,  118,  248,  116,
  350.       118,  137,  246,  137,   77,  244,  137,  137,  137,  174,
  351.       174,  174,   77,  153,  153,  153,  241,  240,  153,  160,
  352.       160,  160,  118,  239,  160,  175,  175,  175,  238,  116,
  353.       160,  236,  229,  229,  229,  235,  118,  116,  234,  233,
  354.       153,  232,  230,  228,  118,  193,  193,  193,  227,  226,
  355.  
  356.       193,  243,  243,  243,  153,  225,  245,  245,  245,  223,
  357.       160,  220,  153,  219,  247,  247,  247,  218,  160,  249,
  358.       249,  249,  193,  229,  215,  214,  213,  212,  211,  210,
  359.       206,  205,  243,  202,  201,  200,  193,  245,  199,  198,
  360.       197,  195,  194,  192,  193,  247,  191,  188,  187,  186,
  361.       249,  265,  265,  265,  265,  266,  266,  267,  267,  267,
  362.       267,  268,  268,  268,  268,  269,  269,  269,  269,  270,
  363.       270,  270,  270,  271,  271,  271,  271,  272,  185,  272,
  364.       184,  183,  182,  177,  176,  173,  172,  171,  168,  167,
  365.       166,  165,  164,  163,  162,  161,  159,  158,  157,  156,
  366.  
  367.       154,  152,  151,  149,  147,  145,  144,  142,  141,  140,
  368.       139,  138,  136,  135,  134,  132,  131,  130,  129,  128,
  369.       126,  125,  122,  121,  120,  119,  117,  115,  114,  112,
  370.       111,  110,  109,  107,  106,  105,  104,  103,  101,  100,
  371.        96,   95,   94,   93,   92,   91,   90,   88,   86,   85,
  372.        84,   81,   80,   79,   78,   76,   75,   74,   73,   72,
  373.        71,   70,   69,   68,   67,   66,   65,   64,   63,   61,
  374.        60,   51,   50,   49,   46,   45,   44,   42,   39,   38,
  375.        37,   36,   35,   34,   22,   18,   15,    8,    3,  264,
  376.       264,  264,  264,  264,  264,  264,  264,  264,  264,  264,
  377.  
  378.       264,  264,  264,  264,  264,  264,  264,  264,  264,  264,
  379.       264,  264,  264,  264,  264,  264,  264,  264,  264,  264,
  380.       264,  264,  264,  264,  264,  264,  264,  264,  264,  264,
  381.       264,  264,  264,  264,  264,  264,  264,  264,  264,  264,
  382.       264,  264
  383.     } ;
  384.  
  385. /* the intent behind this definition is that it'll catch
  386.  * any uses of REJECT which flex missed
  387.  */
  388. #define REJECT reject_used_but_not_detected
  389. #define yymore() yymore_used_but_not_detected
  390.  
  391. /* these variables are all declared out here so that section 3 code can
  392.  * manipulate them
  393.  */
  394. static unsigned char *yy_c_buf_p;    /* points to current character in buffer */
  395. static int yy_init = 1;        /* whether we need to initialize */
  396. static int yy_start = 0;    /* start state number */
  397.  
  398. /* true when we've seen an EOF for the current input file */
  399. static int yy_eof_has_been_seen;
  400.  
  401. static int yy_n_chars;        /* number of characters read into yy_ch_buf */
  402.  
  403. /* yy_ch_buf has to be 2 characters longer than YY_BUF_SIZE because we need
  404.  * to put in 2 end-of-buffer characters (this is explained where it is
  405.  * done) at the end of yy_ch_buf
  406.  */
  407. static unsigned char yy_ch_buf[YY_BUF_SIZE + 2];
  408.  
  409. /* yy_hold_char holds the character lost when yytext is formed */
  410. static unsigned char yy_hold_char;
  411.  
  412. static yy_state_type yy_last_accepting_state;
  413. static unsigned char *yy_last_accepting_cpos;
  414.  
  415. #ifdef __STDC__
  416. static yy_state_type yy_get_previous_state( void );
  417. static int yy_get_next_buffer( void );
  418. static void yyunput( int c, unsigned char *buf_ptr );
  419. static int input( void );
  420. static void yyrestart( FILE *input_file );
  421. #else
  422. static yy_state_type yy_get_previous_state();
  423. static int yy_get_next_buffer();
  424. static void yyunput();
  425. static int input();
  426. static void yyrestart();
  427. #endif
  428.  
  429. YY_DECL
  430.     {
  431.     register yy_state_type yy_current_state;
  432.     register unsigned char *yy_cp, *yy_bp;
  433.     register int yy_act;
  434.  
  435.  
  436.  
  437.     if ( yy_init )
  438.     {
  439.     if ( ! yy_start )
  440.         yy_start = 1;    /* first start state */
  441.  
  442.     if ( ! yyin )
  443.         yyin = stdin;
  444.  
  445.     if ( ! yyout )
  446.         yyout = stdout;
  447.  
  448. new_file:
  449.     /* this is where we enter upon encountering an end-of-file and
  450.      * yywrap() indicating that we should continue processing
  451.      */
  452.  
  453.     /* we put in the '\n' and start reading from [1] so that an
  454.      * initial match-at-newline will be true.
  455.      */
  456.  
  457.     yy_ch_buf[0] = '\n';
  458.     yy_n_chars = 1;
  459.  
  460.     /* we always need two end-of-buffer characters.  The first causes
  461.      * a transition to the end-of-buffer state.  The second causes
  462.      * a jam in that state.
  463.      */
  464.     yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
  465.     yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
  466.  
  467.     yy_eof_has_been_seen = 0;
  468.  
  469.     yytext = (char *)(yy_c_buf_p = &yy_ch_buf[1]);
  470.     yy_hold_char = *yy_c_buf_p;
  471.     yy_init = 0;
  472.     }
  473.  
  474.     while ( 1 )        /* loops until end-of-file is reached */
  475.     {
  476.     yy_cp = yy_c_buf_p;
  477.  
  478.     /* support of yytext */
  479.     *yy_cp = yy_hold_char;
  480.  
  481.     /* yy_bp points to the position in yy_ch_buf of the start of the
  482.      * current run.
  483.      */
  484.     yy_bp = yy_cp;
  485.  
  486.     yy_current_state = yy_start;
  487.     do
  488.         {
  489.         register unsigned char yy_c = yy_ec[*yy_cp];
  490.         if ( yy_accept[yy_current_state] )
  491.         {
  492.         yy_last_accepting_state = yy_current_state;
  493.         yy_last_accepting_cpos = yy_cp;
  494.         }
  495.         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
  496.         {
  497.         yy_current_state = yy_def[yy_current_state];
  498.         if ( yy_current_state >= 265 )
  499.             yy_c = yy_meta[yy_c];
  500.         }
  501.         yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
  502.         ++yy_cp;
  503.         }
  504.     while ( yy_current_state != 264 );
  505.     yy_cp = yy_last_accepting_cpos;
  506.     yy_current_state = yy_last_accepting_state;
  507.  
  508.     /* bogus while loop to let YY_BACK_TRACK, EOB_ACT_LAST_MATCH,
  509.      * and EOF actions branch here without introducing an optimizer-
  510.      * daunting goto
  511.      */
  512.     while ( 1 )
  513.         {
  514.         yy_act = yy_accept[yy_current_state];
  515.  
  516.         YY_DO_BEFORE_ACTION;
  517.         YY_USER_ACTION;
  518.  
  519. #ifdef FLEX_DEBUG
  520.         fprintf( stderr, "--accepting rule #%d (\"%s\")\n",
  521.              yy_act, yytext );
  522. #endif
  523.  
  524. do_action:    /* this label is used only to access EOF actions */
  525.         switch ( yy_act )
  526.         {
  527.         case 0: /* must backtrack */
  528.         /* undo the effects of YY_DO_BEFORE_ACTION */
  529.         *yy_cp = yy_hold_char;
  530.         yy_cp = yy_last_accepting_cpos;
  531.         yy_current_state = yy_last_accepting_state;
  532.         continue; /* go to "YY_DO_BEFORE_ACTION" */
  533.  
  534. case 1:
  535. # line 34 "l.web2c"
  536. ;
  537.     YY_BREAK
  538. case 2:
  539. # line 35 "l.web2c"
  540. {while (input() != '}') ;}
  541.     YY_BREAK
  542. case 3:
  543. # line 37 "l.web2c"
  544. {
  545.             register int c;
  546.             (void) putc('#', std);
  547.             while ((c = input()) && c != ';')
  548.             (void) putc(c, std);
  549.             (void) putc('\n', std);
  550.         }
  551.     YY_BREAK
  552. case 4:
  553. # line 45 "l.web2c"
  554. {register int c;
  555.          extern char my_routine[];
  556.          register char *cp=conditional;
  557.          new_line();
  558.          (void) input();
  559.          while ((c = input()) != '\'')
  560.             *cp++ = c;
  561.          *cp = '\0';
  562.          (void) input();
  563.          if (doing_statements) fputs("\t;\n", std);
  564.          (void) fprintf(std,
  565.             "#ifdef %s\n", conditional);
  566.         }
  567.     YY_BREAK
  568. case 5:
  569. # line 59 "l.web2c"
  570. {register int c;
  571.          new_line();
  572.          fputs("#endif /* ", std);
  573.          (void) input();
  574.          while ((c = input()) != '\'')
  575.             (void) putc(c, std);
  576.          (void) input();
  577.          conditional[0] = '\0';
  578.          fputs(" */\n", std);
  579.         }
  580.     YY_BREAK
  581. case 6:
  582. # line 70 "l.web2c"
  583. ;
  584.     YY_BREAK
  585. case 7:
  586. # line 72 "l.web2c"
  587. ;
  588.     YY_BREAK
  589. case 8:
  590. # line 74 "l.web2c"
  591. return last_tok=define_tok;
  592.     YY_BREAK
  593. case 9:
  594. # line 75 "l.web2c"
  595. return last_tok=field_tok;
  596.     YY_BREAK
  597. case 10:
  598. # line 76 "l.web2c"
  599. return last_tok=and_tok;
  600.     YY_BREAK
  601. case 11:
  602. # line 77 "l.web2c"
  603. return last_tok=array_tok;
  604.     YY_BREAK
  605. case 12:
  606. # line 78 "l.web2c"
  607. return last_tok=begin_tok;
  608.     YY_BREAK
  609. case 13:
  610. # line 79 "l.web2c"
  611. return last_tok=case_tok;
  612.     YY_BREAK
  613. case 14:
  614. # line 80 "l.web2c"
  615. return last_tok=const_tok;
  616.     YY_BREAK
  617. case 15:
  618. # line 81 "l.web2c"
  619. return last_tok=div_tok;
  620.     YY_BREAK
  621. case 16:
  622. # line 82 "l.web2c"
  623. return last_tok=break_tok;
  624.     YY_BREAK
  625. case 17:
  626. # line 83 "l.web2c"
  627. return last_tok=do_tok;
  628.     YY_BREAK
  629. case 18:
  630. # line 84 "l.web2c"
  631. return last_tok=downto_tok;
  632.     YY_BREAK
  633. case 19:
  634. # line 85 "l.web2c"
  635. return last_tok=else_tok;
  636.     YY_BREAK
  637. case 20:
  638. # line 86 "l.web2c"
  639. return last_tok=end_tok;
  640.     YY_BREAK
  641. case 21:
  642. # line 87 "l.web2c"
  643. return last_tok=file_tok;
  644.     YY_BREAK
  645. case 22:
  646. # line 88 "l.web2c"
  647. return last_tok=for_tok;
  648.     YY_BREAK
  649. case 23:
  650. # line 89 "l.web2c"
  651. return last_tok=function_tok;
  652.     YY_BREAK
  653. case 24:
  654. # line 90 "l.web2c"
  655. return last_tok=goto_tok;
  656.     YY_BREAK
  657. case 25:
  658. # line 91 "l.web2c"
  659. return last_tok=if_tok;
  660.     YY_BREAK
  661. case 26:
  662. # line 92 "l.web2c"
  663. return last_tok=label_tok;
  664.     YY_BREAK
  665. case 27:
  666. # line 93 "l.web2c"
  667. return last_tok=mod_tok;
  668.     YY_BREAK
  669. case 28:
  670. # line 94 "l.web2c"
  671. return last_tok=not_tok;
  672.     YY_BREAK
  673. case 29:
  674. # line 95 "l.web2c"
  675. return last_tok=of_tok;
  676.     YY_BREAK
  677. case 30:
  678. # line 96 "l.web2c"
  679. return last_tok=or_tok;
  680.     YY_BREAK
  681. case 31:
  682. # line 97 "l.web2c"
  683. return last_tok=procedure_tok;
  684.     YY_BREAK
  685. case 32:
  686. # line 98 "l.web2c"
  687. return last_tok=program_tok;
  688.     YY_BREAK
  689. case 33:
  690. # line 99 "l.web2c"
  691. return last_tok=record_tok;
  692.     YY_BREAK
  693. case 34:
  694. # line 100 "l.web2c"
  695. return last_tok=repeat_tok;
  696.     YY_BREAK
  697. case 35:
  698. # line 101 "l.web2c"
  699. return last_tok=hhb0_tok;
  700.     YY_BREAK
  701. case 36:
  702. # line 102 "l.web2c"
  703. return last_tok=hhb1_tok;
  704.     YY_BREAK
  705. case 37:
  706. # line 103 "l.web2c"
  707. return last_tok=then_tok;
  708.     YY_BREAK
  709. case 38:
  710. # line 104 "l.web2c"
  711. return last_tok=to_tok;
  712.     YY_BREAK
  713. case 39:
  714. # line 105 "l.web2c"
  715. return last_tok=type_tok;
  716.     YY_BREAK
  717. case 40:
  718. # line 106 "l.web2c"
  719. return last_tok=until_tok;
  720.     YY_BREAK
  721. case 41:
  722. # line 107 "l.web2c"
  723. return last_tok=var_tok;
  724.     YY_BREAK
  725. case 42:
  726. # line 108 "l.web2c"
  727. return last_tok=while_tok;
  728.     YY_BREAK
  729. case 43:
  730. # line 109 "l.web2c"
  731. return last_tok=others_tok;
  732.     YY_BREAK
  733. case 44:
  734. # line 111 "l.web2c"
  735. {        
  736.           (void) sprintf(temp, "%s%s", negbuf, yytext);
  737.           negbuf[0] = '\0';
  738.           return last_tok=r_num_tok;
  739.         }
  740.     YY_BREAK
  741. case 45:
  742. # line 117 "l.web2c"
  743. {
  744.           (void) sprintf(temp, "%s%s", negbuf, yytext);
  745.           negbuf[0] = '\0';
  746.           return last_tok=i_num_tok;
  747.         }
  748.     YY_BREAK
  749. case 46:
  750. # line 123 "l.web2c"
  751. return last_tok=single_char_tok;
  752.     YY_BREAK
  753. case 47:
  754. # line 125 "l.web2c"
  755. return last_tok=string_literal_tok;
  756.     YY_BREAK
  757. case 48:
  758. # line 127 "l.web2c"
  759. { if ((last_tok>=undef_id_tok &&
  760.               last_tok<=field_id_tok) ||
  761.               last_tok==i_num_tok ||
  762.               last_tok==r_num_tok ||
  763.               last_tok==')' ||
  764.               last_tok==']')
  765.            return last_tok='+';
  766.         else return last_tok=unary_plus_tok; }
  767.     YY_BREAK
  768. case 49:
  769. # line 136 "l.web2c"
  770. { if ((last_tok>=undef_id_tok &&
  771.               last_tok<=field_id_tok) ||
  772.               last_tok==i_num_tok ||
  773.               last_tok==r_num_tok ||
  774.               last_tok==')' ||
  775.               last_tok==']')
  776.            return last_tok='-';
  777.         else {
  778.           int c;
  779.           while ((c = input()) == ' ' || c == '\t')
  780.                     ;
  781.             unput(c);
  782.           if (c < '0' || c > '9') {
  783.             return last_tok = unary_minus_tok;
  784.           }
  785.           negbuf[0] = '-';
  786.         }}
  787.     YY_BREAK
  788. case 50:
  789. # line 154 "l.web2c"
  790. return last_tok='*';
  791.     YY_BREAK
  792. case 51:
  793. # line 155 "l.web2c"
  794. return last_tok='/';
  795.     YY_BREAK
  796. case 52:
  797. # line 156 "l.web2c"
  798. return last_tok='=';
  799.     YY_BREAK
  800. case 53:
  801. # line 157 "l.web2c"
  802. return last_tok=not_eq_tok;
  803.     YY_BREAK
  804. case 54:
  805. # line 158 "l.web2c"
  806. return last_tok='<';
  807.     YY_BREAK
  808. case 55:
  809. # line 159 "l.web2c"
  810. return last_tok='>';
  811.     YY_BREAK
  812. case 56:
  813. # line 160 "l.web2c"
  814. return last_tok=less_eq_tok;
  815.     YY_BREAK
  816. case 57:
  817. # line 161 "l.web2c"
  818. return last_tok=great_eq_tok;
  819.     YY_BREAK
  820. case 58:
  821. # line 162 "l.web2c"
  822. return last_tok='(';
  823.     YY_BREAK
  824. case 59:
  825. # line 163 "l.web2c"
  826. return last_tok=')';
  827.     YY_BREAK
  828. case 60:
  829. # line 164 "l.web2c"
  830. return last_tok='[';
  831.     YY_BREAK
  832. case 61:
  833. # line 165 "l.web2c"
  834. return last_tok=']';
  835.     YY_BREAK
  836. case 62:
  837. # line 166 "l.web2c"
  838. return last_tok=assign_tok;
  839.     YY_BREAK
  840. case 63:
  841. # line 167 "l.web2c"
  842. return last_tok=two_dots_tok;
  843.     YY_BREAK
  844. case 64:
  845. # line 168 "l.web2c"
  846. return last_tok='.';
  847.     YY_BREAK
  848. case 65:
  849. # line 169 "l.web2c"
  850. return last_tok=',';
  851.     YY_BREAK
  852. case 66:
  853. # line 170 "l.web2c"
  854. return last_tok=';';
  855.     YY_BREAK
  856. case 67:
  857. # line 171 "l.web2c"
  858. return last_tok=':';
  859.     YY_BREAK
  860. case 68:
  861. # line 172 "l.web2c"
  862. return last_tok='^';
  863.     YY_BREAK
  864. case 69:
  865. # line 174 "l.web2c"
  866. { (void) strcpy (last_id, yytext);
  867.           l_s = search_table (last_id);
  868.           return
  869.                     last_tok = (l_s == -1 ? undef_id_tok : sym_table[l_s].typ);
  870.         }
  871.     YY_BREAK
  872. case 70:
  873. # line 181 "l.web2c"
  874. { /* Any bizarre token will do.  */
  875.           return last_tok = two_dots_tok; }
  876.     YY_BREAK
  877. case 71:
  878. # line 183 "l.web2c"
  879. ECHO;
  880.     YY_BREAK
  881. case YY_STATE_EOF(INITIAL):
  882.     yyterminate();
  883.  
  884.         case YY_END_OF_BUFFER:
  885.             /* undo the effects of YY_DO_BEFORE_ACTION */
  886.             *yy_cp = yy_hold_char;
  887.  
  888.             yytext = (char *)yy_bp;
  889.  
  890.             switch ( yy_get_next_buffer() )
  891.             {
  892.             case EOB_ACT_END_OF_FILE:
  893.                 {
  894.                 if ( yywrap() )
  895.                 {
  896.                 /* note: because we've taken care in
  897.                  * yy_get_next_buffer() to have set up yytext,
  898.                  * we can now set up yy_c_buf_p so that if some
  899.                  * total hoser (like flex itself) wants
  900.                  * to call the scanner after we return the
  901.                  * YY_NULL, it'll still work - another YY_NULL
  902.                  * will get returned.
  903.                  */
  904.                 yy_c_buf_p = (unsigned char *)yytext;
  905.  
  906.                 yy_act = YY_STATE_EOF((yy_start - 1) / 2);
  907.                 goto do_action;
  908.                 }
  909.  
  910.                 else
  911.                 YY_NEW_FILE;
  912.                 }
  913.                 break;
  914.  
  915.             case EOB_ACT_RESTART_SCAN:
  916.                 yy_c_buf_p = (unsigned char *)yytext;
  917.                 yy_hold_char = *yy_c_buf_p;
  918.                 break;
  919.  
  920.             case EOB_ACT_LAST_MATCH:
  921.                 yy_c_buf_p = &yy_ch_buf[yy_n_chars];
  922.  
  923.                 yy_current_state = yy_get_previous_state();
  924.  
  925.                 yy_cp = yy_c_buf_p;
  926.                 yy_bp = (unsigned char *)yytext;
  927.                 continue; /* go to "YY_DO_BEFORE_ACTION" */
  928.             }
  929.             break;
  930.  
  931.         default:
  932.             printf( "action # %d\n", yy_act );
  933.             YY_FATAL_ERROR( "fatal flex scanner internal error" );
  934.         }
  935.  
  936.         break; /* exit bogus while loop */
  937.         }
  938.     }
  939.     }
  940.  
  941.  
  942. /* yy_get_next_buffer - try to read in new buffer
  943.  *
  944.  * synopsis
  945.  *     int yy_get_next_buffer();
  946.  *
  947.  * returns a code representing an action
  948.  *     EOB_ACT_LAST_MATCH -
  949.  *     EOB_ACT_RESTART_SCAN - restart the scanner
  950.  *     EOB_ACT_END_OF_FILE - end of file
  951.  */
  952.  
  953. static int yy_get_next_buffer()
  954.  
  955.     {
  956.     register unsigned char *dest = yy_ch_buf;
  957.     register unsigned char *source = (unsigned char *)yytext - 1; /* copy prev. char, too */
  958.     register int number_to_move, i;
  959.     int ret_val;
  960.  
  961.     if ( yy_c_buf_p != &yy_ch_buf[yy_n_chars + 1] )
  962.     {
  963.     fprintf(stderr, "\nyy_c_buf_p = %8lx  &yy_ch_buf[%ld + 1] = %8lx\n",
  964.                      (long)yy_c_buf_p, (long)yy_n_chars, (long)&yy_ch_buf[yy_n_chars+1]);
  965.     YY_FATAL_ERROR( "NULL in input" );
  966.     /*NOTREACHED*/
  967.     }
  968.  
  969.     /* try to read more data */
  970.  
  971.     /* first move last chars to start of buffer */
  972.     number_to_move = yy_c_buf_p - (unsigned char *)yytext;
  973.  
  974.     for ( i = 0; i < number_to_move; ++i )
  975.     *(dest++) = *(source++);
  976.  
  977.     if ( yy_eof_has_been_seen )
  978.     /* don't do the read, it's not guaranteed to return an EOF,
  979.      * just force an EOF
  980.      */
  981.     yy_n_chars = 0;
  982.  
  983.     else
  984.     {
  985.     int num_to_read = YY_BUF_SIZE - number_to_move - 1;
  986.  
  987.     if ( num_to_read > YY_READ_BUF_SIZE )
  988.         num_to_read = YY_READ_BUF_SIZE;
  989.  
  990.     /* read in more data */
  991.     YY_INPUT( (&yy_ch_buf[number_to_move]), yy_n_chars, num_to_read );
  992.     }
  993.  
  994.     if ( yy_n_chars == 0 )
  995.     {
  996.     if ( number_to_move == 1 )
  997.         ret_val = EOB_ACT_END_OF_FILE;
  998.     else
  999.         ret_val = EOB_ACT_LAST_MATCH;
  1000.  
  1001.     yy_eof_has_been_seen = 1;
  1002.     }
  1003.  
  1004.     else
  1005.     ret_val = EOB_ACT_RESTART_SCAN;
  1006.  
  1007.     yy_n_chars += number_to_move;
  1008.     yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
  1009.     yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
  1010.  
  1011.     /* yytext begins at the second character in
  1012.      * yy_ch_buf; the first character is the one which
  1013.      * preceded it before reading in the latest buffer;
  1014.      * it needs to be kept around in case it's a
  1015.      * newline, so yy_get_previous_state() will have
  1016.      * with '^' rules active
  1017.      */
  1018.  
  1019.     yytext = (char *)&yy_ch_buf[1];
  1020.  
  1021.     return ( ret_val );
  1022.     }
  1023.  
  1024.  
  1025. /* yy_get_previous_state - get the state just before the EOB char was reached
  1026.  *
  1027.  * synopsis
  1028.  *     yy_state_type yy_get_previous_state();
  1029.  */
  1030.  
  1031. static yy_state_type yy_get_previous_state()
  1032.  
  1033.     {
  1034.     register yy_state_type yy_current_state;
  1035.     register unsigned char *yy_cp;
  1036.  
  1037.     yy_current_state = yy_start;
  1038.  
  1039.     for ( yy_cp = (unsigned char *)yytext; yy_cp < yy_c_buf_p; ++yy_cp )
  1040.     {
  1041.     register unsigned char yy_c = yy_ec[*yy_cp];
  1042.     if ( yy_accept[yy_current_state] )
  1043.         {
  1044.         yy_last_accepting_state = yy_current_state;
  1045.         yy_last_accepting_cpos = yy_cp;
  1046.         }
  1047.     while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
  1048.         {
  1049.         yy_current_state = yy_def[yy_current_state];
  1050.         if ( yy_current_state >= 265 )
  1051.         yy_c = yy_meta[yy_c];
  1052.         }
  1053.     yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
  1054.     }
  1055.  
  1056.     return ( yy_current_state );
  1057.     }
  1058.  
  1059.  
  1060. #ifdef __STDC__
  1061. static void yyunput( int c, register unsigned char *yy_bp )
  1062. #else
  1063. static void yyunput( c, yy_bp )
  1064. int c;
  1065. register unsigned char *yy_bp;
  1066. #endif
  1067.  
  1068.     {
  1069.     register unsigned char *yy_cp = yy_c_buf_p;
  1070.  
  1071.     *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
  1072.  
  1073.     if ( yy_cp < yy_ch_buf + 2 )
  1074.     { /* need to shift things up to make room */
  1075.     register int number_to_move = yy_n_chars + 2; /* +2 for EOB chars */
  1076.     register unsigned char *dest = &yy_ch_buf[YY_BUF_SIZE + 2];
  1077.     register unsigned char *source = &yy_ch_buf[number_to_move];
  1078.  
  1079.     while ( source > yy_ch_buf )
  1080.         *--dest = *--source;
  1081.  
  1082.     yy_cp += dest - source;
  1083.     yy_bp += dest - source;
  1084.  
  1085.     if ( yy_cp < yy_ch_buf + 2 )
  1086.         YY_FATAL_ERROR( "flex scanner push-back overflow" );
  1087.     }
  1088.  
  1089.     if ( yy_cp > yy_bp && yy_cp[-1] == '\n' )
  1090.     yy_cp[-2] = '\n';
  1091.  
  1092.     *--yy_cp = c;
  1093.  
  1094.     YY_DO_BEFORE_ACTION; /* set up yytext again */
  1095.     }
  1096.  
  1097.  
  1098. static int input()
  1099.  
  1100.     {
  1101.     int c;
  1102.     unsigned char *yy_cp = yy_c_buf_p;
  1103.  
  1104.     *yy_cp = yy_hold_char;
  1105.  
  1106.     if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
  1107.     { /* need more input */
  1108.     yytext = (char *)yy_c_buf_p;
  1109.     ++yy_c_buf_p;
  1110.  
  1111.     switch ( yy_get_next_buffer() )
  1112.         {
  1113.         /* this code, unfortunately, is somewhat redundant with
  1114.          * that above
  1115.          */
  1116.         case EOB_ACT_END_OF_FILE:
  1117.         {
  1118.         if ( yywrap() )
  1119.             {
  1120.             yy_c_buf_p = (unsigned char *)yytext;
  1121.             return ( EOF );
  1122.             }
  1123.  
  1124.         yy_ch_buf[0] = '\n';
  1125.         yy_n_chars = 1;
  1126.         yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
  1127.         yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
  1128.         yy_eof_has_been_seen = 0;
  1129.         yytext = (char *)(yy_c_buf_p = &yy_ch_buf[1]);
  1130.         yy_hold_char = *yy_c_buf_p;
  1131.  
  1132.         return ( input() );
  1133.         }
  1134.         break;
  1135.  
  1136.         case EOB_ACT_RESTART_SCAN:
  1137.         yy_c_buf_p = (unsigned char *)yytext;
  1138.         break;
  1139.  
  1140.         case EOB_ACT_LAST_MATCH:
  1141.         YY_FATAL_ERROR( "unexpected last match in input()" );
  1142.         }
  1143.     }
  1144.  
  1145.     c = *yy_c_buf_p;
  1146.     yy_hold_char = *++yy_c_buf_p;
  1147.  
  1148.     return ( c );
  1149.     }
  1150.  
  1151.  
  1152. #ifdef __STDC__
  1153. static void yyrestart( FILE *input_file )
  1154. #else
  1155. static void yyrestart( input_file )
  1156. FILE *input_file;
  1157. #endif
  1158.  
  1159.     {
  1160.     if ( yyin != stdin )
  1161.     fclose( yyin );
  1162.  
  1163.     yyin = input_file;
  1164.     yy_init = 1;
  1165.     }
  1166. # line 183 "l.web2c"
  1167.  
  1168.