'Compile the binary expression into a filter object.'

def Compile(self, filter_implemention):

    operator = self.operator.lower()
    if ((operator == 'and') or (operator == '&&')):
        method = 'AndFilter'
    elif ((operator == 'or') or (operator == '||')):
        method = 'OrFilter'
    else:
        raise ParseError(('Invalid    binary    operator    %s' % operator))
    args = [x.Compile(filter_implemention) for x in self.args]
    return filter_implemention.FILTERS[method](arguments=args)
