yylex.c

来自「一个可用的dns服务器源代码」· C语言 代码 · 共 1,520 行 · 第 1/3 页

C
1,520
字号
       22,   26,   22,   27,   22,   22,   22,   22,   28,   29,       22,   30,   22,   22,   18,   31,   32,   34,   35,   38,       18,   18,   18,   18,   31,   32,   37,   41,   39,   18,       18,   18,   33,   40,   33,   42,   37,   33,   34,   35,       33,   38,   33,   40,   39,   41,   33,   33,   33,   36,       33,   42,   34,   35,   50,   45,   33,   67,  163,   33,       33,   33,   33,   18,   31,   32,   33,   18,   18,   44,       18,   18,   46,   47,   48,   53,   51,  162,   52,   60,       33,   33,   33,   33,   49,   61,   62,   68,   65,  160,       33,   66,   33,   33,   33,   69,   33,  158,   33,   33,       18,   54,   55,   71,   72,  153,   18,   18,   18,   18,       57,   19,   33,   73,   74,   59,   18,   18,   18,   48,       32,   75,   64,   18,   44,   18,   18,   54,   55,   76,       77,   86,   70,   18,   54,   55,   33,  146,   33,   18,       18,   18,   18,   57,   19,   83,   33,   33,   18,   18,       18,  143,   84,   85,   33,   18,   78,   79,   89,   71,       72,   18,   18,   18,   19,   93,   76,   77,   78,   79,       33,   81,   81,   94,   95,   19,   81,   33,  141,   81,       96,   19,  136,   33,   81,   82,   18,   68,   32,  134,       88,   88,   44,   18,   18,   18,   90,   19,   84,   85,      131,   92,   18,   18,   18,   73,   74,   97,   18,   18,       44,   18,   18,   18,   78,   79,  106,  107,   98,   18,       18,   18,   33,   33,   18,   99,  100,  102,  103,  115,       18,   18,   18,   18,  102,  103,  108,  109,  129,   18,       18,   18,   18,   89,   32,  126,  105,  105,   44,   18,       18,   18,   90,   19,   33,  110,  123,   18,   18,   18,      111,   33,   18,   95,   19,  130,   18,   18,   18,   18,       18,   18,   96,   19,  121,   18,   18,   18,   18,   18,      114,   99,  100,  106,  107,   33,   70,   18,   99,  100,       33,  119,  120,   18,   18,   18,   18,  116,  117,  148,      149,  105,   18,   18,   18,   18,  119,  120,  138,  139,      118,   18,   18,   18,   18,  108,  109,  113,   18,   18,      122,   18,   18,   18,  110,   19,  148,  149,  112,   18,       18,   18,   18,  124,  125,  150,   19,  104,   18,   18,       18,   18,  127,  128,  154,   19,   88,   18,   18,   18,       18,  115,   32,  101,   18,   18,   44,   18,   18,  116,      117,  164,  165,   91,   70,   18,  116,  117,  164,  165,       87,   18,   18,   18,   18,  132,  133,  166,  167,   80,       18,   18,   18,   18,  135,   19,  168,  169,   63,  137,       18,   18,   18,  138,  139,   58,  124,  125,   18,   18,       18,  140,   18,  124,  125,   56,   43,   33,   18,   18,       18,   18,  127,  128,   18,   18,   18,  142,   18,   18,       18,  127,  128,    4,  110,   33,   18,   18,   18,   18,      130,   32,   33,   18,   18,   44,   18,   18,   18,  144,      145,   19,  132,  133,   18,   18,   18,  147,   18,  132,      133,   19,  170,    5,   18,   18,   18,   18,  135,   19,      170,  150,   19,   18,   18,   18,  151,   18,  152,  128,      170,  154,   19,   18,   18,   18,  155,   18,  156,  157,      170,  144,  145,   18,   18,   18,   70,   18,  144,  145,      170,  170,  170,   18,   18,   18,   18,  159,   19,  170,      170,  170,  161,   18,   18,   18,  150,   19,  170,  152,      128,   18,   18,   18,  142,   18,  152,  128,  170,  170,      170,   18,   18,   18,   18,  154,   19,  170,  156,  157,       18,   18,   18,   70,   18,  156,  157,  170,  170,  170,       18,   18,   18,   18,  159,   19,  170,  170,  170,   18,       18,   18,   18,  166,  167,  170,  170,  170,   18,   18,       18,   18,  168,  169,  170,  170,  170,   18,   18,   18,        3,  170,  170,  170,  170,  170,  170,  170,  170,  170,      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,      170,  170,  170,  170,  170,  170,  170,  170    } ;static const short int yy_chk[639] =    {   0,        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,        2,    2,    2,    2,    2,    2,    2,    2,    2,    2,        2,    2,    2,    2,    2,    2,    2,    7,    7,    7,        7,    7,    7,    7,    7,    7,    7,    7,    7,    7,        7,    7,    7,    7,    7,    7,    7,    7,    7,    7,        7,    7,    7,    7,    9,    9,    9,   10,   10,   13,        9,    9,    9,   11,   11,   11,   12,   16,   14,   11,       11,   11,   14,   15,   13,   17,   25,   12,   23,   23,       15,   26,   16,   28,   27,   29,   17,   25,   27,   11,       28,   30,   34,   34,   40,   36,   26,   51,  202,   51,       29,   40,   30,   31,   31,   31,   36,   31,   31,   31,       31,   31,   37,   38,   39,   42,   41,  201,   41,   45,       37,   41,   45,   38,   39,   46,   47,   52,   49,  200,       42,   50,   47,   49,   50,   53,   53,  199,   46,   39,       43,   43,   43,   58,   58,  198,   43,   43,   43,   44,       44,   44,   52,   60,   60,   44,   44,   44,   48,   48,       48,   61,   48,   48,   48,   48,   48,   54,   54,   62,       62,   67,   54,   56,   56,   56,   61,  197,   60,   56,       56,   56,   57,   57,   57,   65,   67,   65,   57,   57,       57,  196,   66,   66,   62,   63,   63,   63,   69,   71,       71,   63,   63,   63,   64,   75,   76,   76,   78,   78,       75,   64,   64,   78,   81,   81,   64,   66,  195,   64,       82,   82,  194,   69,   64,   64,   68,   68,   68,  193,       68,   68,   68,   68,   68,   70,   70,   70,   84,   84,      192,   70,   70,   70,   73,   73,   73,   83,   73,   73,       73,   73,   73,   80,   80,   80,   91,   91,   86,   80,       80,   80,   83,   86,   87,   87,   87,  102,  102,   98,       87,   87,   87,   88,   88,   88,   93,   93,  191,   88,       88,   88,   89,   89,   89,  190,   89,   89,   89,   89,       89,   90,   90,   90,   98,   94,  189,   90,   90,   90,       94,   93,   95,   95,   95,  114,   95,   95,   95,   95,       95,   96,   96,   96,  188,   96,   96,   96,   96,   96,       97,   99,   99,  106,  106,   97,   99,  101,  101,  101,      114,  119,  119,  101,  101,  101,  104,  104,  104,  136,      136,  187,  104,  104,  104,  105,  105,  105,  138,  138,      186,  105,  105,  105,  108,  108,  108,  185,  108,  108,      108,  108,  108,  110,  110,  110,  148,  148,  184,  110,      110,  110,  112,  112,  112,  151,  151,  183,  112,  112,      112,  113,  113,  113,  155,  155,  182,  113,  113,  113,      115,  115,  115,  181,  115,  115,  115,  115,  115,  116,      116,  160,  160,  180,  116,  118,  118,  118,  164,  164,      179,  118,  118,  118,  121,  121,  121,  166,  166,  178,      121,  121,  121,  122,  122,  122,  168,  168,  177,  122,      122,  122,  123,  123,  123,  176,  124,  124,  123,  123,      123,  124,  126,  126,  126,  175,  174,  173,  126,  126,      126,  127,  127,  127,  172,  127,  127,  127,  127,  127,      129,  129,  129,  171,  111,   33,  129,  129,  129,  130,      130,  130,   22,  130,  130,  130,  130,  130,  131,  131,      131,   18,  132,  132,  131,  131,  131,  132,  134,  134,      134,    6,    3,    1,  134,  134,  134,  135,  135,  135,        0,  140,  140,  135,  135,  135,  140,  141,  141,  141,        0,  142,  142,  141,  141,  141,  142,  143,  143,  143,        0,  144,  144,  143,  143,  143,  144,  146,  146,  146,        0,    0,    0,  146,  146,  146,  147,  147,  147,    0,        0,    0,  147,  147,  147,  150,  150,  150,    0,  152,      152,  150,  150,  150,  152,  153,  153,  153,    0,    0,        0,  153,  153,  153,  154,  154,  154,    0,  156,  156,      154,  154,  154,  156,  158,  158,  158,    0,    0,    0,      158,  158,  158,  159,  159,  159,    0,    0,    0,  159,      159,  159,  162,  162,  162,    0,    0,    0,  162,  162,      162,  163,  163,  163,    0,    0,    0,  163,  163,  163,      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,      170,  170,  170,  170,  170,  170,  170,  170,  170,  170,      170,  170,  170,  170,  170,  170,  170,  170    } ;static yy_state_type yy_last_accepting_state;static YY_CHAR *yy_last_accepting_cpos;static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr;static YY_CHAR *yy_full_match;static int yy_lp;static int yy_looking_for_trail_begin = 0;static int yy_full_lp;static int *yy_full_state;#define YY_TRAILING_MASK 0x2000#define YY_TRAILING_HEAD_MASK 0x4000#define REJECT \{ \*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \yy_cp = yy_full_match; /* restore poss. backed-over text */ \yy_lp = yy_full_lp; /* restore orig. accepting pos. */ \yy_state_ptr = yy_full_state; /* restore orig. state */ \yy_current_state = *yy_state_ptr; /* restore curr. state */ \++yy_lp; \goto find_rule; \}#define yymore() yymore_used_but_not_detected#define YY_MORE_ADJ 0/* these variables are all declared out here so that section 3 code can * manipulate them *//* points to current character in buffer */static YY_CHAR *yy_c_buf_p = (YY_CHAR *) 0;static int yy_init = 1;		/* whether we need to initialize */static int yy_start = 0;	/* start state number *//* flag which is used to allow yywrap()'s to do buffer switches * instead of setting up a fresh yyin.  A bit of a hack ... */static int yy_did_buffer_switch_on_eof;static yy_state_type yy_get_previous_state YY_PROTO(( void ));static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));static int yy_get_next_buffer YY_PROTO(( void ));static void yyunput YY_PROTO(( YY_CHAR c, YY_CHAR *buf_ptr ));void yyrestart YY_PROTO(( FILE *input_file ));void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));void yy_load_buffer_state YY_PROTO(( void ));YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));#define yy_new_buffer yy_create_buffer#ifdef __cplusplusstatic int yyinput YY_PROTO(( void ));#elsestatic int input YY_PROTO(( void ));#endifYY_DECL    {    register yy_state_type yy_current_state;    register YY_CHAR *yy_cp, *yy_bp;    register int yy_act;    if ( yy_init )	{	YY_USER_INIT;	if ( ! yy_start )	    yy_start = 1;	/* first start state */	if ( ! yyin )	    yyin = stdin;	if ( ! yyout )	    yyout = stdout;	if ( yy_current_buffer )	    yy_init_buffer( yy_current_buffer, yyin );	else	    yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );	yy_load_buffer_state();	yy_init = 0;	}    while ( 1 )		/* loops until end-of-file is reached */	{	yy_cp = yy_c_buf_p;	/* support of yytext */	*yy_cp = yy_hold_char;	/* yy_bp points to the position in yy_ch_buf of the start of the	 * current run.	 */	yy_bp = yy_cp;	yy_current_state = yy_start;	if ( yy_bp[-1] == '\n' )	    ++yy_current_state;	yy_state_ptr = yy_state_buf;	*yy_state_ptr++ = yy_current_state;yy_match:	do	    {	    register YY_CHAR yy_c = yy_ec[*yy_cp];	    while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )		{		yy_current_state = yy_def[yy_current_state];		if ( yy_current_state >= 171 )		    yy_c = yy_meta[yy_c];		}	    yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];	    *yy_state_ptr++ = yy_current_state;	    ++yy_cp;	    }	while ( yy_base[yy_current_state] != 611 );yy_find_action:	yy_current_state = *--yy_state_ptr;	yy_lp = yy_accept[yy_current_state];find_rule: /* we branch to this label when backtracking */	for ( ; ; ) /* until we find what rule we matched */	    {	    if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] )		{		yy_act = yy_acclist[yy_lp];		if ( yy_act & YY_TRAILING_HEAD_MASK ||		     yy_looking_for_trail_begin )		    {		    if ( yy_act == yy_looking_for_trail_begin )			{			yy_looking_for_trail_begin = 0;			yy_act &= ~YY_TRAILING_HEAD_MASK;			break;			}		    }		else if ( yy_act & YY_TRAILING_MASK )		    {		    yy_looking_for_trail_begin = yy_act & ~YY_TRAILING_MASK;		    yy_looking_for_trail_begin |= YY_TRAILING_HEAD_MASK;		    }		else		    {		    yy_full_match = yy_cp;		    yy_full_state = yy_state_ptr;		    yy_full_lp = yy_lp;		    break;		    }		++yy_lp;		goto find_rule;		}	    --yy_cp;	    yy_current_state = *--yy_state_ptr;	    yy_lp = yy_accept[yy_current_state];	    }	YY_DO_BEFORE_ACTION;	YY_USER_ACTION;do_action:	/* this label is used only to access EOF actions */	switch ( yy_act )	    {             int nt_was_set = FALSE;case 1:# line 108 "commands.l"{					    /*					     * 0 == use current server to find					     *	    the new one.					     * 1 == use original server to find					     *	    the new one.					     */					    SetDefaultServer(yytext, 0);					    return(1);					}	YY_BREAKcase 2:# line 118 "commands.l"{					    SetDefaultServer(yytext, 1);					    return(1);					}	YY_BREAKcase 3:# line 122 "commands.l"{					    return(0);					}	YY_BREAKcase 4:# line 125 "commands.l"{					    SetDefaultServer(rootServerName, 1);					    return(1);					}	YY_BREAKcase 5:# line 129 "commands.l"{					    /*					     * 2nd arg.					     *  0 == output to stdout					     *  1 == output to file					     */					    Finger(yytext, 1);					    return(1);					}	YY_BREAKcase 6:# line 138 "commands.l"{					    Finger(yytext, 0);					    return(1);					}	YY_BREAKcase 7:# line 142 "commands.l"{					    ViewList(yytext);					    return(1);					}	YY_BREAKcase 8:# line 146 "commands.l"{					    /*					     * 2nd arg.					     *  0 == output to stdout					     *  1 == output to file					     */					    ListHosts(yytext, 1);					    return(1);					}	YY_BREAKcase 9:# line 155 "commands.l"{					    ListHosts(yytext, 0);					    return(1);					}	YY_BREAKcase 10:# line 159 "commands.l"{					    /*					     * 2nd arg.					     *  0 == output to stdout					     *  1 == output to file					     */					    ListHostsByType(yytext, 1);					    return(1);					}	YY_BREAKcase 11:# line 168 "commands.l"{					    ListHostsByType(yytext, 0);					    return(1);					}	YY_BREAKcase 12:# line 172 "commands.l"{					    SetOption(yytext);					    nt_was_set = TRUE;					    return(1);					}	YY_BREAKcase 13:# line 176 "commands.l"{					    PrintHelp();					    return(1);					}	YY_BREAKcase 14:# line 180 "commands.l"{					    extern void PrintHelp();					    PrintHelp();					    return(1);					}	YY_BREAKcase 15:# line 186 "commands.l"{					    /*					     * 0 == output to stdout					     * 1 == output to file					     */					    LookupHost(yytext, 1);					    return(1);					}	YY_BREAKcase 16:# line 194 "commands.l"{					    LookupHost(yytext, 0);					    return(1);					}	YY_BREAKcase 17:# line 198 "commands.l"{					    /*					     * 0 == output to stdout					     * 1 == output to file					     */					    LookupHostWithServer(yytext, 1);					    return(1);					}	YY_BREAKcase 18:# line 206 "commands.l"{					    LookupHostWithServer(yytext, 0);					    return(1);					}	YY_BREAKcase 19:# line 210 "commands.l"{					    return(1);					}	YY_BREAKcase 20:# line 213 "commands.l"{					    printf("Unrecognized command: %s",							yytext);					    return(1);					}	YY_BREAKcase 21:# line 218 "commands.l"{ ; }	YY_BREAKcase 22:# line 219 "commands.l"ECHO;	YY_BREAK	    case YY_STATE_EOF(INITIAL):		yyterminate();	    case YY_END_OF_BUFFER:		{		/* amount of text matched not including the EOB char */		int yy_amount_of_matched_text = yy_cp - yytext - 1;		/* undo the effects of YY_DO_BEFORE_ACTION */		*yy_cp = yy_hold_char;		/* note that here we test for yy_c_buf_p "<=" to the position		 * of the first EOB in the buffer, since yy_c_buf_p will		 * already have been incremented past the NUL character		 * (since all states make transitions on EOB to the end-		 * of-buffer state).  Contrast this with the test in yyinput().		 */		if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?