Google Play badge

trình biên dịch


MÁY TÍNH

Trình biên dịch là chương trình máy tính được sử dụng để dịch mã máy tính được viết bằng một ngôn ngữ lập trình (gọi là ngôn ngữ nguồn) sang ngôn ngữ lập trình khác (gọi là ngôn ngữ đích). Thuật ngữ trình biên dịch chủ yếu được áp dụng cho các chương trình dịch mã nguồn từ ngôn ngữ lập trình cấp cao sang ngôn ngữ lập trình cấp thấp hơn. Ví dụ: mã máy, mã đối tượng hoặc hợp ngữ để tạo chương trình thực thi.

Điều quan trọng cần lưu ý là có nhiều loại trình biên dịch khác nhau. Trong trường hợp chương trình được biên dịch có thể chạy trên máy tính có hệ điều hành hoặc CPU khác với máy tính mà trình biên dịch chạy thì trình biên dịch được gọi là trình biên dịch chéo. Mặt khác, trình biên dịch bootstrap được viết bằng ngôn ngữ mà nó dự định biên dịch. Trình giải mã là một chương trình được sử dụng để dịch ngôn ngữ cấp thấp sang ngôn ngữ cấp cao hơn. Một chương trình được sử dụng để dịch giữa các ngôn ngữ cấp cao được gọi là trình biên dịch nguồn-nguồn. Nó cũng có thể được gọi là một bộ chuyển mã. Một chương trình chịu trách nhiệm dịch dạng biểu thức mà không thay đổi ngôn ngữ được gọi là trình viết lại ngôn ngữ. Thuật ngữ trình biên dịch-trình biên dịch dùng để chỉ những công cụ được sử dụng để tạo các trình phân tích cú pháp chịu trách nhiệm thực hiện phân tích cú pháp.

Một số thao tác được thực hiện bởi trình biên dịch bao gồm: tiền xử lý, phân tích cú pháp, phân tích ngữ nghĩa (dịch hướng cú pháp), phân tích từ vựng, tạo mã, tối ưu hóa mã và chuyển đổi chương trình đầu vào thành biểu diễn trung gian. Trình biên dịch chịu trách nhiệm triển khai các hoạt động này theo các giai đoạn khác nhau nhằm thúc đẩy các chuyển đổi chính xác và thiết kế hiệu quả đầu vào nguồn thành đầu ra mục tiêu. Các lỗi chương trình do hành vi không chính xác của trình biên dịch gây ra có thể rất khó theo dõi và khắc phục. Do đó, những người triển khai trình biên dịch đầu tư nhiều nỗ lực để đảm bảo tính chính xác của trình biên dịch.

Điều quan trọng cần lưu ý là trình biên dịch không phải là trình dịch duy nhất được sử dụng để chuyển đổi chương trình nguồn. Phần mềm máy tính chịu trách nhiệm chuyển đổi và sau đó thực hiện các thao tác được chỉ định được gọi là trình thông dịch. Quá trình dịch thuật ảnh hưởng đến thiết kế ngôn ngữ máy tính, dẫn đến việc ưu tiên phiên dịch hoặc biên soạn. Trong thực tế, việc triển khai trình thông dịch cho trình biên dịch và ngôn ngữ được biên dịch có thể được triển khai cho các ngôn ngữ được thông dịch.

Lưu ý rằng khi sử dụng trình biên dịch, quy trình hai bước được sử dụng để chạy chương trình,

CHUỖI CÔNG CỤ TỔNG HỢP

Đối với các chương trình lớn, trình biên dịch là một phần của chuỗi công cụ gồm nhiều bước,

(bộ tiền xử lý)- (trình biên dịch)- (trình biên dịch)- (trình liên kết)- (trình tải).

CẤU TRÚC CỦA MỘT MÁY TÍNH

Trình biên dịch hiện đại được tạo thành từ hai phần chính. Mỗi phần này thường được chia nhỏ. Hai phần chính này là mặt trước và mặt sau.

Giao diện người dùng chịu trách nhiệm phân tích chương trình nguồn, xây dựng biểu diễn trung gian của chương trình và xác định các phần cấu thành của nó. Nói chung, giao diện người dùng độc lập với ngôn ngữ đích.

Mặt khác, mặt sau chịu trách nhiệm tổng hợp chương trình đích từ biểu diễn trung gian do giao diện người dùng tạo ra. Nói chung, phần back end được cho là độc lập với ngôn ngữ nguồn.

Download Primer to continue