I am making a custom programming language. This is a method in a class in my code. When i need to return the result, the error occurs.
UnboundLocalError: local variable 'result' referenced before assignment
   def visit_BinOpNode(self, node):
        left = self.visit(node.left_node)
        right = self.visit(node.right_node)
        if node.op_tok.value == TT_PLUS:
            result = left.add_to(right)
        elif node.op_tok.value == TT_MINUS:
            result = left.sub_to(right)
        elif node.op_tok.value == TT_MUL:
            result = left.mul_to(right)
        elif node.op_tok.value == TT_DIV:
            result = left.div_to(right)
        return result.set_pos(node.pos_start, node.pos_end)
Anyone help?
 
    