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

📄 parse.c

📁 一个C语言的编译器
💻 C
📖 第 1 页 / 共 4 页
字号:
 yyval.ptree = NULL; 
#line 654 "parse.c"
		}
		break;
	case 32:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[2];
			yyinitdebug(yya, 2);
#endif
			{
#line 224 ".\\parse.y"
 yyval.ptree = yyattribute(1 - 1).ptree; 
#line 666 "parse.c"
			}
		}
		break;
	case 33:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[2];
			yyinitdebug(yya, 2);
#endif
			{
#line 225 ".\\parse.y"
 yyval.ptree = yyattribute(1 - 1).ptree; 
#line 679 "parse.c"
			}
		}
		break;
	case 34:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[2];
			yyinitdebug(yya, 2);
#endif
			{
#line 226 ".\\parse.y"
 yyval.ptree = yyattribute(1 - 1).ptree; 
#line 692 "parse.c"
			}
		}
		break;
	case 35:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[2];
			yyinitdebug(yya, 2);
#endif
			{
#line 227 ".\\parse.y"
 yyval.ptree = yyattribute(1 - 1).ptree; 
#line 705 "parse.c"
			}
		}
		break;
	case 36:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[2];
			yyinitdebug(yya, 2);
#endif
			{
#line 228 ".\\parse.y"
 yyval.ptree = yyattribute(1 - 1).ptree; 
#line 718 "parse.c"
			}
		}
		break;
	case 37:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[2];
			yyinitdebug(yya, 2);
#endif
			{
#line 229 ".\\parse.y"
 yyval.ptree = yyattribute(1 - 1).ptree; 
#line 731 "parse.c"
			}
		}
		break;
	case 38:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[2];
			yyinitdebug(yya, 2);
#endif
			{
#line 230 ".\\parse.y"
 yyval.ptree = yyattribute(1 - 1).ptree; 
#line 744 "parse.c"
			}
		}
		break;
	case 39:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[3];
			yyinitdebug(yya, 3);
#endif
			{
#line 233 ".\\parse.y"
 yyval.ptree = yyattribute(1 - 2).ptree; 
#line 757 "parse.c"
			}
		}
		break;
	case 40:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[2];
			yyinitdebug(yya, 2);
#endif
			{
#line 235 ".\\parse.y"
 yyval.ptree = NULL; 
#line 770 "parse.c"
			}
		}
		break;
	case 41:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[6];
			yyinitdebug(yya, 6);
#endif
			{
#line 238 ".\\parse.y"
 yyval.ptree = newStmtNode(IfK);
                  yyval.ptree -> child[0] = yyattribute(3 - 5).ptree;
                  yyval.ptree -> child[1] = yyattribute(5 - 5).ptree;
                
#line 786 "parse.c"
			}
		}
		break;
	case 42:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[8];
			yyinitdebug(yya, 8);
#endif
			{
#line 243 ".\\parse.y"
 yyval.ptree = newStmtNode(IfK);
                  yyval.ptree -> child[0] = yyattribute(3 - 7).ptree;
                  yyval.ptree -> child[1] = yyattribute(5 - 7).ptree;
				  yyval.ptree -> child[2] = yyattribute(7 - 7).ptree;
                
#line 803 "parse.c"
			}
		}
		break;
	case 43:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[6];
			yyinitdebug(yya, 6);
#endif
			{
#line 250 ".\\parse.y"
 yyval.ptree = newStmtNode(WhileK);
                  yyval.ptree -> child[0] = yyattribute(3 - 5).ptree;
                  yyval.ptree -> child[1] = yyattribute(5 - 5).ptree;
                
#line 819 "parse.c"
			}
		}
		break;
	case 44:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[8];
			yyinitdebug(yya, 8);
