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 + -
显示快捷键?