Biên dịch và thông dịch khác nhau như thế nào?
Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.
Chương trình dịch là chương trình đặc biệt, có chức năng chuyển đổi chương trình được viết trên ngôn ngữ lập trình bậc cao thành chươnng trình thực hiện được trên máy tính cụ thể.
- Chúng ta cần phải có chương trình dịch bởi vì chương trình dịch 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 được trên máy cụ thể. Nó 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) là dữ liệu vào (Input), thực hiện chuyẻn đổi samg ngôn ngữ máy (chương trình đích) là kết qua ra (Output).
Ngoài ra, chương trình dịch trải qua hai giai đoạn: phân tích và tổng hợp.
Giai đoạn phâi tích nhầm phân tích chương trình nguồn về từ vựng và cú pháp. Giai đoạn tổng hợp nhằm tạo ra chương trình đích gồm ba bước, đó là:
- Sinh mã trung gian (chuyển chương trình nguồn về chương trình trung gian);
- Tối ưu mã (chỉnh sửa, tối ưu chương trình trung gian);
- Sinh mã (tạo chương trình đích từ chương trinh trung gian đã tối ưu).
Bài 1:
uses crt;
const f='songuyen.inp';
var a,b:integer;
f1:text;
begin
clrscr;
assign(f1,f); rewrite(f1);
write('a='); readln(a);
write('b='); readln(b);
writeln(f1,a,' ',b);
close(f1);
readln;
end.
Bài 2:
const fi='songuyen.inp';
fo='songuyen.out';
var f1,f2:text;
a,b:integer;
begin
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
readln(f1,a,b);
writeln(f2,a+b);
close(f1);
close(f2);
end.
Biên dịch và thông dịch khác nhau ở những điếm sau:
- Trình biên dịch duyệt, kiểm tra, phát hiện lỗi, xác định chương trình nguồn có dịch được không. 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ữ lại để sử dụng về sau khi cần thiết.
Trình thông dịch lần lượt dịch từng câu lệnh ra ngôn ngữ máy rồi thực hiện ngay câu lệnh vừa dịch được hoặc thông báo lỗi nếu không dịch được.
Tương tự trong lập trình theo mình thì: