Unexpected token: ;.

Hi am am pretty new to games development, And I have came across a bug in my code, And cant seem to find a fix, Any help would be greatly appreciated…
Bug : Assets/Scripts/RayShoot.js(85,27): BCE0043: Unexpected token: ;.
Code in JavaScript :

#pragma strict

function Start () {

}
	var Range : float = 500000;
	
	var Force : float = 1;
	
	var Clips : int = 20;
	
	var BulletsPerClip : int = 15;
	
	var ReloadTime : float = 3.3;
	
		var BulletsLeft : int = 0;
		
			var ShootTimer : float = 0;
			
			var ShootCooler : float = 0.9;
			
			public var ShootAudio : AudioClip;
			
			public var ReloadAudio : AudioClip;

function Update () {

	BulletsLeft = BulletsPerClip;


		if(Input.GetMouseButtonDown(0)){
			RayShoot();
		}
}

function RayShoot () {

	var Hit : RaycastHit;
		
		var DirectionRay = transform.TransformDirection(Vector3.forward);
		
		Debug.DrawRay(transform.position , DirectionRay * Range , Color.blue);
		if(Physics.Raycast(transform.position , DirectionRay , Hit, Range)){
		
		if(Hit.rigidbody){
		
		Hit.rigidbody.AddForceAtPosition ( DirectionRay * Force , Hit.point);
		
		
		}
		BulletsLeft --;
		
		if(BulletsLeft < 0){
		
		BulletsLeft = 0;
		
		if( BulletsLeft == 0 ){
		
		Reload();
		
		}


}
}

function (Reload){

	
	yield WaitForSeconds( ReloadTime);
	
		if(clips > 0){
		
			BulletsLeft = BulletsPerClip ;{
			
			
			}


}
};


function (PlayReloadAudio);;


}

EDIT AGIN: Restructured your code. It should work now. Removed unnecessary cod spotted
by a commenter

#pragma strict
 
var Range : float = 500000;
var Force : float = 1;
var clips : int = 20;
var BulletsPerClip : int = 15;
var ReloadTime : float = 3.3;
var BulletsLeft : int = 0;
var ShootTimer : float = 0;
var ShootCooler : float = 0.9;
var ShootAudio : AudioClip;
var ReloadAudio : AudioClip;

function Start () 
{
 
}

function Update () 
{
    BulletsLeft = BulletsPerClip;
    if(Input.GetMouseButtonDown(0))
    {
        RayShoot();    
    }
}
 
function RayShoot () 
{ 
    var Hit:RaycastHit;
    var DirectionRay = transform.TransformDirection(Vector3.forward);
 
    Debug.DrawRay(transform.position , DirectionRay * Range , Color.blue);
    if(Physics.Raycast(transform.position , DirectionRay , Hit, Range))
    {
        if(Hit.rigidbody)
        {
            Hit.rigidbody.AddForceAtPosition ( DirectionRay * Force , Hit.point);
        }

        BulletsLeft --;
 
        if(BulletsLeft <= 0)
        {
            BulletsLeft = 0;
            Reload();
        }
    }
}

function PlayReloadAudio()
{

}

function Reload()
{ 
    yield WaitForSeconds(ReloadTime);
 
    if(clips > 0)
    {
        BulletsLeft = BulletsPerClip ;
    }
}

The code from function (Reload) to the end is littered with mistakes…

BulletsLeft = BulletsPerClip ;{

function (Reload){  };

function (PlayReloadAudio);; }

You could help yourself by indenting your code properly, and only inserting semicolons at the end of statements.