/** * to string */ @Override public String toString() { return "(" + left.toString() + getOperatorPrototype() + right.toString() + ")"; }
Expression higher = expression_R(higher_expression()); result = expression_R_Compare( Expression.BinaryExpression.createChild(Expression.Operator.OP_Less_Equal,left,higher)); result = expression_R_Compare(Expression.BinaryExpression.createChild(Expression.Operator.OP_Greater_Equal,left,higher)); result = expression_R_Compare(Expression.BinaryExpression.createChild(Expression.Operator.OP_Not_Equal,left,higher)); result = expression_R_Compare(Expression.BinaryExpression.createChild(Expression.Operator.OP_Equal,left,higher)); result = expression_R_Compare(Expression.BinaryExpression.createChild(Expression.Operator.OP_Less,left,higher)); result = expression_R_Compare(Expression.BinaryExpression.createChild(Expression.Operator.OP_Greater,left,higher));
protected Expression higher_expression_R(Expression left) { Expression result = left; if( type == MULTIPLY ) { match( MULTIPLY ); Expression higher = sign_expression(); result = higher_expression_R( Expression.BinaryExpression.createChild(Expression.Operator.OP_Mul,left,higher) ); } else if( type == DIVIDE ) { match( DIVIDE ); Expression higher = sign_expression() ; result = higher_expression_R( Expression.BinaryExpression.createChild(Expression.Operator.OP_Div,left,higher) ); } else if (type == MOD){ match(MOD); Expression higher = sign_expression() ; result = higher_expression_R( Expression.BinaryExpression.createChild(Expression.Operator.OP_Mod,left,higher) ); } return result; }
protected Expression expression_R_Logical_Or(Expression left) { Expression result = left; if( type == OR ) { match( OR ); Expression higher = expression_R_Logical_And ( expression_R_Compare ( expression_R(higher_expression()) ) ); result = expression_R_Logical_Or (Expression.BinaryExpression.createChild(Expression.Operator.OP_Or,left,higher)); } return result; }
protected Expression expression_R(Expression left) { Expression result = left; if( type == ADD_OR_POSITIVE ) { match( ADD_OR_POSITIVE ); Expression higher = higher_expression(); result = expression_R(Expression.BinaryExpression.createChild(Expression.Operator.OP_Add,left,higher)); } else if( type == SUBTRACT_OR_NEGATIVE ) { match( SUBTRACT_OR_NEGATIVE ); Expression higher = higher_expression(); result = expression_R(Expression.BinaryExpression.createChild(Expression.Operator.OP_Sub,left,higher)); } return result; }
protected Expression expression_R_Logical_And(Expression left) { Expression result = left; if( type == AND ) { match( AND ); Expression higher = expression_R_Compare ( expression_R(higher_expression()) ); result = expression_R_Logical_And (Expression.BinaryExpression.createChild(Expression.Operator.OP_And,left,higher)); } return result; }