📄 cpp.c
字号:
yy_1 = yyglov_CurRuleNumber;if (yy_1 == (yy) yyu) yyErr(1,575);yyv_RuleNumber = yy_1;yy_2_1 = yyv_Id;yy_2_2 = yyv_ContainerTmp;yy_2_3 = yyv_RuleNumber;TemplTestFunctor(yy_2_1, yy_2_2, yy_2_3);{yy yysb = yyb;yy_3_1_1_1 = yyv_Id;if (! HasMeaning(yy_3_1_1_1, &yy_3_1_1_2)) goto yyfl_53_2_3_1;if (yy_3_1_1_2[0] != 2) goto yyfl_53_2_3_1;yy_3_1_1_2_1 = ((yy)yy_3_1_1_2[1]);yy_3_1_1_2_2 = ((yy)yy_3_1_1_2[2]);if (yy_3_1_1_2_2[0] != 1) goto yyfl_53_2_3_1;yy_3_1_1_2_2_1 = ((yy)yy_3_1_1_2_2[1]);yy_3_1_1_2_2_2 = ((yy)yy_3_1_1_2_2[2]);yy_3_1_1_2_2_3 = ((yy)yy_3_1_1_2_2[3]);yyv_ArgDefs = yy_3_1_1_2_2_2;yy_3_1_2_1 = yyv_Args;yy_3_1_2_2 = yyv_ArgDefs;yy_3_1_2_3 = yyv_Id;yy_3_1_2_4 = yyv_ContainerTmp;CodeChildAssignments(yy_3_1_2_1, yy_3_1_2_2, yy_3_1_2_3, yy_3_1_2_4);goto yysl_53_2_3;yyfl_53_2_3_1 : ;yy_3_2_1_1 = ((yy)"'");yy_3_2_1_2 = yyv_Id;yy_3_2_1_3 = ((yy)"' not declared as functor");yy_3_2_1_4 = yyv_Pos;ErrorI(yy_3_2_1_1, yy_3_2_1_2, yy_3_2_1_3, yy_3_2_1_4);goto yysl_53_2_3;yysl_53_2_3 : ;yyb = yysb;}yy_4_1 = yyv_Args;PaternList_to_IntList(yy_4_1, &yy_4_2);yyv_IntList = yy_4_2;yy_5_1 = yyv_Args;yy_5_2 = yyv_IntList;CodePATTERNLIST(yy_5_1, yy_5_2);return;yyfl_53_2 : ;}{yy yyb;yy yy_0_1;yy yyv_Id;yy yy_0_1_1;yy yyv_Pattern;yy yy_0_1_2;yy yyv_Pos;yy yy_0_1_3;yy yyv_ContainerTempo;yy yy_0_2;yy yy_1_1;yy yy_1_2;yy yy_2_1;yy yy_3_1;yy yy_3_2;yy yy_4_1_1_1;yy yy_4_1_1_2;yy yyv_Functor;yy yy_4_1_1_2_1;yy yy_4_1_1_2_2;yy yy_4_1_1_2_3;yy yy_4_1_1_2_4;yy yy_4_1_2_1;yy yy_4_1_2_2;yy yy_4_1_2_3;yy yy_4_2_1_1;yy yy_4_2_1_2;yy_0_1 = yyin_1;yy_0_2 = yyin_2;if (yy_0_1[0] != 3) goto yyfl_53_3;yy_0_1_1 = ((yy)yy_0_1[1]);yy_0_1_2 = ((yy)yy_0_1[2]);yy_0_1_3 = ((yy)yy_0_1[3]);yyv_Id = yy_0_1_1;yyv_Pattern = yy_0_1_2;yyv_Pos = yy_0_1_3;yyv_ContainerTempo = yy_0_2;yy_1_1 = yyv_Id;yy_1_2 = yyv_Pos;CheckIsVarUnique(yy_1_1, yy_1_2);yy_2_1 = yyv_Id;EnterLocalVar(yy_2_1);yy_3_1 = yyv_Pattern;yy_3_2 = yyv_ContainerTempo;CodePATTERN(yy_3_1, yy_3_2);{yy yysb = yyb;yy_4_1_1_1 = yyv_Pattern;yy_4_1_1_2 = yy_4_1_1_1;if (yy_4_1_1_2[0] != 2) goto yyfl_53_3_4_1;yy_4_1_1_2_1 = ((yy)yy_4_1_1_2[1]);yy_4_1_1_2_2 = ((yy)yy_4_1_1_2[2]);yy_4_1_1_2_3 = ((yy)yy_4_1_1_2[3]);yy_4_1_1_2_4 = ((yy)yy_4_1_1_2[4]);yyv_Functor = yy_4_1_1_2_1;yy_4_1_2_1 = yyv_Id;yy_4_1_2_2 = yyv_Functor;yy_4_1_2_3 = yyv_ContainerTempo;TemplAssignTildeVar(yy_4_1_2_1, yy_4_1_2_2, yy_4_1_2_3);goto yysl_53_3_4;yyfl_53_3_4_1 : ;yy_4_2_1_1 = ((yy)"invalid form of named pattern");yy_4_2_1_2 = yyv_Pos;Error(yy_4_2_1_1, yy_4_2_1_2);goto yysl_53_3_4;yysl_53_3_4 : ;yyb = yysb;}return;yyfl_53_3 : ;}yyErr(2,569);}CodeChildAssignments(yyin_1, yyin_2, yyin_3, yyin_4)yy yyin_1;yy yyin_2;yy yyin_3;yy yyin_4;{{yy yyb;yy yy_0_1;yy yyv_H;yy yy_0_1_1;yy yyv_T;yy yy_0_1_2;yy yy_0_2;yy yyv_H2;yy yy_0_2_1;yy yyv_T2;yy yy_0_2_2;yy yyv_Cast;yy yy_0_3;yy yyv_ContainerTmp;yy yy_0_4;yy yy_1_1_1_1;yy yy_1_1_1_2;yy yy_1_1_1_2_1;yy yyv_INT;yy yy_1_1_1_2_2;yy yy_1_1_1_2_3;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_2;yy yy_1_2_1_2_3;yy yy_1_2_1_2_4;yy yy_1_3_1_1;yy yy_1_3_1_2;yy yy_1_3_1_2_1;yy yy_1_3_1_2_2;yy yy_1_3_1_2_2_1;yy yy_1_3_1_2_2_2;yy yy_1_3_1_2_2_3;yy yy_1_3_1_2_2_4;yy yy_1_3_1_2_3;yy yy_2_1;yy yy_2_2;yy yyv_Type;yy yy_2_2_1;yy yyv_Selector;yy yy_2_2_2;yy yy_2_2_3;yy yy_3_1;yy yy_3_2;yy yy_3_3;yy yy_3_4;yy yy_4_1;yy yy_4_2;yy yy_4_3;yy yy_4_4;yy_0_1 = yyin_1;yy_0_2 = yyin_2;yy_0_3 = yyin_3;yy_0_4 = yyin_4;if (yy_0_1[0] != 1) goto yyfl_54_1;yy_0_1_1 = ((yy)yy_0_1[1]);yy_0_1_2 = ((yy)yy_0_1[2]);yyv_H = yy_0_1_1;yyv_T = yy_0_1_2;if (yy_0_2[0] != 1) goto yyfl_54_1;yy_0_2_1 = ((yy)yy_0_2[1]);yy_0_2_2 = ((yy)yy_0_2[2]);yyv_H2 = yy_0_2_1;yyv_T2 = yy_0_2_2;yyv_Cast = yy_0_3;yyv_ContainerTmp = yy_0_4;{yy yysb = yyb;yy_1_1_1_1 = yyv_H;yy_1_1_1_2 = yy_1_1_1_1;if (yy_1_1_1_2[0] != 1) goto yyfl_54_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]);yy_1_1_1_2_3 = ((yy)yy_1_1_1_2[3]);yyv_INT = yy_1_1_1_2_2;goto yysl_54_1_1;yyfl_54_1_1_1 : ;yy_1_2_1_1 = yyv_H;yy_1_2_1_2 = yy_1_2_1_1;if (yy_1_2_1_2[0] != 2) goto yyfl_54_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]);yy_1_2_1_2_3 = ((yy)yy_1_2_1_2[3]);yy_1_2_1_2_4 = ((yy)yy_1_2_1_2[4]);yyv_INT = yy_1_2_1_2_3;goto yysl_54_1_1;yyfl_54_1_1_2 : ;yy_1_3_1_1 = yyv_H;yy_1_3_1_2 = yy_1_3_1_1;if (yy_1_3_1_2[0] != 3) goto yyfl_54_1_1_3;yy_1_3_1_2_1 = ((yy)yy_1_3_1_2[1]);yy_1_3_1_2_2 = ((yy)yy_1_3_1_2[2]);yy_1_3_1_2_3 = ((yy)yy_1_3_1_2[3]);if (yy_1_3_1_2_2[0] != 2) goto yyfl_54_1_1_3;yy_1_3_1_2_2_1 = ((yy)yy_1_3_1_2_2[1]);yy_1_3_1_2_2_2 = ((yy)yy_1_3_1_2_2[2]);yy_1_3_1_2_2_3 = ((yy)yy_1_3_1_2_2[3]);yy_1_3_1_2_2_4 = ((yy)yy_1_3_1_2_2[4]);yyv_INT = yy_1_3_1_2_2_3;goto yysl_54_1_1;yyfl_54_1_1_3 : ;goto yyfl_54_1;yysl_54_1_1 : ;yyb = yysb;}yy_2_1 = yyv_H2;yy_2_2 = yy_2_1;if (yy_2_2[0] != 1) goto yyfl_54_1;yy_2_2_1 = ((yy)yy_2_2[1]);yy_2_2_2 = ((yy)yy_2_2[2]);yy_2_2_3 = ((yy)yy_2_2[3]);yyv_Type = yy_2_2_1;yyv_Selector = yy_2_2_2;yy_3_1 = yyv_INT;yy_3_2 = yyv_Cast;yy_3_3 = yyv_ContainerTmp;yy_3_4 = yyv_Selector;TemplChildAssignment(yy_3_1, yy_3_2, yy_3_3, yy_3_4);yy_4_1 = yyv_T;yy_4_2 = yyv_T2;yy_4_3 = yyv_Cast;yy_4_4 = yyv_ContainerTmp;CodeChildAssignments(yy_4_1, yy_4_2, yy_4_3, yy_4_4);return;yyfl_54_1 : ;}{yy yyb;yy yy_0_1;yy yy_0_2;yy yy_0_3;yy yy_0_4;yy_0_1 = yyin_1;yy_0_2 = yyin_2;yy_0_3 = yyin_3;yy_0_4 = yyin_4;if (yy_0_1[0] != 2) goto yyfl_54_2;return;yyfl_54_2 : ;}yyErr(2,597);}CheckIsVarUnique(yyin_1, yyin_2)yy yyin_1;yy yyin_2;{{yy yyb;yy yyv_Id;yy yy_0_1;yy yyv_Pos;yy yy_0_2;yy yyv_L;yy yy_1;yy yy_2_1_1;yy yy_2_1_2;yy yyv_H;yy yy_2_1_2_1;yy yyv_T;yy yy_2_1_2_2;yy yy_2_2_1_1_1;yy yy_2_2_1_1_2;yy yy_2_2_1_2_1;yy yy_2_2_1_2_2;yy yy_2_2_1_2_3;yy yy_2_2_1_2_4;yy yy_2_3_1;yy yy_2_3_2;yy_0_1 = yyin_1;yy_0_2 = yyin_2;yyv_Id = yy_0_1;yyv_Pos = yy_0_2;yy_1 = yyglov_ListOfLocalVars;if (yy_1 == (yy) yyu) yyErr(1,615);yyv_L = yy_1;yysl_56_1_2 : ;yy_2_1_1 = yyv_L;yy_2_1_2 = yy_2_1_1;if (yy_2_1_2[0] != 1) goto yyfl_56_1_2;yy_2_1_2_1 = ((yy)yy_2_1_2[1]);yy_2_1_2_2 = ((yy)yy_2_1_2[2]);yyv_H = yy_2_1_2_1;yyv_T = yy_2_1_2_2;{yy yysb = yyb;yy_2_2_1_1_1 = yyv_Id;yy_2_2_1_1_2 = yyv_H;if (! yyeq_IDENT(yy_2_2_1_1_1, yy_2_2_1_1_2)) goto yyfl_56_1_2_2_1;yy_2_2_1_2_1 = ((yy)"variable '");yy_2_2_1_2_2 = yyv_Id;yy_2_2_1_2_3 = ((yy)"' defined more than once");yy_2_2_1_2_4 = yyv_Pos;ErrorI(yy_2_2_1_2_1, yy_2_2_1_2_2, yy_2_2_1_2_3, yy_2_2_1_2_4);goto yysl_56_1_2_2;yyfl_56_1_2_2_1 : ;goto yysl_56_1_2_2;yysl_56_1_2_2 : ;yyb = yysb;}yy_2_3_1 = yyv_T;yyv_L = yy_2_3_1;goto yysl_56_1_2;yyfl_56_1_2 : ;return;}}EnterLocalVar(yyin_1)yy yyin_1;{{yy yyb;yy yyv_Id;yy yy_0_1;yy yyv_L;yy yy_1;yy yy_2;yy yy_2_1;yy yy_2_2;yy_0_1 = yyin_1;yyv_Id = yy_0_1;yyb = yyh;yyh += 3; if (yyh > yyhx) yyExtend();yy_1 = yyglov_ListOfLocalVars;if (yy_1 == (yy) yyu) yyErr(1,627);yyv_L = yy_1;yy_2_1 = yyv_Id;yy_2_2 = yyv_L;yy_2 = yyb + 0;yy_2[0] = 1;yy_2[1] = ((long)yy_2_1);yy_2[2] = ((long)yy_2_2);yyglov_ListOfLocalVars = yy_2;return;}}TemplDeclareMatchTmp(yyin_1, yyin_2)yy yyin_1;yy yyin_2;{{yy yyb;yy yyv_Type;yy yy_0_1;yy yyv_N;yy yy_0_2;yy yy_1_1;yy yy_2_1;yy yy_3_1;yy yy_4_1;yy_0_1 = yyin_1;yy_0_2 = yyin_2;yyv_Type = yy_0_1;yyv_N = yy_0_2;yy_1_1 = yyv_Type;PutId(yy_1_1);yy_2_1 = ((yy)" ");Put(yy_2_1);yy_3_1 = yyv_N;PutTmp(yy_3_1);yy_4_1 = ((yy)";");Put(yy_4_1);Nl();return;}}TemplDeclareDomainTmp(yyin_1, yyin_2)yy yyin_1;yy yyin_2;{{yy yyb;yy yyv_Type;yy yy_0_1;yy yyv_N;yy yy_0_2;yy yy_1_1;yy yy_2_1;yy yy_3_1;yy yy_4_1;yy_0_1 = yyin_1;yy_0_2 = yyin_2;yyv_Type = yy_0_1;yyv_N = yy_0_2;yy_1_1 = yyv_Type;PutId(yy_1_1);yy_2_1 = ((yy)" ");Put(yy_2_1);yy_3_1 = yyv_N;PutTmp(yy_3_1);yy_4_1 = ((yy)";");Put(yy_4_1);Nl();return;}}TemplDeclareTildeVar(yyin_1, yyin_2)yy yyin_1;yy yyin_2;{{yy yyb;yy yyv_Id;yy yy_0_1;yy yyv_Functor;yy yy_0_2;yy yy_1_1;yy yy_2_1;yy yy_3_1;yy yy_4_1;yy yy_5_1;yy_0_1 = yyin_1;yy_0_2 = yyin_2;yyv_Id = yy_0_1;yyv_Functor = yy_0_2;yy_1_1 = yyv_Functor;PutId(yy_1_1);yy_2_1 = ((yy)"_subtype");Put(yy_2_1);yy_3_1 = ((yy)" ");Put(yy_3_1);yy_4_1 = yyv_Id;PutId(yy_4_1);yy_5_1 = ((yy)";");Put(yy_5_1);Nl();return;}}TemplAssignTildeVar(yyin_1, yyin_2, yyin_3)yy yyin_1;yy yyin_2;yy yyin_3;{{yy yyb;yy yyv_Id;yy yy_0_1;yy yyv_Functor;yy yy_0_2;yy yyv_ContainerTempo;yy yy_0_3;yy yy_1_1;yy yy_2_1;yy yy_3_1;yy yy_4_1;yy yy_5_1;yy yy_6_1;yy yy_7_1;yy_0_1 = yyin_1;yy_0_2 = yyin_2;yy_0_3 = yyin_3;yyv_Id = yy_0_1;yyv_Functor = yy_0_2;yyv_ContainerTempo = yy_0_3;yy_1_1 = yyv_Id;PutId(yy_1_1);yy_2_1 = ((yy)" = (");Put(yy_2_1);yy_3_1 = yyv_Functor;PutId(yy_3_1);yy_4_1 = ((yy)"_subtype");Put(yy_4_1);yy_5_1 = ((yy)") ");Put(yy_5_1);yy_6_1 = yyv_ContainerTempo;PutTmp(yy_6_1);yy_7_1 = ((yy)";");Put(yy_7_1);Nl();return;}}TemplBeginMatch(){{yy yyb;yy yy_1_1;yy_1_1 = ((yy)"{");Put(yy_1_1);Nl();return;}}TemplGetMatchVar(yyin_1, yyin_2)yy yyin_1;yy yyin_2;{{yy yyb;yy yyv_Id;yy yy_0_1;yy yyv_Tmp;yy yy_0_2;yy yy_1_1;yy yy_2_1;yy yy_3_1;yy yy_4_1;yy_0_1 = yyin_1;yy_0_2 = yyin_2;yyv_Id = yy_0_1;yyv_Tmp = yy_0_2;yy_1_1 = yyv_Tmp;PutTmp(yy_1_1);yy_2_1 = ((yy)" = ");Put(yy_2_1);yy_3_1 = yyv_Id;PutId(yy_3_1);yy_4_1 = ((yy)";");Put(yy_4_1);Nl();return;}}TemplEndMatch(yyin_1, yyin_2)yy yyin_1;yy yyin_2;{{yy yyb;yy yyv_Number;yy yy_0_1;yy yyv_Pos;yy yy_0_2;yy yy_1_1;yy yyv_Name;yy yy_2_1;yy yy_3_1;yy yy_4_1;yy yy_5_1;yy yy_6_1;yy yy_8_1;yy yy_9_1;yy yy_10_1;yy yy_12_1;yy_0_1 = yyin_1;yy_0_2 = yyin_2;yyv_Number = yy_0_1;yyv_Pos = yy_0_2;yy_1_1 = ((yy)"MatchError(\"");Put(yy_1_1);get_basename(&yy_2_1);yyv_Name = yy_2_1;yy_3_1 = yyv_Name;Put(yy_3_1);yy_4_1 = ((yy)".m\", ");Put(yy_4_1);yy_5_1 = yyv_Pos;PutPos(yy_5_1);yy_6_1 = ((yy)");");Put(yy_6_1);Nl();yy_8_1 = ((yy)"EndOfMatch");Put(yy_8_1);yy_9_1 = yyv_Number;PutI(yy_9_1);yy_10_1 = ((yy)" : ;");Put(yy_10_1);Nl();yy_12_1 = ((yy)"}");Put(yy_12_1);Nl();return;}}TemplBeginRule(){{yy yyb;yy yy_1_1;yy_1_1 = ((yy)"{");Put(yy_1_1);Nl();return;}}TemplEndRule(yyin_1, yyin_2)yy yyin_1;yy yyin_2;{{yy yyb;yy yyv_MatchNumber;yy yy_0_1;yy yyv_RuleNumber;yy yy_0_2;yy yy_1_1;yy yy_2_1;yy yy_3_1;yy yy_5_1;yy yy_6_1;yy yy_7_1;yy yy_9_1;yy_0_1 = yyin_1;yy_0_2 = yyin_2;yyv_MatchNumber = yy_0_1;yyv_RuleNumber = yy_0_2;yy_1_1 = ((yy)"goto EndOfMatch");Put(yy_1_1);yy_2_1 = yyv_MatchNumber;PutI(yy_2_1);yy_3_1 = ((yy)";");Put(yy_3_1);Nl();yy_5_1 = ((yy)"EndOfRule");Put(yy_5_1);yy_6_1 = yyv_RuleNumber;PutI(yy_6_1);yy_7_1 = ((yy)" : ;");Put(yy_7_1);Nl();yy_9_1 = ((yy)"}");Put(yy_9_1);Nl();return;}}TemplTestFunctor(yyin_1, yyin_2, yyin_3)yy yyin_1;yy yyin_2;yy yyin_3;{{yy yyb;yy yyv_Id;yy yy_0_1;yy yyv_Tmp;yy yy_0_2;yy yyv_RuleNumber;yy yy_0_3;yy yy_1_1;yy yy_2_1;yy yy_3_1;yy yy_4_1;yy yy_5_1;yy yy_6_1;yy yy_7_1;yy yy_8_1;yy_0_1 = yyin_1;yy_0_2 = yyin_2;yy_0_3 = yyin_3;yyv_Id = yy_0_1;yyv_Tmp = yy_0_2;yyv_RuleNumber = yy_0_3;yy_1_1 = ((yy)"if (");Put(yy_1_1);yy_2_1 = yyv_Tmp;PutTmp(yy_2_1);yy_3_1 = ((yy)"->tag != ");Put(yy_3_1);yy_4_1 = yyv_Id;PutId(yy_4_1);yy_5_1 = ((yy)"_tag");Put(yy_5_1);yy_6_1 = ((yy)") goto EndOfRule");Put(yy_6_1);yy_7_1 = yyv_RuleNumber;PutI(yy_7_1);yy_8_1 = ((yy)";");Put(yy_8_1);Nl();return;}}TemplChildAssignment(yyin_1, yyin_2, yyin_3, yyin_4)yy yyin_1;yy yyin_2;yy yyin_3;yy yyin_4;{{yy yyb;yy yyv_N;yy yy_0_1;yy yyv_Cast;yy yy_0_2;yy yyv_ContainerTmp;yy yy_0_3;yy yyv_Selector;yy yy_0_4;yy yy_1_1;yy yy_2_1;yy yy_3_1;yy yy_4_1;yy yy_5_1;yy yy_6_1;yy yy_7_1;yy yy_8_1;yy yy_9_1;yy_0_1 = yyin_1;yy_0_2 = yyin_2;yy_0_3 = yyin_3;yy_0_4 = yyin_4;yyv_N = yy_0_1;yyv_Cast = yy_0_2;yyv_ContainerTmp = yy_0_3;yyv_Selector = yy_0_4;yy_1_1 = yyv_N;PutTmp(yy_1_1);yy_2_1 = ((yy)" = ");Put(yy_2_1);yy_3_1 = ((yy)"((");Put(yy_3_1);yy_4_1 = yyv_Cast;PutId(yy_4_1);yy_5_1 = ((yy)"_subtype) ");Put(yy_5_1);yy_6_1 = yyv_ContainerTmp;PutTmp(yy_6_1);yy_7_1 = ((yy)")->");Put(yy_7_1);yy_8_1 = yyv_Selector;PutId(yy_8_1);yy_9_1 = ((yy)";");Put(yy_9_1);Nl();return;}}TemplAssignVar(yyin_1, yyin_2)yy yyin_1;yy yyin_2;{{yy yyb;yy yyv_Id;yy yy_0_1;yy yyv_Tmp;yy yy_0_2;yy yy_1_1;yy yy_2_1;yy yy_3_1;yy yy_4_1;yy_0_1 = yyin_1;yy_0_2 = yyin_2;yyv_Id = yy_0_1;yyv_Tmp = yy_0_2;yy_1_1 = yyv_Id;PutId(yy_1_1);yy_2_1 = ((yy)" =
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -