📄 encode.c
字号:
typedef long * yy;#define yyu (-2147483647L)static yy yynull;extern yy yyh;extern yy yyhx;static yyErr(n,l){yyAbort(n,"encode", l);}extern yy yyglov_NontermList;extern yy yyglov_PreludeBlock;yy yyglov_LHS_List = (yy) yyu;yyeq_LHSKEYS(t1, t2) yy t1, t2;{switch(t1[0]) {case 1: return (t2[0] == 1)&& yyeq_LHSKEYS((yy)t1[1], (yy)t2[1])&& yyeq_LHSKEY((yy)t1[2], (yy)t2[2]);case 2: return (t2[0] == 2);}}yyPrint_LHSKEYS(t) yy t;{switch(t[0]) {case 1: yyTerm("keys");yyFirstArg();yyPrint_LHSKEYS((yy)t[1]);yyNextArg();yyPrint_LHSKEY((yy)t[2]);yyEndArgs();break;case 2: yyTerm("nil");yyNoArgs();break;}}yybroadcast_LHSKEYS(t,In,Out,Handler)yy t, In, *Out; int (*Handler) ();{yy A, B;A = In;if (! Handler(yybroadcast_LHSKEYS, t, In, Out)) {switch(t[0]) {case 1: yybroadcast_LHSKEYS((yy)t[1], A, &B, Handler);*Out = B;break;case 2: *Out = A;break;}}}yyeq_LHSKEY(t1, t2) yy t1, t2;{return t1 == t2;}yyPrint_LHSKEY(t) yy t;{yyPrintIndex(t);}yyeq_CLAUSEKEYS(t1, t2) yy t1, t2;{switch(t1[0]) {case 1: return (t2[0] == 1)&& yyeq_CLAUSEKEYS((yy)t1[1], (yy)t2[1])&& yyeq_CLAUSEKEY((yy)t1[2], (yy)t2[2]);case 2: return (t2[0] == 2);}}yyPrint_CLAUSEKEYS(t) yy t;{switch(t[0]) {case 1: yyTerm("clausekeys");yyFirstArg();yyPrint_CLAUSEKEYS((yy)t[1]);yyNextArg();yyPrint_CLAUSEKEY((yy)t[2]);yyEndArgs();break;case 2: yyTerm("nil");yyNoArgs();break;}}yybroadcast_CLAUSEKEYS(t,In,Out,Handler)yy t, In, *Out; int (*Handler) ();{yy A, B;A = In;if (! Handler(yybroadcast_CLAUSEKEYS, t, In, Out)) {switch(t[0]) {case 1: yybroadcast_CLAUSEKEYS((yy)t[1], A, &B, Handler);*Out = B;break;case 2: *Out = A;break;}}}yyeq_CLAUSEKEY(t1, t2) yy t1, t2;{return t1 == t2;}yyPrint_CLAUSEKEY(t) yy t;{yyPrintIndex(t);}yyeq_GRAMMARREF(t1, t2) yy t1, t2;{switch(t1[0]) {case 1: return (t2[0] == 1)&& yyeq_MEMBERLIST((yy)t1[1], (yy)t2[1]);case 2: return (t2[0] == 2);}}yyPrint_GRAMMARREF(t) yy t;{switch(t[0]) {case 1: yyTerm("members");yyFirstArg();yyPrint_MEMBERLIST((yy)t[1]);yyEndArgs();break;case 2: yyTerm("none");yyNoArgs();break;}}yybroadcast_GRAMMARREF(t,In,Out,Handler)yy t, In, *Out; int (*Handler) ();{yy A, B;A = In;if (! Handler(yybroadcast_GRAMMARREF, t, In, Out)) {switch(t[0]) {case 1: yybroadcast_MEMBERLIST((yy)t[1], A, &B, Handler);*Out = B;break;case 2: *Out = A;break;}}}yyeq_ELEMS(t1, t2) yy t1, t2;{switch(t1[0]) {case 1: return (t2[0] == 1)&& yyeq_ELEMS((yy)t1[1], (yy)t2[1])&& yyeq_ELEM((yy)t1[2], (yy)t2[2]);case 2: return (t2[0] == 2);}}yyPrint_ELEMS(t) yy t;{switch(t[0]) {case 1: yyTerm("elems");yyFirstArg();yyPrint_ELEMS((yy)t[1]);yyNextArg();yyPrint_ELEM((yy)t[2]);yyEndArgs();break;case 2: yyTerm("nil");yyNoArgs();break;}}yybroadcast_ELEMS(t,In,Out,Handler)yy t, In, *Out; int (*Handler) ();{yy A, B;A = In;if (! Handler(yybroadcast_ELEMS, t, In, Out)) {switch(t[0]) {case 1: yybroadcast_ELEMS((yy)t[1], A, &B, Handler);yybroadcast_ELEM((yy)t[2], B, &A, Handler);*Out = A;break;case 2: *Out = A;break;}}}yyeq_ELEM(t1, t2) yy t1, t2;{switch(t1[0]) {case 1: return (t2[0] == 1)&& yyeq_IDENT((yy)t1[1], (yy)t2[1])&& yyeq_MEMBERANNOTATION((yy)t1[2], (yy)t2[2])&& (t1[3] == t2[3]);case 2: return (t2[0] == 2)&& (t1[1] == t2[1]);case 3: return (t2[0] == 3)&& yyeq_SUBPHRASEKEY((yy)t1[1], (yy)t2[1])&& yyeq_MEMBERANNOTATION((yy)t1[2], (yy)t2[2])&& (t1[3] == t2[3]);}}yyPrint_ELEM(t) yy t;{switch(t[0]) {case 1: yyTerm("nonterm");yyFirstArg();yyPrint_IDENT((yy)t[1]);yyNextArg();yyPrint_MEMBERANNOTATION((yy)t[2]);yyNextArg();yyPrint_POS((yy)t[3]);yyEndArgs();break;case 2: yyTerm("token");yyFirstArg();yyPrint_INT((yy)t[1]);yyEndArgs();break;case 3: yyTerm("subphrase");yyFirstArg();yyPrint_SUBPHRASEKEY((yy)t[1]);yyNextArg();yyPrint_MEMBERANNOTATION((yy)t[2]);yyNextArg();yyPrint_POS((yy)t[3]);yyEndArgs();break;}}yybroadcast_ELEM(t,In,Out,Handler)yy t, In, *Out; int (*Handler) ();{yy A, B;A = In;if (! Handler(yybroadcast_ELEM, t, In, Out)) {switch(t[0]) {case 1: yybroadcast_IDENT((yy)t[1], A, &B, Handler);yybroadcast_MEMBERANNOTATION((yy)t[2], B, &A, Handler);*Out = A;break;case 2: *Out = A;break;case 3: yybroadcast_MEMBERANNOTATION((yy)t[2], A, &B, Handler);*Out = B;break;}}}yyeq_LHS(t1, t2) yy t1, t2;{switch(t1[0]) {case 1: return (t2[0] == 1)&& yyeq_IDENT((yy)t1[1], (yy)t2[1]);case 2: return (t2[0] == 2)&& yyeq_SUBPHRASEKEY((yy)t1[1], (yy)t2[1]);}}yyPrint_LHS(t) yy t;{switch(t[0]) {case 1: yyTerm("nonterm");yyFirstArg();yyPrint_IDENT((yy)t[1]);yyEndArgs();break;case 2: yyTerm("subphrase");yyFirstArg();yyPrint_SUBPHRASEKEY((yy)t[1]);yyEndArgs();break;}}yybroadcast_LHS(t,In,Out,Handler)yy t, In, *Out; int (*Handler) ();{yy A, B;A = In;if (! Handler(yybroadcast_LHS, t, In, Out)) {switch(t[0]) {case 1: yybroadcast_IDENT((yy)t[1], A, &B, Handler);*Out = B;break;case 2: *Out = A;break;}}}yy yyglov_term_base = (yy) yyu;yy yyglov_CurLhs = (yy) yyu;yy yyglov_CurClause = (yy) yyu;yyeq_SET(t1, t2) yy t1, t2;{return t1 == t2;}yyPrint_SET(t) yy t;{yyPrintOpaque(t);}yybroadcast_SET(t,In,Out,Handler)yy t, In, *Out; int (*Handler) ();{yy A, B;A = In;if (! Handler(yybroadcast_SET, t, In, Out)) {*Out = In;}}yy yyglov_PC = (yy) yyu;yy yyglov_LastClauseKey = (yy) yyu;yy yyglov_CurLhsPos = (yy) yyu;yy yyglov_FieldIndex = (yy) yyu;yy yyglov_TABLEUPB2 = (yy) yyu;INIT_ENCODE(){{yy yyb;yy yy_1;yy yy_2;yy yyv_MAXCHAR;yy yy_3_1;yy yy_4;yyb = yyh;yyh += 1; if (yyh > yyhx) yyExtend();yy_1 = ((yy)50000);yyglov_term_base = yy_1;yy_2 = yyb + 0;yy_2[0] = 2;yyglov_LHS_List = yy_2;get_max_char(&yy_3_1);yyv_MAXCHAR = yy_3_1;yy_4 = yyv_MAXCHAR;yyglov_TABLEUPB2 = yy_4;init_ana();return;}}ENCODE(){{yy yyb;yy yyv_L;yy yy_1;yy yy_2;yy yyv_LhsKeys;yy yy_3;yy yy_4_1;yy yyv_N;yy yy_5;yy yy_6_1;yy yy_8_1;yy yy_9_1;yy yy_9_1_1;yy yy_9_1_2;yy yy_10_1;yy yy_12_1;yy yy_14_1;yy yy_16_1;yy yy_18;yy yy_19_1;yy yy_20_1;yy yy_22_1;yy yy_24_1;yy yy_26_1;yy yy_28_1;yy yy_30;yy yy_31_1;yy yy_32_1;yy yy_34_1;yy yy_36_1;yy yy_38_1;yy yy_40_1;yy yy_42;yy yy_43_1;yy yy_44_1;yy yy_46_1;yy yy_49_1;yy yy_51_1;yy yy_53_1;yy yy_54_1;yy yy_54_1_1;yy yy_54_1_2;yy yy_55_1;yy yy_57_1;yy yyv_Upb1;yy yy_59_1;yy yyv_Upb2;yy yy_60;yy yy_61_1;yy yy_62_1;yy yy_62_1_1;yy yy_62_1_2;yy yy_63_1;yy yy_64_1;yy yy_64_1_1;yy yy_64_1_2;yy yy_65_1;yy yy_67_1;yy yy_69_1;yy yy_70_1;yy yy_73_1;yy yy_75_1;yy yy_77_1;yy yy_79_1;yy yy_81_1;yy yy_83_1;yy_1 = yyglov_NontermList;if (yy_1 == (yy) yyu) yyErr(1,113);yyv_L = yy_1;yy_2 = ((yy)1);yyglov_PC = yy_2;yy_3 = yyglov_LHS_List;if (yy_3 == (yy) yyu) yyErr(1,116);yyv_LhsKeys = yy_3;yy_4_1 = yyv_LhsKeys;calc_positions_LHSKEYS(yy_4_1);yy_5 = yyglov_PC;if (yy_5 == (yy) yyu) yyErr(1,120);yyv_N = yy_5;yy_6_1 = ((yy)"extern int c_length;");Put(yy_6_1);Nl();yy_8_1 = ((yy)"int c_length = ");Put(yy_8_1);yy_9_1_1 = yyv_N;yy_9_1_2 = ((yy)1);yy_9_1 = (yy)(((long)yy_9_1_1)-((long)yy_9_1_2));PutI(yy_9_1);yy_10_1 = ((yy)";");Put(yy_10_1);Nl();yy_12_1 = ((yy)"extern int yygrammar[];");Put(yy_12_1);Nl();yy_14_1 = ((yy)"int yygrammar[] = {");Put(yy_14_1);Nl();yy_16_1 = ((yy)"0,");Put(yy_16_1);Nl();yy_18 = ((yy)1);yyglov_FieldIndex = yy_18;yy_19_1 = yyv_LhsKeys;write_code_LHSKEYS(yy_19_1);yy_20_1 = ((yy)"0");Put(yy_20_1);Nl();yy_22_1 = ((yy)"};");Put(yy_22_1);Nl();yy_24_1 = ((yy)"extern int yyannotation[];");Put(yy_24_1);Nl();yy_26_1 = ((yy)"int yyannotation[] = {");Put(yy_26_1);Nl();yy_28_1 = ((yy)"0,");Put(yy_28_1);Nl();yy_30 = ((yy)1);yyglov_FieldIndex = yy_30;yy_31_1 = yyv_LhsKeys;write_annotation_LHSKEYS(yy_31_1);yy_32_1 = ((yy)"0");Put(yy_32_1);Nl();yy_34_1 = ((yy)"};");Put(yy_34_1);Nl();yy_36_1 = ((yy)"extern int yycoordinate[];");Put(yy_36_1);Nl();yy_38_1 = ((yy)"int yycoordinate[] = {");Put(yy_38_1);Nl();yy_40_1 = ((yy)"0,");Put(yy_40_1);Nl();yy_42 = ((yy)1);yyglov_FieldIndex = yy_42;yy_43_1 = yyv_LhsKeys;write_coordinates_LHSKEYS(yy_43_1);yy_44_1 = ((yy)"0");Put(yy_44_1);Nl();yy_46_1 = ((yy)"};");Put(yy_46_1);Nl();run_ana();yy_49_1 = ((yy)"/* only for BIGHASH (see art.c)");Put(yy_49_1);Nl();yy_51_1 = ((yy)"extern int DHITS[];");Put(yy_51_1);Nl();yy_53_1 = ((yy)"int DHITS[");Put(yy_53_1);yy_54_1_1 = yyv_N;yy_54_1_2 = ((yy)1);yy_54_1 = (yy)(((long)yy_54_1_1)+((long)yy_54_1_2));PutI(yy_54_1);yy_55_1 = ((yy)"];");Put(yy_55_1);Nl();yy_57_1 = ((yy)"*/");Put(yy_57_1);Nl();get_rulecount(&yy_59_1);yyv_Upb1 = yy_59_1;yy_60 = yyglov_TABLEUPB2;if (yy_60 == (yy) yyu) yyErr(1,172);yyv_Upb2 = yy_60;yy_61_1 = ((yy)"int TABLE[");Put(yy_61_1);yy_62_1_1 = yyv_Upb1;yy_62_1_2 = ((yy)1);yy_62_1 = (yy)(((long)yy_62_1_1)+((long)yy_62_1_2));PutI(yy_62_1);yy_63_1 = ((yy)"][");Put(yy_63_1);yy_64_1_1 = yyv_Upb2;yy_64_1_2 = ((yy)1);yy_64_1 = (yy)(((long)yy_64_1_1)+((long)yy_64_1_2));PutI(yy_64_1);yy_65_1 = ((yy)"];");Put(yy_65_1);Nl();yy_67_1 = ((yy)"init_dirsets() {");Put(yy_67_1);Nl();yy_69_1 = yyv_LhsKeys;write_dir_sets_LHSKEYS(yy_69_1);yy_70_1 = ((yy)"}");Put(yy_70_1);Nl();Nl();yy_73_1 = ((yy)"extern int yydirset();");Put(yy_73_1);Nl();yy_75_1 = ((yy)"int yydirset(i,j)");Put(yy_75_1);Nl();yy_77_1 = ((yy)" int i,j;");Put(yy_77_1);Nl();yy_79_1 = ((yy)"{");Put(yy_79_1);Nl();yy_81_1 = ((yy)" return TABLE[i][j];");Put(yy_81_1);Nl();yy_83_1 = ((yy)"}");Put(yy_83_1);Nl();write_printnames();return;}}START_RULE(yyin_1, yyin_2, yyin_3, yyin_4, yyin_5, yyin_6, yyin_7)yy yyin_1;yy yyin_2;yy yyin_3;yy yyin_4;yy yyin_5;yy yyin_6;yy yyin_7;{{yy yyb;yy yyv_Id;yy yy_0_1;yy yyv_NKey;yy yy_0_2;yy yyv_N;yy yy_0_3;yy yyv_RKey;yy yy_0_4;yy yyv_Prelude;yy yy_0_5;yy yyv_Annotation;yy yy_0_6;yy yyv_Coordinate;yy yy_0_7;yy yyv_R;yy yy_1;yy yy_2_1;yy yyv_Str;yy yy_2_2;yy yy_3_1;yy yyv_RuleHandle;yy yy_3_2;yy yy_4;yy yy_5_1;yy yyv_LhsKey;yy yy_5_2;yy yy_6;yy yyv_ClauseKey;yy yy_8;yy yy_9;yy yy_10;yy yy_11;yy yyv_Members;yy yy_12;yy yy_13;yy yy_13_1;yy yy_14;yy yy_15;yy yy_16;yy yyv_Clauses;yy yy_17;yy yy_18;yy yy_18_1;yy yy_18_2;yy_0_1 = yyin_1;yy_0_2 = yyin_2;yy_0_3 = yyin_3;yy_0_4 = yyin_4;yy_0_5 = yyin_5;yy_0_6 = yyin_6;yy_0_7 = yyin_7;yyv_Id = yy_0_1;yyv_NKey = yy_0_2;yyv_N = yy_0_3;yyv_RKey = yy_0_4;yyv_Prelude = yy_0_5;yyv_Annotation = yy_0_6;yyv_Coordinate = yy_0_7;yyb = yyh;yyh += 16; if (yyh > yyhx) yyExtend();yy_1 = (yy) yyv_RKey[2];if (yy_1 == (yy) yyu) yyErr(1,197);yyv_R = yy_1;yy_2_1 = yyv_Id;id_to_string(yy_2_1, &yy_2_2);yyv_Str = yy_2_2;yy_3_1 = yyv_N;start_rule(yy_3_1, &yy_3_2);yyv_RuleHandle = yy_3_2;yy_4 = yyv_RuleHandle;yyv_RKey[3] = (long) yy_4;yy_5_1 = yyv_Id;LhsKeyForNonterm(yy_5_1, &yy_5_2);yyv_LhsKey = yy_5_2;yy_6 = yyv_LhsKey;yyglov_CurLhs = yy_6;yyv_ClauseKey = yyb + 0;yyb[9] = yyu;yyb[8] = yyu;yyb[7] = yyu;yyb[6] = yyu;yyb[5] = yyu;yyb[4] = yyu;yyb[3] = yyu;yyb[2] = yyu;yyb[1] = yyu;yy_8 = yyb + 10;yy_8[0] = 2;yyv_ClauseKey[1] = (long) yy_8;yy_9 = yyv_ClauseKey;yyglov_CurClause = yy_9;yy_10 = yyv_RuleHandle;yyv_ClauseKey[6] = (long) yy_10;yy_11 = yyv_R;yyv_ClauseKey[7] = (long) yy_11;yy_12 = (yy) yyv_RKey[1];if (yy_12 == (yy) yyu) yyErr(1,211);yyv_Members = yy_12;yy_13_1 = yyv_Members;yy_13 = yyb + 11;yy_13[0] = 1;yy_13[1] = ((long)yy_13_1);yyv_ClauseKey[2] = (long) yy_13;yy_14 = yyv_Annotation;yyv_ClauseKey[4] = (long) yy_14;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -