Như chúng ta đã biết ngôn ngữ lập trình là ngôn ngữ để viết chương trình, là phương tiện dùng để diễn đạt cho máy tính những việc con người muốn máy thực hiện và mó được chia thành các lớp: ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao.
Ngôn ngữ lập trình bậc cao là ngôn ngữ lập trình gần với ngôn ngữ tự nhiên hơn, thuận tiện cho đông đảo người lập trình (không chỉ cho những người lập trình chuyên nghiệp).
- Lập trình là sử dụng cấu trúc dừ liệu và các câu lệnh của ngôn ngữ lập trình cụ thế để mô tả dữ liệu và diền đạt các thao tác của thuật toán, là tạo ra các chương trình giải được các bài toán trên máy tính
Ế- Chương trình viết bằng ngôn ngừ lập trình bậc cao nói chung không phụ thuộc vào mảy, nghĩa là một chương trinh có thể thực hiện trên nhiều loại máy. Chương trình viết bằng ngôn ngữ máy có thể được nạp trực tiếp vào bộ nhớ và thực hiện ngay còn chương trình viết bằng ngôn ngữ lập trình bậc cao phải được chuyển đối thành chương trình trên ngôn ngữ máy mới có thể thực hiện được.
- Chương trình đặc biệt có chức năng chuyển đồi chương trình được viết bằng ngôn ngữ lập trình bậc cao thành chương trình thực hiện trên máy tính cụ thê được gọi là chương trình dịch.
- Chương trình dịch nhận đầu vào là chương trình viết bằng ngôn ngữ lập trình bậc cao (chương trình nguồn) và thực hiện chuyển đổi sang ngôn ngữ máy (chương trình đích):
Ngôn ngữ máy là ngôn ngữ duy nhất máy tính điện tử cỏ thể trực tiếp hiểu và thực hiện các câu lệnh.• Chương trình dịch có 2 loại: thông dịch và biên dịch.a) Thông dịch (Interpret) được thực hiện bằng cách lặp lại dãy các bước sau:1. Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong chương trình nguồn:2. Chuyển đổi câu lệnh đó thành một hay nhiều câu lệnh tương ứng trong ngôn ngữ máy;
3. Thực hiện các câu lệnh vừa chuyển đổi được.
Như vậy, quá trình dịch và thực hiện các câu lệnh là luân phiên. Các chương trình thông dịch lần lượt dịch và thực hiện từng câu lệnh. Nó thích hợp cho môi trường đối thoại giữa người và hệ thống, được ứng dụng cho các ngôn ngữ khai thác hệ quản trị cơ sở dừ liệu, ngôn ngữ đối thoại với hệ điều hành,..
b) Biên dịch (compile) được thực hiện qua hai bước:
1. Duyệt, kiểm tra, phát hiện lỗi, kiếm tra tính đúng đắn của các câu lệnh trong chương trình nguồn;
2. Dịch toàn bộ chương trình nguồn thành một chương trình đích có thể thực hiện trên máy và có thể lưu trữ để sử dụng lại khi cần thiết.
Như vậy, trong thông dịch, không có chương trình đích để lưu trữ, trong biên dịch cả chương trình nguồn và chương trình đích đều có thể lưu trữ lại để sử dụng về sau. Nó được ứng dụng vào việc biên soạn, lưu trữ, tìm kiếm, cho biết các kết quả trung gian,.. Toàn bộ các dịch vụ trên tạo thành một môi trường làm việc trên một ngôin ngữ lập trình cụ thể. Ví dụ, Turbo Pascal 7.0, Free Pascal 1.2, Visual Pascal 2.1 .... trẽn ngôn ngừ Pascal, Turbo C++, Visual C++,...