config_scan.c
上传用户:zm130024
上传日期:2007-01-04
资源大小:432k
文件大小:90k
源码类别:

代理服务器

开发平台:

Unix_Linux

  1. #define yy_create_buffer socks_yy_create_buffer
  2. #define yy_delete_buffer socks_yy_delete_buffer
  3. #define yy_scan_buffer socks_yy_scan_buffer
  4. #define yy_scan_string socks_yy_scan_string
  5. #define yy_scan_bytes socks_yy_scan_bytes
  6. #define yy_flex_debug socks_yy_flex_debug
  7. #define yy_init_buffer socks_yy_init_buffer
  8. #define yy_flush_buffer socks_yy_flush_buffer
  9. #define yy_load_buffer_state socks_yy_load_buffer_state
  10. #define yy_switch_to_buffer socks_yy_switch_to_buffer
  11. #define yyin socks_yyin
  12. #define yyleng socks_yyleng
  13. #define yylex socks_yylex
  14. #define yyout socks_yyout
  15. #define yyrestart socks_yyrestart
  16. #define yytext socks_yytext
  17. #define yylineno socks_yylineno
  18. #line 20 "lex.yy.c"
  19. /* $OpenBSD: flex.skl,v 1.5 1997/07/25 21:05:28 mickey Exp $ */
  20. /* A lexical scanner generated by flex */
  21. /* Scanner skeleton version:
  22.  * $Header: /cvs/src/usr.bin/lex/flex.skl,v 1.5 1997/07/25 21:05:28 mickey Exp $
  23.  */
  24. #define FLEX_SCANNER
  25. #define YY_FLEX_MAJOR_VERSION 2
  26. #define YY_FLEX_MINOR_VERSION 5
  27. #include <stdio.h>
  28. /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
  29. #ifdef c_plusplus
  30. #ifndef __cplusplus
  31. #define __cplusplus
  32. #endif
  33. #endif
  34. #ifdef __cplusplus
  35. #include <stdlib.h>
  36. #include <unistd.h>
  37. /* Use prototypes in function declarations. */
  38. #define YY_USE_PROTOS
  39. /* The "const" storage-class-modifier is valid. */
  40. #define YY_USE_CONST
  41. #else /* ! __cplusplus */
  42. #ifdef __STDC__
  43. #define YY_USE_PROTOS
  44. #define YY_USE_CONST
  45. #endif /* __STDC__ */
  46. #endif /* ! __cplusplus */
  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. #ifdef YY_USE_CONST
  56. #define yyconst const
  57. #else
  58. #define yyconst
  59. #endif
  60. #ifdef YY_USE_PROTOS
  61. #define YY_PROTO(proto) proto
  62. #else
  63. #define YY_PROTO(proto) ()
  64. #endif
  65. /* Returned upon end-of-file. */
  66. #define YY_NULL 0
  67. /* Promotes a possibly negative, possibly signed char to an unsigned
  68.  * integer for use as an array index.  If the signed char is negative,
  69.  * we want to instead treat it as an 8-bit unsigned char, hence the
  70.  * double cast.
  71.  */
  72. #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
  73. /* Enter a start condition.  This macro really ought to take a parameter,
  74.  * but we do it the disgusting crufty way forced on us by the ()-less
  75.  * definition of BEGIN.
  76.  */
  77. #define BEGIN yy_start = 1 + 2 *
  78. /* Translate the current start state into a value that can be later handed
  79.  * to BEGIN to return to the state.  The YYSTATE alias is for lex
  80.  * compatibility.
  81.  */
  82. #define YY_START ((yy_start - 1) / 2)
  83. #define YYSTATE YY_START
  84. /* Action number for EOF rule of a given start state. */
  85. #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
  86. /* Special action meaning "start processing a new file". */
  87. #define YY_NEW_FILE yyrestart( yyin )
  88. #define YY_END_OF_BUFFER_CHAR 0
  89. /* Size of default input buffer. */
  90. #define YY_BUF_SIZE 16384
  91. typedef struct yy_buffer_state *YY_BUFFER_STATE;
  92. extern int yyleng;
  93. extern FILE *yyin, *yyout;
  94. #define EOB_ACT_CONTINUE_SCAN 0
  95. #define EOB_ACT_END_OF_FILE 1
  96. #define EOB_ACT_LAST_MATCH 2
  97. /* The funky do-while in the following #define is used to turn the definition
  98.  * int a single C statement (which needs a semi-colon terminator).  This
  99.  * avoids problems with code like:
  100.  *
  101.  *  if ( condition_holds )
  102.  * yyless( 5 );
  103.  * else
  104.  * do_something_else();
  105.  *
  106.  * Prior to using the do-while the compiler would get upset at the
  107.  * "else" because it interpreted the "if" statement as being all
  108.  * done when it reached the ';' after the yyless() call.
  109.  */
  110. /* Return all but the first 'n' matched characters back to the input stream. */
  111. #define yyless(n) 
  112. do 
  113. /* Undo effects of setting up yytext. */ 
  114. *yy_cp = yy_hold_char; 
  115. YY_RESTORE_YY_MORE_OFFSET 
  116. yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; 
  117. YY_DO_BEFORE_ACTION; /* set up yytext again */ 
  118. while ( 0 )
  119. #define unput(c) yyunput( c, yytext_ptr )
  120. /* The following is because we cannot portably get our hands on size_t
  121.  * (without autoconf's help, which isn't available because we want
  122.  * flex-generated scanners to compile on their own).
  123.  */
  124. typedef unsigned int yy_size_t;
  125. struct yy_buffer_state
  126. {
  127. FILE *yy_input_file;
  128. char *yy_ch_buf; /* input buffer */
  129. char *yy_buf_pos; /* current position in input buffer */
  130. /* Size of input buffer in bytes, not including room for EOB
  131.  * characters.
  132.  */
  133. yy_size_t yy_buf_size;
  134. /* Number of characters read into yy_ch_buf, not including EOB
  135.  * characters.
  136.  */
  137. int yy_n_chars;
  138. /* Whether we "own" the buffer - i.e., we know we created it,
  139.  * and can realloc() it to grow it, and should free() it to
  140.  * delete it.
  141.  */
  142. int yy_is_our_buffer;
  143. /* Whether this is an "interactive" input source; if so, and
  144.  * if we're using stdio for input, then we want to use getc()
  145.  * instead of fread(), to make sure we stop fetching input after
  146.  * each newline.
  147.  */
  148. int yy_is_interactive;
  149. /* Whether we're considered to be at the beginning of a line.
  150.  * If so, '^' rules will be active on the next match, otherwise
  151.  * not.
  152.  */
  153. int yy_at_bol;
  154. /* Whether to try to fill the input buffer when we reach the
  155.  * end of it.
  156.  */
  157. int yy_fill_buffer;
  158. int yy_buffer_status;
  159. #define YY_BUFFER_NEW 0
  160. #define YY_BUFFER_NORMAL 1
  161. /* When an EOF's been seen but there's still some text to process
  162.  * then we mark the buffer as YY_EOF_PENDING, to indicate that we
  163.  * shouldn't try reading from the input source any more.  We might
  164.  * still have a bunch of tokens to match, though, because of
  165.  * possible backing-up.
  166.  *
  167.  * When we actually see the EOF, we change the status to "new"
  168.  * (via yyrestart()), so that the user can continue scanning by
  169.  * just pointing yyin at a new input file.
  170.  */
  171. #define YY_BUFFER_EOF_PENDING 2
  172. };
  173. static YY_BUFFER_STATE yy_current_buffer = 0;
  174. /* We provide macros for accessing buffer states in case in the
  175.  * future we want to put the buffer states in a more general
  176.  * "scanner state".
  177.  */
  178. #define YY_CURRENT_BUFFER yy_current_buffer
  179. /* yy_hold_char holds the character lost when yytext is formed. */
  180. static char yy_hold_char;
  181. static int yy_n_chars; /* number of characters read into yy_ch_buf */
  182. int yyleng;
  183. /* Points to current character in buffer. */
  184. static char *yy_c_buf_p = (char *) 0;
  185. static int yy_init = 1; /* whether we need to initialize */
  186. static int yy_start = 0; /* start state number */
  187. /* Flag which is used to allow yywrap()'s to do buffer switches
  188.  * instead of setting up a fresh yyin.  A bit of a hack ...
  189.  */
  190. static int yy_did_buffer_switch_on_eof;
  191. void yyrestart YY_PROTO(( FILE *input_file ));
  192. void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
  193. void yy_load_buffer_state YY_PROTO(( void ));
  194. YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
  195. void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
  196. void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
  197. void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b ));
  198. #define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer )
  199. YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size ));
  200. YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str ));
  201. YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
  202. static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
  203. static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t ));
  204. static void yy_flex_free YY_PROTO(( void * ));
  205. #define yy_new_buffer yy_create_buffer
  206. #define yy_set_interactive(is_interactive) 
  207. if ( ! yy_current_buffer ) 
  208. yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); 
  209. yy_current_buffer->yy_is_interactive = is_interactive; 
  210. }
  211. #define yy_set_bol(at_bol) 
  212. if ( ! yy_current_buffer ) 
  213. yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); 
  214. yy_current_buffer->yy_at_bol = at_bol; 
  215. }
  216. #define YY_AT_BOL() (yy_current_buffer->yy_at_bol)
  217. #define YY_USES_REJECT
  218. #define yywrap() 1
  219. #define YY_SKIP_YYWRAP
  220. typedef unsigned char YY_CHAR;
  221. FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
  222. typedef int yy_state_type;
  223. extern int yylineno;
  224. int yylineno = 1;
  225. extern char *yytext;
  226. #define yytext_ptr yytext
  227. static yy_state_type yy_get_previous_state YY_PROTO(( void ));
  228. static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
  229. static int yy_get_next_buffer YY_PROTO(( void ));
  230. static void yy_fatal_error YY_PROTO(( yyconst char msg[] ));
  231. /* Done after the current pattern has been matched and before the
  232.  * corresponding action - sets up yytext.
  233.  */
  234. #define YY_DO_BEFORE_ACTION 
  235. yytext_ptr = yy_bp; 
  236. yyleng = (int) (yy_cp - yy_bp); 
  237. yy_hold_char = *yy_cp; 
  238. *yy_cp = ''; 
  239. yy_c_buf_p = yy_cp;
  240. #define YY_NUM_RULES 71
  241. #define YY_END_OF_BUFFER 72
  242. static yyconst short int yy_acclist[629] =
  243.     {   0,
  244.        23,   23,   72,   70,   71,   66,   70,   71,   68,   71,
  245.        67,   70,   71,   65,   70,   71,   70,   71,   70,   71,
  246.        70,   71,   70,   71,   70,   71,   70,   71,   70,   71,
  247.        70,   71,   70,   71,   70,   71,   70,   71,   70,   71,
  248.        70,   71,   70,   71,   70,   71,   70,   71,   70,   71,
  249.        19,   70,   71,   19,   70,   71,   19,   70,   71,   19,
  250.        70,   71,   19,   70,   71,   19,   70,   71,   19,   70,
  251.        71,   19,   70,   71,   19,   70,   71,   19,   70,   71,
  252.        19,   70,   71,   19,   70,   71,   19,   70,   71,   19,
  253.        70,   71,   19,   70,   71,   19,   70,   71,   19,   70,
  254.        71,   70,   71,   22,   70,   71,   70,   71,   70,   71,
  255.        70,   71,   23,   70,   71,   23,   66,   70,   71,   23,
  256.        67,   70,   71,   23,   65,   70,   71,   23,   70,   71,
  257.        70,   71,   70,   71,   70,   71,   70,   71,   20,   70,
  258.        71,   20,   67,   70,   71,   20,   65,   70,   71,   20,
  259.        70,   71,   70,   71,   70,   71,   21,   70,   71,   21,
  260.        67,   70,   71,   21,   65,   70,   71,   21,   70,   71,
  261.        70,   71,   18,   65,   70,   71,   11,   70,   71,   11,
  262.        70,   71,   11,   70,   71,   17,   70,   71,   17,   70,
  263.        71,   17,   70,   71,   17,   70,   71,   17,   70,   71,
  264.        70,   71,   70,   71,   70,   71,   70,   71,   66,   67,
  265.        67,   65,   69,   38,   19,   19,   19,   19,   19,   19,
  266.        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
  267.        19,   19,   19,   19,   19,   19,   19,   19,   19,   38,
  268.        19,   19,   23,   23,   66,   23,   67,   23,   67,   23,
  269.        23,   65,   20,   20,   67,   20,   20,   65,   21,   21,
  270.        67,   21,   21,   65,   11,   18,   65,   17,   17,   11,
  271.        17,   17,   65,   61,   39,   19,   19,   19,   19,   19,
  272.        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
  273.        61,   19,   19,   19,   19,   19,   19,   19,   19,   19,
  274.        19,   19,   19,   39,   23,   23,   65,   20,   20,   65,
  275.        21,   21,   65,   18,   65,   26,   27,   65,   52,   37,
  276.        55,   60,   42,   19,   52,   19,   19,   19,   19,   19,
  277.        19,   19,   19,   19,   37,   19,   19,   19,   19,   19,
  278.        19,   19,   19,   55,   19,   60,   19,   19,   19,   19,
  279.        19,   19,   19,   19,   19,   42,   10,    4,   23,   23,
  280.        23,   65,   13,   20,   20,   20,   65,   21,   21,   21,
  281.        65,   18,   65,   28,   59,   29,   30,   19,   59,   19,
  282.        19,   19,   19,   19,   29,   19,   19,   19,   19,   19,
  283.        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
  284.        19,   30,   19,   19,   19,   19,   23,   23,   15,   20,
  285.        20,   21,   21,   18,   65,   53,   56,   54,   58,   19,
  286.        53,   19,   19,   19,    9,   19,   19,   19,   19,   56,
  287.        19,   19,   19,   19,   19,   19,   54,   19,   19,   19,
  288.        19,   19,   58,   19,   19,   19,   19,   19,   19,   23,
  289.        23,   20,   20,   21,   21,   64,   36,   62,   32,   19,
  290.        36,   19,   19,   19,   19,   19,   19,   19,   62,   19,
  291.        19,   19,   19,   19,   19,   19,   19,   32,   19,   19,
  292.        19,   19,    5,   23,   64,   23,   12,   20,   64,   20,
  293.        21,   64,   21,   64,   41,   40,   35,   49,   57,   19,
  294.        19,   19,   19,   41,   19,   40,   19,   19,   19,   19,
  295.        35,   19,   19,   19,   19,   49,   19,   19,   19,   19,
  296.        57,    8,   23,   64,   20,   64,    1,    2,   21,   64,
  297.        64,   51,   46,   34,   48,   19,   19,   19,   51,   19,
  298.        46,   19,   19,   34,   19,   19,   19,   48,   19,   19,
  299.        19,    7,   23,   64,   20,   64,   21,   64,   25,   19,
  300.        19,   19,   19,   19,   19,   19,   19,   14,    3,   24,
  301.        19,   19,   19,   19,   19,   19,   19,   19,   16,   63,
  302.        45,   19,   19,   19,   19,   19,   63,   19,   19,   19,
  303.        45,   19,   19,    6,   47,   63,   63,   33,   19,   47,
  304.        19,   19,   63,   19,   63,   19,   33,   19,   19,   19,
  305.        50,   19,   50,   19,   19,   19,   31,   43,   19,   31,
  306.        19,   19,   43,   19,   19,   44,   19,   44
  307.     } ;
  308. static yyconst short int yy_accept[741] =
  309.     {   0,
  310.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  311.         1,    1,    1,    2,    3,    3,    3,    3,    3,    3,
  312.         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
  313.         3,    4,    6,    9,   11,   14,   17,   19,   21,   23,
  314.        25,   27,   29,   31,   33,   35,   37,   39,   41,   43,
  315.        45,   47,   49,   51,   54,   57,   60,   63,   66,   69,
  316.        72,   75,   78,   81,   84,   87,   90,   93,   96,   99,
  317.       102,  104,  107,  109,  111,  113,  116,  120,  124,  128,
  318.       131,  133,  135,  137,  139,  142,  146,  150,  153,  155,
  319.       157,  160,  164,  168,  171,  173,  177,  180,  183,  186,
  320.       189,  192,  195,  198,  201,  203,  205,  207,  209,  210,
  321.       211,  212,  212,  213,  214,  214,  214,  214,  214,  214,
  322.       214,  214,  214,  214,  214,  214,  214,  214,  214,  214,
  323.       214,  214,  214,  214,  214,  214,  215,  215,  215,  216,
  324.       217,  218,  219,  220,  221,  222,  223,  224,  225,  226,
  325.       227,  228,  229,  230,  231,  232,  233,  234,  235,  236,
  326.       237,  238,  239,  241,  242,  243,  243,  243,  243,  243,
  327.       244,  246,  248,  250,  251,  253,  253,  253,  253,  253,
  328.       253,  254,  256,  257,  259,  259,  259,  260,  262,  263,
  329.       265,  266,  268,  269,  270,  272,  273,  273,  273,  273,
  330.       273,  273,  274,  274,  274,  274,  274,  274,  274,  274,
  331.       274,  274,  274,  274,  274,  274,  275,  275,  275,  275,
  332.       275,  275,  275,  275,  275,  275,  275,  275,  276,  277,
  333.       278,  279,  280,  281,  282,  283,  284,  285,  286,  287,
  334.       288,  289,  290,  292,  293,  294,  295,  296,  297,  298,
  335.       299,  300,  301,  302,  303,  305,  305,  305,  305,  305,
  336.       306,  308,  308,  308,  308,  308,  308,  309,  311,  311,
  337.       311,  312,  314,  316,  316,  316,  316,  317,  318,  318,
  338.       318,  319,  320,  320,  320,  320,  320,  320,  320,  320,
  339.       321,  321,  321,  321,  321,  321,  321,  321,  322,  323,
  340.       323,  323,  323,  323,  323,  323,  323,  323,  324,  326,
  341.       327,  328,  329,  330,  331,  332,  333,  334,  336,  337,
  342.       338,  339,  340,  341,  342,  343,  345,  347,  348,  349,
  343.       350,  351,  352,  353,  354,  355,  357,  358,  359,  359,
  344.       359,  359,  360,  361,  363,  363,  364,  364,  364,  364,
  345.       365,  366,  368,  368,  368,  369,  370,  372,  374,  374,
  346.       374,  375,  375,  375,  376,  376,  376,  376,  376,  377,
  347.       377,  377,  377,  377,  377,  377,  377,  377,  377,  377,
  348.       377,  377,  377,  377,  378,  378,  378,  378,  378,  380,
  349.       381,  382,  383,  384,  386,  387,  388,  389,  390,  391,
  350.       392,  393,  394,  395,  396,  397,  398,  399,  400,  401,
  351.       403,  404,  405,  406,  407,  407,  407,  407,  407,  408,
  352.       409,  409,  409,  410,  410,  411,  412,  412,  412,  413,
  353.       414,  416,  416,  416,  416,  416,  417,  417,  417,  417,
  354.       417,  417,  418,  418,  418,  418,  418,  418,  419,  419,
  355.       419,  419,  419,  420,  420,  420,  420,  420,  420,  420,
  356.       422,  423,  424,  425,  427,  428,  429,  431,  432,  433,
  357.       434,  435,  436,  438,  439,  440,  441,  442,  444,  445,
  358.       446,  447,  448,  449,  450,  450,  450,  450,  450,  451,
  359.       452,  452,  452,  452,  453,  454,  454,  454,  455,  456,
  360.       456,  456,  457,  457,  458,  458,  458,  458,  458,  458,
  361.       458,  459,  459,  459,  459,  459,  459,  459,  459,  460,
  362.       460,  460,  460,  460,  462,  463,  464,  465,  466,  467,
  363.       468,  470,  471,  472,  473,  474,  475,  476,  477,  479,
  364.       480,  481,  482,  483,  483,  484,  484,  484,  486,  487,
  365.       488,  488,  488,  490,  491,  491,  491,  493,  494,  494,
  366.       494,  495,  495,  495,  495,  496,  497,  497,  497,  497,
  367.       498,  498,  498,  498,  499,  499,  499,  499,  500,  501,
  368.       502,  503,  505,  507,  508,  509,  510,  512,  513,  514,
  369.       515,  517,  518,  519,  520,  522,  522,  522,  523,  525,
  370.       525,  525,  527,  527,  528,  529,  531,  531,  531,  532,
  371.       532,  532,  533,  534,  534,  535,  535,  535,  536,  536,
  372.       536,  536,  537,  538,  540,  542,  543,  545,  546,  547,
  373.       549,  550,  551,  552,  553,  553,  555,  555,  555,  557,
  374.       557,  559,  559,  560,  560,  560,  560,  560,  560,  560,
  375.       560,  560,  561,  562,  563,  564,  565,  566,  567,  568,
  376.       568,  569,  569,  570,  571,  571,  571,  571,  571,  571,
  377.       571,  571,  571,  572,  573,  574,  575,  576,  577,  578,
  378.       579,  579,  580,  580,  580,  580,  581,  581,  581,  582,
  379.       582,  582,  583,  584,  585,  586,  588,  589,  590,  592,
  380.       593,  594,  595,  596,  596,  597,  598,  599,  599,  599,
  381.       599,  601,  602,  604,  606,  608,  609,  610,  611,  612,
  382.       612,  612,  612,  614,  615,  616,  617,  618,  618,  619,
  383.       621,  622,  624,  624,  625,  625,  626,  627,  629,  629
  384.     } ;
  385. static yyconst int yy_ec[256] =
  386.     {   0,
  387.         1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
  388.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  389.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  390.         1,    2,    4,    1,    5,    1,    1,    1,    1,    1,
  391.         1,    1,    1,    1,    1,    6,    7,    8,    9,   10,
  392.        11,   12,   13,    8,    8,    8,   14,   15,    1,   16,
  393.        17,   18,    1,    1,   19,   19,   19,   19,   19,   19,
  394.        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
  395.        19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
  396.         1,   20,    1,    1,   21,    1,   22,   23,   24,   25,
  397.        26,   27,   28,   29,   30,   19,   31,   32,   33,   34,
  398.        35,   36,   37,   38,   39,   40,   41,   42,   43,   44,
  399.        45,   19,    1,    1,    1,    1,    1,    1,    1,    1,
  400.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  401.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  402.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  403.         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,    1,    1,    1,    1,    1,
  409.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  410.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  411.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  412.         1,    1,    1,    1,    1
  413.     } ;
  414. static yyconst int yy_meta[46] =
  415.     {   0,
  416.         1,    2,    3,    1,    1,    4,    5,    6,    6,    6,
  417.         6,    6,    6,    6,    7,    1,    1,    1,    1,    1,
  418.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  419.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  420.         1,    1,    1,    1,    1
  421.     } ;
  422. static yyconst short int yy_base[774] =
  423.     {   0,
  424.         0,    0,   45,    0, 1798, 1797,   76,    0,   96,   98,
  425.      1817, 1816,  138,  157,  108,  148,  177,  196, 1815, 1814,
  426.        92,  142,  215,  234,  254,    0,   90,  111,  115,  285,
  427.      1828, 1835,   90, 1835,    0, 1821, 1823,   64,  129, 1799,
  428.      1780, 1785, 1783,   63,  165, 1795, 1785,  106,  167,  174,
  429.      1784, 1779, 1787,  326,  347,  271,  189,  208,   97,  202,
  430.       275,  281,  288,  287,  344,  343,  358,  351,  355,  201,
  431.       286, 1835, 1786, 1780, 1789,    0,  248,    0,  391, 1810,
  432.      1777,  154, 1773, 1775,    0,  300,  400, 1806, 1769, 1772,
  433.         0,  330,  409, 1803, 1788, 1798, 1786, 1835, 1785,  423,
  434.       444,  358,  433,  177, 1766, 1778, 1775, 1773,  348,    0,
  435.         0,    0, 1791, 1835, 1762, 1760, 1764,  120, 1770, 1752,
  436.      1756, 1751, 1749, 1748, 1764,  365, 1746, 1751, 1745, 1748,
  437.       427, 1758, 1740, 1747, 1755, 1835, 1752, 1755,    0,  437,
  438.       442,  445,  452,  453,  465,  460,  459,  470,  464,  474,
  439.       477,  478,  488,  481,  492,  493,  498,  497,  507,  510,
  440.       511,  522,  515,  523,  526, 1738, 1741, 1740, 1737,    0,
  441.       555,    0,    0,  553,  562, 1738, 1731, 1731, 1731, 1733,
  442.         0,  423,  569,  578, 1731, 1742,    0,  583,  591,  600,
  443.      1835, 1759,    0, 1727, 1726,    0,  430, 1731, 1725, 1724,
  444.      1753, 1752, 1732, 1732, 1729,  560, 1720, 1712, 1726, 1718,
  445.      1728, 1723, 1718, 1704, 1724, 1710, 1715, 1717, 1703,  386,
  446.      1706, 1701, 1725, 1698, 1711, 1707, 1697, 1835,  590,  593,
  447.       598,  599,  604,  586,  607,  614,  615,  619,  624,  565,
  448.       623,  630,  629,  638,  639,  642,  643,  647,  646,  666,
  449.       654,  663,  670,  671,  589, 1694, 1708, 1698,  369,  704,
  450.       713, 1697, 1708, 1705, 1693, 1691,  722,  731, 1688, 1694,
  451.       740,  749, 1718, 1693, 1688, 1695, 1835, 1835,    0, 1714,
  452.      1713, 1835, 1687, 1683, 1694, 1693, 1688, 1685,  408, 1835,
  453.      1676, 1673, 1677, 1671, 1676, 1666, 1671, 1835, 1835, 1670,
  454.      1659, 1671, 1676, 1690, 1674, 1663, 1663,  445,  658,  674,
  455.       734,  743,  747,  744,  750,  757,  754,  753,  761,  764,
  456.       768,  773,  774,  777,  778,  782,  785,  789,  790,  793,
  457.       800, 1686,  801,  804,  807,  822, 1835, 1658, 1669, 1655,
  458.      1667,  849,  858,  865, 1666, 1835, 1656, 1652, 1663,  872,
  459.       881,  888, 1653, 1648,  895,  904,  911,    0, 1647, 1654,
  460.      1835, 1678, 1677, 1835, 1642, 1647, 1640, 1655, 1835, 1639,
  461.      1643, 1646, 1641, 1648, 1651, 1647, 1631, 1645, 1645, 1632,
  462.      1625, 1644, 1656, 1835, 1629, 1624,  809, 1640,  814,  896,
  463.       817,  897,  908,  818,  901,  912,  913,  823,  916,  923,
  464.       930,  929,  926,  938,  941,  942,  937,  953, 1652,  950,
  465.       954,  958,  962,  969, 1634, 1635, 1619, 1621,  996, 1650,
  466.      1631, 1620, 1835, 1615, 1005, 1646, 1607, 1629, 1014, 1643,
  467.      1642, 1614, 1612,    0, 1639, 1835, 1619, 1613, 1602, 1611,
  468.      1618, 1835, 1617, 1603, 1601, 1601, 1599, 1835, 1599, 1595,
  469.      1602, 1596, 1835, 1576, 1567, 1573, 1565, 1559, 1561,  963,
  470.      1004, 1000, 1001, 1005, 1008, 1017, 1012, 1021, 1020, 1024,
  471.      1027, 1031, 1016, 1034, 1038, 1045, 1048,    0, 1049, 1042,
  472.      1053, 1054, 1058, 1061, 1555, 1548, 1550, 1551, 1089, 1098,
  473.      1542, 1545, 1551, 1105, 1114, 1527, 1527, 1121, 1130, 1544,
  474.      1529,    0, 1557, 1835, 1537, 1514, 1513, 1515, 1509, 1494,
  475.      1835, 1501, 1487, 1489, 1479, 1477, 1485, 1464, 1835, 1456,
  476.      1436, 1399, 1391, 1115, 1123, 1118, 1119, 1127, 1130, 1131,
  477.      1134, 1135, 1139, 1143, 1144, 1151, 1152, 1156, 1159, 1162,
  478.      1163, 1167, 1172, 1332, 1835, 1334, 1303, 1197, 1341, 1835,
  479.      1290, 1261, 1204, 1271, 1252,  316, 1211, 1263, 1219, 1205,
  480.         0, 1215, 1214, 1167, 1835, 1835, 1160, 1168, 1138, 1835,
  481.      1130, 1118, 1114, 1835, 1094, 1085, 1063, 1835, 1196, 1197,
  482.      1200, 1201, 1205, 1206, 1217, 1210, 1211, 1221, 1222, 1225,
  483.      1226, 1232, 1235, 1236, 1240, 1050, 1062, 1835, 1271, 1041,
  484.      1028, 1278, 1003, 1835, 1835, 1285,  997,  978, 1835,  971,
  485.       967, 1835, 1835,  957, 1835,  946,  941, 1835,  919,  901,
  486.       905, 1244, 1270, 1274, 1275, 1278, 1279, 1282, 1283, 1289,
  487.      1290, 1293, 1294, 1835,  912,    0,  890,  876,    0,  878,
  488.         0,  836, 1835,  808,  773,  761,  766,  732,  749,  737,
  489.       724, 1297, 1304, 1303, 1308, 1309, 1320, 1313, 1314,  707,
  490.      1835,  704, 1835, 1835,  689,  676,  693,  662,  657,  655,
  491.       621,  632, 1321, 1324, 1361, 1325, 1377, 1378, 1381, 1389,
  492.       631, 1835,  598,  601,  611,  554,  527,  526, 1835,  505,
  493.       506, 1386, 1392,  592,    0,  705, 1395, 1396, 1400, 1404,
  494.      1407, 1835, 1835,  479,  500,  478, 1835,  443,  415,  390,
  495.      1408, 1411,  814,  962, 1412, 1415, 1416, 1423, 1835,  360,
  496.       346,  346, 1422, 1426, 1431, 1434, 1835,  321, 1835, 1430,
  497.      1437, 1438,  297, 1445,  279, 1448, 1835, 1442, 1835, 1480,
  498.      1487, 1494, 1501, 1505, 1511, 1518, 1525, 1532, 1538, 1545,
  499.      1551, 1555, 1561,  245, 1564, 1570, 1574, 1580, 1583, 1586,
  500.      1589,  216, 1592,  207, 1595,  177, 1598,  130,   87, 1604,
  501.      1611, 1618, 1625
  502.     } ;
  503. static yyconst short int yy_def[774] =
  504.     {   0,
  505.       739,    1,  739,    3,    1,    1,    1,    7,    7,    7,
  506.         7,    7,  740,  740,    7,    7,  741,  741,    7,    7,
  507.         7,    7,  742,  742,  739,   25,    7,    7,    7,    7,
  508.       739,  739,  739,  739,  743,  744,  739,  739,  739,  739,
  509.       739,  739,  739,  739,  739,  739,  739,  739,  739,  739,
  510.       739,  739,  739,  745,  745,   55,   55,   55,   55,   55,
  511.        55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
  512.       739,  739,  739,  739,  739,  746,  746,  747,  746,  746,
  513.       739,  739,  739,  739,  748,  749,  748,  748,  739,  739,
  514.       750,  751,  750,  750,  739,  752,  739,  739,  739,  753,
  515.       753,  101,  101,  101,  739,  739,  739,  739,  739,  743,
  516.       743,  754,  755,  739,  739,  739,  739,  739,  739,  739,
  517.       739,  739,  739,  739,  739,  739,  739,  739,  739,  739,
  518.       739,  739,  739,  739,  739,  739,  739,  739,  756,   55,
  519.        55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
  520.        55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
  521.        55,   55,   55,   55,   55,  739,  739,  739,  739,  746,
  522.       746,  747,  747,  746,  746,  739,  739,  739,  739,  739,
  523.       748,  749,  748,  748,  739,  739,  750,  751,  750,  750,
  524.       739,  757,  758,  101,  101,  101,  739,  739,  739,  739,
  525.       759,  760,  739,  739,  739,  739,  739,  739,  739,  739,
  526.       739,  739,  739,  739,  739,  739,  739,  739,  739,  739,
  527.       739,  739,  739,  739,  739,  739,  739,  739,   55,   55,
  528.        55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
  529.        55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
  530.        55,   55,   55,   55,   55,  739,  739,  739,  739,  746,
  531.       746,  739,  739,  739,  739,  739,  748,  748,  739,  739,
  532.       750,  750,  761,  739,  739,  739,  739,  739,  762,  763,
  533.       760,  739,  739,  739,  739,  739,  739,  739,  739,  739,
  534.       739,  739,  739,  739,  739,  739,  739,  739,  739,  739,
  535.       739,  739,  739,  739,  739,  739,  739,  739,   55,   55,
  536.        55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
  537.        55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
  538.        55,  756,   55,   55,   55,   55,  739,  739,  739,  739,
  539.       739,  746,  746,  746,  739,  739,  739,  739,  739,  748,
  540.       748,  748,  739,  739,  750,  750,  750,  764,  739,  739,
  541.       739,  765,  739,  739,  739,  739,  739,  739,  739,  739,
  542.       739,  739,  739,  739,  739,  739,  739,  739,  739,  739,
  543.       739,  739,  739,  739,  739,  739,  739,  739,   55,   55,
  544.        55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
  545.        55,   55,   55,   55,   55,   55,   55,   55,  756,   55,
  546.        55,   55,   55,   55,  739,  739,  739,  739,  746,  746,
  547.       739,  739,  739,  739,  748,  748,  739,  739,  750,  750,
  548.       760,  739,  739,  766,  767,  739,  739,  739,  739,  739,
  549.       739,  739,  739,  739,  739,  739,  739,  739,  739,  739,
  550.       739,  739,  739,  739,  739,  739,  739,  739,  739,   55,
  551.        55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
  552.        55,   55,   55,   55,   55,   55,   55,  756,   55,   55,
  553.        55,   55,   55,   55,  739,  739,  739,  739,  746,  746,
  554.       739,  739,  739,  748,  748,  739,  739,  750,  750,  739,
  555.       739,  768,  739,  739,  739,  739,  739,  739,  739,  739,
  556.       739,  739,  739,  739,  739,  739,  739,  739,  739,  739,
  557.       739,  739,  739,   55,   55,   55,   55,   55,   55,   55,
  558.        55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
  559.        55,   55,   55,  739,  739,  739,  739,  746,  746,  739,
  560.       739,  739,  748,  748,  739,  739,  750,  750,  739,  739,
  561.       769,  739,  739,  739,  739,  739,  739,  739,  739,  739,
  562.       739,  739,  739,  739,  739,  739,  739,  739,   55,   55,
  563.        55,   55,   55,   55,   55,   55,   55,   55,   55,   55,
  564.        55,   55,   55,   55,   55,  739,  739,  739,  746,  739,
  565.       739,  748,  739,  739,  739,  750,  739,  739,  739,  739,
  566.       739,  739,  739,  739,  739,  739,  739,  739,  739,  739,
  567.       739,   55,   55,   55,   55,   55,   55,   55,   55,   55,
  568.        55,   55,   55,  739,  739,  746,  739,  739,  748,  739,
  569.       750,  739,  739,  739,  739,  739,  739,  739,  739,  739,
  570.       739,   55,   55,   55,   55,   55,   55,   55,   55,  739,
  571.       739,  739,  739,  739,  739,  739,  770,  739,  739,  739,
  572.       739,  739,   55,   55,  739,   55,   55,   55,   55,   55,
  573.       739,  739,  739,  739,  770,  771,  739,  739,  739,  739,
  574.       739,   55,   55,  772,  675,  773,   55,   55,   55,   55,
  575.        55,  739,  739,  739,  771,  771,  739,  739,  739,  739,
  576.        55,   55,  773,  773,   55,   55,   55,   55,  739,  739,
  577.       739,  739,   55,   55,   55,   55,  739,  739,  739,   55,
  578.        55,   55,  739,   55,  739,   55,  739,   55,    0,  739,
  579.       739,  739,  739,  739,  739,  739,  739,  739,  739,  739,
  580.       739,  739,  739,  739,  739,  739,  739,  739,  739,  739,
  581.       739,  739,  739,  739,  739,  739,  739,  739,  739,  739,
  582.       739,  739,  739
  583.     } ;
  584. static yyconst short int yy_nxt[1881] =
  585.     {   0,
  586.        32,   33,   34,   32,   35,   32,   32,   36,   36,   36,
  587.        36,   36,   36,   36,   32,   32,   32,   32,   32,   37,
  588.        32,   32,   38,   39,   40,   41,   42,   43,   32,   44,
  589.        32,   45,   46,   47,   32,   48,   32,   49,   50,   51,
  590.        52,   53,   32,   32,   32,   32,   33,   34,   32,   35,
  591.        54,   32,   36,   36,   36,   36,   36,   36,   36,   32,
  592.        32,   32,   32,   54,   37,   32,   54,   55,   56,   57,
  593.        58,   59,   60,   54,   61,   54,   62,   63,   64,   54,
  594.        65,   54,   66,   67,   68,   69,   70,   54,   54,   54,
  595.        72,  109,  609,  115,  110,  116,  123,  124,   32,   32,
  596.        32,   32,   32,   32,   32,   32,   32,   32,   32,   32,
  597.        32,   32,   32,   32,   32,   32,   32,   32,   73,   74,
  598.        73,   74,   32,  105,   89,   32,  140,  129,  140,   32,
  599.        90,   81,   82,   83,  148,  561,   75,   84,   75,   77,
  600.        34,  106,   78,  130,  105,   79,   79,   79,   79,   79,
  601.        79,   79,  206,  207,  107,  108,   32,   80,   77,   34,
  602.       117,   78,   32,  118,   79,   79,   79,   79,   79,   79,
  603.        79,   81,   82,   83,   89,  177,   80,   84,   33,   34,
  604.        90,   86,  502,  178,   87,   87,   87,   87,   87,   87,
  605.        87,   32,  131,  132,  125,  134,   88,   33,   34,  126,
  606.        86,  133,  196,   87,   87,   87,   87,   87,   87,   87,
  607.        32,  135,  431,  194,  145,   88,   33,   34,  146,   92,
  608.       140,  362,   93,   93,   93,   93,   93,   93,   93,   32,
  609.       165,  140,  140,  140,   94,   33,   34,  140,   92,  140,
  610.       149,   93,   93,   93,   93,   93,   93,   93,   32,  171,
  611.       201,  147,  172,   94,   32,   33,   34,   95,   35,   32,
  612.        32,   96,   96,   96,   96,   96,   96,   96,   32,   97,
  613.        98,   99,  100,   37,   32,  100,  100,  100,  100,  101,
  614.       100,  102,  100,  100,  100,  103,  100,  104,  100,  100,
  615.       100,  100,  100,  100,  100,  100,  100,  100,  100,   32,
  616.       140,  111,  143,  737,  140,  144,  140,  129,  150,  151,
  617.       152,  106,  140,  154,  111,  153,  140,  140,  140,  140,
  618.       166,  155,  735,  130,  107,  108,  139,  604,  605,  139,
  619.       139,  111,  139,  139,  139,  139,  139,  139,  139,  139,
  620.       139,  139,  139,  139,  111,  139,  139,  139,  733,  109,
  621.       139,  139,  110,  139,  139,  139,  139,  139,  139,  139,
  622.       139,  139,  139,  139,  139,  156,  139,  139,  158,  159,
  623.       729,  728,  140,  140,  140,  140,  141,  160,  142,  161,
  624.       140,  157,  140,  195,  140,  163,  140,  140,  215,  140,
  625.       340,  727,  216,  164,  194,  162,  174,  195,  175,  175,
  626.       175,  175,  175,  175,  175,  183,  341,  184,  184,  184,
  627.       184,  184,  184,  184,  189,  722,  190,  190,  190,  190,
  628.       190,  190,  190,  193,  111,  300,  193,  193,  193,  301,
  629.       193,  193,  193,  193,  193,  193,  193,  111,  193,  193,
  630.       193,  370,  193,  193,  193,  371,  721,  193,  193,  193,
  631.       387,  193,  193,  193,  193,  193,  193,  193,  195,  193,
  632.       193,  193,  274,  193,  193,  221,  140,  222,  140,  194,
  633.       275,  140,  195,  140,  140,  229,  140,  720,  388,  230,
  634.       195,  231,  140,  140,  140,  232,  233,  234,  140,  140,
  635.       140,  140,  706,  140,  140,  140,  140,  235,  236,  140,
  636.       241,  140,  238,  140,  237,  140,  140,  140,  140,  140,
  637.       140,  242,  140,  239,  706,  243,  240,  140,  719,  140,
  638.       244,  140,  140,  140,  140,  245,  140,  140,  140,  140,
  639.       250,  246,  247,  710,  709,  248,  140,  249,  140,  140,
  640.       140,  140,  140,  252,  140,  253,  140,  255,  254,  708,
  641.       251,  140,  140,  140,  140,  140,  171,  140,  707,  172,
  642.       260,  260,  260,  260,  260,  260,  260,  174,  706,  261,
  643.       261,  261,  261,  261,  261,  261,  267,  267,  267,  267,
  644.       267,  267,  267,  183,  111,  268,  268,  268,  268,  268,
  645.       268,  268,  285,  685,  321,  286,  140,  111,  271,  271,
  646.       271,  271,  271,  271,  271,  189,  696,  272,  272,  272,
  647.       272,  272,  272,  272,  309,  140,  310,  140,  140,  140,
  648.       140,  140,  140,  311,  140,  686,  315,  140,  140,  140,
  649.       140,  312,  316,  140,  313,  140,  140,  314,  140,  317,
  650.       319,  704,  703,  140,  140,  140,  140,  318,  140,  320,
  651.       140,  323,  140,  140,  140,  140,  702,  691,  140,  140,
  652.       140,  140,  690,  324,  326,  322,  325,  140,  140,  140,
  653.       140,  140,  140,  140,  140,  140,  140,  140,  140,  332,
  654.       327,  330,  328,  140,  331,  140,  329,  140,  334,  140,
  655.       689,  688,  140,  333,  140,  140,  687,  140,  335,  140,
  656.       140,  140,  140,  140,  389,  140,  705,  686,  336,  342,
  657.       684,  343,  343,  343,  343,  343,  343,  343,  174,  714,
  658.       344,  344,  344,  344,  344,  344,  344,  350,  683,  351,
  659.       351,  351,  351,  351,  351,  351,  183,  682,  352,  352,
  660.       352,  352,  352,  352,  352,  355,  681,  356,  356,  356,
  661.       356,  356,  356,  356,  189,  672,  357,  357,  357,  357,
  662.       357,  357,  357,  140,  391,  140,  671,  390,  392,  393,
  663.       670,  669,  140,  140,  140,  140,  140,  394,  140,  140,
  664.       395,  140,  140,  140,  140,  140,  140,  396,  140,  668,
  665.       140,  397,  140,  140,  667,  140,  398,  140,  666,  140,
  666.       400,  399,  140,  140,  140,  402,  140,  140,  140,  140,
  667.       401,  140,  404,  140,  140,  705,  140,  403,  140,  140,
  668.       140,  140,  140,  405,  407,  408,  410,  413,  714,  140,
  669.       140,  140,  140,  140,  406,  140,  140,  665,  140,  411,
  670.       456,  412,  457,  140,  458,  140,  140,  140,  140,  140,
  671.       461,  140,  467,  140,  140,  414,  419,  419,  419,  419,
  672.       419,  419,  419,  342,  664,  420,  420,  420,  420,  420,
  673.       420,  420,  344,  344,  344,  344,  344,  344,  344,  425,
  674.       425,  425,  425,  425,  425,  425,  350,  663,  426,  426,
  675.       426,  426,  426,  426,  426,  352,  352,  352,  352,  352,
  676.       352,  352,  429,  429,  429,  429,  429,  429,  429,  355,
  677.       662,  430,  430,  430,  430,  430,  430,  430,  357,  357,
  678.       357,  357,  357,  357,  357,  140,  140,  140,  140,  661,
  679.       140,  463,  140,  660,  651,  460,  462,  140,  650,  140,
  680.       464,  140,  140,  140,  140,  140,  466,  140,  469,  468,
  681.       465,  470,  140,  471,  140,  140,  649,  140,  140,  140,
  682.       140,  140,  473,  705,  474,  472,  140,  140,  140,  140,
  683.       140,  140,  140,  140,  477,  648,  714,  475,  476,  140,
  684.       647,  140,  140,  140,  140,  140,  646,  140,  479,  140,
  685.       484,  140,  140,  481,  140,  482,  480,  483,  140,  645,
  686.       140,  489,  644,  490,  490,  490,  490,  490,  490,  490,
  687.       494,  643,  495,  495,  495,  495,  495,  495,  495,  498,
  688.       642,  499,  499,  499,  499,  499,  499,  499,  524,  525,
  689.       140,  140,  140,  140,  140,  140,  140,  527,  528,  140,
  690.       526,  140,  529,  140,  640,  140,  140,  140,  140,  140,
  691.       140,  140,  140,  140,  530,  140,  140,  638,  140,  531,
  692.       140,  532,  140,  140,  637,  140,  533,  140,  534,  140,
  693.       536,  140,  537,  140,  140,  535,  140,  140,  140,  140,
  694.       140,  539,  540,  140,  140,  140,  538,  140,  541,  140,
  695.       140,  635,  140,  543,  634,  542,  548,  548,  548,  548,
  696.       548,  548,  548,  489,  621,  549,  549,  549,  549,  549,
  697.       549,  549,  553,  553,  553,  553,  553,  553,  553,  494,
  698.       620,  554,  554,  554,  554,  554,  554,  554,  557,  557,
  699.       557,  557,  557,  557,  557,  498,  619,  558,  558,  558,
  700.       558,  558,  558,  558,  140,  579,  140,  140,  140,  140,
  701.       140,  618,  140,  581,  140,  617,  140,  580,  582,  140,
  702.       140,  583,  140,  140,  140,  140,  140,  585,  140,  616,
  703.       140,  584,  140,  140,  587,  140,  590,  615,  588,  586,
  704.       140,  140,  140,  140,  592,  140,  589,  140,  140,  614,
  705.       140,  140,  140,  140,  140,  591,  594,  595,  140,  613,
  706.       612,  140,  593,  140,  599,  599,  599,  599,  599,  599,
  707.       599,  602,  602,  602,  602,  602,  602,  602,  606,  606,
  708.       606,  606,  606,  606,  606,  622,  623,  140,  140,  140,
  709.       140,  140,  140,  624,  140,  140,  140,  140,  626,  140,
  710.       140,  140,  140,  611,  610,  625,  140,  608,  140,  627,
  711.       140,  140,  140,  140,  140,  140,  140,  140,  607,  629,
  712.       628,  140,  630,  140,  140,  140,  140,  140,  498,  140,
  713.       632,  140,  603,  140,  631,  652,  494,  633,  636,  636,
  714.       636,  636,  636,  636,  636,  639,  639,  639,  639,  639,
  715.       639,  639,  641,  641,  641,  641,  641,  641,  641,  140,
  716.       601,  140,  653,  140,  140,  140,  140,  654,  140,  140,
  717.       140,  140,  140,  140,  140,  600,  655,  656,  140,  140,
  718.       140,  140,  140,  659,  140,  140,  673,  657,  140,  674,
  719.       658,  676,  140,  140,  140,  140,  675,  140,  140,  140,
  720.       140,  678,  679,  140,  140,  680,  489,  598,  677,  140,
  721.       140,  140,  140,  140,  140,  140,  140,  597,  693,  697,
  722.       692,  694,  685,  596,  694,  694,  695,  694,  694,  694,
  723.       694,  694,  694,  694,  694,  696,  694,  694,  694,  695,
  724.       694,  694,  695,  695,  695,  695,  695,  695,  695,  695,
  725.       695,  695,  695,  695,  695,  695,  695,  695,  695,  695,
  726.       695,  695,  695,  695,  695,  695,  140,  140,  140,  140,
  727.       140,  698,  140,  699,  701,  140,  578,  140,  140,  716,
  728.       140,  140,  700,  140,  140,  140,  715,  140,  577,  140,
  729.       711,  140,  712,  717,  718,  140,  140,  140,  140,  140,
  730.       140,  140,  140,  140,  140,  140,  140,  725,  726,  724,
  731.       723,  140,  140,  140,  140,  140,  731,  730,  732,  140,
  732.       140,  140,  140,  140,  734,  140,  140,  140,  140,  140,
  733.       736,  140,  738,  140,  140,  576,  140,  140,  575,  140,
  734.        76,   76,   76,   76,   76,   76,   76,   85,   85,   85,
  735.        85,   85,   85,   85,   91,   91,   91,   91,   91,   91,
  736.        91,  111,  111,  574,  111,  111,  111,  111,  113,  573,
  737.       113,  140,  572,  571,  140,  140,  140,  140,  170,  170,
  738.       570,  170,  170,  170,  170,  173,  173,  569,  173,  173,
  739.       173,  173,  181,  568,  567,  181,  181,  181,  182,  182,
  740.       566,  182,  182,  182,  182,  187,  565,  564,  187,  187,
  741.       187,  188,  188,  563,  188,  188,  188,  188,  192,  562,
  742.       192,  194,  434,  560,  194,  559,  194,  202,  556,  202,
  743.       139,  555,  552,  139,  139,  139,  139,  273,  551,  273,
  744.       193,  550,  547,  193,  546,  193,  280,  545,  280,  281,
  745.       544,  281,  358,  523,  358,  363,  522,  363,  435,  521,
  746.       435,  503,  520,  503,  685,  685,  519,  685,  685,  685,
  747.       685,  705,  705,  518,  705,  705,  705,  705,  694,  694,
  748.       517,  694,  694,  694,  694,  713,  713,  516,  713,  713,
  749.       713,  713,  515,  514,  513,  512,  511,  510,  509,  508,
  750.       507,  506,  505,  504,  434,  501,  500,  739,  355,  497,
  751.       496,  350,  493,  492,  491,  342,  488,  487,  486,  485,
  752.       478,  459,  455,  454,  453,  452,  451,  450,  449,  448,
  753.       447,  446,  445,  444,  443,  442,  441,  440,  439,  438,
  754.       437,  436,  279,  434,  433,  432,  428,  427,  424,  423,
  755.       422,  421,  418,  417,  416,  415,  409,  386,  385,  384,
  756.       383,  382,  381,  380,  379,  378,  377,  376,  375,  374,
  757.       373,  372,  369,  368,  367,  366,  365,  364,  739,  279,
  758.       361,  360,  359,  112,  354,  353,  349,  348,  347,  346,
  759.       345,  339,  338,  337,  308,  307,  306,  305,  304,  303,
  760.       302,  299,  298,  297,  296,  295,  294,  293,  292,  291,
  761.       290,  289,  288,  287,  284,  283,  282,  112,  279,  278,
  762.       277,  276,  194,  194,  112,  270,  269,  266,  265,  264,
  763.       263,  262,  259,  258,  257,  256,  228,  227,  226,  225,
  764.       224,  223,  220,  219,  218,  217,  214,  213,  212,  211,
  765.       210,  209,  208,  205,  204,  203,  112,  200,  199,  198,
  766.       197,  191,  191,  112,  191,  114,  186,  185,  114,  180,
  767.       179,  176,  114,  169,  168,  167,  138,  137,  136,  128,
  768.       127,  122,  121,  120,  119,  114,  112,  739,   32,   32,
  769.        32,   32,   71,   71,   31,  739,  739,  739,  739,  739,
  770.       739,  739,  739,  739,  739,  739,  739,  739,  739,  739,
  771.       739,  739,  739,  739,  739,  739,  739,  739,  739,  739,
  772.       739,  739,  739,  739,  739,  739,  739,  739,  739,  739,
  773.       739,  739,  739,  739,  739,  739,  739,  739,  739,  739
  774.     } ;
  775. static yyconst short int yy_chk[1881] =
  776.     {   0,
  777.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  778.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  779.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  780.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  781.         1,    1,    1,    1,    1,    3,    3,    3,    3,    3,
  782.         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
  783.         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
  784.         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
  785.         3,    3,    3,    3,    3,    3,    3,    3,    3,    3,
  786.         7,   33,  769,   38,   33,   38,   44,   44,    7,    7,
  787.         7,    7,    7,    7,   27,    7,   21,    7,    7,    7,
  788.         9,    7,   10,    7,    7,    7,    7,    7,    9,    9,
  789.        10,   10,   15,   27,   21,   28,   59,   48,   59,   29,
  790.        21,   15,   15,   15,   59,  768,    9,   15,   10,   13,
  791.        13,   29,   13,   48,   28,   13,   13,   13,   13,   13,
  792.        13,   13,  118,  118,   29,   29,   22,   13,   14,   14,
  793.        39,   14,   16,   39,   14,   14,   14,   14,   14,   14,
  794.        14,   16,   16,   16,   22,   82,   14,   16,   17,   17,
  795.        22,   17,  766,   82,   17,   17,   17,   17,   17,   17,
  796.        17,   17,   49,   49,   45,   50,   17,   18,   18,   45,
  797.        18,   49,  104,   18,   18,   18,   18,   18,   18,   18,
  798.        18,   50,  764,  104,   57,   18,   23,   23,   57,   23,
  799.        57,  762,   23,   23,   23,   23,   23,   23,   23,   23,
  800.        70,   60,   70,   60,   23,   24,   24,   58,   24,   58,
  801.        60,   24,   24,   24,   24,   24,   24,   24,   24,   77,
  802.       754,   58,   77,   24,   25,   25,   25,   25,   25,   25,
  803.        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
  804.        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
  805.        25,   25,   25,   25,   25,   25,   25,   25,   25,   25,
  806.        25,   25,   25,   25,   25,   25,   25,   25,   25,   30,
  807.        56,   86,   56,  735,   61,   56,   61,   71,   61,   61,
  808.        62,   30,   62,   63,   86,   62,   64,   63,   64,   63,
  809.        71,   64,  733,   71,   30,   30,   54,  556,  556,   54,
  810.        54,   92,   54,   54,   54,   54,   54,   54,   54,   54,
  811.        54,   54,   54,   54,   92,   54,   54,   55,  728,  109,
  812.        55,   55,  109,   55,   55,   55,   55,   55,   55,   55,
  813.        55,   55,   55,   55,   55,   65,   55,   55,   66,   66,
  814.       722,  721,   66,   65,   66,   65,   55,   66,   55,   67,
  815.        68,   65,   68,  102,   69,   68,   69,   67,  126,   67,
  816.       259,  720,  126,   69,  102,   67,   79,  102,   79,   79,
  817.        79,   79,   79,   79,   79,   87,  259,   87,   87,   87,
  818.        87,   87,   87,   87,   93,  710,   93,   93,   93,   93,
  819.        93,   93,   93,  100,  182,  220,  100,  100,  100,  220,
  820.       100,  100,  100,  100,  100,  100,  100,  182,  100,  100,
  821.       100,  289,  100,  100,  101,  289,  709,  101,  101,  101,
  822.       308,  101,  101,  101,  101,  101,  101,  101,  103,  101,
  823.       101,  101,  197,  101,  101,  131,  140,  131,  140,  103,
  824.       197,  141,  103,  141,  142,  141,  142,  708,  308,  142,
  825.       101,  143,  144,  143,  144,  144,  144,  145,  147,  146,
  826.       147,  146,  706,  149,  145,  149,  145,  146,  147,  148,
  827.       152,  148,  149,  150,  148,  150,  151,  152,  151,  152,
  828.       154,  153,  154,  150,  705,  153,  151,  153,  704,  153,
  829.       154,  155,  156,  155,  156,  155,  158,  157,  158,  157,
  830.       159,  156,  157,  691,  690,  158,  159,  158,  159,  160,
  831.       161,  160,  161,  161,  163,  162,  163,  165,  164,  688,
  832.       160,  162,  164,  162,  164,  165,  171,  165,  687,  171,
  833.       174,  174,  174,  174,  174,  174,  174,  175,  686,  175,
  834.       175,  175,  175,  175,  175,  175,  183,  183,  183,  183,
  835.       183,  183,  183,  184,  188,  184,  184,  184,  184,  184,
  836.       184,  184,  206,  694,  240,  206,  240,  188,  189,  189,
  837.       189,  189,  189,  189,  189,  190,  694,  190,  190,  190,
  838.       190,  190,  190,  190,  229,  234,  230,  234,  255,  229,
  839.       255,  229,  230,  231,  230,  685,  234,  231,  232,  231,
  840.       232,  232,  235,  233,  232,  233,  235,  233,  235,  236,
  841.       238,  684,  683,  236,  237,  236,  237,  237,  238,  239,
  842.       238,  242,  241,  239,  241,  239,  681,  672,  243,  242,
  843.       243,  242,  671,  243,  245,  241,  244,  244,  245,  244,
  844.       245,  246,  247,  246,  247,  249,  248,  249,  248,  250,
  845.       246,  248,  247,  251,  249,  251,  247,  309,  252,  309,
  846.       670,  669,  252,  251,  252,  250,  668,  250,  253,  253,
  847.       254,  253,  254,  310,  310,  310,  696,  667,  254,  260,
  848.       666,  260,  260,  260,  260,  260,  260,  260,  261,  696,
  849.       261,  261,  261,  261,  261,  261,  261,  267,  665,  267,
  850.       267,  267,  267,  267,  267,  267,  268,  662,  268,  268,
  851.       268,  268,  268,  268,  268,  271,  660,  271,  271,  271,
  852.       271,  271,  271,  271,  272,  651,  272,  272,  272,  272,
  853.       272,  272,  272,  311,  312,  311,  650,  311,  313,  314,
  854.       649,  648,  312,  314,  312,  314,  313,  315,  313,  315,
  855.       316,  315,  318,  317,  318,  317,  316,  317,  316,  647,
  856.       319,  317,  319,  320,  646,  320,  319,  321,  645,  321,
  857.       321,  320,  322,  323,  322,  323,  324,  325,  324,  325,
  858.       322,  326,  325,  326,  327,  713,  327,  324,  328,  329,
  859.       328,  329,  330,  328,  330,  331,  333,  336,  713,  331,
  860.       333,  331,  333,  334,  329,  334,  335,  644,  335,  334,
  861.       387,  335,  387,  389,  387,  389,  391,  394,  391,  394,
  862.       391,  336,  398,  336,  398,  336,  342,  342,  342,  342,
  863.       342,  342,  342,  343,  642,  343,  343,  343,  343,  343,
  864.       343,  343,  344,  344,  344,  344,  344,  344,  344,  350,
  865.       350,  350,  350,  350,  350,  350,  351,  640,  351,  351,
  866.       351,  351,  351,  351,  351,  352,  352,  352,  352,  352,
  867.       352,  352,  355,  355,  355,  355,  355,  355,  355,  356,
  868.       638,  356,  356,  356,  356,  356,  356,  356,  357,  357,
  869.       357,  357,  357,  357,  357,  390,  392,  390,  392,  637,
  870.       395,  393,  395,  635,  621,  390,  392,  393,  620,  393,
  871.       395,  396,  397,  396,  397,  399,  397,  399,  400,  399,
  872.       396,  401,  400,  402,  400,  403,  619,  403,  402,  401,
  873.       402,  401,  404,  714,  405,  403,  407,  404,  407,  404,
  874.       405,  406,  405,  406,  408,  617,  714,  406,  407,  410,
  875.       616,  410,  408,  411,  408,  411,  614,  412,  411,  412,
  876.       414,  413,  460,  413,  460,  413,  412,  413,  414,  611,
  877.       414,  419,  610,  419,  419,  419,  419,  419,  419,  419,
  878.       425,  608,  425,  425,  425,  425,  425,  425,  425,  429,
  879.       607,  429,  429,  429,  429,  429,  429,  429,  461,  462,
  880.       463,  462,  463,  461,  464,  461,  464,  465,  466,  465,
  881.       463,  467,  468,  467,  603,  473,  466,  473,  466,  469,
  882.       468,  469,  468,  470,  469,  470,  471,  601,  471,  470,
  883.       472,  471,  472,  474,  600,  474,  472,  475,  474,  475,
  884.       476,  480,  477,  480,  476,  475,  476,  477,  479,  477,
  885.       479,  480,  481,  482,  481,  482,  479,  483,  482,  483,
  886.       484,  597,  484,  484,  596,  483,  489,  489,  489,  489,
  887.       489,  489,  489,  490,  577,  490,  490,  490,  490,  490,
  888.       490,  490,  494,  494,  494,  494,  494,  494,  494,  495,
  889.       576,  495,  495,  495,  495,  495,  495,  495,  498,  498,
  890.       498,  498,  498,  498,  498,  499,  575,  499,  499,  499,
  891.       499,  499,  499,  499,  524,  525,  524,  526,  527,  526,
  892.       527,  573,  525,  527,  525,  572,  528,  526,  528,  529,
  893.       530,  529,  530,  531,  532,  531,  532,  532,  533,  571,
  894.       533,  530,  534,  535,  534,  535,  537,  569,  535,  533,
  895.       536,  537,  536,  537,  540,  538,  536,  538,  539,  568,
  896.       539,  540,  541,  540,  541,  538,  542,  543,  542,  567,
  897.       564,  543,  541,  543,  548,  548,  548,  548,  548,  548,
  898.       548,  553,  553,  553,  553,  553,  553,  553,  557,  557,
  899.       557,  557,  557,  557,  557,  579,  580,  579,  580,  581,
  900.       582,  581,  582,  581,  583,  584,  583,  584,  585,  586,
  901.       587,  586,  587,  563,  562,  584,  585,  560,  585,  586,
  902.       588,  589,  588,  589,  590,  591,  590,  591,  559,  589,
  903.       588,  592,  590,  592,  593,  594,  593,  594,  558,  595,
  904.       593,  595,  555,  622,  592,  622,  554,  594,  599,  599,
  905.       599,  599,  599,  599,  599,  602,  602,  602,  602,  602,
  906.       602,  602,  606,  606,  606,  606,  606,  606,  606,  623,
  907.       552,  623,  623,  624,  625,  624,  625,  626,  627,  626,
  908.       627,  628,  629,  628,  629,  551,  628,  629,  630,  631,
  909.       630,  631,  632,  633,  632,  633,  652,  631,  652,  653,
  910.       632,  655,  654,  653,  654,  653,  654,  655,  656,  655,
  911.       656,  657,  658,  659,  658,  659,  549,  547,  656,  657,
  912.       673,  657,  673,  674,  676,  674,  676,  546,  674,  676,
  913.       673,  675,  675,  544,  675,  675,  675,  675,  675,  675,
  914.       675,  675,  675,  675,  675,  675,  675,  675,  675,  675,
  915.       675,  675,  675,  675,  675,  675,  675,  675,  675,  675,
  916.       675,  675,  675,  675,  675,  675,  675,  675,  675,  675,
  917.       675,  675,  675,  675,  675,  675,  677,  678,  677,  678,
  918.       679,  677,  679,  678,  680,  692,  523,  692,  680,  698,
  919.       680,  693,  679,  693,  697,  698,  697,  698,  522,  699,
  920.       692,  699,  693,  700,  701,  700,  701,  711,  701,  711,
  921.       712,  715,  712,  715,  716,  717,  716,  717,  718,  716,
  922.       712,  723,  718,  723,  718,  724,  725,  724,  726,  730,
  923.       725,  730,  725,  726,  731,  726,  731,  732,  731,  732,
  924.       734,  738,  736,  738,  734,  521,  734,  736,  520,  736,
  925.       740,  740,  740,  740,  740,  740,  740,  741,  741,  741,
  926.       741,  741,  741,  741,  742,  742,  742,  742,  742,  742,
  927.       742,  743,  743,  518,  743,  743,  743,  743,  744,  517,
  928.       744,  745,  516,  515,  745,  745,  745,  745,  746,  746,
  929.       514,  746,  746,  746,  746,  747,  747,  513,  747,  747,
  930.       747,  747,  748,  512,  510,  748,  748,  748,  749,  749,
  931.       509,  749,  749,  749,  749,  750,  508,  507,  750,  750,
  932.       750,  751,  751,  506,  751,  751,  751,  751,  752,  505,
  933.       752,  753,  503,  501,  753,  500,  753,  755,  497,  755,
  934.       756,  496,  493,  756,  756,  756,  756,  757,  492,  757,
  935.       758,  491,  488,  758,  487,  758,  759,  486,  759,  760,
  936.       485,  760,  761,  459,  761,  763,  458,  763,  765,  457,
  937.       765,  767,  456,  767,  770,  770,  455,  770,  770,  770,
  938.       770,  771,  771,  454,  771,  771,  771,  771,  772,  772,
  939.       452,  772,  772,  772,  772,  773,  773,  451,  773,  773,
  940.       773,  773,  450,  449,  447,  446,  445,  444,  443,  441,
  941.       440,  439,  438,  437,  435,  433,  432,  431,  430,  428,
  942.       427,  426,  424,  422,  421,  420,  418,  417,  416,  415,
  943.       409,  388,  386,  385,  383,  382,  381,  380,  379,  378,
  944.       377,  376,  375,  374,  373,  372,  371,  370,  368,  367,
  945.       366,  365,  363,  362,  360,  359,  354,  353,  349,  348,
  946.       347,  345,  341,  340,  339,  338,  332,  307,  306,  305,
  947.       304,  303,  302,  301,  300,  297,  296,  295,  294,  293,
  948.       292,  291,  288,  287,  286,  285,  284,  283,  281,  280,
  949.       276,  275,  274,  273,  270,  269,  266,  265,  264,  263,
  950.       262,  258,  257,  256,  227,  226,  225,  224,  223,  222,
  951.       221,  219,  218,  217,  216,  215,  214,  213,  212,  211,
  952.       210,  209,  208,  207,  205,  204,  203,  202,  201,  200,
  953.       199,  198,  195,  194,  192,  186,  185,  180,  179,  178,
  954.       177,  176,  169,  168,  167,  166,  138,  137,  135,  134,
  955.       133,  132,  130,  129,  128,  127,  125,  124,  123,  122,
  956.       121,  120,  119,  117,  116,  115,  113,  108,  107,  106,
  957.       105,   99,   97,   96,   95,   94,   90,   89,   88,   84,
  958.        83,   81,   80,   75,   74,   73,   53,   52,   51,   47,
  959.        46,   43,   42,   41,   40,   37,   36,   31,   20,   19,
  960.        12,   11,    6,    5,  739,  739,  739,  739,  739,  739,
  961.       739,  739,  739,  739,  739,  739,  739,  739,  739,  739,
  962.       739,  739,  739,  739,  739,  739,  739,  739,  739,  739,
  963.       739,  739,  739,  739,  739,  739,  739,  739,  739,  739,
  964.       739,  739,  739,  739,  739,  739,  739,  739,  739,  739
  965.     } ;
  966. static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;
  967. static char *yy_full_match;
  968. static int yy_lp;
  969. #define REJECT 
  970. *yy_cp = yy_hold_char; /* undo effects of setting up yytext */ 
  971. yy_cp = yy_full_match; /* restore poss. backed-over text */ 
  972. ++yy_lp; 
  973. goto find_rule; 
  974. }
  975. #define yymore() yymore_used_but_not_detected
  976. #define YY_MORE_ADJ 0
  977. #define YY_RESTORE_YY_MORE_OFFSET
  978. char *yytext;
  979. #line 1 "config_scan.l"
  980. #define INITIAL 0
  981. /*
  982.  * Copyright (c) 1997, 1998, 1999
  983.  *      Inferno Nettverk A/S, Norway.  All rights reserved.
  984.  *
  985.  * Redistribution and use in source and binary forms, with or without
  986.  * modification, are permitted provided that the following conditions
  987.  * are met:
  988.  * 1. The above copyright notice, this list of conditions and the following
  989.  *    disclaimer must appear in all copies of the software, derivative works
  990.  *    or modified versions, and any portions thereof, aswell as in all
  991.  *    supporting documentation.
  992.  * 2. All advertising materials mentioning features or use of this software
  993.  *    must display the following acknowledgement:
  994.  *      This product includes software developed by
  995.  *      Inferno Nettverk A/S, Norway.
  996.  * 3. The name of the author may not be used to endorse or promote products
  997.  *    derived from this software without specific prior written permission.
  998.  *
  999.  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
  1000.  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  1001.  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  1002.  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
  1003.  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  1004.  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  1005.  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  1006.  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  1007.  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  1008.  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  1009.  *
  1010.  * Inferno Nettverk A/S requests users of this software to return to
  1011.  *
  1012.  *  Software Distribution Coordinator  or  sdc@inet.no
  1013.  *  Inferno Nettverk A/S
  1014.  *  Oslo Research Park
  1015.  *  Gaustadal閑n 21
  1016.  *  N-0349 Oslo
  1017.  *  Norway
  1018.  *
  1019.  * any improvements or extensions that they make and grant Inferno Nettverk A/S
  1020.  * the rights to redistribute these changes.
  1021.  *
  1022.  */
  1023. #line 45 "config_scan.l"
  1024. #include "common.h"
  1025. #include "yacconfig.h"
  1026. #include "config_parse.h"
  1027. extern int parseinit;
  1028. extern const int configtype;
  1029. static const char rcsid[] =
  1030. "$Id: config_scan.l,v 1.51 1999/12/22 09:29:24 karls Exp $";
  1031. /*%option debug        */
  1032. /* non-exclusive startconditions. */
  1033. #define start_address 1
  1034. #define start_port 2
  1035. /* exclusive startconditions */
  1036. #define lineprefix 3
  1037. #define start_command 4
  1038. #define start_compatibility 5
  1039. #define start_line 6
  1040. #define start_log 7
  1041. #define start_logoutput 8
  1042. #define start_option 9
  1043. #define start_proxyprotocol 10
  1044. #define start_username 11
  1045. #define start_service 12
  1046. #define start_srchost 13
  1047. #define start_protocol 14
  1048. #line 1215 "lex.yy.c"
  1049. /* Macros after this point can all be overridden by user definitions in
  1050.  * section 1.
  1051.  */
  1052. #ifndef YY_SKIP_YYWRAP
  1053. #ifdef __cplusplus
  1054. extern "C" int yywrap YY_PROTO(( void ));
  1055. #else
  1056. extern int yywrap YY_PROTO(( void ));
  1057. #endif
  1058. #endif
  1059. #ifndef YY_NO_UNPUT
  1060. static void yyunput YY_PROTO(( int c, char *buf_ptr ));
  1061. #endif
  1062. #ifndef yytext_ptr
  1063. static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int ));
  1064. #endif
  1065. #ifdef YY_NEED_STRLEN
  1066. static int yy_flex_strlen YY_PROTO(( yyconst char * ));
  1067. #endif
  1068. #ifndef YY_NO_INPUT
  1069. #ifdef __cplusplus
  1070. static int yyinput YY_PROTO(( void ));
  1071. #else
  1072. static int input YY_PROTO(( void ));
  1073. #endif
  1074. #endif
  1075. #if YY_STACK_USED
  1076. static int yy_start_stack_ptr = 0;
  1077. static int yy_start_stack_depth = 0;
  1078. static int *yy_start_stack = 0;
  1079. #ifndef YY_NO_PUSH_STATE
  1080. static void yy_push_state YY_PROTO(( int new_state ));
  1081. #endif
  1082. #ifndef YY_NO_POP_STATE
  1083. static void yy_pop_state YY_PROTO(( void ));
  1084. #endif
  1085. #ifndef YY_NO_TOP_STATE
  1086. static int yy_top_state YY_PROTO(( void ));
  1087. #endif
  1088. #else
  1089. #define YY_NO_PUSH_STATE 1
  1090. #define YY_NO_POP_STATE 1
  1091. #define YY_NO_TOP_STATE 1
  1092. #endif
  1093. #ifdef YY_MALLOC_DECL
  1094. YY_MALLOC_DECL
  1095. #else
  1096. #ifdef __STDC__
  1097. #ifndef __cplusplus
  1098. #include <stdlib.h>
  1099. #endif
  1100. #else
  1101. /* Just try to get by without declaring the routines.  This will fail
  1102.  * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
  1103.  * or sizeof(void*) != sizeof(int).
  1104.  */
  1105. #endif
  1106. #endif
  1107. /* Amount of stuff to slurp up with each read. */
  1108. #ifndef YY_READ_BUF_SIZE
  1109. #define YY_READ_BUF_SIZE 8192
  1110. #endif
  1111. /* Copy whatever the last rule matched to the standard output. */
  1112. #ifndef ECHO
  1113. /* This used to be an fputs(), but since the string might contain NUL's,
  1114.  * we now use fwrite().
  1115.  */
  1116. #define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
  1117. #endif
  1118. /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
  1119.  * is returned in "result".
  1120.  */
  1121. #ifndef YY_INPUT
  1122. #define YY_INPUT(buf,result,max_size) 
  1123. if ( yy_current_buffer->yy_is_interactive ) 
  1124. int c = '*', n; 
  1125. for ( n = 0; n < max_size && 
  1126.      (c = getc( yyin )) != EOF && c != 'n'; ++n ) 
  1127. buf[n] = (char) c; 
  1128. if ( c == 'n' ) 
  1129. buf[n++] = (char) c; 
  1130. if ( c == EOF && ferror( yyin ) ) 
  1131. YY_FATAL_ERROR( "input in flex scanner failed" ); 
  1132. result = n; 
  1133. else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) 
  1134.   && ferror( yyin ) ) 
  1135. YY_FATAL_ERROR( "input in flex scanner failed" );
  1136. #endif
  1137. /* No semi-colon after return; correct usage is to write "yyterminate();" -
  1138.  * we don't want an extra ';' after the "return" because that will cause
  1139.  * some compilers to complain about unreachable statements.
  1140.  */
  1141. #ifndef yyterminate
  1142. #define yyterminate() return YY_NULL
  1143. #endif
  1144. /* Number of entries by which start-condition stack grows. */
  1145. #ifndef YY_START_STACK_INCR
  1146. #define YY_START_STACK_INCR 25
  1147. #endif
  1148. /* Report a fatal error. */
  1149. #ifndef YY_FATAL_ERROR
  1150. #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
  1151. #endif
  1152. /* Default declaration of generated scanner - a define so the user can
  1153.  * easily add parameters.
  1154.  */
  1155. #ifndef YY_DECL
  1156. #define YY_DECL int yylex YY_PROTO(( void ))
  1157. #endif
  1158. /* Code executed at the beginning of each rule, after yytext and yyleng
  1159.  * have been set up.
  1160.  */
  1161. #ifndef YY_USER_ACTION
  1162. #define YY_USER_ACTION
  1163. #endif
  1164. /* Code executed at the end of each rule. */
  1165. #ifndef YY_BREAK
  1166. #define YY_BREAK break;
  1167. #endif
  1168. #define YY_RULE_SETUP 
  1169. YY_USER_ACTION
  1170. YY_DECL
  1171. {
  1172. register yy_state_type yy_current_state;
  1173. register char *yy_cp, *yy_bp;
  1174. register int yy_act;
  1175. #line 81 "config_scan.l"
  1176. /*
  1177.  * we can operate in more than one mode, find out which it is and
  1178.  * let the parser know.
  1179.  */
  1180. if (!parseinit) {
  1181. parseinit = 1;
  1182. switch (configtype) {
  1183. case CONFIGTYPE_SERVER:
  1184. return SERVERCONFIG;
  1185. case CONFIGTYPE_CLIENT:
  1186. return CLIENTCONFIG;
  1187. default:
  1188. SERRX(configtype);
  1189. }
  1190. }
  1191. /* start-condition dependent stuff. */
  1192. #line 1396 "lex.yy.c"
  1193. if ( yy_init )
  1194. {
  1195. yy_init = 0;
  1196. #ifdef YY_USER_INIT
  1197. YY_USER_INIT;
  1198. #endif
  1199. if ( ! yy_start )
  1200. yy_start = 1; /* first start state */
  1201. if ( ! yyin )
  1202. yyin = stdin;
  1203. if ( ! yyout )
  1204. yyout = stdout;
  1205. if ( ! yy_current_buffer )
  1206. yy_current_buffer =
  1207. yy_create_buffer( yyin, YY_BUF_SIZE );
  1208. yy_load_buffer_state();
  1209. }
  1210. while ( 1 ) /* loops until end-of-file is reached */
  1211. {
  1212. yy_cp = yy_c_buf_p;
  1213. /* Support of yytext. */
  1214. *yy_cp = yy_hold_char;
  1215. /* yy_bp points to the position in yy_ch_buf of the start of
  1216.  * the current run.
  1217.  */
  1218. yy_bp = yy_cp;
  1219. yy_current_state = yy_start;
  1220. yy_state_ptr = yy_state_buf;
  1221. *yy_state_ptr++ = yy_current_state;
  1222. yy_match:
  1223. do
  1224. {
  1225. register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
  1226. while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
  1227. {
  1228. yy_current_state = (int) yy_def[yy_current_state];
  1229. if ( yy_current_state >= 740 )
  1230. yy_c = yy_meta[(unsigned int) yy_c];
  1231. }
  1232. yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
  1233. *yy_state_ptr++ = yy_current_state;
  1234. ++yy_cp;
  1235. }
  1236. while ( yy_base[yy_current_state] != 1835 );
  1237. yy_find_action:
  1238. yy_current_state = *--yy_state_ptr;
  1239. yy_lp = yy_accept[yy_current_state];
  1240. find_rule: /* we branch to this label when backing up */
  1241. for ( ; ; ) /* until we find what rule we matched */
  1242. {
  1243. if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )
  1244. {
  1245. yy_act = yy_acclist[yy_lp];
  1246. {
  1247. yy_full_match = yy_cp;
  1248. break;
  1249. }
  1250. }
  1251. --yy_cp;
  1252. yy_current_state = *--yy_state_ptr;
  1253. yy_lp = yy_accept[yy_current_state];
  1254. }
  1255. YY_DO_BEFORE_ACTION;
  1256. if ( yy_act != YY_END_OF_BUFFER )
  1257. {
  1258. int yyl;
  1259. for ( yyl = 0; yyl < yyleng; ++yyl )
  1260. if ( yytext[yyl] == 'n' )
  1261. ++yylineno;
  1262. }
  1263. do_action: /* This label is used only to access EOF actions. */
  1264. switch ( yy_act )
  1265. { /* beginning of action switch */
  1266. case 1:
  1267. YY_RULE_SETUP
  1268. #line 110 "config_scan.l"
  1269. {
  1270. yylval.string = yytext;
  1271. return PROXYPROTOCOL_SOCKS_V4;
  1272. }
  1273. YY_BREAK
  1274. case 2:
  1275. YY_RULE_SETUP
  1276. #line 115 "config_scan.l"
  1277. {
  1278. yylval.string = yytext;
  1279. return PROXYPROTOCOL_SOCKS_V5;
  1280. }
  1281. YY_BREAK
  1282. case 3:
  1283. YY_RULE_SETUP
  1284. #line 120 "config_scan.l"
  1285. {
  1286. yylval.string = yytext;
  1287. return PROXYPROTOCOL_MSPROXY_V2;
  1288. }
  1289. YY_BREAK
  1290. case 4:
  1291. YY_RULE_SETUP
  1292. #line 125 "config_scan.l"
  1293. {
  1294. yylval.string = yytext;
  1295. return COMMAND_BIND;
  1296. }
  1297. YY_BREAK
  1298. case 5:
  1299. YY_RULE_SETUP
  1300. #line 130 "config_scan.l"
  1301. {
  1302. yylval.string = yytext;
  1303. return COMMAND_CONNECT;
  1304. }
  1305. YY_BREAK
  1306. case 6:
  1307. YY_RULE_SETUP
  1308. #line 135 "config_scan.l"
  1309. {
  1310. yylval.string = yytext;
  1311. return COMMAND_UDPASSOCIATE;
  1312. }
  1313. YY_BREAK
  1314. case 7:
  1315. YY_RULE_SETUP
  1316. #line 140 "config_scan.l"
  1317. {
  1318. yylval.string = yytext;
  1319. return COMMAND_BINDREPLY;
  1320. }
  1321. YY_BREAK
  1322. case 8:
  1323. YY_RULE_SETUP
  1324. #line 145 "config_scan.l"
  1325. {
  1326. yylval.string = yytext;
  1327. return COMMAND_UDPREPLY;
  1328. }
  1329. YY_BREAK
  1330. case 9:
  1331. YY_RULE_SETUP
  1332. #line 151 "config_scan.l"
  1333. {
  1334. yylval.string = yytext;
  1335. return DIRECT;
  1336. }
  1337. YY_BREAK
  1338. case 10:
  1339. YY_RULE_SETUP
  1340. #line 157 "config_scan.l"
  1341. {
  1342. BEGIN(start_service);
  1343. yylval.string = yytext;
  1344. return PORT;
  1345. }
  1346. YY_BREAK
  1347. /* compare */
  1348. case 11:
  1349. YY_RULE_SETUP
  1350. #line 165 "config_scan.l"
  1351. {
  1352. yylval.string = yytext;
  1353. return OPERATOR;
  1354. }
  1355. YY_BREAK
  1356. case 12:
  1357. YY_RULE_SETUP
  1358. #line 171 "config_scan.l"
  1359. {
  1360. yylval.string = yytext;
  1361. return LOG_CONNECT;
  1362. }
  1363. YY_BREAK
  1364. case 13:
  1365. YY_RULE_SETUP
  1366. #line 176 "config_scan.l"
  1367. {
  1368. yylval.string = yytext;
  1369. return LOG_DATA;
  1370. }
  1371. YY_BREAK
  1372. case 14:
  1373. YY_RULE_SETUP
  1374. #line 181 "config_scan.l"
  1375. {
  1376. yylval.string = yytext;
  1377. return LOG_DISCONNECT;
  1378. }
  1379. YY_BREAK
  1380. case 15:
  1381. YY_RULE_SETUP
  1382. #line 186 "config_scan.l"
  1383. {
  1384. yylval.string = yytext;
  1385. return LOG_ERROR;
  1386. }
  1387. YY_BREAK
  1388. case 16:
  1389. YY_RULE_SETUP
  1390. #line 191 "config_scan.l"
  1391. {
  1392. yylval.string = yytext;
  1393. return LOG_IOOPERATION;
  1394. }
  1395. YY_BREAK
  1396. case 17:
  1397. YY_RULE_SETUP
  1398. #line 196 "config_scan.l"
  1399. {
  1400. BEGIN(INITIAL);
  1401. yylval.string = yytext;
  1402. return SERVICENAME;
  1403. }
  1404. YY_BREAK
  1405. case 18:
  1406. YY_RULE_SETUP
  1407. #line 203 "config_scan.l"
  1408. {
  1409. BEGIN(INITIAL);
  1410. yylval.string = yytext;
  1411. return PORTNUMBER;
  1412. }
  1413. YY_BREAK
  1414. case 19:
  1415. YY_RULE_SETUP
  1416. #line 210 "config_scan.l"
  1417. {
  1418. BEGIN(start_port);
  1419. yylval.string = yytext;
  1420. return DOMAIN;
  1421. }
  1422. YY_BREAK
  1423. case 20:
  1424. YY_RULE_SETUP
  1425. #line 217 "config_scan.l"
  1426. {
  1427. yylval.string = yytext;
  1428. return LOGFILE;
  1429. }
  1430. YY_BREAK
  1431. case 21:
  1432. YY_RULE_SETUP
  1433. #line 222 "config_scan.l"
  1434. {
  1435. yylval.string = yytext;
  1436. return USERNAME;
  1437. }
  1438. YY_BREAK
  1439. case 22:
  1440. YY_RULE_SETUP
  1441. #line 227 "config_scan.l"
  1442. {
  1443. BEGIN(start_line);
  1444. yylval.string = yytext;
  1445. return *yytext;
  1446. }
  1447. YY_BREAK
  1448. case 23:
  1449. YY_RULE_SETUP
  1450. #line 234 "config_scan.l"
  1451. {
  1452. BEGIN(INITIAL);
  1453. yylval.string = yytext;
  1454. return LINE;
  1455. }
  1456. YY_BREAK
  1457. case 24:
  1458. YY_RULE_SETUP
  1459. #line 241 "config_scan.l"
  1460. {
  1461. yylval.string = yytext;
  1462. return NOMISMATCH;
  1463. }
  1464. YY_BREAK
  1465. case 25:
  1466. YY_RULE_SETUP
  1467. #line 246 "config_scan.l"
  1468. {
  1469. yylval.string = yytext;
  1470. return NOUNKNOWN;
  1471. }
  1472. YY_BREAK
  1473. case 26:
  1474. YY_RULE_SETUP
  1475. #line 251 "config_scan.l"
  1476. {
  1477. yylval.string = yytext;
  1478. return PROTOCOL_TCP;
  1479. }
  1480. YY_BREAK
  1481. case 27:
  1482. YY_RULE_SETUP
  1483. #line 256 "config_scan.l"
  1484. {
  1485. yylval.string = yytext;
  1486. return PROTOCOL_UDP;
  1487. }
  1488. YY_BREAK
  1489. case 28:
  1490. YY_RULE_SETUP
  1491. #line 261 "config_scan.l"
  1492. {
  1493. yylval.string = yytext;
  1494. return PROTOCOL_FAKE;
  1495. }
  1496. YY_BREAK
  1497. /* non-startcondition dependents. */
  1498. case 29:
  1499. YY_RULE_SETUP
  1500. #line 269 "config_scan.l"
  1501. {
  1502. yylval.string = yytext;
  1503. return DEBUGING;
  1504. }
  1505. YY_BREAK
  1506. case 30:
  1507. YY_RULE_SETUP
  1508. #line 274 "config_scan.l"
  1509. {
  1510. yylval.string = yytext;
  1511. return ROUTE;
  1512. }
  1513. YY_BREAK
  1514. case 31:
  1515. YY_RULE_SETUP
  1516. #line 279 "config_scan.l"
  1517. {
  1518. BEGIN(start_protocol);
  1519. yylval.string = yytext;
  1520. return RESOLVEPROTOCOL;
  1521. }
  1522. YY_BREAK
  1523. case 32:
  1524. YY_RULE_SETUP
  1525. #line 286 "config_scan.l"
  1526. {
  1527. BEGIN(start_srchost);
  1528. yylval.string = yytext;
  1529. return SRCHOST;
  1530. }
  1531. YY_BREAK
  1532. case 33:
  1533. YY_RULE_SETUP
  1534. #line 293 "config_scan.l"
  1535. {
  1536. BEGIN(start_proxyprotocol);
  1537. yylval.string = yytext;
  1538. return PROXYPROTOCOL;
  1539. }
  1540. YY_BREAK
  1541. case 34:
  1542. YY_RULE_SETUP
  1543. #line 300 "config_scan.l"
  1544. {
  1545. BEGIN(start_logoutput);
  1546. yylval.string = yytext;
  1547. return LOGOUTPUT;
  1548. }
  1549. YY_BREAK
  1550. case 35:
  1551. YY_RULE_SETUP
  1552. #line 307 "config_scan.l"
  1553. {
  1554. BEGIN(start_protocol);
  1555. yylval.string = yytext;
  1556. return PROTOCOL;
  1557. }
  1558. YY_BREAK
  1559. case 36:
  1560. YY_RULE_SETUP
  1561. #line 314 "config_scan.l"
  1562. {
  1563. BEGIN(start_command);
  1564. yylval.string = yytext;
  1565. return COMMAND;
  1566. }
  1567. YY_BREAK
  1568. case 37:
  1569. YY_RULE_SETUP
  1570. #line 322 "config_scan.l"
  1571. {
  1572. BEGIN(start_address);
  1573. yylval.string = yytext;
  1574. return FROM;
  1575. }
  1576. YY_BREAK
  1577. case 38:
  1578. YY_RULE_SETUP
  1579. #line 329 "config_scan.l"
  1580. {
  1581. BEGIN(start_address);
  1582. yylval.string = yytext;
  1583. return TO;
  1584. }
  1585. YY_BREAK
  1586. case 39:
  1587. YY_RULE_SETUP
  1588. #line 336 "config_scan.l"
  1589. {
  1590. BEGIN(start_address);
  1591. yylval.string = yytext;
  1592. return VIA;
  1593. }
  1594. YY_BREAK
  1595. /* server configstuff */
  1596. case 40:
  1597. YY_RULE_SETUP
  1598. #line 344 "config_scan.l"
  1599. {
  1600. BEGIN(start_address);
  1601. yylval.string = yytext;
  1602. return INTERNAL;
  1603. }
  1604. YY_BREAK
  1605. case 41:
  1606. YY_RULE_SETUP
  1607. #line 351 "config_scan.l"
  1608. {
  1609. BEGIN(start_address);
  1610. yylval.string = yytext;
  1611. return EXTERNAL;
  1612. }
  1613. YY_BREAK
  1614. case 42:
  1615. YY_RULE_SETUP
  1616. #line 358 "config_scan.l"
  1617. {
  1618. BEGIN(start_username);
  1619. return USER;
  1620. }
  1621. YY_BREAK
  1622. case 43:
  1623. YY_RULE_SETUP
  1624. #line 363 "config_scan.l"
  1625. {
  1626. BEGIN(start_username);
  1627. yylval.string = yytext;
  1628. return USER_PRIVILEGED;
  1629. }
  1630. YY_BREAK
  1631. case 44:
  1632. YY_RULE_SETUP
  1633. #line 370 "config_scan.l"
  1634. {
  1635. BEGIN(start_username);
  1636. yylval.string = yytext;
  1637. return USER_UNPRIVILEGED;
  1638. }
  1639. YY_BREAK
  1640. case 45:
  1641. YY_RULE_SETUP
  1642. #line 377 "config_scan.l"
  1643. {
  1644. BEGIN(start_username);
  1645. yylval.string = yytext;
  1646. return USER_LIBWRAP;
  1647. }
  1648. YY_BREAK
  1649. case 46:
  1650. YY_RULE_SETUP
  1651. #line 384 "config_scan.l"
  1652. {
  1653. yylval.string = yytext;
  1654. return IOTIMEOUT;
  1655. }
  1656. YY_BREAK
  1657. case 47:
  1658. YY_RULE_SETUP
  1659. #line 389 "config_scan.l"
  1660. {
  1661. yylval.string = yytext;
  1662. return COMPATIBILITY;
  1663. }
  1664. YY_BREAK
  1665. case 48:
  1666. YY_RULE_SETUP
  1667. #line 394 "config_scan.l"
  1668. {
  1669. yylval.string = yytext;
  1670. return REUSEADDR;
  1671. }
  1672. YY_BREAK
  1673. case 49:
  1674. YY_RULE_SETUP
  1675. #line 399 "config_scan.l"
  1676. {
  1677. yylval.string = yytext;
  1678. return SAMEPORT;
  1679. }
  1680. YY_BREAK
  1681. case 50:
  1682. YY_RULE_SETUP
  1683. #line 405 "config_scan.l"
  1684. {
  1685. yylval.string = yytext;
  1686. return CONNECTTIMEOUT;
  1687. }
  1688. YY_BREAK
  1689. case 51:
  1690. YY_RULE_SETUP
  1691. #line 410 "config_scan.l"
  1692. {
  1693. yylval.string = yytext;
  1694. return EXTENSION;
  1695. }
  1696. YY_BREAK
  1697. case 52:
  1698. YY_RULE_SETUP
  1699. #line 415 "config_scan.l"
  1700. {
  1701. yylval.string = yytext;
  1702. return BIND;
  1703. }
  1704. YY_BREAK
  1705. case 53:
  1706. YY_RULE_SETUP
  1707. #line 422 "config_scan.l"
  1708. {
  1709. yylval.string = yytext;
  1710. return CLIENTRULE;
  1711. }
  1712. YY_BREAK
  1713. case 54:
  1714. YY_RULE_SETUP
  1715. #line 428 "config_scan.l"
  1716. {
  1717. yylval.string = yytext;
  1718. return METHOD;
  1719. }
  1720. YY_BREAK
  1721. case 55:
  1722. YY_RULE_SETUP
  1723. #line 433 "config_scan.l"
  1724. {
  1725. yylval.string = yytext;
  1726. return NONE;
  1727. }
  1728. YY_BREAK
  1729. case 56:
  1730. YY_RULE_SETUP
  1731. #line 438 "config_scan.l"
  1732. {
  1733. yylval.string = yytext;
  1734. return GSSAPI;
  1735. }
  1736. YY_BREAK
  1737. case 57:
  1738. YY_RULE_SETUP
  1739. #line 443 "config_scan.l"
  1740. {
  1741. yylval.string = yytext;
  1742. return UNAME;
  1743. }
  1744. YY_BREAK
  1745. case 58:
  1746. YY_RULE_SETUP
  1747. #line 448 "config_scan.l"
  1748. {
  1749. yylval.string = yytext;
  1750. return RFC931;
  1751. }
  1752. YY_BREAK
  1753. /* filterrules */
  1754. /*
  1755.  * verdicts
  1756.  */
  1757. case 59:
  1758. YY_RULE_SETUP
  1759. #line 459 "config_scan.l"
  1760. {
  1761. yylval.string = yytext;
  1762. return VERDICT_BLOCK;
  1763. }
  1764. YY_BREAK
  1765. case 60:
  1766. YY_RULE_SETUP
  1767. #line 464 "config_scan.l"
  1768. {
  1769. yylval.string = yytext;
  1770. return VERDICT_PASS;
  1771. }
  1772. YY_BREAK
  1773. /*
  1774.  * logging
  1775.  */
  1776. case 61:
  1777. YY_RULE_SETUP
  1778. #line 475 "config_scan.l"
  1779. {
  1780. BEGIN(start_log);
  1781. yylval.string = yytext;
  1782. return LOG;
  1783. }
  1784. YY_BREAK
  1785. case 62:
  1786. YY_RULE_SETUP
  1787. #line 483 "config_scan.l"
  1788. {
  1789. BEGIN(lineprefix);
  1790. yylval.string = yytext;
  1791. return LIBWRAPSTART;
  1792. }
  1793. YY_BREAK
  1794. /*
  1795.   * Old keywords that are no longer used.
  1796.   */
  1797. case 63:
  1798. YY_RULE_SETUP
  1799. #line 494 "config_scan.l"
  1800. {
  1801. yylval.string = yytext;
  1802. return DEPRECATED;
  1803. }
  1804. YY_BREAK
  1805. /* misc generic stuff. */
  1806. case 64:
  1807. YY_RULE_SETUP
  1808. #line 503 "config_scan.l"
  1809. {
  1810. BEGIN(start_port);
  1811. yylval.string = yytext;
  1812. return IPADDRESS;
  1813. }
  1814. YY_BREAK
  1815. case 65:
  1816. YY_RULE_SETUP
  1817. #line 511 "config_scan.l"
  1818. {
  1819. yylval.string = yytext;
  1820. return NUMBER;
  1821. }
  1822. YY_BREAK
  1823. /* ignored */
  1824. case 66:
  1825. YY_RULE_SETUP
  1826. #line 518 "config_scan.l"
  1827. {
  1828. ;
  1829. }
  1830. YY_BREAK
  1831. /* shell style comment */
  1832. case 67:
  1833. YY_RULE_SETUP
  1834. #line 523 "config_scan.l"
  1835. {
  1836. ;
  1837. }
  1838. YY_BREAK
  1839. /* state always ends at eol. */
  1840. case 68:
  1841. YY_RULE_SETUP
  1842. #line 528 "config_scan.l"
  1843. {
  1844. BEGIN(INITIAL);
  1845. }
  1846. YY_BREAK
  1847. /* unless it's escaped. */
  1848. case 69:
  1849. YY_RULE_SETUP
  1850. #line 533 "config_scan.l"
  1851. {
  1852. ;
  1853. }
  1854. YY_BREAK
  1855. case 70:
  1856. YY_RULE_SETUP
  1857. #line 537 "config_scan.l"
  1858. {
  1859. return *yytext;
  1860. }
  1861. YY_BREAK
  1862. case 71:
  1863. YY_RULE_SETUP
  1864. #line 540 "config_scan.l"
  1865. ECHO;
  1866. YY_BREAK
  1867. #line 2111 "lex.yy.c"
  1868. case YY_STATE_EOF(INITIAL):
  1869. case YY_STATE_EOF(start_address):
  1870. case YY_STATE_EOF(start_port):
  1871. case YY_STATE_EOF(lineprefix):
  1872. case YY_STATE_EOF(start_command):
  1873. case YY_STATE_EOF(start_compatibility):
  1874. case YY_STATE_EOF(start_line):
  1875. case YY_STATE_EOF(start_log):
  1876. case YY_STATE_EOF(start_logoutput):
  1877. case YY_STATE_EOF(start_option):
  1878. case YY_STATE_EOF(start_proxyprotocol):
  1879. case YY_STATE_EOF(start_username):
  1880. case YY_STATE_EOF(start_service):
  1881. case YY_STATE_EOF(start_srchost):
  1882. case YY_STATE_EOF(start_protocol):
  1883. yyterminate();
  1884. case YY_END_OF_BUFFER:
  1885. {
  1886. /* Amount of text matched not including the EOB char. */
  1887. int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1;
  1888. /* Undo the effects of YY_DO_BEFORE_ACTION. */
  1889. *yy_cp = yy_hold_char;
  1890. YY_RESTORE_YY_MORE_OFFSET
  1891. if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
  1892. {
  1893. /* We're scanning a new file or input source.  It's
  1894.  * possible that this happened because the user
  1895.  * just pointed yyin at a new source and called
  1896.  * yylex().  If so, then we have to assure
  1897.  * consistency between yy_current_buffer and our
  1898.  * globals.  Here is the right place to do so, because
  1899.  * this is the first action (other than possibly a
  1900.  * back-up) that will match for the new input source.
  1901.  */
  1902. yy_n_chars = yy_current_buffer->yy_n_chars;
  1903. yy_current_buffer->yy_input_file = yyin;
  1904. yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
  1905. }
  1906. /* Note that here we test for yy_c_buf_p "<=" to the position
  1907.  * of the first EOB in the buffer, since yy_c_buf_p will
  1908.  * already have been incremented past the NUL character
  1909.  * (since all states make transitions on EOB to the
  1910.  * end-of-buffer state).  Contrast this with the test
  1911.  * in input().
  1912.  */
  1913. if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
  1914. { /* This was really a NUL. */
  1915. yy_state_type yy_next_state;
  1916. yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
  1917. yy_current_state = yy_get_previous_state();
  1918. /* Okay, we're now positioned to make the NUL
  1919.  * transition.  We couldn't have
  1920.  * yy_get_previous_state() go ahead and do it
  1921.  * for us because it doesn't know how to deal
  1922.  * with the possibility of jamming (and we don't
  1923.  * want to build jamming into it because then it
  1924.  * will run more slowly).
  1925.  */
  1926. yy_next_state = yy_try_NUL_trans( yy_current_state );
  1927. yy_bp = yytext_ptr + YY_MORE_ADJ;
  1928. if ( yy_next_state )
  1929. {
  1930. /* Consume the NUL. */
  1931. yy_cp = ++yy_c_buf_p;
  1932. yy_current_state = yy_next_state;
  1933. goto yy_match;
  1934. }
  1935. else
  1936. {
  1937. yy_cp = yy_c_buf_p;
  1938. goto yy_find_action;
  1939. }
  1940. }
  1941. else switch ( yy_get_next_buffer() )
  1942. {
  1943. case EOB_ACT_END_OF_FILE:
  1944. {
  1945. yy_did_buffer_switch_on_eof = 0;
  1946. if ( yywrap() )
  1947. {
  1948. /* Note: because we've taken care in
  1949.  * yy_get_next_buffer() to have set up
  1950.  * yytext, we can now set up
  1951.  * yy_c_buf_p so that if some total
  1952.  * hoser (like flex itself) wants to
  1953.  * call the scanner after we return the
  1954.  * YY_NULL, it'll still work - another
  1955.  * YY_NULL will get returned.
  1956.  */
  1957. yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
  1958. yy_act = YY_STATE_EOF(YY_START);
  1959. goto do_action;
  1960. }
  1961. else
  1962. {
  1963. if ( ! yy_did_buffer_switch_on_eof )
  1964. YY_NEW_FILE;
  1965. }
  1966. break;
  1967. }
  1968. case EOB_ACT_CONTINUE_SCAN:
  1969. yy_c_buf_p =
  1970. yytext_ptr + yy_amount_of_matched_text;
  1971. yy_current_state = yy_get_previous_state();
  1972. yy_cp = yy_c_buf_p;
  1973. yy_bp = yytext_ptr + YY_MORE_ADJ;
  1974. goto yy_match;
  1975. case EOB_ACT_LAST_MATCH:
  1976. yy_c_buf_p =
  1977. &yy_current_buffer->yy_ch_buf[yy_n_chars];
  1978. yy_current_state = yy_get_previous_state();
  1979. yy_cp = yy_c_buf_p;
  1980. yy_bp = yytext_ptr + YY_MORE_ADJ;
  1981. goto yy_find_action;
  1982. }
  1983. break;
  1984. }
  1985. default:
  1986. YY_FATAL_ERROR(
  1987. "fatal flex scanner internal error--no action found" );
  1988. } /* end of action switch */
  1989. } /* end of scanning one token */
  1990. } /* end of yylex */
  1991. /* yy_get_next_buffer - try to read in a new buffer
  1992.  *
  1993.  * Returns a code representing an action:
  1994.  * EOB_ACT_LAST_MATCH -
  1995.  * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
  1996.  * EOB_ACT_END_OF_FILE - end of file
  1997.  */
  1998. static int yy_get_next_buffer()
  1999. {
  2000. register char *dest = yy_current_buffer->yy_ch_buf;
  2001. register char *source = yytext_ptr;
  2002. register int number_to_move, i;
  2003. int ret_val;
  2004. if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
  2005. YY_FATAL_ERROR(
  2006. "fatal flex scanner internal error--end of buffer missed" );
  2007. if ( yy_current_buffer->yy_fill_buffer == 0 )
  2008. { /* Don't try to fill the buffer, so this is an EOF. */
  2009. if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
  2010. {
  2011. /* We matched a single character, the EOB, so
  2012.  * treat this as a final EOF.
  2013.  */
  2014. return EOB_ACT_END_OF_FILE;
  2015. }
  2016. else
  2017. {
  2018. /* We matched some text prior to the EOB, first
  2019.  * process it.
  2020.  */
  2021. return EOB_ACT_LAST_MATCH;
  2022. }
  2023. }
  2024. /* Try to read more data. */
  2025. /* First move last chars to start of buffer. */
  2026. number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1;
  2027. for ( i = 0; i < number_to_move; ++i )
  2028. *(dest++) = *(source++);
  2029. if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
  2030. /* don't do the read, it's not guaranteed to return an EOF,
  2031.  * just force an EOF
  2032.  */
  2033. yy_current_buffer->yy_n_chars = yy_n_chars = 0;
  2034. else
  2035. {
  2036. int num_to_read =
  2037. yy_current_buffer->yy_buf_size - number_to_move - 1;
  2038. while ( num_to_read <= 0 )
  2039. { /* Not enough room in the buffer - grow it. */
  2040. #ifdef YY_USES_REJECT
  2041. YY_FATAL_ERROR(
  2042. "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
  2043. #else
  2044. /* just a shorter name for the current buffer */
  2045. YY_BUFFER_STATE b = yy_current_buffer;
  2046. int yy_c_buf_p_offset =
  2047. (int) (yy_c_buf_p - b->yy_ch_buf);
  2048. if ( b->yy_is_our_buffer )
  2049. {
  2050. int new_size = b->yy_buf_size * 2;
  2051. if ( new_size <= 0 )
  2052. b->yy_buf_size += b->yy_buf_size / 8;
  2053. else
  2054. b->yy_buf_size *= 2;
  2055. b->yy_ch_buf = (char *)
  2056. /* Include room in for 2 EOB chars. */
  2057. yy_flex_realloc( (void *) b->yy_ch_buf,
  2058.  b->yy_buf_size + 2 );
  2059. }
  2060. else
  2061. /* Can't grow it, we don't own it. */
  2062. b->yy_ch_buf = 0;
  2063. if ( ! b->yy_ch_buf )
  2064. YY_FATAL_ERROR(
  2065. "fatal error - scanner input buffer overflow" );
  2066. yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
  2067. num_to_read = yy_current_buffer->yy_buf_size -
  2068. number_to_move - 1;
  2069. #endif
  2070. }
  2071. if ( num_to_read > YY_READ_BUF_SIZE )
  2072. num_to_read = YY_READ_BUF_SIZE;
  2073. /* Read in more data. */
  2074. YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
  2075. yy_n_chars, num_to_read );
  2076. yy_current_buffer->yy_n_chars = yy_n_chars;
  2077. }
  2078. if ( yy_n_chars == 0 )
  2079. {
  2080. if ( number_to_move == YY_MORE_ADJ )
  2081. {
  2082. ret_val = EOB_ACT_END_OF_FILE;
  2083. yyrestart( yyin );
  2084. }
  2085. else
  2086. {
  2087. ret_val = EOB_ACT_LAST_MATCH;
  2088. yy_current_buffer->yy_buffer_status =
  2089. YY_BUFFER_EOF_PENDING;
  2090. }
  2091. }
  2092. else
  2093. ret_val = EOB_ACT_CONTINUE_SCAN;
  2094. yy_n_chars += number_to_move;
  2095. yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
  2096. yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
  2097. yytext_ptr = &yy_current_buffer->yy_ch_buf[0];
  2098. return ret_val;
  2099. }
  2100. /* yy_get_previous_state - get the state just before the EOB char was reached */
  2101. static yy_state_type yy_get_previous_state()
  2102. {
  2103. register yy_state_type yy_current_state;
  2104. register char *yy_cp;
  2105. yy_current_state = yy_start;
  2106. yy_state_ptr = yy_state_buf;
  2107. *yy_state_ptr++ = yy_current_state;
  2108. for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
  2109. {
  2110. register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
  2111. while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
  2112. {
  2113. yy_current_state = (int) yy_def[yy_current_state];
  2114. if ( yy_current_state >= 740 )
  2115. yy_c = yy_meta[(unsigned int) yy_c];
  2116. }
  2117. yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
  2118. *yy_state_ptr++ = yy_current_state;
  2119. }
  2120. return yy_current_state;
  2121. }
  2122. /* yy_try_NUL_trans - try to make a transition on the NUL character
  2123.  *
  2124.  * synopsis
  2125.  * next_state = yy_try_NUL_trans( current_state );
  2126.  */
  2127. #ifdef YY_USE_PROTOS
  2128. static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
  2129. #else
  2130. static yy_state_type yy_try_NUL_trans( yy_current_state )
  2131. yy_state_type yy_current_state;
  2132. #endif
  2133. {
  2134. register int yy_is_jam;
  2135. register YY_CHAR yy_c = 1;
  2136. while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
  2137. {
  2138. yy_current_state = (int) yy_def[yy_current_state];
  2139. if ( yy_current_state >= 740 )
  2140. yy_c = yy_meta[(unsigned int) yy_c];
  2141. }
  2142. yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
  2143. yy_is_jam = (yy_current_state == 739);
  2144. if ( ! yy_is_jam )
  2145. *yy_state_ptr++ = yy_current_state;
  2146. return yy_is_jam ? 0 : yy_current_state;
  2147. }
  2148. #ifndef YY_NO_UNPUT
  2149. #ifdef YY_USE_PROTOS
  2150. static void yyunput( int c, register char *yy_bp )
  2151. #else
  2152. static void yyunput( c, yy_bp )
  2153. int c;
  2154. register char *yy_bp;
  2155. #endif
  2156. {
  2157. register char *yy_cp = yy_c_buf_p;
  2158. /* undo effects of setting up yytext */
  2159. *yy_cp = yy_hold_char;
  2160. if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
  2161. { /* need to shift things up to make room */
  2162. /* +2 for EOB chars. */
  2163. register int number_to_move = yy_n_chars + 2;
  2164. register char *dest = &yy_current_buffer->yy_ch_buf[
  2165. yy_current_buffer->yy_buf_size + 2];
  2166. register char *source =
  2167. &yy_current_buffer->yy_ch_buf[number_to_move];
  2168. while ( source > yy_current_buffer->yy_ch_buf )
  2169. *--dest = *--source;
  2170. yy_cp += (int) (dest - source);
  2171. yy_bp += (int) (dest - source);
  2172. yy_current_buffer->yy_n_chars =
  2173. yy_n_chars = yy_current_buffer->yy_buf_size;
  2174. if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
  2175. YY_FATAL_ERROR( "flex scanner push-back overflow" );
  2176. }
  2177. *--yy_cp = (char) c;
  2178. if ( c == 'n' )
  2179. --yylineno;
  2180. yytext_ptr = yy_bp;
  2181. yy_hold_char = *yy_cp;
  2182. yy_c_buf_p = yy_cp;
  2183. }
  2184. #endif /* ifndef YY_NO_UNPUT */
  2185. #ifdef __cplusplus
  2186. static int yyinput()
  2187. #else
  2188. static int input()
  2189. #endif
  2190. {
  2191. int c;
  2192. *yy_c_buf_p = yy_hold_char;
  2193. if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
  2194. {
  2195. /* yy_c_buf_p now points to the character we want to return.
  2196.  * If this occurs *before* the EOB characters, then it's a
  2197.  * valid NUL; if not, then we've hit the end of the buffer.
  2198.  */
  2199. if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
  2200. /* This was really a NUL. */
  2201. *yy_c_buf_p = '';
  2202. else
  2203. { /* need more input */
  2204. int offset = yy_c_buf_p - yytext_ptr;
  2205. ++yy_c_buf_p;
  2206. switch ( yy_get_next_buffer() )
  2207. {
  2208. case EOB_ACT_LAST_MATCH:
  2209. /* This happens because yy_g_n_b()
  2210.  * sees that we've accumulated a
  2211.  * token and flags that we need to
  2212.  * try matching the token before
  2213.  * proceeding.  But for input(),
  2214.  * there's no matching to consider.
  2215.  * So convert the EOB_ACT_LAST_MATCH
  2216.  * to EOB_ACT_END_OF_FILE.
  2217.  */
  2218. /* Reset buffer status. */
  2219. yyrestart( yyin );
  2220. /* fall through */
  2221. case EOB_ACT_END_OF_FILE:
  2222. {
  2223. if ( yywrap() )
  2224. return EOF;
  2225. if ( ! yy_did_buffer_switch_on_eof )
  2226. YY_NEW_FILE;
  2227. #ifdef __cplusplus
  2228. return yyinput();
  2229. #else
  2230. return input();
  2231. #endif
  2232. }
  2233. case EOB_ACT_CONTINUE_SCAN:
  2234. yy_c_buf_p = yytext_ptr + offset;
  2235. break;
  2236. }
  2237. }
  2238. }
  2239. c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */
  2240. *yy_c_buf_p = ''; /* preserve yytext */
  2241. yy_hold_char = *++yy_c_buf_p;
  2242. if ( c == 'n' )
  2243. ++yylineno;
  2244. return c;
  2245. }
  2246. #ifdef YY_USE_PROTOS
  2247. void yyrestart( FILE *input_file )
  2248. #else
  2249. void yyrestart( input_file )
  2250. FILE *input_file;
  2251. #endif
  2252. {
  2253. if ( ! yy_current_buffer )
  2254. yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
  2255. yy_init_buffer( yy_current_buffer, input_file );
  2256. yy_load_buffer_state();
  2257. }
  2258. #ifdef YY_USE_PROTOS
  2259. void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
  2260. #else
  2261. void yy_switch_to_buffer( new_buffer )
  2262. YY_BUFFER_STATE new_buffer;
  2263. #endif
  2264. {
  2265. if ( yy_current_buffer == new_buffer )
  2266. return;
  2267. if ( yy_current_buffer )
  2268. {
  2269. /* Flush out information for old buffer. */
  2270. *yy_c_buf_p = yy_hold_char;
  2271. yy_current_buffer->yy_buf_pos = yy_c_buf_p;
  2272. yy_current_buffer->yy_n_chars = yy_n_chars;
  2273. }
  2274. yy_current_buffer = new_buffer;
  2275. yy_load_buffer_state();
  2276. /* We don't actually know whether we did this switch during
  2277.  * EOF (yywrap()) processing, but the only time this flag
  2278.  * is looked at is after yywrap() is called, so it's safe
  2279.  * to go ahead and always set it.
  2280.  */
  2281. yy_did_buffer_switch_on_eof = 1;
  2282. }
  2283. #ifdef YY_USE_PROTOS
  2284. void yy_load_buffer_state( void )
  2285. #else
  2286. void yy_load_buffer_state()
  2287. #endif
  2288. {
  2289. yy_n_chars = yy_current_buffer->yy_n_chars;
  2290. yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
  2291. yyin = yy_current_buffer->yy_input_file;
  2292. yy_hold_char = *yy_c_buf_p;
  2293. }
  2294. #ifdef YY_USE_PROTOS
  2295. YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
  2296. #else
  2297. YY_BUFFER_STATE yy_create_buffer( file, size )
  2298. FILE *file;
  2299. int size;
  2300. #endif
  2301. {
  2302. YY_BUFFER_STATE b;
  2303. b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
  2304. if ( ! b )
  2305. YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
  2306. b->yy_buf_size = size;
  2307. /* yy_ch_buf has to be 2 characters longer than the size given because
  2308.  * we need to put in 2 end-of-buffer characters.
  2309.  */
  2310. b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
  2311. if ( ! b->yy_ch_buf )
  2312. YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
  2313. b->yy_is_our_buffer = 1;
  2314. yy_init_buffer( b, file );
  2315. return b;
  2316. }
  2317. #ifdef YY_USE_PROTOS
  2318. void yy_delete_buffer( YY_BUFFER_STATE b )
  2319. #else
  2320. void yy_delete_buffer( b )
  2321. YY_BUFFER_STATE b;
  2322. #endif
  2323. {
  2324. if ( ! b )
  2325. return;
  2326. if ( b == yy_current_buffer )
  2327. yy_current_buffer = (YY_BUFFER_STATE) 0;
  2328. if ( b->yy_is_our_buffer )
  2329. yy_flex_free( (void *) b->yy_ch_buf );
  2330. yy_flex_free( (void *) b );
  2331. }
  2332. #ifndef YY_ALWAYS_INTERACTIVE
  2333. #ifndef YY_NEVER_INTERACTIVE
  2334. extern int isatty YY_PROTO(( int ));
  2335. #endif
  2336. #endif
  2337. #ifdef YY_USE_PROTOS
  2338. void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
  2339. #else
  2340. void yy_init_buffer( b, file )
  2341. YY_BUFFER_STATE b;
  2342. FILE *file;
  2343. #endif
  2344. {
  2345. yy_flush_buffer( b );
  2346. b->yy_input_file = file;
  2347. b->yy_fill_buffer = 1;
  2348. #if YY_ALWAYS_INTERACTIVE
  2349. b->yy_is_interactive = 1;
  2350. #else
  2351. #if YY_NEVER_INTERACTIVE
  2352. b->yy_is_interactive = 0;
  2353. #else
  2354. b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
  2355. #endif
  2356. #endif
  2357. }
  2358. #ifdef YY_USE_PROTOS
  2359. void yy_flush_buffer( YY_BUFFER_STATE b )
  2360. #else
  2361. void yy_flush_buffer( b )
  2362. YY_BUFFER_STATE b;
  2363. #endif
  2364. {
  2365. if ( ! b )
  2366. return;
  2367. b->yy_n_chars = 0;
  2368. /* We always need two end-of-buffer characters.  The first causes
  2369.  * a transition to the end-of-buffer state.  The second causes
  2370.  * a jam in that state.
  2371.  */
  2372. b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
  2373. b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
  2374. b->yy_buf_pos = &b->yy_ch_buf[0];
  2375. b->yy_at_bol = 1;
  2376. b->yy_buffer_status = YY_BUFFER_NEW;
  2377. if ( b == yy_current_buffer )
  2378. yy_load_buffer_state();
  2379. }
  2380. #ifndef YY_NO_SCAN_BUFFER
  2381. #ifdef YY_USE_PROTOS
  2382. YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size )
  2383. #else
  2384. YY_BUFFER_STATE yy_scan_buffer( base, size )
  2385. char *base;
  2386. yy_size_t size;
  2387. #endif
  2388. {
  2389. YY_BUFFER_STATE b;
  2390. if ( size < 2 ||
  2391.      base[size-2] != YY_END_OF_BUFFER_CHAR ||
  2392.      base[size-1] != YY_END_OF_BUFFER_CHAR )
  2393. /* They forgot to leave room for the EOB's. */
  2394. return 0;
  2395. b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
  2396. if ( ! b )
  2397. YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
  2398. b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
  2399. b->yy_buf_pos = b->yy_ch_buf = base;
  2400. b->yy_is_our_buffer = 0;
  2401. b->yy_input_file = 0;
  2402. b->yy_n_chars = b->yy_buf_size;
  2403. b->yy_is_interactive = 0;
  2404. b->yy_at_bol = 1;
  2405. b->yy_fill_buffer = 0;
  2406. b->yy_buffer_status = YY_BUFFER_NEW;
  2407. yy_switch_to_buffer( b );
  2408. return b;
  2409. }
  2410. #endif
  2411. #ifndef YY_NO_SCAN_STRING
  2412. #ifdef YY_USE_PROTOS
  2413. YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str )
  2414. #else
  2415. YY_BUFFER_STATE yy_scan_string( yy_str )
  2416. yyconst char *yy_str;
  2417. #endif
  2418. {
  2419. int len;
  2420. for ( len = 0; yy_str[len]; ++len )
  2421. ;
  2422. return yy_scan_bytes( yy_str, len );
  2423. }
  2424. #endif
  2425. #ifndef YY_NO_SCAN_BYTES
  2426. #ifdef YY_USE_PROTOS
  2427. YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len )
  2428. #else
  2429. YY_BUFFER_STATE yy_scan_bytes( bytes, len )
  2430. yyconst char *bytes;
  2431. int len;
  2432. #endif
  2433. {
  2434. YY_BUFFER_STATE b;
  2435. char *buf;
  2436. yy_size_t n;
  2437. int i;
  2438. /* Get memory for full buffer, including space for trailing EOB's. */
  2439. n = len + 2;
  2440. buf = (char *) yy_flex_alloc( n );
  2441. if ( ! buf )
  2442. YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
  2443. for ( i = 0; i < len; ++i )
  2444. buf[i] = bytes[i];
  2445. buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR;
  2446. b = yy_scan_buffer( buf, n );
  2447. if ( ! b )
  2448. YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
  2449. /* It's okay to grow etc. this buffer, and we should throw it
  2450.  * away when we're done.
  2451.  */
  2452. b->yy_is_our_buffer = 1;
  2453. return b;
  2454. }
  2455. #endif
  2456. #ifndef YY_NO_PUSH_STATE
  2457. #ifdef YY_USE_PROTOS
  2458. static void yy_push_state( int new_state )
  2459. #else
  2460. static void yy_push_state( new_state )
  2461. int new_state;
  2462. #endif
  2463. {
  2464. if ( yy_start_stack_ptr >= yy_start_stack_depth )
  2465. {
  2466. yy_size_t new_size;
  2467. yy_start_stack_depth += YY_START_STACK_INCR;
  2468. new_size = yy_start_stack_depth * sizeof( int );
  2469. if ( ! yy_start_stack )
  2470. yy_start_stack = (int *) yy_flex_alloc( new_size );
  2471. else
  2472. yy_start_stack = (int *) yy_flex_realloc(
  2473. (void *) yy_start_stack, new_size );
  2474. if ( ! yy_start_stack )
  2475. YY_FATAL_ERROR(
  2476. "out of memory expanding start-condition stack" );
  2477. }
  2478. yy_start_stack[yy_start_stack_ptr++] = YY_START;
  2479. BEGIN(new_state);
  2480. }
  2481. #endif
  2482. #ifndef YY_NO_POP_STATE
  2483. static void yy_pop_state()
  2484. {
  2485. if ( --yy_start_stack_ptr < 0 )
  2486. YY_FATAL_ERROR( "start-condition stack underflow" );
  2487. BEGIN(yy_start_stack[yy_start_stack_ptr]);
  2488. }
  2489. #endif
  2490. #ifndef YY_NO_TOP_STATE
  2491. static int yy_top_state()
  2492. {
  2493. return yy_start_stack[yy_start_stack_ptr - 1];
  2494. }
  2495. #endif
  2496. #ifndef YY_EXIT_FAILURE
  2497. #define YY_EXIT_FAILURE 2
  2498. #endif
  2499. #ifdef YY_USE_PROTOS
  2500. static void yy_fatal_error( yyconst char msg[] )
  2501. #else
  2502. static void yy_fatal_error( msg )
  2503. char msg[];
  2504. #endif
  2505. {
  2506. (void) fprintf( stderr, "%sn", msg );
  2507. exit( YY_EXIT_FAILURE );
  2508. }
  2509. /* Redefine yyless() so it works in section 3 code. */
  2510. #undef yyless
  2511. #define yyless(n) 
  2512. do 
  2513. /* Undo effects of setting up yytext. */ 
  2514. yytext[yyleng] = yy_hold_char; 
  2515. yy_c_buf_p = yytext + n; 
  2516. yy_hold_char = *yy_c_buf_p; 
  2517. *yy_c_buf_p = ''; 
  2518. yyleng = n; 
  2519. while ( 0 )
  2520. /* Internal utility routines. */
  2521. #ifndef yytext_ptr
  2522. #ifdef YY_USE_PROTOS
  2523. static void yy_flex_strncpy( char *s1, yyconst char *s2, int n )
  2524. #else
  2525. static void yy_flex_strncpy( s1, s2, n )
  2526. char *s1;
  2527. yyconst char *s2;
  2528. int n;
  2529. #endif
  2530. {
  2531. register int i;
  2532. for ( i = 0; i < n; ++i )
  2533. s1[i] = s2[i];
  2534. }
  2535. #endif
  2536. #ifdef YY_NEED_STRLEN
  2537. #ifdef YY_USE_PROTOS
  2538. static int yy_flex_strlen( yyconst char *s )
  2539. #else
  2540. static int yy_flex_strlen( s )
  2541. yyconst char *s;
  2542. #endif
  2543. {
  2544. register int n;
  2545. for ( n = 0; s[n]; ++n )
  2546. ;
  2547. return n;
  2548. }
  2549. #endif
  2550. #ifdef YY_USE_PROTOS
  2551. static void *yy_flex_alloc( yy_size_t size )
  2552. #else
  2553. static void *yy_flex_alloc( size )
  2554. yy_size_t size;
  2555. #endif
  2556. {
  2557. return (void *) malloc( size );
  2558. }
  2559. #ifdef YY_USE_PROTOS
  2560. static void *yy_flex_realloc( void *ptr, yy_size_t size )
  2561. #else
  2562. static void *yy_flex_realloc( ptr, size )
  2563. void *ptr;
  2564. yy_size_t size;
  2565. #endif
  2566. {
  2567. /* The cast to (char *) in the following accommodates both
  2568.  * implementations that use char* generic pointers, and those
  2569.  * that use void* generic pointers.  It works with the latter
  2570.  * because both ANSI C and C++ allow castless assignment from
  2571.  * any pointer type to void*, and deal with argument conversions
  2572.  * as though doing an assignment.
  2573.  */
  2574. return (void *) realloc( (char *) ptr, size );
  2575. }
  2576. #ifdef YY_USE_PROTOS
  2577. static void yy_flex_free( void *ptr )
  2578. #else
  2579. static void yy_flex_free( ptr )
  2580. void *ptr;
  2581. #endif
  2582. {
  2583. free( ptr );
  2584. }
  2585. #if YY_MAIN
  2586. int main()
  2587. {
  2588. yylex();
  2589. return 0;
  2590. }
  2591. #endif
  2592. #line 540 "config_scan.l"