def compile(self, s):
        """
        Compile the given script. Returns a bytes object with the compiled script.
        """
        f = io.BytesIO()
        for t in s.split():
            t_up = t.upper()
            if t_up in self.opcode_to_int:
                f.write(int2byte(self.opcode_to_int[t]))
            elif ("OP_%s" % t_up) in self.opcode_to_int:
                f.write(int2byte(self.opcode_to_int["OP_%s" % t]))
            elif t_up.startswith("0X"):
                d = binascii.unhexlify(t[2:])
                f.write(d)
            else:
                v = self.compile_expression(t)
                self.write_push_data([v], f)
        return f.getvalue()
Compile the given script. Returns a bytes object with the compiled script.