⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ssl_expr_parse.c

📁 mod_ssl-2.8.31-1.3.41.tar.gz 好用的ssl工具
💻 C
📖 第 1 页 / 共 2 页
字号:
    ssl_expr_yyerrflag = 0;    ssl_expr_yychar = (-1);    if (ssl_expr_yyss == NULL && ssl_expr_yygrowstack()) goto ssl_expr_yyoverflow;    ssl_expr_yyssp = ssl_expr_yyss;    ssl_expr_yyvsp = ssl_expr_yyvs;    *ssl_expr_yyssp = ssl_expr_yystate = 0;ssl_expr_yyloop:    if ((ssl_expr_yyn = ssl_expr_yydefred[ssl_expr_yystate])) goto ssl_expr_yyreduce;    if (ssl_expr_yychar < 0)    {        if ((ssl_expr_yychar = ssl_expr_yylex()) < 0) ssl_expr_yychar = 0;#if YYDEBUG        if (ssl_expr_yydebug)        {            ssl_expr_yys = 0;            if (ssl_expr_yychar <= YYMAXTOKEN) ssl_expr_yys = ssl_expr_yyname[ssl_expr_yychar];            if (!ssl_expr_yys) ssl_expr_yys = "illegal-symbol";            printf("%sdebug: state %d, reading %d (%s)\n",                    YYPREFIX, ssl_expr_yystate, ssl_expr_yychar, ssl_expr_yys);        }#endif    }    if ((ssl_expr_yyn = ssl_expr_yysindex[ssl_expr_yystate]) && (ssl_expr_yyn += ssl_expr_yychar) >= 0 &&            ssl_expr_yyn <= YYTABLESIZE && ssl_expr_yycheck[ssl_expr_yyn] == ssl_expr_yychar)    {#if YYDEBUG        if (ssl_expr_yydebug)            printf("%sdebug: state %d, shifting to state %d\n",                    YYPREFIX, ssl_expr_yystate, ssl_expr_yytable[ssl_expr_yyn]);#endif        if (ssl_expr_yyssp >= ssl_expr_yysslim && ssl_expr_yygrowstack())        {            goto ssl_expr_yyoverflow;        }        *++ssl_expr_yyssp = ssl_expr_yystate = ssl_expr_yytable[ssl_expr_yyn];        *++ssl_expr_yyvsp = ssl_expr_yylval;        ssl_expr_yychar = (-1);        if (ssl_expr_yyerrflag > 0)  --ssl_expr_yyerrflag;        goto ssl_expr_yyloop;    }    if ((ssl_expr_yyn = ssl_expr_yyrindex[ssl_expr_yystate]) && (ssl_expr_yyn += ssl_expr_yychar) >= 0 &&            ssl_expr_yyn <= YYTABLESIZE && ssl_expr_yycheck[ssl_expr_yyn] == ssl_expr_yychar)    {        ssl_expr_yyn = ssl_expr_yytable[ssl_expr_yyn];        goto ssl_expr_yyreduce;    }    if (ssl_expr_yyerrflag) goto ssl_expr_yyinrecovery;#if defined(lint) || defined(__GNUC__)    goto ssl_expr_yynewerror;#endifssl_expr_yynewerror:    ssl_expr_yyerror("syntax error");#if defined(lint) || defined(__GNUC__)    goto ssl_expr_yyerrlab;#endifssl_expr_yyerrlab:    ++ssl_expr_yynerrs;ssl_expr_yyinrecovery:    if (ssl_expr_yyerrflag < 3)    {        ssl_expr_yyerrflag = 3;        for (;;)        {            if ((ssl_expr_yyn = ssl_expr_yysindex[*ssl_expr_yyssp]) && (ssl_expr_yyn += YYERRCODE) >= 0 &&                    ssl_expr_yyn <= YYTABLESIZE && ssl_expr_yycheck[ssl_expr_yyn] == YYERRCODE)            {#if YYDEBUG                if (ssl_expr_yydebug)                    printf("%sdebug: state %d, error recovery shifting\ to state %d\n", YYPREFIX, *ssl_expr_yyssp, ssl_expr_yytable[ssl_expr_yyn]);#endif                if (ssl_expr_yyssp >= ssl_expr_yysslim && ssl_expr_yygrowstack())                {                    goto ssl_expr_yyoverflow;                }                *++ssl_expr_yyssp = ssl_expr_yystate = ssl_expr_yytable[ssl_expr_yyn];                *++ssl_expr_yyvsp = ssl_expr_yylval;                goto ssl_expr_yyloop;            }            else            {#if YYDEBUG                if (ssl_expr_yydebug)                    printf("%sdebug: error recovery discarding state %d\n",                            YYPREFIX, *ssl_expr_yyssp);#endif                if (ssl_expr_yyssp <= ssl_expr_yyss) goto ssl_expr_yyabort;                --ssl_expr_yyssp;                --ssl_expr_yyvsp;            }        }    }    else    {        if (ssl_expr_yychar == 0) goto ssl_expr_yyabort;#if YYDEBUG        if (ssl_expr_yydebug)        {            ssl_expr_yys = 0;            if (ssl_expr_yychar <= YYMAXTOKEN) ssl_expr_yys = ssl_expr_yyname[ssl_expr_yychar];            if (!ssl_expr_yys) ssl_expr_yys = "illegal-symbol";            printf("%sdebug: state %d, error recovery discards token %d (%s)\n",                    YYPREFIX, ssl_expr_yystate, ssl_expr_yychar, ssl_expr_yys);        }#endif        ssl_expr_yychar = (-1);        goto ssl_expr_yyloop;    }ssl_expr_yyreduce:#if YYDEBUG    if (ssl_expr_yydebug)        printf("%sdebug: state %d, reducing by rule %d (%s)\n",                YYPREFIX, ssl_expr_yystate, ssl_expr_yyn, ssl_expr_yyrule[ssl_expr_yyn]);#endif    ssl_expr_yym = ssl_expr_yylen[ssl_expr_yyn];    ssl_expr_yyval = ssl_expr_yyvsp[1-ssl_expr_yym];    switch (ssl_expr_yyn)    {case 1:#line 118 "ssl_expr_parse.y"{ ssl_expr_info.expr = ssl_expr_yyvsp[0].exVal; }break;case 2:#line 121 "ssl_expr_parse.y"{ ssl_expr_yyval.exVal = ssl_expr_make(op_True,  NULL, NULL); }break;case 3:#line 122 "ssl_expr_parse.y"{ ssl_expr_yyval.exVal = ssl_expr_make(op_False, NULL, NULL); }break;case 4:#line 123 "ssl_expr_parse.y"{ ssl_expr_yyval.exVal = ssl_expr_make(op_Not,   ssl_expr_yyvsp[0].exVal,   NULL); }break;case 5:#line 124 "ssl_expr_parse.y"{ ssl_expr_yyval.exVal = ssl_expr_make(op_Or,    ssl_expr_yyvsp[-2].exVal,   ssl_expr_yyvsp[0].exVal);   }break;case 6:#line 125 "ssl_expr_parse.y"{ ssl_expr_yyval.exVal = ssl_expr_make(op_And,   ssl_expr_yyvsp[-2].exVal,   ssl_expr_yyvsp[0].exVal);   }break;case 7:#line 126 "ssl_expr_parse.y"{ ssl_expr_yyval.exVal = ssl_expr_make(op_Comp,  ssl_expr_yyvsp[0].exVal,   NULL); }break;case 8:#line 127 "ssl_expr_parse.y"{ ssl_expr_yyval.exVal = ssl_expr_yyvsp[-1].exVal; }break;case 9:#line 130 "ssl_expr_parse.y"{ ssl_expr_yyval.exVal = ssl_expr_make(op_EQ,  ssl_expr_yyvsp[-2].exVal, ssl_expr_yyvsp[0].exVal); }break;case 10:#line 131 "ssl_expr_parse.y"{ ssl_expr_yyval.exVal = ssl_expr_make(op_NE,  ssl_expr_yyvsp[-2].exVal, ssl_expr_yyvsp[0].exVal); }break;case 11:#line 132 "ssl_expr_parse.y"{ ssl_expr_yyval.exVal = ssl_expr_make(op_LT,  ssl_expr_yyvsp[-2].exVal, ssl_expr_yyvsp[0].exVal); }break;case 12:#line 133 "ssl_expr_parse.y"{ ssl_expr_yyval.exVal = ssl_expr_make(op_LE,  ssl_expr_yyvsp[-2].exVal, ssl_expr_yyvsp[0].exVal); }break;case 13:#line 134 "ssl_expr_parse.y"{ ssl_expr_yyval.exVal = ssl_expr_make(op_GT,  ssl_expr_yyvsp[-2].exVal, ssl_expr_yyvsp[0].exVal); }break;case 14:#line 135 "ssl_expr_parse.y"{ ssl_expr_yyval.exVal = ssl_expr_make(op_GE,  ssl_expr_yyvsp[-2].exVal, ssl_expr_yyvsp[0].exVal); }break;case 15:#line 136 "ssl_expr_parse.y"{ ssl_expr_yyval.exVal = ssl_expr_make(op_IN,  ssl_expr_yyvsp[-4].exVal, ssl_expr_yyvsp[-1].exVal); }break;case 16:#line 137 "ssl_expr_parse.y"{ ssl_expr_yyval.exVal = ssl_expr_make(op_REG, ssl_expr_yyvsp[-2].exVal, ssl_expr_yyvsp[0].exVal); }break;case 17:#line 138 "ssl_expr_parse.y"{ ssl_expr_yyval.exVal = ssl_expr_make(op_NRE, ssl_expr_yyvsp[-2].exVal, ssl_expr_yyvsp[0].exVal); }break;case 18:#line 141 "ssl_expr_parse.y"{ ssl_expr_yyval.exVal = ssl_expr_make(op_ListElement, ssl_expr_yyvsp[0].exVal, NULL); }break;case 19:#line 142 "ssl_expr_parse.y"{ ssl_expr_yyval.exVal = ssl_expr_make(op_ListElement, ssl_expr_yyvsp[0].exVal, ssl_expr_yyvsp[-2].exVal);   }break;case 20:#line 145 "ssl_expr_parse.y"{ ssl_expr_yyval.exVal = ssl_expr_make(op_Digit,  ssl_expr_yyvsp[0].cpVal, NULL); }break;case 21:#line 146 "ssl_expr_parse.y"{ ssl_expr_yyval.exVal = ssl_expr_make(op_String, ssl_expr_yyvsp[0].cpVal, NULL); }break;case 22:#line 147 "ssl_expr_parse.y"{ ssl_expr_yyval.exVal = ssl_expr_make(op_Var,    ssl_expr_yyvsp[-1].cpVal, NULL); }break;case 23:#line 148 "ssl_expr_parse.y"{ ssl_expr_yyval.exVal = ssl_expr_yyvsp[0].exVal; }break;case 24:#line 151 "ssl_expr_parse.y"{                 regex_t *regex;                if ((regex = ap_pregcomp(ssl_expr_info.pool, ssl_expr_yyvsp[0].cpVal,                                          REG_EXTENDED|REG_NOSUB)) == NULL) {                    ssl_expr_error = "Failed to compile regular expression";                    YYERROR;                    regex = NULL;                }                ssl_expr_yyval.exVal = ssl_expr_make(op_Regex, regex, NULL);            }break;case 25:#line 161 "ssl_expr_parse.y"{                regex_t *regex;                if ((regex = ap_pregcomp(ssl_expr_info.pool, ssl_expr_yyvsp[0].cpVal,                                          REG_EXTENDED|REG_NOSUB|REG_ICASE)) == NULL) {                    ssl_expr_error = "Failed to compile regular expression";                    YYERROR;                    regex = NULL;                }                ssl_expr_yyval.exVal = ssl_expr_make(op_Regex, regex, NULL);            }break;case 26:#line 173 "ssl_expr_parse.y"{                ssl_expr *args = ssl_expr_make(op_ListElement, ssl_expr_yyvsp[-1].cpVal, NULL);               ssl_expr_yyval.exVal = ssl_expr_make(op_Func, "file", args);            }break;#line 550 "y.tab.c"    }    ssl_expr_yyssp -= ssl_expr_yym;    ssl_expr_yystate = *ssl_expr_yyssp;    ssl_expr_yyvsp -= ssl_expr_yym;    ssl_expr_yym = ssl_expr_yylhs[ssl_expr_yyn];    if (ssl_expr_yystate == 0 && ssl_expr_yym == 0)    {#if YYDEBUG        if (ssl_expr_yydebug)            printf("%sdebug: after reduction, shifting from state 0 to\ state %d\n", YYPREFIX, YYFINAL);#endif        ssl_expr_yystate = YYFINAL;        *++ssl_expr_yyssp = YYFINAL;        *++ssl_expr_yyvsp = ssl_expr_yyval;        if (ssl_expr_yychar < 0)        {            if ((ssl_expr_yychar = ssl_expr_yylex()) < 0) ssl_expr_yychar = 0;#if YYDEBUG            if (ssl_expr_yydebug)            {                ssl_expr_yys = 0;                if (ssl_expr_yychar <= YYMAXTOKEN) ssl_expr_yys = ssl_expr_yyname[ssl_expr_yychar];                if (!ssl_expr_yys) ssl_expr_yys = "illegal-symbol";                printf("%sdebug: state %d, reading %d (%s)\n",                        YYPREFIX, YYFINAL, ssl_expr_yychar, ssl_expr_yys);            }#endif        }        if (ssl_expr_yychar == 0) goto ssl_expr_yyaccept;        goto ssl_expr_yyloop;    }    if ((ssl_expr_yyn = ssl_expr_yygindex[ssl_expr_yym]) && (ssl_expr_yyn += ssl_expr_yystate) >= 0 &&            ssl_expr_yyn <= YYTABLESIZE && ssl_expr_yycheck[ssl_expr_yyn] == ssl_expr_yystate)        ssl_expr_yystate = ssl_expr_yytable[ssl_expr_yyn];    else        ssl_expr_yystate = ssl_expr_yydgoto[ssl_expr_yym];#if YYDEBUG    if (ssl_expr_yydebug)        printf("%sdebug: after reduction, shifting from state %d \to state %d\n", YYPREFIX, *ssl_expr_yyssp, ssl_expr_yystate);#endif    if (ssl_expr_yyssp >= ssl_expr_yysslim && ssl_expr_yygrowstack())    {        goto ssl_expr_yyoverflow;    }    *++ssl_expr_yyssp = ssl_expr_yystate;    *++ssl_expr_yyvsp = ssl_expr_yyval;    goto ssl_expr_yyloop;ssl_expr_yyoverflow:    ssl_expr_yyerror("yacc stack overflow");ssl_expr_yyabort:    return (1);ssl_expr_yyaccept:    return (0);}

⌨️ 快捷键说明

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