private static Selector processANDRight ( Selector sel0 , Selector sel1 ) { if ( sel1 instanceof Operator ) { Operator oper = ( Operator ) sel1 ; if ( oper . getOp ( ) == Selector . OR ) return makeOR ( processANDRight ( sel0 , oper . getOperands ( ) [ 0 ] ) , processANDRight ( sel0 , oper . getOperands ( ) [ 1 ] ) ) ; } // Right operand is not OR (neither is left) so treat both as atoms return makeAND ( sel0 , sel1 ) ; }
Subroutine of DNF0 to process AND nodes whose left child is an atom