Các giai đoạn cần thực hiện của trình biên dịch có thể được nhóm thành
Trả lời:
Đáp án đúng: A
Trình biên dịch (compiler) thường được chia thành các giai đoạn để dễ dàng quản lý và tối ưu hóa quá trình biên dịch. Các giai đoạn này có thể được nhóm thành hai phần chính:
* **Kỳ đầu (Front end):** Giai đoạn này chịu trách nhiệm phân tích mã nguồn, kiểm tra cú pháp, tạo ra biểu diễn trung gian (intermediate representation). Các công đoạn chính bao gồm phân tích từ vựng, phân tích cú pháp, phân tích ngữ nghĩa, và sinh mã trung gian.
* **Kỳ sau (Back end):** Giai đoạn này chịu trách nhiệm tối ưu hóa biểu diễn trung gian và sinh mã đích (target code). Các công đoạn chính bao gồm tối ưu hóa mã và sinh mã.
Một số tài liệu có thể chia trình biên dịch thành 3 giai đoạn: kỳ đầu, kỳ giữa và kỳ cuối. Tuy nhiên, cách chia phổ biến nhất và mang tính khái quát cao là chia thành kỳ đầu và kỳ sau. Kỳ giữa thường được xem là một phần của kỳ sau, tập trung vào tối ưu hóa mã trung gian trước khi sinh mã đích. Do đó, phương án A là chính xác nhất.