#endif
			{
#line 255 ".\\parse.y"

                  yyval.ptree = newStmtNode(ForK);
                  yyval.ptree -> child[0] = yyattribute(3 - 7).ptree;
                  yyval.ptree -> child[1]  = yyattribute(4 - 7).ptree;
                  yyval.ptree -> child[2]  = yyattribute(7 - 7).ptree;
                  yyval.ptree -> child[3]  = yyattribute(5 - 7).ptree;
                
#line 838 "parse.c"
			}
		}
		break;
	case 45:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[6];
			yyinitdebug(yya, 6);
#endif
			{
#line 264 ".\\parse.y"

                  yyval.ptree = newStmtNode(InputK);
                  yyval.ptree -> attr.name = savedIdName;
                
#line 854 "parse.c"
			}
		}
		break;
	case 46:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[6];
			yyinitdebug(yya, 6);
#endif
			{
#line 270 ".\\parse.y"

                  yyval.ptree = newStmtNode(OutputK);
                  yyval.ptree -> attr.name = savedIdName;
                
#line 870 "parse.c"
			}
		}
		break;
	case 47:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[3];
			yyinitdebug(yya, 3);
#endif
			{
#line 276 ".\\parse.y"
 yyval.ptree = newStmtNode(ReturnK);
                  yyval.ptree -> child[0] = NULL;
                
#line 885 "parse.c"
			}
		}
		break;
	case 48:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[4];
			yyinitdebug(yya, 4);
#endif
			{
#line 280 ".\\parse.y"
 yyval.ptree = newStmtNode(ReturnK);
                  yyval.ptree -> child[0] = yyattribute(2 - 3).ptree;
                
#line 900 "parse.c"
			}
		}
		break;
	case 49:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[4];
			yyinitdebug(yya, 4);
#endif
			{
#line 285 ".\\parse.y"
 yyval.ptree = newStmtNode(AssignK);
                  yyval.ptree -> child[0] = yyattribute(1 - 3).ptree;
                  yyval.ptree -> child[1] = yyattribute(3 - 3).ptree;
                
#line 916 "parse.c"
			}
		}
		break;
	case 50:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[2];
			yyinitdebug(yya, 2);
#endif
			{
#line 290 ".\\parse.y"
 yyval.ptree = yyattribute(1 - 1).ptree; 
#line 929 "parse.c"
			}
		}
		break;
	case 51:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[2];
			yyinitdebug(yya, 2);
#endif
			{
#line 293 ".\\parse.y"
 yyval.ptree = newExpNode(IdK);
                  yyval.ptree -> attr.name = savedIdName;
                
#line 944 "parse.c"
			}
		}
		break;
	case 52:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[5];
			yyinitdebug(yya, 5);
#endif
			{
#line 297 ".\\parse.y"
 yyval.ptree = newExpNode(IdK);
				  yyval.ptree -> attr.name = savedIdName;
                  yyval.ptree -> child[0] = yyattribute(3 - 4).ptree;
                
#line 960 "parse.c"
			}
		}
		break;
	case 53:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[4];
			yyinitdebug(yya, 4);
#endif
			{
#line 303 ".\\parse.y"
 yyval.ptree = newExpNode(OpK);
				  yyval.ptree -> child[0] = yyattribute(1 - 3).ptree;
				  yyval.ptree -> child[1] = yyattribute(3 - 3).ptree;
				  yyval.ptree -> attr.op = OR;
				
#line 977 "parse.c"
			}
		}
		break;
	case 54:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[4];
			yyinitdebug(yya, 4);
#endif
			{
#line 309 ".\\parse.y"
 yyval.ptree = newExpNode(OpK);
				  yyval.ptree -> child[0] = yyattribute(1 - 3).ptree;
				  yyval.ptree -> child[1] = yyattribute(3 - 3).ptree;
				  yyval.ptree -> attr.op = AND;
				
#line 994 "parse.c"
			}
		}
		break;
	case 55:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[4];
			yyinitdebug(yya, 4);
#endif
			{
#line 315 ".\\parse.y"
 yyval.ptree = newExpNode(OpK);
				  yyval.ptree -> child[0] = yyattribute(1 - 3).ptree;
				  yyval.ptree -> child[1] = yyattribute(3 - 3).ptree;
				  yyval.ptree -> attr.op = LT;
				  yyval.ptree -> type = Boolean;
				
#line 1012 "parse.c"
			}
		}
		break;
	case 56:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[4];
			yyinitdebug(yya, 4);
#endif
			{
#line 322 ".\\parse.y"
 yyval.ptree = newExpNode(OpK);
				  yyval.ptree -> child[0] = yyattribute(1 - 3).ptree;
				  yyval.ptree -> child[1] = yyattribute(3 - 3).ptree;
				  yyval.ptree -> attr.op = LE;
				  yyval.ptree -> type = Boolean;
				
#line 1030 "parse.c"
			}
		}
		break;
	case 57:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[4];
			yyinitdebug(yya, 4);
#endif
			{
#line 329 ".\\parse.y"
 yyval.ptree = newExpNode(OpK);
				  yyval.ptree -> child[0] = yyattribute(1 - 3).ptree;
				  yyval.ptree -> child[1] = yyattribute(3 - 3).ptree;
				  yyval.ptree -> attr.op = GT;
				  yyval.ptree -> type = Boolean;
				
#line 1048 "parse.c"
			}
		}
		break;
	case 58:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[4];
			yyinitdebug(yya, 4);
#endif
			{
#line 336 ".\\parse.y"
 yyval.ptree = newExpNode(OpK);
				  yyval.ptree -> child[0] = yyattribute(1 - 3).ptree;
				  yyval.ptree -> child[1] = yyattribute(3 - 3).ptree;
				  yyval.ptree -> attr.op = GE;
				  yyval.ptree -> type = Boolean;
				
#line 1066 "parse.c"
			}
		}
		break;
	case 59:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[4];
			yyinitdebug(yya, 4);
#endif
			{
#line 343 ".\\parse.y"
 yyval.ptree = newExpNode(OpK);
				  yyval.ptree -> child[0] = yyattribute(1 - 3).ptree;
				  yyval.ptree -> child[1] = yyattribute(3 - 3).ptree;
				  yyval.ptree -> attr.op = EQ;
				  yyval.ptree -> type = Boolean;
				
#line 1084 "parse.c"
			}
		}
		break;
	case 60:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[4];
			yyinitdebug(yya, 4);
#endif
			{
#line 350 ".\\parse.y"
 yyval.ptree = newExpNode(OpK);
				  yyval.ptree -> child[0] = yyattribute(1 - 3).ptree;
				  yyval.ptree -> child[1] = yyattribute(3 - 3).ptree;
				  yyval.ptree -> attr.op = NEQ;
				  yyval.ptree -> type = Boolean;
				
#line 1102 "parse.c"
			}
		}
		break;
	case 61:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[4];
			yyinitdebug(yya, 4);
#endif
			{
#line 357 ".\\parse.y"
 yyval.ptree = newExpNode(OpK);
				  yyval.ptree -> child[0] = yyattribute(1 - 3).ptree;
				  yyval.ptree -> child[1] = yyattribute(3 - 3).ptree;
				  yyval.ptree -> attr.op = PLUS;
				
#line 1119 "parse.c"
			}
		}
		break;
	case 62:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[4];
			yyinitdebug(yya, 4);
#endif
			{
#line 363 ".\\parse.y"
 yyval.ptree = newExpNode(OpK);
				  yyval.ptree -> child[0] = yyattribute(1 - 3).ptree;
				  yyval.ptree -> child[1] = yyattribute(3 - 3).ptree;
				  yyval.ptree -> attr.op = SUB;
				
#line 1136 "parse.c"
			}
		}
		break;
	case 63:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[4];
			yyinitdebug(yya, 4);
#endif
			{
#line 369 ".\\parse.y"
 yyval.ptree = newExpNode(OpK);
				  yyval.ptree -> child[0] = yyattribute(1 - 3).ptree;
				  yyval.ptree -> child[1] = yyattribute(3 - 3).ptree;
				  yyval.ptree -> attr.op = MUT;
				
#line 1153 "parse.c"
			}
		}
		break;
	case 64:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[4];
			yyinitdebug(yya, 4);
#endif
			{
#line 375 ".\\parse.y"
 yyval.ptree = newExpNode(OpK);
				  yyval.ptree -> child[0] = yyattribute(1 - 3).ptree;
				  yyval.ptree -> child[1] = yyattribute(3 - 3).ptree;
				  yyval.ptree -> attr.op = DIV;
				
#line 1170 "parse.c"
			}
		}
		break;
	case 65:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[4];
			yyinitdebug(yya, 4);
#endif
			{
#line 381 ".\\parse.y"
 yyval.ptree = newExpNode(OpK);
				  yyval.ptree -> child[0] = yyattribute(1 - 3).ptree;
				  yyval.ptree -> child[1] = yyattribute(3 - 3).ptree;
				  yyval.ptree -> attr.op = MOD;
				
#line 1187 "parse.c"
			}
		}
		break;
	case 66:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[3];
			yyinitdebug(yya, 3);
#endif
			{
#line 387 ".\\parse.y"
 yyval.ptree = newExpNode(OpK);
				  yyval.ptree -> child[0] = yyattribute(1 - 2).ptree;
				  yyval.ptree -> attr.op = INC;
				
#line 1203 "parse.c"
			}
		}
		break;
	case 67:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[5];
			yyinitdebug(yya, 5);
#endif
			{
#line 392 ".\\parse.y"
 yyval.ptree = newExpNode(OpK);
				  yyval.ptree -> child[0] = yyattribute(3 - 4).ptree;
				  yyval.ptree -> attr.op = INC;
				
#line 1219 "parse.c"
			}
		}
		break;
	case 68:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[3];
			yyinitdebug(yya, 3);
#endif
			{
#line 397 ".\\parse.y"
 yyval.ptree = newExpNode(OpK);
				  yyval.ptree -> child[0] = yyattribute(1 - 2).ptree;
				  yyval.ptree -> attr.op = DEC;
				
#line 1235 "parse.c"
			}
		}
		break;
	case 69:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[5];
			yyinitdebug(yya, 5);
#endif
			{
#line 402 ".\\parse.y"
 yyval.ptree = newExpNode(OpK);
				  yyval.ptree -> child[0] = yyattribute(3 - 4).ptree;
				  yyval.ptree -> attr.op = DEC;
				
#line 1251 "parse.c"
			}
		}
		break;
	case 70:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[4];
			yyinitdebug(yya, 4);
#endif
			{
#line 407 ".\\parse.y"
 yyval.ptree = newExpNode(OpK);
				  yyval.ptree -> child[0] = yyattribute(1 - 3).ptree;
				  yyval.ptree -> child[1] = yyattribute(3 - 3).ptree;
				  yyval.ptree -> attr.op = B_AND;
				
#line 1268 "parse.c"
			}
		}
		break;
	case 71:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[4];
			yyinitdebug(yya, 4);
#endif
			{
#line 413 ".\\parse.y"
 yyval.ptree = newExpNode(OpK);
				  yyval.ptree -> child[0] = yyattribute(1 - 3).ptree;
				  yyval.ptree -> child[1] = yyattribute(3 - 3).ptree;
				  yyval.ptree -> attr.op = B_XOR;
				
#line 1285 "parse.c"
			}
		}
		break;
	case 72:
		{
#ifdef YYDEBUG
			YYSTYPE YYFAR *yya[4];
			yyinitdebug(yya, 4);
#endif
			{
#line 419 ".\\parse.y"
 yyval.ptree = newExpNode(OpK);
				  yyval.ptree -> child[0] = yyattribute(1 - 3).ptree;
				  yyval.ptree -> child[1] = yyattribute(3 - 3).ptree;
				  yyval.ptree -> attr.op = B_OR;
				
#line 1302 "parse.c"
			}

⌨️ 快捷键说明

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