code: def add_ops(op_classes):
      
      def f(cls):
          for op_attr_name, op_class in op_classes.items():
              ops = getattr(cls, '{name}_ops'.format(name=op_attr_name))
              ops_map = getattr(cls, '{name}_op_nodes_map'.format(
                  name=op_attr_name))
              for op in ops:
                  op_node = ops_map[op]
                  if op_node is not None:
                      made_op = _op_maker(op_class, op)
                      setattr(cls, 'visit_{node}'.format(node=op_node), made_op)
          return cls
      return f
docs: Decorator to add default implementation of ops.