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

📄 ssl_expr_parse.c

📁 apach加密模块
💻 C
📖 第 1 页 / 共 2 页
字号:
#ifndef lintstatic char const ssl_expr_yysccsid[] = "@(#)yaccpar	1.9 (Berkeley) 02/21/93";#endif#include <stdlib.h>#define YYBYACC 1#define YYMAJOR 1#define YYMINOR 9#define YYLEX ssl_expr_yylex()#define YYEMPTY -1#define ssl_expr_yyclearin (ssl_expr_yychar=(YYEMPTY))#define ssl_expr_yyerrok (ssl_expr_yyerrflag=0)#define YYRECOVERING (ssl_expr_yyerrflag!=0)static int ssl_expr_yygrowstack();#define YYPREFIX "ssl_expr_yy"#line 72 "ssl_expr_parse.y"#include "mod_ssl.h"#line 75 "ssl_expr_parse.y"typedef union {    char     *cpVal;    ssl_expr *exVal;} YYSTYPE;#line 29 "y.tab.c"#define T_TRUE 257#define T_FALSE 258#define T_DIGIT 259#define T_ID 260#define T_STRING 261#define T_REGEX 262#define T_REGEX_I 263#define T_FUNC_FILE 264#define T_OP_EQ 265#define T_OP_NE 266#define T_OP_LT 267#define T_OP_LE 268#define T_OP_GT 269#define T_OP_GE 270#define T_OP_REG 271#define T_OP_NRE 272#define T_OP_IN 273#define T_OP_OR 274#define T_OP_AND 275#define T_OP_NOT 276#define YYERRCODE 256const short ssl_expr_yylhs[] = {                                        -1,    0,    1,    1,    1,    1,    1,    1,    1,    2,    2,    2,    2,    2,    2,    2,    2,    2,    5,    5,    6,    6,    6,    6,    4,    4,    3,};const short ssl_expr_yylen[] = {                                         2,    1,    1,    1,    2,    3,    3,    1,    3,    3,    3,    3,    3,    3,    3,    5,    3,    3,    1,    3,    1,    1,    4,    1,    1,    1,    4,};const short ssl_expr_yydefred[] = {                                      0,    2,    3,   20,   21,    0,    0,    0,    0,    0,    0,    7,   23,    0,    0,    4,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    8,    0,    0,    6,    9,   10,   11,   12,   13,   14,   24,   25,   16,   17,    0,   26,   22,    0,   18,   15,    0,   19,};const short ssl_expr_yydgoto[] = {                                       9,   10,   11,   12,   42,   47,   13,};const short ssl_expr_yysindex[] = {                                    -37,    0,    0,    0,    0,  -35,  -37,  -37,  -99,    0, -247,    0,    0, -250, -229,    0,  -39, -227,  -37,  -37,  -33,  -33,  -33,  -33,  -33,  -33, -233, -233,  -89,   -6,    0,  -87, -239,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,  -33,    0,    0,  -38,    0,    0,  -33,    0,};const short ssl_expr_yyrindex[] = {                                      0,    0,    0,    0,    0,    0,    0,    0,    0,    0,   39,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    1,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,};const short ssl_expr_yygindex[] = {                                      0,    7,    0,    0,   13,    0,  -13,};#define YYTABLESIZE 275const short ssl_expr_yytable[] = {                                       8,    5,   30,    7,    8,   14,   50,   34,   35,   36,   37,   38,   39,   15,   16,   20,   21,   22,   23,   24,   25,   26,   27,   28,   17,   32,   33,   18,   19,   40,   41,   48,   29,   31,   44,   45,   19,   51,   46,    1,   43,    0,    5,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,   49,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    1,    2,    3,    0,    4,    0,    3,    5,    4,    0,    0,    5,    0,    0,    0,   18,   19,    0,    0,    6,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    5,};const short ssl_expr_yycheck[] = {                                      37,    0,   41,   40,   37,   40,   44,   20,   21,   22,   23,   24,   25,    6,    7,  265,  266,  267,  268,  269,  270,  271,  272,  273,  123,   18,   19,  274,  275,  262,  263,   44,  261,  260,  123,   41,  275,   50,  125,    0,   27,   -1,   41,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  125,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,  258,  259,   -1,  261,   -1,  259,  264,  261,   -1,   -1,  264,   -1,   -1,   -1,  274,  275,   -1,   -1,  276,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  274,};#define YYFINAL 9#ifndef YYDEBUG#define YYDEBUG 0#elif YYDEBUG#include <stdio.h>#endif#define YYMAXTOKEN 276#if YYDEBUGconst char * const ssl_expr_yyname[] = {"end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'%'",0,0,"'('","')'",0,0,"','",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'{'",0,"'}'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"T_TRUE","T_FALSE","T_DIGIT","T_ID","T_STRING","T_REGEX","T_REGEX_I","T_FUNC_FILE","T_OP_EQ","T_OP_NE","T_OP_LT","T_OP_LE","T_OP_GT","T_OP_GE","T_OP_REG","T_OP_NRE","T_OP_IN","T_OP_OR","T_OP_AND","T_OP_NOT",};const char * const ssl_expr_yyrule[] = {"$accept : root","root : expr","expr : T_TRUE","expr : T_FALSE","expr : T_OP_NOT expr","expr : expr T_OP_OR expr","expr : expr T_OP_AND expr","expr : comparison","expr : '(' expr ')'","comparison : word T_OP_EQ word","comparison : word T_OP_NE word","comparison : word T_OP_LT word","comparison : word T_OP_LE word","comparison : word T_OP_GT word","comparison : word T_OP_GE word","comparison : word T_OP_IN '{' words '}'","comparison : word T_OP_REG regex","comparison : word T_OP_NRE regex","words : word","words : words ',' word","word : T_DIGIT","word : T_STRING","word : '%' '{' T_ID '}'","word : funccall","regex : T_REGEX","regex : T_REGEX_I","funccall : T_FUNC_FILE '(' T_STRING ')'",};#endif#ifdef YYSTACKSIZE#undef YYMAXDEPTH#define YYMAXDEPTH YYSTACKSIZE#else#ifdef YYMAXDEPTH#define YYSTACKSIZE YYMAXDEPTH#else#define YYSTACKSIZE 10000#define YYMAXDEPTH 10000#endif#endif#define YYINITSTACKSIZE 200int ssl_expr_yydebug;int ssl_expr_yynerrs;int ssl_expr_yyerrflag;int ssl_expr_yychar;short *ssl_expr_yyssp;YYSTYPE *ssl_expr_yyvsp;YYSTYPE ssl_expr_yyval;YYSTYPE ssl_expr_yylval;short *ssl_expr_yyss;short *ssl_expr_yysslim;YYSTYPE *ssl_expr_yyvs;int ssl_expr_yystacksize;#line 180 "ssl_expr_parse.y"int ssl_expr_yyerror(char *s){    ssl_expr_error = s;    return 2;}#line 232 "y.tab.c"/* allocate initial stack or double stack size, up to YYMAXDEPTH */static int ssl_expr_yygrowstack(){    int newsize, i;    short *newss;    YYSTYPE *newvs;    if ((newsize = ssl_expr_yystacksize) == 0)        newsize = YYINITSTACKSIZE;    else if (newsize >= YYMAXDEPTH)        return -1;    else if ((newsize *= 2) > YYMAXDEPTH)        newsize = YYMAXDEPTH;    i = ssl_expr_yyssp - ssl_expr_yyss;    if ((newss = (short *)realloc(ssl_expr_yyss, newsize * sizeof *newss)) == NULL)        return -1;    ssl_expr_yyss = newss;    ssl_expr_yyssp = newss + i;    if ((newvs = (YYSTYPE *)realloc(ssl_expr_yyvs, newsize * sizeof *newvs)) == NULL)        return -1;    ssl_expr_yyvs = newvs;    ssl_expr_yyvsp = newvs + i;    ssl_expr_yystacksize = newsize;    ssl_expr_yysslim = ssl_expr_yyss + newsize - 1;    return 0;}#define YYABORT goto ssl_expr_yyabort#define YYREJECT goto ssl_expr_yyabort#define YYACCEPT goto ssl_expr_yyaccept#define YYERROR goto ssl_expr_yyerrlabintssl_expr_yyparse(){    register int ssl_expr_yym, ssl_expr_yyn, ssl_expr_yystate;#if YYDEBUG    register const char *ssl_expr_yys;    if ((ssl_expr_yys = getenv("YYDEBUG")))    {        ssl_expr_yyn = *ssl_expr_yys;        if (ssl_expr_yyn >= '0' && ssl_expr_yyn <= '9')            ssl_expr_yydebug = ssl_expr_yyn - '0';    }#endif    ssl_expr_yynerrs = 0;    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

⌨️ 快捷键说明

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