def cmp_name(first_node, second_node):
if len(first_node.children) == len(second_node.children):<EOL><INDENT>for first_child, second_child in zip(first_node.children,<EOL>second_node.children):<EOL><INDENT>for key in first_child.__dict__.keys():<EOL><INDENT>if key.startswith('<STR_LIT:_>'):<EOL><INDENT>continue<EOL><DEDENT>if first_child.__dict__[key] != second_child.__dict__[key]:<EOL><INDENT>return <NUM_LIT:1><EOL><DEDENT><DEDENT>ret_val = cmp_name(first_child, second_child)<EOL>if ret_val != <NUM_LIT:0>:<EOL><INDENT>return <NUM_LIT:1><EOL><DEDENT><DEDENT><DEDENT>else:<EOL><INDENT>return <NUM_LIT:1><EOL><DEDENT>return <NUM_LIT:0><EOL>
Compare two name recursively.

:param first_node: First node

:param second_node: Second state

:return: 0 if same name, 1 if names are differents.