[Beginner] [C#] Modified Character Motor Script gives strange Parsing Error

I found some code to use instead of the CharacterMotor script, which was modified to rotate left and right instead of turning left and right. It doesn’t work though, and only gives me a ‘Parsing Error’ (not specific to any line). I can’t find any bugs though? what’s wrong?

I tried a few ways to get my FPS controller to rotate instead of move its position left or right but nothing worked. Maybe you have some tips to do this otherwise? It should be very simple.

   /// This script moves the character controller forward 
        /// and sideways based on the arrow keys.
        /// It also jumps when pressing space.
        /// Make sure to attach a character controller to the same game object.
        /// It is recommended that you make only one call to Move or SimpleMove per frame.    
    using UnityEngine;
    using System.Collections;
    
        var speed : float = 8.0; 
       var jumpSpeed : float = 8.0;
       var gravity : float = 20.0;
       private var moveDirection : Vector3 = Vector3.zero;
        
    function Update() {
            //var controller : CharacterController = GetComponent(CharacterController);
            if (controller.isGrounded) {
                // We are grounded, so recalculate
                // move direction directly from axes
                moveDirection = Vector3(Input.GetAxis("Horizontal"), 0,
                                        Input.GetAxis("Vertical"));
                moveDirection = transform.TransformDirection(moveDirection);
                moveDirection *= speed;
                
                if (Input.GetButton ("Jump")) {
                    moveDirection.y = jumpSpeed;
                }
            }
            // Apply gravity
            moveDirection.y -= (gravity * Time.deltaTime);
            
            // Move the controller
            controller.Move(moveDirection * Time.deltaTime);
        }

EDIT:

I removed my example because aldonaletto converted it nicely. Use his example.

This is the Move example script in JS version and with the C# using directives at the beginning - I suppose that this would never work, and this code doesn’t turn left/right anyway. The correct C# script with some changes to make it turn left/right with the arrow keys is:

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
    public float speed = 6.0F;
    public float jumpSpeed = 8.0F;
    public float rotSpeed = 90.0f; // turn at 90 degrees/second
    public float gravity = 20.0F;
    private Vector3 moveDirection = Vector3.zero;
    void Update() {
        // rotate character with Horizontal keys:
        transform.Rotate(0, Input.GetAxis("Horizontal") * rotSpeed * Time.deltaTime, 0);
        CharacterController controller = GetComponent<CharacterController>();
        if (controller.isGrounded) {
            moveDirection = new Vector3(0, 0, Input.GetAxis("Vertical"));
            moveDirection = transform.TransformDirection(moveDirection);
            moveDirection *= speed;
            if (Input.GetButton("Jump")){
                moveDirection.y = jumpSpeed;
            }
        }
        moveDirection.y -= gravity * Time.deltaTime;
        controller.Move(moveDirection * Time.deltaTime);
    }
}