private boolean isBinaryBoolean(BinaryExpr exp) {
    Expr left = exp.getLeft();
    Expr right = exp.getRight();

    if (left.accept(this) && right.accept(this))
      return (left.typeOf(environment).equals(new BoolType())
          && right.typeOf(environment).equals(new BoolType()));
    else return false;
  }
Esempio n. 2
0
  @Override
  public Boolean visit(final BinaryExpr n1, final Node arg) {
    final BinaryExpr n2 = (BinaryExpr) arg;

    if (n1.getOperator() != n2.getOperator()) {
      return Boolean.FALSE;
    }

    if (!nodeEquals(n1.getLeft(), n2.getLeft())) {
      return Boolean.FALSE;
    }

    if (!nodeEquals(n1.getRight(), n2.getRight())) {
      return Boolean.FALSE;
    }

    return Boolean.TRUE;
  }
Esempio n. 3
0
 public void visit(BinaryExpr n, Object arg) {
   n.getLeft().accept(this, arg);
   switch (n.getOperator()) {
     case or:
       break;
     case and:
       break;
     case binOr:
       break;
     case binAnd:
       break;
     case xor:
       break;
     case equals:
       break;
     case notEquals:
       break;
     case less:
       break;
     case greater:
       break;
     case lessEquals:
       break;
     case greaterEquals:
       break;
     case lShift:
       break;
     case rSignedShift:
       break;
     case rUnsignedShift:
       break;
     case plus:
       break;
     case minus:
       break;
     case times:
       break;
     case divide:
       break;
     case remainder:
       break;
   }
   n.getRight().accept(this, arg);
 }