?? bnf.c
字號:
break;}}yybroadcast_FORMPARAMLIST(t,In,Out,Handler)yy t, In, *Out; int (*Handler) ();{yy A, B;A = In;if (! Handler(yybroadcast_FORMPARAMLIST, t, In, Out)) {switch(t[0]) {case 1: yybroadcast_FORMPARAM((yy)t[1], A, &B, Handler);yybroadcast_FORMPARAMLIST((yy)t[2], B, &A, Handler);*Out = A;break;case 2: *Out = A;break;}}}yyeq_FORMPARAM(t1, t2) yy t1, t2;{switch(t1[0]) {case 1: return (t2[0] == 1)&& yyeq_MODE((yy)t1[1], (yy)t2[1])&& yyeq_IDENT((yy)t1[2], (yy)t2[2])&& yyeq_IDENT((yy)t1[3], (yy)t2[3])&& (t1[4] == t2[4]);}}yyPrint_FORMPARAM(t) yy t;{switch(t[0]) {case 1: yyTerm("param");yyFirstArg();yyPrint_MODE((yy)t[1]);yyNextArg();yyPrint_IDENT((yy)t[2]);yyNextArg();yyPrint_IDENT((yy)t[3]);yyNextArg();yyPrint_POS((yy)t[4]);yyEndArgs();break;}}yybroadcast_FORMPARAM(t,In,Out,Handler)yy t, In, *Out; int (*Handler) ();{yy A, B;A = In;if (! Handler(yybroadcast_FORMPARAM, t, In, Out)) {switch(t[0]) {case 1: yybroadcast_MODE((yy)t[1], A, &B, Handler);yybroadcast_IDENT((yy)t[2], B, &A, Handler);yybroadcast_IDENT((yy)t[3], A, &B, Handler);*Out = B;break;}}}yyeq_MODE(t1, t2) yy t1, t2;{switch(t1[0]) {case 1: return (t2[0] == 1);case 2: return (t2[0] == 2);case 3: return (t2[0] == 3);}}yyPrint_MODE(t) yy t;{switch(t[0]) {case 1: yyTerm("xxin");yyNoArgs();break;case 2: yyTerm("out");yyNoArgs();break;case 3: yyTerm("none");yyNoArgs();break;}}yybroadcast_MODE(t,In,Out,Handler)yy t, In, *Out; int (*Handler) ();{yy A, B;A = In;if (! Handler(yybroadcast_MODE, t, In, Out)) {switch(t[0]) {case 1: *Out = A;break;case 2: *Out = A;break;case 3: *Out = A;break;}}}yyeq_ACTPARAMLIST(t1, t2) yy t1, t2;{switch(t1[0]) {case 1: return (t2[0] == 1)&& yyeq_ACTPARAM((yy)t1[1], (yy)t2[1])&& yyeq_ACTPARAMLIST((yy)t1[2], (yy)t2[2])&& (t1[3] == t2[3]);case 2: return (t2[0] == 2)&& (t1[1] == t2[1]);}}yyPrint_ACTPARAMLIST(t) yy t;{switch(t[0]) {case 1: yyTerm("list");yyFirstArg();yyPrint_ACTPARAM((yy)t[1]);yyNextArg();yyPrint_ACTPARAMLIST((yy)t[2]);yyNextArg();yyPrint_POS((yy)t[3]);yyEndArgs();break;case 2: yyTerm("nil");yyFirstArg();yyPrint_POS((yy)t[1]);yyEndArgs();break;}}yybroadcast_ACTPARAMLIST(t,In,Out,Handler)yy t, In, *Out; int (*Handler) ();{yy A, B;A = In;if (! Handler(yybroadcast_ACTPARAMLIST, t, In, Out)) {switch(t[0]) {case 1: yybroadcast_ACTPARAM((yy)t[1], A, &B, Handler);yybroadcast_ACTPARAMLIST((yy)t[2], B, &A, Handler);*Out = A;break;case 2: *Out = A;break;}}}yyeq_ACTPARAM(t1, t2) yy t1, t2;{switch(t1[0]) {case 1: return (t2[0] == 1)&& yyeq_IDENT((yy)t1[1], (yy)t2[1])&& (t1[2] == t2[2]);}}yyPrint_ACTPARAM(t) yy t;{switch(t[0]) {case 1: yyTerm("id");yyFirstArg();yyPrint_IDENT((yy)t[1]);yyNextArg();yyPrint_POS((yy)t[2]);yyEndArgs();break;}}yybroadcast_ACTPARAM(t,In,Out,Handler)yy t, In, *Out; int (*Handler) ();{yy A, B;A = In;if (! Handler(yybroadcast_ACTPARAM, t, In, Out)) {switch(t[0]) {case 1: yybroadcast_IDENT((yy)t[1], A, &B, Handler);*Out = B;break;}}}yyeq_RULEKEY(t1, t2) yy t1, t2;{return t1 == t2;}yyPrint_RULEKEY(t) yy t;{yyPrintIndex(t);}yyeq_ALTERNATIVEKEY(t1, t2) yy t1, t2;{return t1 == t2;}yyPrint_ALTERNATIVEKEY(t) yy t;{yyPrintIndex(t);}yyeq_SUBPHRASEKEY(t1, t2) yy t1, t2;{return t1 == t2;}yyPrint_SUBPHRASEKEY(t) yy t;{yyPrintIndex(t);}yyeq_NONTERMKEY(t1, t2) yy t1, t2;{return t1 == t2;}yyPrint_NONTERMKEY(t) yy t;{yyPrintIndex(t);}yyeq_RULES(t1, t2) yy t1, t2;{switch(t1[0]) {case 1: return (t2[0] == 1)&& yyeq_RULES((yy)t1[1], (yy)t2[1])&& yyeq_RULE((yy)t1[2], (yy)t2[2]);case 2: return (t2[0] == 2);}}yyPrint_RULES(t) yy t;{switch(t[0]) {case 1: yyTerm("rules");yyFirstArg();yyPrint_RULES((yy)t[1]);yyNextArg();yyPrint_RULE((yy)t[2]);yyEndArgs();break;case 2: yyTerm("nil");yyNoArgs();break;}}yybroadcast_RULES(t,In,Out,Handler)yy t, In, *Out; int (*Handler) ();{yy A, B;A = In;if (! Handler(yybroadcast_RULES, t, In, Out)) {switch(t[0]) {case 1: yybroadcast_RULES((yy)t[1], A, &B, Handler);yybroadcast_RULE((yy)t[2], B, &A, Handler);*Out = A;break;case 2: *Out = A;break;}}}yy yyglov_UniqueRuleNumber = (yy) yyu;yy yyglov_UniqueAlternativeNumber = (yy) yyu;yy yyglov_UniqueSubphraseNumber = (yy) yyu;yy yyglov_NontermList = (yy) yyu;yyeq_NONTERMS(t1, t2) yy t1, t2;{switch(t1[0]) {case 1: return (t2[0] == 1)&& yyeq_NONTERMS((yy)t1[1], (yy)t2[1])&& yyeq_NONTERMKEY((yy)t1[2], (yy)t2[2]);case 2: return (t2[0] == 2);}}yyPrint_NONTERMS(t) yy t;{switch(t[0]) {case 1: yyTerm("nonterms");yyFirstArg();yyPrint_NONTERMS((yy)t[1]);yyNextArg();yyPrint_NONTERMKEY((yy)t[2]);yyEndArgs();break;case 2: yyTerm("nil");yyNoArgs();break;}}yybroadcast_NONTERMS(t,In,Out,Handler)yy t, In, *Out; int (*Handler) ();{yy A, B;A = In;if (! Handler(yybroadcast_NONTERMS, t, In, Out)) {switch(t[0]) {case 1: yybroadcast_NONTERMS((yy)t[1], A, &B, Handler);*Out = B;break;case 2: *Out = A;break;}}}yyeq_OBJECT(t1, t2) yy t1, t2;{switch(t1[0]) {case 1: return (t2[0] == 1)&& (t1[1] == t2[1])&& yyeq_FORMPARAMLIST((yy)t1[2], (yy)t2[2]);case 2: return (t2[0] == 2)&& (t1[1] == t2[1])&& yyeq_NONTERMKEY((yy)t1[2], (yy)t2[2])&& yyeq_FORMPARAMLIST((yy)t1[3], (yy)t2[3]);}}yyPrint_OBJECT(t) yy t;{switch(t[0]) {case 1: yyTerm("tokenobj");yyFirstArg();yyPrint_INT((yy)t[1]);yyNextArg();yyPrint_FORMPARAMLIST((yy)t[2]);yyEndArgs();break;case 2: yyTerm("nontermobj");yyFirstArg();yyPrint_INT((yy)t[1]);yyNextArg();yyPrint_NONTERMKEY((yy)t[2]);yyNextArg();yyPrint_FORMPARAMLIST((yy)t[3]);yyEndArgs();break;}}yybroadcast_OBJECT(t,In,Out,Handler)yy t, In, *Out; int (*Handler) ();{yy A, B;A = In;if (! Handler(yybroadcast_OBJECT, t, In, Out)) {switch(t[0]) {case 1: yybroadcast_FORMPARAMLIST((yy)t[2], A, &B, Handler);*Out = B;break;case 2: yybroadcast_FORMPARAMLIST((yy)t[3], A, &B, Handler);*Out = B;break;}}}yy yyglov_UniqueNontermNumber = (yy) yyu;yyeq_IDENT(t1, t2) yy t1, t2;{return t1 == t2;}yyPrint_IDENT(t) yy t;{yyPrintOpaque(t);}yybroadcast_IDENT(t,In,Out,Handler)yy t, In, *Out; int (*Handler) ();{yy A, B;A = In;if (! Handler(yybroadcast_IDENT, t, In, Out)) {*Out = In;}}yy yyglov_TokenList = (yy) yyu;yy yyglov_TokenCount = (yy) yyu;yy yyglov_NextTokenNumber = (yy) yyu;yyeq_TOKENLIST(t1, t2) yy t1, t2;{switch(t1[0]) {case 1: return (t2[0] == 1)&& yyeq_TOKENENTRY((yy)t1[1], (yy)t2[1])&& yyeq_TOKENLIST((yy)t1[2], (yy)t2[2]);case 2: return (t2[0] == 2);}}yyPrint_TOKENLIST(t) yy t;{switch(t[0]) {case 1: yyTerm("list");yyFirstArg();yyPrint_TOKENENTRY((yy)t[1]);yyNextArg();yyPrint_TOKENLIST((yy)t[2]);yyEndArgs();break;case 2: yyTerm("nil");yyNoArgs();break;}}yybroadcast_TOKENLIST(t,In,Out,Handler)yy t, In, *Out; int (*Handler) ();{yy A, B;A = In;if (! Handler(yybroadcast_TOKENLIST, t, In, Out)) {switch(t[0]) {case 1: yybroadcast_TOKENENTRY((yy)t[1], A, &B, Handler);yybroadcast_TOKENLIST((yy)t[2], B, &A, Handler);*Out = A;break;case 2: *Out = A;break;}}}yyeq_TOKENENTRY(t1, t2) yy t1, t2;{switch(t1[0]) {case 1: return (t2[0] == 1)&&(strcmp((char *) t1[1], (char *) t2[1]) == 0)&& (t1[2] == t2[2]);}}yyPrint_TOKENENTRY(t) yy t;{switch(t[0]) {case 1: yyTerm("token");yyFirstArg();yyPrint_STRING((yy)t[1]);yyNextArg();yyPrint_INT((yy)t[2]);yyEndArgs();break;}}yybroadcast_TOKENENTRY(t,In,Out,Handler)yy t, In, *Out; int (*Handler) ();{yy A, B;A = In;if (! Handler(yybroadcast_TOKENENTRY, t, In, Out)) {switch(t[0]) {case 1: *Out = A;break;}}}int yyparse_rc = 0;ROOT(){extern char *THIS_RUNTIME_SYSTEM;char *GENTLE = "Gentle 3.0 01100401 (C) 1992, 1997";if (strcmp(THIS_RUNTIME_SYSTEM, GENTLE)){ printf("INCONSISTENT GENTLE RUNTIME SYSTEM\n"); exit(1); }yyExtend();yyparse_rc = yyparse();}Process(yyin_1)yy yyin_1;{{yy yyb;yy yyv_L;yy yy_0_1;yy yy_1_1_1_1;yy yy_1_1_1_2;yy yy_1_1_1_2_1;yy yyv_UserRoot;yy yy_1_1_1_2_1_1;yy yy_1_1_1_2_1_2;yy yy_1_1_1_2_1_3;yy yy_1_1_1_2_1_4;yy yy_1_1_1_2_1_5;yy yyv_Pos;yy yy_1_1_1_2_1_6;yy yy_1_1_1_2_2;yy yy_1_2_1_1;yy yy_1_2_1_2;yy yy_1_2_1_2_1;yy yy_1_2_1_2_1_1;yy yy_1_2_1_2_1_2;yy yy_1_2_1_2_1_3;yy yy_1_2_1_2_1_4;yy yy_1_2_1_2_2;yy yy_2_1;yy yy_2_2;yy yyv_SR;yy yy_2_3;yy yy_3_1;yy yy_3_2;yy yy_3_2_1;yy yy_3_2_2;yy yyv_Formals;yy yy_3_2_3;yy yy_4_1_1_1;yy yy_4_1_1_2;yy yy_4_1_2_1;yy yy_4_1_2_2;yy yy_4_1_2_3;yy yy_4_1_2_4;yy yy_5_1;yy yy_5_1_1;yy yy_5_1_2;yy yyv_L2;yy yy_5_2;yy yy_6_1;yy yy_8_1;yy_0_1 = yyin_1;yyv_L = yy_0_1;yyb = yyh;yyh += 3; if (yyh > yyhx) yyExtend();{yy yysb = yyb;yy_1_1_1_1 = yyv_L;yy_1_1_1_2 = yy_1_1_1_1;if (yy_1_1_1_2[0] != 1) goto yyfl_2_1_1_1;yy_1_1_1_2_1 = ((yy)yy_1_1_1_2[1]);yy_1_1_1_2_2 = ((yy)yy_1_1_1_2[2]);if (yy_1_1_1_2_1[0] != 1) goto yyfl_2_1_1_1;yy_1_1_1_2_1_1 = ((yy)yy_1_1_1_2_1[1]);yy_1_1_1_2_1_2 = ((yy)yy_1_1_1_2_1[2]);yy_1_1_1_2_1_3 = ((yy)yy_1_1_1_2_1[3]);yy_1_1_1_2_1_4 = ((yy)yy_1_1_1_2_1[4]);yy_1_1_1_2_1_5 = ((yy)yy_1_1_1_2_1[5]);yy_1_1_1_2_1_6 = ((yy)yy_1_1_1_2_1[6]);yyv_UserRoot = yy_1_1_1_2_1_1;yyv_Pos = yy_1_1_1_2_1_6;goto yysl_2_1_1;yyfl_2_1_1_1 : ;yy_1_2_1_1 = yyv_L;yy_1_2_1_2 = yy_1_2_1_1;if (yy_1_2_1_2[0] != 1) goto yyfl_2_1_1_2;yy_1_2_1_2_1 = ((yy)yy_1_2_1_2[1]);yy_1_2_1_2_2 = ((yy)yy_1_2_1_2[2]);if (yy_1_2_1_2_1[0] != 2) goto yyfl_2_1_1_2;yy_1_2_1_2_1_1 = ((yy)yy_1_2_1_2_1[1]);yy_1_2_1_2_1_2 = ((yy)yy_1_2_1_2_1[2]);yy_1_2_1_2_1_3 = ((yy)yy_1_2_1_2_1[3]);yy_1_2_1_2_1_4 = ((yy)yy_1_2_1_2_1[4]);yyv_UserRoot = yy_1_2_1_2_1_1;yyv_Pos = yy_1_2_1_2_1_4;goto yysl_2_1_1;yyfl_2_1_1_2 : ;goto yyfl_2_1;yysl_2_1_1 : ;yyb = yysb;}yy_2_1 = yyv_UserRoot;yy_2_2 = yyv_Pos;StartRule(yy_2_1, yy_2_2, &yy_2_3);yyv_SR = yy_2_3;yy_3_1 = yyv_UserRoot;if (! HasMeaning(yy_3_1, &yy_3_2)) goto yyfl_2_1;if (yy_3_2[0] != 2) goto yyfl_2_1;yy_3_2_1 = ((yy)yy_3_2[1]);yy_3_2_2 = ((yy)yy_3_2[2]);yy_3_2_3 = ((yy)yy_3_2[3]);yyv_Formals = yy_3_2_3;{yy yysb = yyb;yy_4_1_1_1 = yyv_Formals;yy_4_1_1_2 = yy_4_1_1_1;if (yy_4_1_1_2[0] != 1) goto yyfl_2_1_4_1;yy_4_1_2_1 = ((yy)"Startsymbol ('");yy_4_1_2_2 = yyv_UserRoot;yy_4_1_2_3 = ((yy)"') can not have parameters");yy_4_1_2_4 = yyv_Pos;ErrorI(yy_4_1_2_1, yy_4_1_2_2, yy_4_1_2_3, yy_4_1_2_4);goto yysl_2_1_4;yyfl_2_1_4_1 : ;goto yysl_2_1_4;yysl_2_1_4 : ;yyb = yysb;}yy_5_1_1 = yyv_SR;yy_5_1_2 = yyv_L;yy_5_1 = yyb + 0;yy_5_1[0] = 1;yy_5_1[1] = ((long)yy_5_1_1);yy_5_1[2] = ((long)yy_5_1_2);yy_5_2 = yy_5_1;yyv_L2 = yy_5_2;yy_6_1 = yyv_L2;grammarcode_rulelist(yy_6_1);lexinfo();yy_8_1 = ((yy)"yygrammar.c");OpenOutput(yy_8_1);put_actions();ENCODE();CloseOutput();return;yyfl_2_1 : ;}yyErr(2,92);}StartRule(yyin_1, yyin_2, yyout_1)yy yyin_1;yy yyin_2;yy *yyout_1;{{yy yyb;yy yyv_UserRoot;yy yy_0_1;yy yyv_Pos;yy yy_0_2;yy yy_0_3;yy yy_1_1;yy yyv_Id;yy yy_1_2;yy yy_2_1;yy yy_2_1_1;yy yy_2_1_1_1;yy yy_2_1_1_2;yy yy_2_1_1_2_1;yy yy_2_1_1_3;yy yy_2_1_1_4;yy yy_2_1_2;yy yy_2_1_2_1;yy yy_2_1_2_1_1;yy yy_2_1_2_2;yy yyv_Members;yy yy_2_2;yy yyv_Key;yy yyv_N;yy yy_4_1;yy yy_5;yy yy_6;yy yy_7_1;yy yy_7_2;yy yy_7_3;yy yy_8_1;yy yy_8_1_1;yy yy_8_1_2;yy yy_8_1_3;yy yy_8_1_4;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -