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

📄 parser.java

📁 Tiger语言编译器
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
			/* . . . . . . . . . . . . . . . . . . . . */
		case 58: // type_declaration ::= TYPE ID EQ type
		{
			TypeDec RESULT = null;
			int e1left = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 2)).left;
			int e1right = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 2)).right;
			String e1 = (String) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 2)).value;
			int e2left = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 0)).left;
			int e2right = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 0)).right;
			Ty e2 = (Ty) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 0)).value;
			RESULT = new TypeDec(e1left, sym(e1), e2, null);
			CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(
					13/* type_declaration */,
					((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
							.elementAt(CUP$parser$top - 3)).left,
					((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
							.elementAt(CUP$parser$top - 0)).right, RESULT);
		}
			return CUP$parser$result;

			/* . . . . . . . . . . . . . . . . . . . . */
		case 57: // function_declaration ::= FUNCTION ID LPAREN RPAREN COLON
					// ID EQ expr function_declaration
		{
			FunctionDec RESULT = null;
			int e1left = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 7)).left;
			int e1right = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 7)).right;
			String e1 = (String) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 7)).value;
			int e5left = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 3)).left;
			int e5right = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 3)).right;
			String e5 = (String) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 3)).value;
			int e3left = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 1)).left;
			int e3right = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 1)).right;
			Exp e3 = (Exp) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 1)).value;
			int e4left = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 0)).left;
			int e4right = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 0)).right;
			FunctionDec e4 = (FunctionDec) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 0)).value;
			RESULT = new FunctionDec(e1left, sym(e1), null, new NameTy(e5left,
					sym(e5)), e3, e4);
			CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(
					8/* function_declaration */,
					((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
							.elementAt(CUP$parser$top - 8)).left,
					((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
							.elementAt(CUP$parser$top - 0)).right, RESULT);
		}
			return CUP$parser$result;

			/* . . . . . . . . . . . . . . . . . . . . */
		case 56: // function_declaration ::= FUNCTION ID LPAREN RPAREN EQ
					// expr function_declaration
		{
			FunctionDec RESULT = null;
			int e1left = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 5)).left;
			int e1right = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 5)).right;
			String e1 = (String) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 5)).value;
			int e3left = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 1)).left;
			int e3right = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 1)).right;
			Exp e3 = (Exp) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 1)).value;
			int e4left = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 0)).left;
			int e4right = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 0)).right;
			FunctionDec e4 = (FunctionDec) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 0)).value;
			RESULT = new FunctionDec(e1left, sym(e1), null, null, e3, e4);
			CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(
					8/* function_declaration */,
					((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
							.elementAt(CUP$parser$top - 6)).left,
					((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
							.elementAt(CUP$parser$top - 0)).right, RESULT);
		}
			return CUP$parser$result;

			/* . . . . . . . . . . . . . . . . . . . . */
		case 55: // function_declaration ::= FUNCTION ID LPAREN RPAREN COLON
					// ID EQ expr
		{
			FunctionDec RESULT = null;
			int e1left = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 6)).left;
			int e1right = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 6)).right;
			String e1 = (String) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 6)).value;
			int e5left = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 2)).left;
			int e5right = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 2)).right;
			String e5 = (String) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 2)).value;
			int e4left = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 0)).left;
			int e4right = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 0)).right;
			Exp e4 = (Exp) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 0)).value;
			RESULT = new FunctionDec(e1left, sym(e1), null, new NameTy(e5left,
					sym(e5)), e4, null);
			CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(
					8/* function_declaration */,
					((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
							.elementAt(CUP$parser$top - 7)).left,
					((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
							.elementAt(CUP$parser$top - 0)).right, RESULT);
		}
			return CUP$parser$result;

			/* . . . . . . . . . . . . . . . . . . . . */
		case 54: // function_declaration ::= FUNCTION ID LPAREN RPAREN EQ
					// expr
		{
			FunctionDec RESULT = null;
			int e1left = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 4)).left;
			int e1right = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 4)).right;
			String e1 = (String) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 4)).value;
			int e3left = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 0)).left;
			int e3right = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 0)).right;
			Exp e3 = (Exp) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 0)).value;
			RESULT = new FunctionDec(e1left, sym(e1), null, null, e3, null);
			CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(
					8/* function_declaration */,
					((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
							.elementAt(CUP$parser$top - 5)).left,
					((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
							.elementAt(CUP$parser$top - 0)).right, RESULT);
		}
			return CUP$parser$result;

			/* . . . . . . . . . . . . . . . . . . . . */
		case 53: // function_declaration ::= FUNCTION ID LPAREN type_fields
					// RPAREN COLON ID EQ expr function_declaration
		{
			FunctionDec RESULT = null;
			int e1left = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 8)).left;
			int e1right = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 8)).right;
			String e1 = (String) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 8)).value;
			int e2left = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 6)).left;
			int e2right = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 6)).right;
			FieldList e2 = (FieldList) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 6)).value;
			int e5left = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 3)).left;
			int e5right = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 3)).right;
			String e5 = (String) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 3)).value;
			int e3left = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 1)).left;
			int e3right = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 1)).right;
			Exp e3 = (Exp) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 1)).value;
			int e4left = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 0)).left;
			int e4right = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 0)).right;
			FunctionDec e4 = (FunctionDec) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 0)).value;
			RESULT = new FunctionDec(e1left, sym(e1), e2, new NameTy(e5left,
					sym(e5)), e3, e4);
			CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(
					8/* function_declaration */,
					((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
							.elementAt(CUP$parser$top - 9)).left,
					((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
							.elementAt(CUP$parser$top - 0)).right, RESULT);
		}
			return CUP$parser$result;

			/* . . . . . . . . . . . . . . . . . . . . */
		case 52: // function_declaration ::= FUNCTION ID LPAREN type_fields
					// RPAREN EQ expr function_declaration
		{
			FunctionDec RESULT = null;
			int e1left = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 6)).left;
			int e1right = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 6)).right;
			String e1 = (String) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 6)).value;
			int e2left = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 4)).left;
			int e2right = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 4)).right;
			FieldList e2 = (FieldList) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 4)).value;
			int e3left = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 1)).left;
			int e3right = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 1)).right;
			Exp e3 = (Exp) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 1)).value;
			int e4left = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 0)).left;
			int e4right = ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 0)).right;
			FunctionDec e4 = (FunctionDec) ((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
					.elementAt(CUP$parser$top - 0)).value;
			RESULT = new FunctionDec(e1left, sym(e1), e2, null, e3, e4);
			CUP$parser$result = new com.sun.java_cup.internal.runtime.Symbol(
					8/* function_declaration */,
					((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
							.elementAt(CUP$parser$top - 7)).left,
					((com.sun.java_cup.internal.runtime.Symbol) CUP$parser$stack
							.elementAt(CUP$parser$top - 0)).right, RESULT);
		}
			return CUP$parser$result;

			/* . . . . . . . . . . . . . . . . . . . . */
		case 51: // function_declaration ::= FUNCTION ID LPAREN type_fields
					// RPAREN COLON ID EQ expr
		{

⌨️ 快捷键说明

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