Câu hỏi: Thông dịch là gì?
Lời giải:
- Trình thông dịch: 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. Thích hợp cho môi trường đối thoại giữa người và hệ thống.Tuy nhiên nếu một câu lệnh nào đó phải thực hiện bao nhiêu lần thì nó phải được dịch bấy nhiêu lần.
Cụ thể thông dịch được thực hiện bằng lặp lại các bước sau:
+ B1: Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong chương trình nguồn.
+ B2: 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.
+ B3: Thực hiện câu lệnh vừa chuyển đổi được.
- Biên dịch: Được thực hiện qua hai bước
B1: Duyệt, 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
B2: 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.
Thông thường, trong môi trường làm việc trên một ngôn ngữ lập trình cụ thể, ngoài chương trình biên dịch còn có một số thành phần chức năng như biên soạn, lưu trữ, tìm kiếm.
Ví dụ trên Free Pascal:
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ôn 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++,...