⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bnf.c

📁 有用
💻 C
📖 第 1 页 / 共 3 页
字号:
yy yy_8_1_5;yy yy_8_1_5_1;yy yy_8_1_6;yy yyv_StartRule;yy yy_8_2;yy_0_1 = yyin_1;yy_0_2 = yyin_2;yyv_UserRoot = yy_0_1;yyv_Pos = yy_0_2;yyb = yyh;yyh += 32; if (yyh > yyhx) yyExtend();yy_1_1 = ((yy)"YYSTART");string_to_id(yy_1_1, &yy_1_2);yyv_Id = yy_1_2;yy_2_1_1_1 = yyv_UserRoot;yy_2_1_1_2_1 = yyv_Pos;yy_2_1_1_2 = yyb + 8;yy_2_1_1_2[0] = 2;yy_2_1_1_2[1] = ((long)yy_2_1_1_2_1);yy_2_1_1_3 = yyb + 10;yy_2_1_1_3[0] = 3;yy_2_1_1_4 = yyv_Pos;yy_2_1_1 = yyb + 3;yy_2_1_1[0] = 1;yy_2_1_1[1] = ((long)yy_2_1_1_1);yy_2_1_1[2] = ((long)yy_2_1_1_2);yy_2_1_1[3] = ((long)yy_2_1_1_3);yy_2_1_1[4] = ((long)yy_2_1_1_4);yy_2_1_2_1_1 = ((yy)0);yy_2_1_2_1 = yyb + 14;yy_2_1_2_1[0] = 2;yy_2_1_2_1[1] = ((long)yy_2_1_2_1_1);yy_2_1_2_2 = yyb + 16;yy_2_1_2_2[0] = 2;yy_2_1_2 = yyb + 11;yy_2_1_2[0] = 1;yy_2_1_2[1] = ((long)yy_2_1_2_1);yy_2_1_2[2] = ((long)yy_2_1_2_2);yy_2_1 = yyb + 0;yy_2_1[0] = 1;yy_2_1[1] = ((long)yy_2_1_1);yy_2_1[2] = ((long)yy_2_1_2);yy_2_2 = yy_2_1;yyv_Members = yy_2_2;yyv_Key = yyb + 17;yyb[20] = yyu;yyb[19] = yyu;yyb[18] = yyu;FreshRuleNumber(&yy_4_1);yyv_N = yy_4_1;yy_5 = yyv_N;yyv_Key[2] = (long) yy_5;yy_6 = yyv_Members;yyv_Key[1] = (long) yy_6;yy_7_1 = yyv_Id;yy_7_2 = yyb + 21;yy_7_2[0] = 2;yy_7_3 = yyv_Pos;define_nonterm(yy_7_1, yy_7_2, yy_7_3);yy_8_1_1 = yyv_Id;yy_8_1_2 = yyv_Members;yy_8_1_3 = yyv_Key;yy_8_1_4 = yyb + 29;yy_8_1_4[0] = 2;yy_8_1_5_1 = ((yy)0);yy_8_1_5 = yyb + 30;yy_8_1_5[0] = 1;yy_8_1_5[1] = ((long)yy_8_1_5_1);yy_8_1_6 = yyv_Pos;yy_8_1 = yyb + 22;yy_8_1[0] = 1;yy_8_1[1] = ((long)yy_8_1_1);yy_8_1[2] = ((long)yy_8_1_2);yy_8_1[3] = ((long)yy_8_1_3);yy_8_1[4] = ((long)yy_8_1_4);yy_8_1[5] = ((long)yy_8_1_5);yy_8_1[6] = ((long)yy_8_1_6);yy_8_2 = yy_8_1;yyv_StartRule = yy_8_2;yy_0_3 = yyv_StartRule;*yyout_1 = yy_0_3;return;}}FreshRuleNumber(yyout_1)yy *yyout_1;{{yy yyb;yy yy_0_1;yy yy_0_1_1;yy yy_0_1_2;yy yyv_N;yy yy_1;yy yy_2;yy yy_2_1;yy yy_2_2;yy_1 = yyglov_UniqueRuleNumber;if (yy_1 == (yy) yyu) yyErr(1,250);yyv_N = yy_1;yy_2_1 = yyv_N;yy_2_2 = ((yy)1);yy_2 = (yy)(((long)yy_2_1)+((long)yy_2_2));yyglov_UniqueRuleNumber = yy_2;yy_0_1_1 = yyv_N;yy_0_1_2 = ((yy)1);yy_0_1 = (yy)(((long)yy_0_1_1)+((long)yy_0_1_2));*yyout_1 = yy_0_1;return;}}FreshAlternativeNumber(yyout_1)yy *yyout_1;{{yy yyb;yy yy_0_1;yy yy_0_1_1;yy yy_0_1_2;yy yyv_N;yy yy_1;yy yy_2;yy yy_2_1;yy yy_2_2;yy_1 = yyglov_UniqueAlternativeNumber;if (yy_1 == (yy) yyu) yyErr(1,257);yyv_N = yy_1;yy_2_1 = yyv_N;yy_2_2 = ((yy)1);yy_2 = (yy)(((long)yy_2_1)+((long)yy_2_2));yyglov_UniqueAlternativeNumber = yy_2;yy_0_1_1 = yyv_N;yy_0_1_2 = ((yy)1);yy_0_1 = (yy)(((long)yy_0_1_1)+((long)yy_0_1_2));*yyout_1 = yy_0_1;return;}}FreshSubphraseNumber(yyout_1)yy *yyout_1;{{yy yyb;yy yy_0_1;yy yy_0_1_1;yy yy_0_1_2;yy yyv_N;yy yy_1;yy yy_2;yy yy_2_1;yy yy_2_2;yy_1 = yyglov_UniqueSubphraseNumber;if (yy_1 == (yy) yyu) yyErr(1,264);yyv_N = yy_1;yy_2_1 = yyv_N;yy_2_2 = ((yy)1);yy_2 = (yy)(((long)yy_2_1)+((long)yy_2_2));yyglov_UniqueSubphraseNumber = yy_2;yy_0_1_1 = yyv_N;yy_0_1_2 = ((yy)1);yy_0_1 = (yy)(((long)yy_0_1_1)+((long)yy_0_1_2));*yyout_1 = yy_0_1;return;}}FreshTokenNumber(yyout_1)yy *yyout_1;{{yy yyb;yy yy_0_1;yy yyv_N;yy yy_1;yy yy_2;yy yy_2_1;yy yy_2_2;yy_1 = yyglov_NextTokenNumber;if (yy_1 == (yy) yyu) yyErr(1,311);yyv_N = yy_1;yy_2_1 = yyv_N;yy_2_2 = ((yy)1);yy_2 = (yy)(((long)yy_2_1)+((long)yy_2_2));yyglov_NextTokenNumber = yy_2;yy_0_1 = yyv_N;*yyout_1 = yy_0_1;return;}}define_token(yyin_1, yyin_2, yyin_3, yyin_4)yy yyin_1;yy yyin_2;yy yyin_3;yy yyin_4;{{yy yyb;yy yyv_Id;yy yy_0_1;yy yyv_Params;yy yy_0_2;yy yyv_N;yy yy_0_3;yy yyv_Pos;yy yy_0_4;yy yy_1_1_1_1;yy yyv_Obj;yy yy_1_1_1_2;yy yy_1_1_2_1;yy yy_1_1_2_2;yy yy_1_1_2_3;yy yy_1_1_2_4;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_0_1 = yyin_1;yy_0_2 = yyin_2;yy_0_3 = yyin_3;yy_0_4 = yyin_4;yyv_Id = yy_0_1;yyv_Params = yy_0_2;yyv_N = yy_0_3;yyv_Pos = yy_0_4;{yy yysb = yyb;yy_1_1_1_1 = yyv_Id;if (! HasMeaning(yy_1_1_1_1, &yy_1_1_1_2)) goto yyfl_68_1_1_1;yyv_Obj = yy_1_1_1_2;yy_1_1_2_1 = ((yy)"'");yy_1_1_2_2 = yyv_Id;yy_1_1_2_3 = ((yy)"' already defined");yy_1_1_2_4 = yyv_Pos;ErrorI(yy_1_1_2_1, yy_1_1_2_2, yy_1_1_2_3, yy_1_1_2_4);goto yysl_68_1_1;yyfl_68_1_1_1 : ;yyb = yyh;yyh += 3; if (yyh > yyhx) yyExtend();yy_1_2_1_1 = yyv_Id;yy_1_2_1_2_1 = yyv_N;yy_1_2_1_2_2 = yyv_Params;yy_1_2_1_2 = yyb + 0;yy_1_2_1_2[0] = 1;yy_1_2_1_2[1] = ((long)yy_1_2_1_2_1);yy_1_2_1_2[2] = ((long)yy_1_2_1_2_2);DefMeaning(yy_1_2_1_1, yy_1_2_1_2);goto yysl_68_1_1;yysl_68_1_1 : ;yyb = yysb;}return;}}define_nonterm(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_FormalParams;yy yy_0_2;yy yyv_Pos;yy yy_0_3;yy yy_1_1_1_1;yy yyv_Obj;yy yy_1_1_1_2;yy yy_1_1_2_1_1_1;yy yy_1_1_2_1_1_2;yy yy_1_1_2_1_2_1;yy yy_1_1_2_1_2_2;yy yy_1_1_2_1_2_3;yy yy_1_1_2_1_2_4;yy yy_1_1_2_2_1_1;yy yy_1_1_2_2_1_2;yy yy_1_1_2_2_1_3;yy yy_1_1_2_2_1_4;yy yyv_N;yy yy_1_2_1;yy yy_1_2_2;yy yy_1_2_2_1;yy yy_1_2_2_2;yy yyv_NKey;yy yy_1_2_4;yy yy_1_2_5_1;yy yy_1_2_5_2;yy yy_1_2_5_2_1;yy yy_1_2_5_2_1_1;yy yy_1_2_5_2_1_2;yy yy_1_2_5_2_2;yy yy_1_2_5_2_3;yy yyv_L;yy yy_1_2_6;yy yy_1_2_7;yy yy_1_2_7_1;yy yy_1_2_7_2;yy_0_1 = yyin_1;yy_0_2 = yyin_2;yy_0_3 = yyin_3;yyv_Id = yy_0_1;yyv_FormalParams = yy_0_2;yyv_Pos = yy_0_3;{yy yysb = yyb;yy_1_1_1_1 = yyv_Id;if (! HasMeaning(yy_1_1_1_1, &yy_1_1_1_2)) goto yyfl_69_1_1_1;yyv_Obj = yy_1_1_1_2;{yy yysb = yyb;yy_1_1_2_1_1_1 = yyv_Obj;yy_1_1_2_1_1_2 = yy_1_1_2_1_1_1;if (yy_1_1_2_1_1_2[0] != 1) goto yyfl_69_1_1_1_2_1;yy_1_1_2_1_2_1 = ((yy)"nonterminal '");yy_1_1_2_1_2_2 = yyv_Id;yy_1_1_2_1_2_3 = ((yy)"' already defined as token");yy_1_1_2_1_2_4 = yyv_Pos;ErrorI(yy_1_1_2_1_2_1, yy_1_1_2_1_2_2, yy_1_1_2_1_2_3, yy_1_1_2_1_2_4);goto yysl_69_1_1_1_2;yyfl_69_1_1_1_2_1 : ;yy_1_1_2_2_1_1 = ((yy)"nonterminal '");yy_1_1_2_2_1_2 = yyv_Id;yy_1_1_2_2_1_3 = ((yy)"' defined by more than one rule");yy_1_1_2_2_1_4 = yyv_Pos;ErrorI(yy_1_1_2_2_1_1, yy_1_1_2_2_1_2, yy_1_1_2_2_1_3, yy_1_1_2_2_1_4);goto yysl_69_1_1_1_2;yysl_69_1_1_1_2 : ;yyb = yysb;}goto yysl_69_1_1;yyfl_69_1_1_1 : ;yyb = yyh;yyh += 11; if (yyh > yyhx) yyExtend();yy_1_2_1 = yyglov_UniqueNontermNumber;if (yy_1_2_1 == (yy) yyu) yyErr(1,521);yyv_N = yy_1_2_1;yy_1_2_2_1 = yyv_N;yy_1_2_2_2 = ((yy)1);yy_1_2_2 = (yy)(((long)yy_1_2_2_1)+((long)yy_1_2_2_2));yyglov_UniqueNontermNumber = yy_1_2_2;yyv_NKey = yyb + 0;yyb[2] = yyu;yyb[1] = yyu;yy_1_2_4 = yyb + 3;yy_1_2_4[0] = 2;yyv_NKey[1] = (long) yy_1_2_4;yy_1_2_5_1 = yyv_Id;yy_1_2_5_2_1_1 = yyv_N;yy_1_2_5_2_1_2 = ((yy)1);yy_1_2_5_2_1 = (yy)(((long)yy_1_2_5_2_1_1)+((long)yy_1_2_5_2_1_2));yy_1_2_5_2_2 = yyv_NKey;yy_1_2_5_2_3 = yyv_FormalParams;yy_1_2_5_2 = yyb + 4;yy_1_2_5_2[0] = 2;yy_1_2_5_2[1] = ((long)yy_1_2_5_2_1);yy_1_2_5_2[2] = ((long)yy_1_2_5_2_2);yy_1_2_5_2[3] = ((long)yy_1_2_5_2_3);DefMeaning(yy_1_2_5_1, yy_1_2_5_2);yy_1_2_6 = yyglov_NontermList;if (yy_1_2_6 == (yy) yyu) yyErr(1,526);yyv_L = yy_1_2_6;yy_1_2_7_1 = yyv_L;yy_1_2_7_2 = yyv_NKey;yy_1_2_7 = yyb + 8;yy_1_2_7[0] = 1;yy_1_2_7[1] = ((long)yy_1_2_7_1);yy_1_2_7[2] = ((long)yy_1_2_7_2);yyglov_NontermList = yy_1_2_7;goto yysl_69_1_1;yysl_69_1_1 : ;yyb = yysb;}return;}}init_tokenlist(){{yy yyb;yy yy_1;yy yy_2;yy yyv_MAXCHAR;yy yy_3_1;yy yy_4;yy yy_4_1;yy yy_4_2;yyb = yyh;yyh += 1; if (yyh > yyhx) yyExtend();yy_1 = yyb + 0;yy_1[0] = 2;yyglov_TokenList = yy_1;yy_2 = ((yy)0);yyglov_TokenCount = yy_2;get_max_char(&yy_3_1);yyv_MAXCHAR = yy_3_1;yy_4_1 = yyv_MAXCHAR;yy_4_2 = ((yy)1);yy_4 = (yy)(((long)yy_4_1)+((long)yy_4_2));yyglov_NextTokenNumber = yy_4;return;}}TokenNumberToString(yyin_1, yyout_1)yy yyin_1;yy *yyout_1;{{yy yyb;yy yyv_N;yy yy_0_1;yy yy_0_2;yy yyv_L;yy yy_1;yy yy_2_1;yy yy_2_2;yy yyv_S;yy yy_2_3;yy_0_1 = yyin_1;yyv_N = yy_0_1;yy_1 = yyglov_TokenList;if (yy_1 == (yy) yyu) yyErr(1,567);yyv_L = yy_1;yy_2_1 = yyv_L;yy_2_2 = yyv_N;lookup_tokenstring(yy_2_1, yy_2_2, &yy_2_3);yyv_S = yy_2_3;yy_0_2 = yyv_S;*yyout_1 = yy_0_2;return;}}lookup_tokenstring(yyin_1, yyin_2, yyout_1)yy yyin_1;yy yyin_2;yy *yyout_1;{{yy yyb;yy yy_0_1;yy yy_0_1_1;yy yyv_S0;yy yy_0_1_1_1;yy yyv_N0;yy yy_0_1_1_2;yy yyv_Tl;yy yy_0_1_2;yy yyv_N;yy yy_0_2;yy yy_0_3;yy yy_1_1_1_1;yy yy_1_1_1_2;yy yy_1_1_2_1;yy yyv_S;yy yy_1_1_2_2;yy yy_1_2_1_1;yy yy_1_2_1_2;yy yy_1_2_1_3;yy_0_1 = yyin_1;yy_0_2 = yyin_2;if (yy_0_1[0] != 1) goto yyfl_82_1;yy_0_1_1 = ((yy)yy_0_1[1]);yy_0_1_2 = ((yy)yy_0_1[2]);if (yy_0_1_1[0] != 1) goto yyfl_82_1;yy_0_1_1_1 = ((yy)yy_0_1_1[1]);yy_0_1_1_2 = ((yy)yy_0_1_1[2]);yyv_S0 = yy_0_1_1_1;yyv_N0 = yy_0_1_1_2;yyv_Tl = yy_0_1_2;yyv_N = yy_0_2;{yy yysb = yyb;yy_1_1_1_1 = yyv_N0;yy_1_1_1_2 = yyv_N;if ((long)yy_1_1_1_1 != (long)yy_1_1_1_2) goto yyfl_82_1_1_1;yy_1_1_2_1 = yyv_S0;yy_1_1_2_2 = yy_1_1_2_1;yyv_S = yy_1_1_2_2;goto yysl_82_1_1;yyfl_82_1_1_1 : ;yy_1_2_1_1 = yyv_Tl;yy_1_2_1_2 = yyv_N;lookup_tokenstring(yy_1_2_1_1, yy_1_2_1_2, &yy_1_2_1_3);yyv_S = yy_1_2_1_3;goto yysl_82_1_1;yysl_82_1_1 : ;yyb = yysb;}yy_0_3 = yyv_S;*yyout_1 = yy_0_3;return;yyfl_82_1 : ;}yyErr(2,570);}NumberOfRules(yyout_1)yy *yyout_1;{{yy yyb;yy yy_0_1;yy yyv_N;yy yy_1;yy_1 = yyglov_UniqueRuleNumber;if (yy_1 == (yy) yyu) yyErr(1,583);yyv_N = yy_1;yy_0_1 = yyv_N;*yyout_1 = yy_0_1;return;}}NumberOfNonterms(yyout_1)yy *yyout_1;{{yy yyb;yy yy_0_1;yy yyv_N;yy yy_1;yy_1 = yyglov_UniqueNontermNumber;if (yy_1 == (yy) yyu) yyErr(1,587);yyv_N = yy_1;yy_0_1 = yyv_N;*yyout_1 = yy_0_1;return;}}convert_to_in_parameters(yyin_1, yyout_1)yy yyin_1;yy *yyout_1;{{yy yyb;yy yy_0_1;yy yy_0_1_1;yy yy_0_1_1_1;yy yyv_T;yy yy_0_1_1_2;yy yyv_N;yy yy_0_1_1_3;yy yyv_P;yy yy_0_1_1_4;yy yyv_T1;yy yy_0_1_2;yy yy_0_2;yy yy_0_2_1;yy yy_0_2_1_1;yy yy_0_2_1_2;yy yy_0_2_1_3;yy yy_0_2_1_4;yy yy_0_2_2;yy yy_1_1;yy yyv_T2;yy yy_1_2;yy_0_1 = yyin_1;if (yy_0_1[0] != 1) goto yyfl_85_1;yy_0_1_1 = ((yy)yy_0_1[1]);yy_0_1_2 = ((yy)yy_0_1[2]);if (yy_0_1_1[0] != 1) goto yyfl_85_1;yy_0_1_1_1 = ((yy)yy_0_1_1[1]);yy_0_1_1_2 = ((yy)yy_0_1_1[2]);yy_0_1_1_3 = ((yy)yy_0_1_1[3]);yy_0_1_1_4 = ((yy)yy_0_1_1[4]);yyv_T = yy_0_1_1_2;yyv_N = yy_0_1_1_3;yyv_P = yy_0_1_1_4;yyv_T1 = yy_0_1_2;yyb = yyh;yyh += 9; if (yyh > yyhx) yyExtend();yy_1_1 = yyv_T1;convert_to_in_parameters(yy_1_1, &yy_1_2);yyv_T2 = yy_1_2;yy_0_2_1_1 = yyb + 8;yy_0_2_1_1[0] = 1;yy_0_2_1_2 = yyv_T;yy_0_2_1_3 = yyv_N;yy_0_2_1_4 = yyv_P;yy_0_2_1 = yyb + 3;yy_0_2_1[0] = 1;yy_0_2_1[1] = ((long)yy_0_2_1_1);yy_0_2_1[2] = ((long)yy_0_2_1_2);yy_0_2_1[3] = ((long)yy_0_2_1_3);yy_0_2_1[4] = ((long)yy_0_2_1_4);yy_0_2_2 = yyv_T2;yy_0_2 = yyb + 0;yy_0_2[0] = 1;yy_0_2[1] = ((long)yy_0_2_1);yy_0_2[2] = ((long)yy_0_2_2);*yyout_1 = yy_0_2;return;yyfl_85_1 : ;}{yy yyb;yy yy_0_1;yy yy_0_2;yy_0_1 = yyin_1;if (yy_0_1[0] != 2) goto yyfl_85_2;yyb = yyh;yyh += 1; if (yyh > yyhx) yyExtend();yy_0_2 = yyb + 0;yy_0_2[0] = 2;*yyout_1 = yy_0_2;return;yyfl_85_2 : ;}yyErr(2,591);}append_parameter_lists(yyin_1, yyin_2, yyout_1)yy yyin_1;yy yyin_2;yy *yyout_1;{{yy yyb;yy yy_0_1;yy yyv_H;yy yy_0_1_1;yy yyv_T;yy yy_0_1_2;yy yyv_L;yy yy_0_2;yy yy_0_3;yy yy_0_3_1;yy yy_0_3_2;yy yy_1_1;yy yy_1_2;yy yyv_TL;yy yy_1_3;yy_0_1 = yyin_1;yy_0_2 = yyin_2;if (yy_0_1[0] != 1) goto yyfl_86_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;yyv_L = yy_0_2;yyb = yyh;yyh += 3; if (yyh > yyhx) yyExtend();yy_1_1 = yyv_T;yy_1_2 = yyv_L;append_parameter_lists(yy_1_1, yy_1_2, &yy_1_3);yyv_TL = yy_1_3;yy_0_3_1 = yyv_H;yy_0_3_2 = yyv_TL;yy_0_3 = yyb + 0;yy_0_3[0] = 1;yy_0_3[1] = ((long)yy_0_3_1);yy_0_3[2] = ((long)yy_0_3_2);*yyout_1 = yy_0_3;return;yyfl_86_1 : ;}{yy yyb;yy yy_0_1;yy yyv_L;yy yy_0_2;yy yy_0_3;yy_0_1 = yyin_1;yy_0_2 = yyin_2;if (yy_0_1[0] != 2) goto yyfl_86_2;yyv_L = yy_0_2;yy_0_3 = yyv_L;*yyout_1 = yy_0_3;return;yyfl_86_2 : ;}yyErr(2,597);}

⌨️ 快捷键说明

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