- Chương trình dịch là chương trình đặc biệt nhằm chuyển đổi chương trình viết bằng ngôn ngữ lập trình bậc cao[chương trình nguồn] sang ngôn ngữ máy[chương trình đích].
- Vì ngôn ngữ lập trình bậc cao không thể nạp trực tiếp vào bộ nhớ và thực hiện ngay như mã máy nên cần chương trình dich để chuyển đổi chương trình viết bằng ngôn ngữ lập trình bậc cao sang mã máy.
1 trả lời
Em hãy nêu các bước định dạng màu chữ kiểu chữ [Tin học - Lớp 7]
2 trả lời
Em hãy nêu các bước lọc dữ liệu [Tin học - Lớp 7]
1 trả lời
Chương trình dịch là gì? Tại sao cần phải có chương trình dịch?
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].
- tai sao can phai co chuong trinh dich
- chuoingw trình dịch là chương trình
Câu hỏi : Chương trình dịch là gì? Tại sao cần phải có chương trình Dịch?
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ương 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 sang ngôn ngữ máy [chương trình đích] là kết qua ra [Output].
Cùng Top lời giải tìm hiểu các kiến thức xung quanh Chương trình dịch nhé!
Chương trình dịch là gì?
Tổng quát nhất: chương trình dịch là phần mềm hệ thống chuyển đổi đoạn văn viết trong ngôn ngữ A sang đoạn văn tương đương viết trong ngôn ngữ B
Định nghĩa như vậy quá tổng quát, bài toán dịch ngôn ngữ một cách tổng quát chưa có lời giải đủ tốt
Người ta cố gắng giải quyết các bài toán cụ thể hơn và có ứng dụng thực tế hơn, chẳng hạn:
Dịch một ngôn ngữ lập trình thành mã máy
Dịch một ngôn ngữ lập trình bậc cao thành ngôn ngữ bậc thấp hơn
Chuyển đổi đoạn mã giữa các ngôn ngữ lập trình
Kiểm tra chính tả, ngữ pháp của các đoạn văn
Mô tả hình ảnh [dịch từ hình ảnh thành văn bản]
Đặc trưng của chương trình dịch
Một chương trình dịch tốt cần có các đặc trưng sau:
Tính toàn vẹn: kết quả ở ngôn ngữ đích phải hoàn toàn tương đương với đầu vào viết ở ngôn ngữ nguồn
Tính hiệu quả: chương trình dịch sử dụng không quá nhiều bộ nhớ và công suất tính toán, kết quả ở ngôn ngữ đích là đủ tốt
Tính trong suốt: chương trình dịch phải rõ ràng về kết quả sau từ bước thực hiện, giúp người dùng có thể hiệu chỉnh và sửa lỗi nếu có sau từng bước thực hiện
Tính chịu lỗi: chương trình có thể chấp nhận một số lỗi của đầu vào và đưa ra các gợi ý xử lý phù hợp. Chương trình dừng ở ngay lỗi đầu tiên không thể coi là tốt
Phân loại chương trình dịch
+ Phân loại cổ điển:
+ Trình biên dịch [compiler]: nhận toàn bộ nguồn rồi dịch sang đích một lượt
+ Trình thông dịch [interpreter]: nhận mã nguồn từng phần, nhận được phần nào dịch [và thực thi] phần đó
Nhận xét:
Compiler hoạt động giống như dịch giả
Interpreter hoạt động giống như người phiên dịch [các cuộc giao tiếp]
Hiện nay: ranh giới giữa compiler và interpreter ngày càng mờ dần
Ngay cả biên dịch cũng được chia thành 2 loại:
Tĩnh [statically]: mã sinh ra chạy trực tiếp ngay
Động [dynamically]: mã sinh ra cần thao tác tái định vị rồi mới có thể chạy được
Một số ngôn ngữ lập trình kết hợp cả compiler và interpreter, chẳng hạn như java
Mã java được biên dịch thành mã bytecode
Máy ảo chạy mã bytecode ở dạng thông dịch
Một số sử dụng compiler và just-in-time compiler
Mã C# được biên dịch thành mã IL
Mã IL được biên dịch thành mã máy trong lần chạy đầu
Các giai đoạn của chương trình dịch
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ân 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 trình trung gian đã tối ưu].
Batman
Bảo Bình
Trả lời 10:12 22/09Bắp
Trả lời 10:13 22/09