def Compile(self, filter_implemention):
    """Compile the binary expression into a filter object."""
    operator = self.operator.lower()
    if operator == "and" and 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 getattr(filter_implemention, method)(*args)
dataset/ETHPy150Open google/grr/grr/lib/lexer.py/BinaryExpression.Compile/operator `or` -> `and`