grammar.c

来自「Ubuntu packages of security software。 相」· C语言 代码 · 共 1,792 行 · 第 1/4 页

C
1,792
字号
    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,    0,  126,  126,  125,  125,    0,  128,  128,  128,    0,    0,    0,  169,    0,  128,  128,    0,    0,    0,    0,    0,    0,  142,  143,  144,    0,  145,  146,};const short yycheck[] = {                                      40,    0,  290,   41,    0,   41,    0,   41,  126,    0,   47,    0,   88,  290,    0,  166,    0,  290,   38,  290,  172,  303,   42,   43,    0,   45,    0,   47,   42,   43,  303,   45,  290,   47,    0,   42,    0,  113,  303,   38,   47,  290,   41,   42,   43,   41,   45,   41,   47,   38,   41,  303,   41,   41,   43,   41,   45,   41,  352,  353,   91,   60,   61,   62,   38,   41,  195,   41,  186,   58,    0,   60,   61,   62,   38,   41,   33,   41,   82,   43,   40,   45,    0,   40,   58,   47,   60,   61,   62,  240,  242,  220,   38,    0,   58,  224,   60,   61,   62,   89,   60,   61,   62,   41,   93,  290,    2,  290,   38,  290,  186,   41,  116,  117,   60,   61,   62,  352,  353,   93,   38,  290,    2,   41,  290,  124,  116,  117,   58,   93,   60,   61,   62,  290,   41,  124,  352,  353,  352,  353,   58,    0,   60,   61,   62,  352,  353,   94,   95,  290,  124,   58,  305,   60,   61,   62,  290,   38,   94,   95,  124,   42,   43,   93,   45,  290,   47,   33,  259,   41,  261,  258,  263,  264,   40,   93,  258,  257,  124,   60,   61,   62,   42,   43,  257,   45,   93,   47,  290,   93,    0,    2,   88,   89,  124,  139,   38,  187,  195,   -1,   42,   43,   -1,   45,   -1,   47,  124,   -1,   88,   89,   -1,   33,   -1,   -1,   -1,   -1,   58,  124,   40,   -1,  116,  117,   -1,   45,   -1,  262,   -1,  231,  232,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  116,  117,  257,  258,  259,  260,  261,  124,  263,  264,   -1,   -1,  267,  268,  290,   93,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,  258,  259,  260,  261,   -1,  263,  264,  288,  289,  267,  268,   -1,   38,   -1,   -1,   -1,   42,   43,   -1,   45,  124,   47,   -1,   -1,   -1,   -1,  308,  309,  186,  187,  288,  289,  308,  309,   60,   61,   62,   -1,   -1,  300,  301,  302,   -1,   -1,  186,  187,   -1,  308,  309,  300,  301,  302,  352,  353,  352,   33,  352,  308,  309,   -1,   -1,   -1,   40,   -1,  300,  301,  302,   45,  290,   -1,   -1,  290,  308,  309,  300,  301,  302,   -1,  300,  301,  302,   -1,  308,  309,  303,  304,  305,  306,  307,   -1,   -1,  352,  353,   -1,  352,  353,  352,  353,  124,  352,  353,  352,  353,   -1,  352,  353,  352,  353,  300,  301,  302,   -1,   -1,   -1,  352,  353,  352,  353,   -1,   -1,  300,  301,  302,   -1,  352,  353,  352,  353,  308,  309,   -1,  300,  301,  302,   -1,   -1,  257,  258,  259,  260,  261,   -1,  263,  264,   40,   -1,  267,  268,   -1,   45,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  300,  301,  302,  352,  353,  290,   -1,   -1,  308,  309,  288,  289,   -1,   -1,   -1,  352,  353,   -1,  303,  304,  305,  306,  307,   -1,  265,  266,  352,  353,  269,  270,  271,  272,  273,  274,  275,  276,  277,  278,  279,  280,  281,  282,  283,  284,  285,  286,  287,  308,  309,  290,  291,  292,  293,  294,  295,  296,  297,  298,  299,   -1,   33,   -1,  303,  304,  305,  306,  307,   40,   -1,  310,  311,  312,  313,  314,  315,  316,  317,  318,  319,  320,  321,  322,  323,  324,  325,  326,  327,  328,  329,  330,  331,  332,  333,  334,  335,  336,  337,  338,  339,  340,  341,  342,  343,  344,  345,  346,  347,  348,  349,  350,  351,   -1,   -1,   33,   -1,   -1,   -1,  300,  301,  302,   40,   -1,   -1,   -1,   -1,  308,  309,   -1,   -1,   -1,  265,  266,   -1,   -1,  269,  270,  271,  272,  273,  274,  275,  276,  277,  278,  279,  280,  281,  282,  283,  284,  285,  286,  287,   -1,   -1,  290,  291,  292,  293,  294,  295,  296,  297,  298,  299,   -1,   -1,   -1,   -1,  352,  353,   -1,   -1,   -1,   -1,  310,  311,  312,  313,  314,  315,  316,  317,  318,  319,  320,  321,  322,  323,  324,  325,  326,  327,  328,  329,  330,  331,  332,  333,  334,  335,  336,  337,  338,  339,  340,  341,  342,  343,  344,  345,  346,  347,  348,  349,  350,  351,  270,  271,  272,  273,  274,  275,  276,  277,  278,  279,  280,  281,  282,  283,  284,  285,  286,  287,   -1,   -1,  290,   -1,   -1,   38,   -1,   -1,   -1,   42,   43,  299,   45,   -1,   47,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  310,  311,  312,  313,  314,   60,   61,   62,   -1,  319,  320,  321,  322,  323,  324,  325,  326,  327,  328,  329,  330,  331,  332,   38,   -1,   -1,   -1,   42,   43,  259,   45,  261,   47,  263,  264,   38,   -1,  347,   -1,   42,   43,   40,   45,   -1,   47,   60,   61,   62,   -1,   -1,   -1,    2,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  290,   60,   61,   62,   -1,   -1,   -1,   -1,   -1,  124,   -1,   -1,   -1,  303,  304,  305,  306,  307,   -1,   -1,   -1,   -1,  259,   -1,  261,   -1,  263,  264,   39,   40,   39,   40,  257,  258,  259,  260,  261,   -1,  263,  264,   -1,   -1,  267,  268,   -1,   -1,   -1,   -1,   -1,  124,   -1,   77,   -1,  290,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  124,   -1,  288,  289,   -1,  303,  304,  305,  306,  307,   82,   -1,   82,   -1,   -1,   -1,   88,   89,   88,   -1,   -1,   -1,   94,   95,   -1,   -1,  113,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,  109,   -1,  109,   -1,   -1,   -1,  113,  116,  117,  116,  117,   -1,   -1,   -1,   -1,   -1,   -1,  126,  127,  126,  127,  145,  146,  147,  148,  149,  150,  151,  152,   -1,   -1,   -1,  156,  157,  158,   -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,  186,  187,  186,  187,   -1,   -1,   -1,   -1,   -1,   -1,  300,  301,  302,   -1,   -1,   -1,   -1,   -1,  308,  309,   -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,  231,  232,  231,  232,   -1,  300,  301,  302,   -1,   -1,   -1,  290,   -1,  308,  309,   -1,   -1,   -1,   -1,   -1,   -1,  300,  301,  302,   -1,  308,  309,};#define YYFINAL 1#ifndef YYDEBUG#define YYDEBUG 0#endif#define YYMAXTOKEN 354#if YYDEBUGconst char * const 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,"DST","SRC","HOST","GATEWAY","NET","NETMASK","PORT","PORTRANGE","LESS","GREATER","PROTO","PROTOCHAIN","CBYTE","ARP","RARP","IP","SCTP","TCP","UDP","ICMP","IGMP","IGRP","PIM","VRRP","ATALK","AARP","DECNET","LAT","SCA","MOPRC","MOPDL","TK_BROADCAST","TK_MULTICAST","NUM","INBOUND","OUTBOUND","PF_IFNAME","PF_RSET","PF_RNR","PF_SRNR","PF_REASON","PF_ACTION","LINK","GEQ","LEQ","NEQ","ID","EID","HID","HID6","AID","LSH","RSH","LEN","IPV6","ICMPV6","AH","ESP","VLAN","MPLS","PPPOED","PPPOES","ISO","ESIS","CLNP","ISIS","L1","L2","IIH","LSP","SNP","CSNP","PSNP","STP","IPX","NETBEUI","LANE","LLC","METAC","BCC","SC","ILMIC","OAMF4EC","OAMF4SC","OAM","OAMF4","CONNECTMSG","METACONNECT","VPI","VCI","RADIO","SIO","OPC","DPC","SLS","OR","AND","UMINUS",};const char * const yyrule[] = {"$accept : prog","prog : null expr","prog : null","null :","expr : term","expr : expr and term","expr : expr and id","expr : expr or term","expr : expr or id","and : AND","or : OR","id : nid","id : pnum","id : paren pid ')'","nid : ID","nid : HID '/' NUM","nid : HID NETMASK HID","nid : HID","nid : HID6 '/' NUM","nid : HID6","nid : EID","nid : AID","nid : not id","not : '!'","paren : '('","pid : nid","pid : qid and id","pid : qid or id","qid : pnum","qid : pid","term : rterm","term : not term","head : pqual dqual aqual","head : pqual dqual","head : pqual aqual","head : pqual PROTO","head : pqual PROTOCHAIN","head : pqual ndaqual","rterm : head id","rterm : paren expr ')'","rterm : pname","rterm : arth relop arth","rterm : arth irelop arth","rterm : other","rterm : atmtype","rterm : atmmultitype","rterm : atmfield atmvalue","rterm : mtp3field mtp3value","pqual : pname","pqual :","dqual : SRC","dqual : DST","dqual : SRC OR DST","dqual : DST OR SRC","dqual : SRC AND DST","dqual : DST AND SRC","aqual : HOST","aqual : NET","aqual : PORT","aqual : PORTRANGE","ndaqual : GATEWAY","pname : LINK","pname : IP","pname : ARP","pname : RARP","pname : SCTP","pname : TCP","pname : UDP","pname : ICMP","pname : IGMP","pname : IGRP","pname : PIM","pname : VRRP","pname : ATALK","pname : AARP","pname : DECNET","pname : LAT","pname : SCA","pname : MOPDL","pname : MOPRC","pname : IPV6","pname : ICMPV6","pname : AH","pname : ESP","pname : ISO","pname : ESIS","pname : ISIS","pname : L1","pname : L2","pname : IIH","pname : LSP","pname : SNP","pname : PSNP","pname : CSNP","pname : CLNP","pname : STP","pname : IPX","pname : NETBEUI","pname : RADIO","other : pqual TK_BROADCAST","other : pqual TK_MULTICAST","other : LESS NUM","other : GREATER NUM","other : CBYTE NUM byteop NUM","other : INBOUND","other : OUTBOUND","other : VLAN pnum","other : VLAN","other : MPLS pnum","other : MPLS","other : PPPOED","other : PPPOES","other : pfvar","pfvar : PF_IFNAME ID","pfvar : PF_RSET ID","pfvar : PF_RNR NUM","pfvar : PF_SRNR NUM","pfvar : PF_REASON reason","pfvar : PF_ACTION action","reason : NUM","reason : ID","action : ID","relop : '>'","relop : GEQ","relop : '='","irelop : LEQ","irelop : '<'","irelop : NEQ","arth : pnum","arth : narth","narth : pname '[' arth ']'","narth : pname '[' arth ':' NUM ']'","narth : arth '+' arth","narth : arth '-' arth","narth : arth '*' arth","narth : arth '/' arth","narth : arth '&' arth","narth : arth '|' arth","narth : arth LSH arth","narth : arth RSH arth","narth : '-' arth","narth : paren narth ')'","narth : LEN","byteop : '&'","byteop : '|'","byteop : '<'","byteop : '>'","byteop : '='","pnum : NUM","pnum : paren pnum ')'","atmtype : LANE","atmtype : LLC","atmtype : METAC","atmtype : BCC","atmtype : OAMF4EC","atmtype : OAMF4SC","atmtype : SC","atmtype : ILMIC","atmmultitype : OAM","atmmultitype : OAMF4","atmmultitype : CONNECTMSG","atmmultitype : METACONNECT","atmfield : VPI","atmfield : VCI","atmvalue : atmfieldvalue","atmvalue : relop NUM","atmvalue : irelop NUM","atmvalue : paren atmlistvalue ')'","atmfieldvalue : NUM","atmlistvalue : atmfieldvalue","atmlistvalue : atmlistvalue or atmfieldvalue","mtp3field : SIO","mtp3field : OPC","mtp3field : DPC","mtp3field : SLS","mtp3value : mtp3fieldvalue","mtp3value : relop NUM","mtp3value : irelop NUM","mtp3value : paren mtp3listvalue ')'","mtp3fieldvalue : NUM","mtp3listvalue : mtp3fieldvalue","mtp3listvalue : mtp3listvalue or mtp3fieldvalue",};#endif#if YYDEBUG#include <stdio.h>#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 yydebug;int yynerrs;int yyerrflag;int yychar;short *yyssp;YYSTYPE *yyvsp;YYSTYPE yyval;YYSTYPE yylval;short *yyss;short *yysslim;YYSTYPE *yyvs;int yystacksize;/* allocate initial stack or double stack size, up to YYMAXDEPTH */static int yygrowstack(){    int newsize, i;    short *newss;    YYSTYPE *newvs;    if ((newsize = yystacksize) == 0)        newsize = YYINITSTACKSIZE;    else if (newsize >= YYMAXDEPTH)        return -1;    else if ((newsize *= 2) > YYMAXDEPTH)        newsize = YYMAXDEPTH;    i = yyssp - yyss;    newss = yyss ? (short *)realloc(yyss, newsize * sizeof *newss) :      (short *)malloc(newsize * sizeof *newss);    if (newss == NULL)        return -1;    yyss = newss;    yyssp = newss + i;    newvs = yyvs ? (YYSTYPE *)realloc(yyvs, newsize * sizeof *newvs) :      (YYSTYPE *)malloc(newsize * sizeof *newvs);    if (newvs == NULL)        return -1;    yyvs = newvs;    yyvsp = newvs + i;    yystacksize = newsize;    yysslim = yyss + newsize - 1;    return 0;}#define YYABORT goto yyabort#define YYREJECT goto yyabort#define YYACCEPT goto yyaccept#define YYERROR goto yyerrlab#ifndef YYPARSE_PARAM#if defined(__cplusplus) || __STDC__#define YYPARSE_PARAM_ARG void#define YYPARSE_PARAM_DECL#else	/* ! ANSI-C/C++ */#define YYPARSE_PARAM_ARG#define YYPARSE_PARAM_DECL#endif	/* ANSI-C/C++ */#else	/* YYPARSE_PARAM */#ifndef YYPARSE_PARAM_TYPE#define YYPARSE_PARAM_TYPE void *#endif#if defined(__cplusplus) || __STDC__#define YYPARSE_PARAM_ARG YYPARSE_PARAM_TYPE YYPARSE_PARAM#define YYPARSE_PARAM_DECL#else	/* ! ANSI-C/C++ */#define YYPARSE_PARAM_ARG YYPARSE_PARAM#define YYPARSE_PARAM_DECL YYPARSE_PARAM_TYPE YYPARSE_PARAM;#endif	/* ANSI-C/C++ */#endif	/* ! YYPARSE_PARAM */intyyparse (YYPARSE_PARAM_ARG)    YYPARSE_PARAM_DECL{    register int yym, yyn, yystate;#if YYDEBUG    register const char *yys;    if ((yys = getenv("YYDEBUG")))    {        yyn = *yys;        if (yyn >= '0' && yyn <= '9')            yydebug = yyn - '0';    }#endif    yynerrs = 0;    yyerrflag = 0;    yychar = (-1);    if (yyss == NULL && yygrowstack()) goto yyoverflow;    yyssp = yyss;    yyvsp = yyvs;    *yyssp = yystate = 0;yyloop:    if ((yyn = yydefred[yystate])) goto yyreduce;    if (yychar < 0)    {        if ((yychar = yylex()) < 0) yychar = 0;#if YYDEBUG        if (yydebug)        {            yys = 0;            if (yychar <= YYMAXTOKEN) yys = yyname[yychar];            if (!yys) yys = "illegal-symbol";            printf("%sdebug: state %d, reading %d (%s)\n",                    YYPREFIX, yystate, yychar, yys);        }#endif    }    if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&            yyn <= YYTABLESIZE && yycheck[yyn] == yychar)    {#if YYDEBUG

⌨️ 快捷键说明

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