View Javadoc

1   ////////////////////////////////////////////////////////////////////////////////
2   // MillScript: an Open Spice interpreter and batch website creation tool
3   // Copyright (C) 2001-2004 Open World Ltd
4   // Copyright (C) 2005 Kevin Rogers
5   //
6   // This file is part of MillScript.
7   //
8   // MillScript is free software; you can redistribute it and/or modify it under
9   // the terms of the GNU General Public License as published by the Free
10  // Software Foundation; either version 2 of the License, or (at your option)
11  // any later version.
12  //
13  // MillScript is distributed in the hope that it will be useful, but WITHOUT
14  // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
15  // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
16  // more details.
17  //
18  // You should have received a copy of the GNU General Public License along with
19  // MillScript; if not, write to the Free Software Foundation, Inc., 59 Temple
20  // Place, Suite 330, Boston, MA  02111-1307  USA
21  ////////////////////////////////////////////////////////////////////////////////
22  package org.millscript.office.spreadsheet.formula.expr;
23  
24  import org.millscript.millscript.action.Action;
25  import org.millscript.millscript.action.BinaryOpAction;
26  import org.millscript.millscript.action.arithmetic.DivAction;
27  import org.millscript.millscript.expr.BinaryOpExpr;
28  import org.millscript.millscript.expr.Expr;
29  import org.millscript.millscript.tools.IntegerTools;
30  
31  /**
32   * This class implements an arithmetic expression. This expression always
33   * returns one result.
34   *
35   * @see IntegerTools
36   */
37  public final class DivExpr extends BinaryOpExpr< BinaryOpAction > {
38  
39      /**
40       * Creates a new arithmetic expression for the specified symbol and left and
41       * right hand side expressions.
42       *
43       * @param   a   the left hand side expression, which should return a single
44       *              result
45       * @param   b   the right hand side expression, which should return a single
46       *              result
47       */
48      public DivExpr( final Expr< ? > a, final Expr< ? > b ) {
49          super( new AsNumberExpr( a ), new AsNumberExpr( b ) );
50      }
51  
52      /**
53       * @see org.millscript.millscript.expr.BinaryOpExpr#newAction(org.millscript.millscript.action.Action, org.millscript.millscript.action.Action)
54       */
55      @Override
56      public BinaryOpAction newAction( final Action a, final Action b ) {
57          return new DivAction( a, b );
58      }
59  
60  }