def __eq__(self, other):
result = isinstance(other, Parameter)<EOL>if result:<EOL><INDENT>if isinstance(self.name, string_types):<EOL><INDENT>if isinstance(other.name, string_types):<EOL><INDENT>result = self.name == other.name<EOL><DEDENT>else:<EOL><INDENT>result = other.name.match(self.name)<EOL><DEDENT><DEDENT>else:<EOL><INDENT>if isinstance(other.name, string_types):<EOL><INDENT>result = self.name.match(other.name)<EOL><DEDENT>else:<EOL><INDENT>result = self.name.pattern == other.name.pattern<EOL><DEDENT><DEDENT><DEDENT>return result<EOL>
:return: True iif other is a parameter and has the same name than
    this.
:rtype: bool