private OperatorNode<ExpressionOperator> readConjOrOp(ExpressionOperator op, Logical_OR_expressionContext node, Scope scope) {
        List<Logical_AND_expressionContext> andExpressionList = node.logical_AND_expression();
        List<OperatorNode<ExpressionOperator>> arguments = new ArrayList<>(andExpressionList.size());
        for (Logical_AND_expressionContext child : andExpressionList) {
         	List<Equality_expressionContext> equalities = child.equality_expression();
         	if (equalities.size() == 1) {
         		arguments.add(convertExpr(equalities.get(0), scope));
         	} else {
         		List<OperatorNode<ExpressionOperator>> andArguments = new ArrayList<>(equalities.size());
         		for (Equality_expressionContext subTreeChild:equalities) {
         				andArguments.add(convertExpr(subTreeChild, scope));
         		}
         		arguments.add(OperatorNode.create(ExpressionOperator.AND, andArguments));
         	}

        }
        return OperatorNode.create(op, arguments);
    }
Translate the ANTLR grammar into the logical representation.
container-search/src/main/java/com/yahoo/search/yql/ProgramParser.java