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

📄 calcparser.java

📁 CroftSoft Code Library是一个开源的可移植的纯Java游戏库
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
     {
       map.put ( variable, i );
       return i;
     }

     
  private final CalcParser parser;

  /** Constructor */
  CUP$CalcParser$actions(CalcParser parser) {
    this.parser = parser;
  }

  /** Method with the actual generated action code. */
  public final java_cup.runtime.Symbol CUP$CalcParser$do_action(
    int                        CUP$CalcParser$act_num,
    java_cup.runtime.lr_parser CUP$CalcParser$parser,
    java.util.Stack            CUP$CalcParser$stack,
    int                        CUP$CalcParser$top)
    throws java.lang.Exception
    {
      /* Symbol object for return from actions */
      java_cup.runtime.Symbol CUP$CalcParser$result;

      /* select the action based on the action number */
      switch (CUP$CalcParser$act_num)
        {
          /*. . . . . . . . . . . . . . . . . . . .*/
          case 20: // expression ::= LPAREN assignment RPAREN 
            {
              Integer RESULT = null;
		int a0left = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-1)).left;
		int a0right = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-1)).right;
		Integer a0 = (Integer)((java_cup.runtime.Symbol) CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-1)).value;
		 RESULT = a0; 
              CUP$CalcParser$result = new java_cup.runtime.Symbol(6/*expression*/, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).right, RESULT);
            }
          return CUP$CalcParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 19: // expression ::= LPAREN expression RPAREN 
            {
              Integer RESULT = null;
		int e0left = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-1)).left;
		int e0right = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-1)).right;
		Integer e0 = (Integer)((java_cup.runtime.Symbol) CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-1)).value;
		 RESULT = e0; 
              CUP$CalcParser$result = new java_cup.runtime.Symbol(6/*expression*/, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).right, RESULT);
            }
          return CUP$CalcParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 18: // expression ::= INTEGER 
            {
              Integer RESULT = null;
		int i0left = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).left;
		int i0right = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).right;
		Integer i0 = (Integer)((java_cup.runtime.Symbol) CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).value;
		 RESULT = i0; 
              CUP$CalcParser$result = new java_cup.runtime.Symbol(6/*expression*/, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).right, RESULT);
            }
          return CUP$CalcParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 17: // expression ::= VARIABLE 
            {
              Integer RESULT = null;
		int v0left = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).left;
		int v0right = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).right;
		String v0 = (String)((java_cup.runtime.Symbol) CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).value;
		 RESULT = actExpressVariable ( v0     ); 
              CUP$CalcParser$result = new java_cup.runtime.Symbol(6/*expression*/, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).right, RESULT);
            }
          return CUP$CalcParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 16: // expression ::= MINUS expression 
            {
              Integer RESULT = null;
		int e0left = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).left;
		int e0right = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).right;
		Integer e0 = (Integer)((java_cup.runtime.Symbol) CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).value;
		 RESULT = actExpressNegate   ( e0     ); 
              CUP$CalcParser$result = new java_cup.runtime.Symbol(6/*expression*/, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).right, RESULT);
            }
          return CUP$CalcParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 15: // expression ::= expression MOD expression 
            {
              Integer RESULT = null;
		int e0left = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-2)).left;
		int e0right = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-2)).right;
		Integer e0 = (Integer)((java_cup.runtime.Symbol) CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-2)).value;
		int e1left = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).left;
		int e1right = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).right;
		Integer e1 = (Integer)((java_cup.runtime.Symbol) CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).value;
		 RESULT = actExpressModulus  ( e0, e1 ); 
              CUP$CalcParser$result = new java_cup.runtime.Symbol(6/*expression*/, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).right, RESULT);
            }
          return CUP$CalcParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 14: // expression ::= expression EXP expression 
            {
              Integer RESULT = null;
		int e0left = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-2)).left;
		int e0right = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-2)).right;
		Integer e0 = (Integer)((java_cup.runtime.Symbol) CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-2)).value;
		int e1left = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).left;
		int e1right = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).right;
		Integer e1 = (Integer)((java_cup.runtime.Symbol) CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).value;
		 RESULT = actExpressExponent ( e0, e1 ); 
              CUP$CalcParser$result = new java_cup.runtime.Symbol(6/*expression*/, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).right, RESULT);
            }
          return CUP$CalcParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 13: // expression ::= expression DIVIDE expression 
            {
              Integer RESULT = null;
		int e0left = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-2)).left;
		int e0right = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-2)).right;
		Integer e0 = (Integer)((java_cup.runtime.Symbol) CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-2)).value;
		int e1left = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).left;
		int e1right = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).right;
		Integer e1 = (Integer)((java_cup.runtime.Symbol) CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).value;
		 RESULT = actExpressDivide   ( e0, e1 ); 
              CUP$CalcParser$result = new java_cup.runtime.Symbol(6/*expression*/, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).right, RESULT);
            }
          return CUP$CalcParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 12: // expression ::= expression TIMES expression 
            {
              Integer RESULT = null;
		int e0left = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-2)).left;
		int e0right = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-2)).right;
		Integer e0 = (Integer)((java_cup.runtime.Symbol) CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-2)).value;
		int e1left = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).left;
		int e1right = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).right;
		Integer e1 = (Integer)((java_cup.runtime.Symbol) CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).value;
		 RESULT = actExpressTimes    ( e0, e1 ); 
              CUP$CalcParser$result = new java_cup.runtime.Symbol(6/*expression*/, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).right, RESULT);
            }
          return CUP$CalcParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 11: // expression ::= expression MINUS expression 
            {
              Integer RESULT = null;
		int e0left = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-2)).left;
		int e0right = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-2)).right;
		Integer e0 = (Integer)((java_cup.runtime.Symbol) CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-2)).value;
		int e1left = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).left;
		int e1right = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).right;
		Integer e1 = (Integer)((java_cup.runtime.Symbol) CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).value;
		 RESULT = actExpressMinus    ( e0, e1 ); 
              CUP$CalcParser$result = new java_cup.runtime.Symbol(6/*expression*/, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).right, RESULT);
            }
          return CUP$CalcParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 10: // expression ::= expression PLUS expression 
            {
              Integer RESULT = null;
		int e0left = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-2)).left;
		int e0right = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-2)).right;
		Integer e0 = (Integer)((java_cup.runtime.Symbol) CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-2)).value;
		int e1left = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).left;
		int e1right = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).right;
		Integer e1 = (Integer)((java_cup.runtime.Symbol) CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).value;
		 RESULT = actExpressPlus     ( e0, e1 ); 
              CUP$CalcParser$result = new java_cup.runtime.Symbol(6/*expression*/, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).right, RESULT);
            }
          return CUP$CalcParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 9: // assignment ::= VARIABLE ASSIGN expression 
            {
              Integer RESULT = null;
		int v0left = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-2)).left;
		int v0right = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-2)).right;
		String v0 = (String)((java_cup.runtime.Symbol) CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-2)).value;
		int e0left = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).left;
		int e0right = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).right;
		Integer e0 = (Integer)((java_cup.runtime.Symbol) CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).value;
		 RESULT = actAssignment ( v0, e0 ); 
              CUP$CalcParser$result = new java_cup.runtime.Symbol(5/*assignment*/, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).right, RESULT);
            }
          return CUP$CalcParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 8: // write ::= WRITE LPAREN assignment RPAREN 
            {
              Object RESULT = null;
		int aleft = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-1)).left;
		int aright = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-1)).right;
		Integer a = (Integer)((java_cup.runtime.Symbol) CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-1)).value;
		 actWrite ( a ); 
              CUP$CalcParser$result = new java_cup.runtime.Symbol(4/*write*/, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-3)).left, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).right, RESULT);
            }
          return CUP$CalcParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 7: // write ::= WRITE LPAREN expression RPAREN 
            {
              Object RESULT = null;
		int eleft = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-1)).left;
		int eright = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-1)).right;
		Integer e = (Integer)((java_cup.runtime.Symbol) CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-1)).value;
		 actWrite ( e ); 
              CUP$CalcParser$result = new java_cup.runtime.Symbol(4/*write*/, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-3)).left, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).right, RESULT);
            }
          return CUP$CalcParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 6: // statement ::= error 
            {
              Object RESULT = null;
		 System.out.println ( "syntax error" ); 
              CUP$CalcParser$result = new java_cup.runtime.Symbol(3/*statement*/, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).right, RESULT);
            }
          return CUP$CalcParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 5: // statement ::= write 
            {
              Object RESULT = null;

              CUP$CalcParser$result = new java_cup.runtime.Symbol(3/*statement*/, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).right, RESULT);
            }
          return CUP$CalcParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 4: // statement ::= assignment 
            {
              Object RESULT = null;

              CUP$CalcParser$result = new java_cup.runtime.Symbol(3/*statement*/, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).right, RESULT);
            }
          return CUP$CalcParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 3: // statementList ::= statement SEMICOLON 
            {
              Object RESULT = null;

              CUP$CalcParser$result = new java_cup.runtime.Symbol(2/*statementList*/, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).right, RESULT);
            }
          return CUP$CalcParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 2: // statementList ::= statement SEMICOLON statementList 
            {
              Object RESULT = null;

              CUP$CalcParser$result = new java_cup.runtime.Symbol(2/*statementList*/, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).right, RESULT);
            }
          return CUP$CalcParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 1: // program ::= statementList 
            {
              Object RESULT = null;

              CUP$CalcParser$result = new java_cup.runtime.Symbol(1/*program*/, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).right, RESULT);
            }
          return CUP$CalcParser$result;

          /*. . . . . . . . . . . . . . . . . . . .*/
          case 0: // $START ::= program EOF 
            {
              Object RESULT = null;
		int start_valleft = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-1)).left;
		int start_valright = ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-1)).right;
		Object start_val = (Object)((java_cup.runtime.Symbol) CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-1)).value;
		RESULT = start_val;
              CUP$CalcParser$result = new java_cup.runtime.Symbol(0/*$START*/, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$CalcParser$stack.elementAt(CUP$CalcParser$top-0)).right, RESULT);
            }
          /* ACCEPT */
          CUP$CalcParser$parser.done_parsing();
          return CUP$CalcParser$result;

          /* . . . . . .*/
          default:
            throw new Exception(
               "Invalid action number found in internal parse table");

        }
    }
}

⌨️ 快捷键说明

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