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

📄 grm.java

📁 本设计Tiger语言为源语言
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
		 RESULT = t; 
              CUP$Grm$result = new java_cup.runtime.Symbol(7/*declaration*/, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).left, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).right, RESULT);
            }
          return CUP$Grm$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 46: // declaration_list ::= declaration declaration_list 
            {
              Absyn.DecList RESULT = null;
		int dleft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-1)).left;		int dright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-1)).right;		Absyn.Dec d = (Absyn.Dec)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-1)).value;		int dlleft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).left;		int dlright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).right;		Absyn.DecList dl = (Absyn.DecList)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-0)).value;		 RESULT = new Absyn.DecList(d, dl); 
              CUP$Grm$result = new java_cup.runtime.Symbol(6/*declaration_list*/, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-1)).left, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).right, RESULT);
            }
          return CUP$Grm$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 45: // declaration_list ::= declaration 
            {
              Absyn.DecList RESULT = null;
		int dleft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).left;		int dright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).right;		Absyn.Dec d = (Absyn.Dec)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-0)).value;		 RESULT = new Absyn.DecList(d, null); 
              CUP$Grm$result = new java_cup.runtime.Symbol(6/*declaration_list*/, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).left, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).right, RESULT);
            }
          return CUP$Grm$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 44: // lvalue ::= lvalue LBRACK expr RBRACK 
            {
              Absyn.Var RESULT = null;
		int lleft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-3)).left;		int lright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-3)).right;		Absyn.Var l = (Absyn.Var)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-3)).value;		int eleft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-1)).left;		int eright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-1)).right;		Absyn.Exp e = (Absyn.Exp)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-1)).value;		 RESULT = new Absyn.SubscriptVar(lleft, l, e); 
              CUP$Grm$result = new java_cup.runtime.Symbol(5/*lvalue*/, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-3)).left, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).right, RESULT);
            }
          return CUP$Grm$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 43: // lvalue ::= lvalue DOT ID 
            {
              Absyn.Var RESULT = null;
		int lleft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-2)).left;		int lright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-2)).right;		Absyn.Var l = (Absyn.Var)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-2)).value;		int ileft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).left;		int iright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).right;		String i = (String)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-0)).value;		 RESULT = new Absyn.FieldVar(lleft, l, sym(i)); 
              CUP$Grm$result = new java_cup.runtime.Symbol(5/*lvalue*/, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-2)).left, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).right, RESULT);
            }
          return CUP$Grm$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 42: // lvalue ::= ID LBRACK expr RBRACK 
            {
              Absyn.Var RESULT = null;
		int ileft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-3)).left;		int iright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-3)).right;		String i = (String)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-3)).value;		int eleft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-1)).left;		int eright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-1)).right;		Absyn.Exp e = (Absyn.Exp)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-1)).value;		 RESULT = new Absyn.SubscriptVar(ileft, new Absyn.SimpleVar(ileft, sym(i)), e); 
              CUP$Grm$result = new java_cup.runtime.Symbol(5/*lvalue*/, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-3)).left, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).right, RESULT);
            }
          return CUP$Grm$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 41: // lvalue ::= ID 
            {
              Absyn.Var RESULT = null;
		int ileft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).left;		int iright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).right;		String i = (String)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-0)).value;		 RESULT = new Absyn.SimpleVar(ileft, sym(i)); 
              CUP$Grm$result = new java_cup.runtime.Symbol(5/*lvalue*/, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).left, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).right, RESULT);
            }
          return CUP$Grm$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 40: // field_list ::= ID EQ expr COMMA field_list 
            {
              Absyn.FieldExpList RESULT = null;
		int ileft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-4)).left;		int iright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-4)).right;		String i = (String)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-4)).value;		int eleft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-2)).left;		int eright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-2)).right;		Absyn.Exp e = (Absyn.Exp)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-2)).value;		int fleft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).left;		int fright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).right;		Absyn.FieldExpList f = (Absyn.FieldExpList)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-0)).value;		 RESULT = new Absyn.FieldExpList(ileft, sym(i), e, f); 
              CUP$Grm$result = new java_cup.runtime.Symbol(4/*field_list*/, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-4)).left, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).right, RESULT);
            }
          return CUP$Grm$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 39: // field_list ::= ID EQ expr 
            {
              Absyn.FieldExpList RESULT = null;
		int ileft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-2)).left;		int iright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-2)).right;		String i = (String)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-2)).value;		int eleft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).left;		int eright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).right;		Absyn.Exp e = (Absyn.Exp)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-0)).value;		 RESULT = new Absyn.FieldExpList(ileft, sym(i), e, null); 
              CUP$Grm$result = new java_cup.runtime.Symbol(4/*field_list*/, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-2)).left, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).right, RESULT);
            }
          return CUP$Grm$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 38: // expr_list ::= expr COMMA expr_list 
            {
              Absyn.ExpList RESULT = null;
		int eleft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-2)).left;		int eright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-2)).right;		Absyn.Exp e = (Absyn.Exp)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-2)).value;		int elleft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).left;		int elright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).right;		Absyn.ExpList el = (Absyn.ExpList)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-0)).value;		 RESULT = new Absyn.ExpList(e, el); 
              CUP$Grm$result = new java_cup.runtime.Symbol(3/*expr_list*/, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-2)).left, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).right, RESULT);
            }
          return CUP$Grm$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 37: // expr_list ::= expr 
            {
              Absyn.ExpList RESULT = null;
		int eleft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).left;		int eright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).right;		Absyn.Exp e = (Absyn.Exp)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-0)).value;		 RESULT = new Absyn.ExpList(e, null); 
              CUP$Grm$result = new java_cup.runtime.Symbol(3/*expr_list*/, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).left, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).right, RESULT);
            }
          return CUP$Grm$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 36: // expr_seq ::= expr SEMICOLON expr_seq 
            {
              Absyn.SeqExp RESULT = null;
		int eleft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-2)).left;		int eright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-2)).right;		Absyn.Exp e = (Absyn.Exp)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-2)).value;		int esleft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).left;		int esright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).right;		Absyn.SeqExp es = (Absyn.SeqExp)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-0)).value;		 RESULT = new Absyn.SeqExp(eleft, new Absyn.ExpList(e, es.list)); 
              CUP$Grm$result = new java_cup.runtime.Symbol(15/*expr_seq*/, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-2)).left, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).right, RESULT);
            }
          return CUP$Grm$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 35: // expr_seq ::= expr 
            {
              Absyn.SeqExp RESULT = null;
		int eleft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).left;		int eright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).right;		Absyn.Exp e = (Absyn.Exp)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-0)).value;		 RESULT = new Absyn.SeqExp(eleft, new Absyn.ExpList(e, null)); 
              CUP$Grm$result = new java_cup.runtime.Symbol(15/*expr_seq*/, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).left, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).right, RESULT);
            }
          return CUP$Grm$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 34: // expr ::= BREAK 
            {
              Absyn.Exp RESULT = null;
		int bleft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).left;		int bright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).right;		Object b = (Object)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-0)).value;		 RESULT = new Absyn.BreakExp(bleft); 
              CUP$Grm$result = new java_cup.runtime.Symbol(2/*expr*/, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).left, ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-0)).right, RESULT);
            }
          return CUP$Grm$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 33: // expr ::= FOR ID ASSIGN expr TO expr DO expr 
            {
              Absyn.Exp RESULT = null;
		int fleft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-7)).left;		int fright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-7)).right;		Object f = (Object)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-7)).value;		int ileft = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-6)).left;		int iright = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-6)).right;		String i = (String)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-6)).value;		int e1left = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-4)).left;		int e1right = ((java_cup.runtime.Symbol)CUP$Grm$stack.elementAt(CUP$Grm$top-4)).right;		Absyn.Exp e1 = (Absyn.Exp)((java_cup.runtime.Symbol) CUP$Grm$stack.elementAt(CUP$Grm$top-4)).value;		int e2left = ((java_cup.runtime.S

⌨️ 快捷键说明

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