Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 55 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
55
Dung lượng
334 KB
Nội dung
Chương TỔNG QUAN VỀ TRÌNH BIÊN DỊCH http://slide-giaotrinh.tk Trường Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính Bài giảng mơn Lý thuyết ngơn ngữ lập trình Nội dung Chương 2.1 Trình biên dịch 2.1.1 Mơ hình phân tích - tổng hợp trình biên dịch 2.1.2 Mơi trường trình biên dịch 2.2 Các giai đoạn biên dịch 2.2.1 Quản lý bảng ký hiệu 2.2.2 Xử lý lỗi 2.2.3 Các giai đoạn phân tích 2.2.4 Sinh mã trung gian 2.2.5 Tối ưu mã 2.2.6 Sinh mã 2.3 Gộp giai đoạn Trường Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 2/32 2.1 Trình biên dịch Trình biên dịch đọc chương trình viết ngơn ngữ nguồn (source language) dịch sang ngơn ngữ đích (target languague) Q trình dịch ghi nhận thơng báo lỗi có chương trình nguồn Chương trình nguồn Trường Cao đẳng CNTT HN Việt – Hàn Trình biên dịch Khoa Khoa học máy tính Chương trình đích 3/32 2.1 Trình biên dịch (tt) Mơ hình phân tích - tổng hợp – Quy trình chương trình dịch thường bao gồm hai q trình: phân tích tổng hợp Q trình phân tích: phân rã chương trình nguồn thành phần cấu thành tạo dạng biểu diễn trung gian Quá trình tổng hợp: từ dạng biểu diễn trung gian xây dựng thành ngôn ngữ đích Chương trình nguồn Trường Cao đẳng CNTT HN Việt – Hàn Phân tích Đặc tả trung gian Khoa Khoa học máy tính Tổng hợp Chương trình đích 4/32 2.1 Trình biên dịch (tt) Mơ hình phân tích - tổng hợp (tt) – Trong q trình phân tích: phân rã chương trình nguồn thành cấu trúc phân cấp dạng cú pháp (syntax tree), nút toán tử nhánh toán hạng – Ví dụ: Cây cú pháp cho lệnh gán a := b + c * := + a * b c Trường Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 5/32 2.1 Trình biên dịch (tt) Mơi trường trình biên dịch – Ngồi trình biên dịch, cần dùng nhiều chương trình khác để tạo chương trình đích thực thi (executable) – Các chương trình gồm: Bộ tiền xử lý Trình Bộ dịch hợp ngữ tải soạn thảo liên kết Trường Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 6/32 2.1 Trình biên dịch (tt) Bộ tiền xử lý – Chương trình nguồn phân thành module lưu tập tin riêng – Việc tập hợp tập tin lại thường giao cho tiền xử lý – Bộ tiền xử lý "bung" ký hiệu tắt gọi macro thành câu lệnh ngôn ngữ nguồn Trường Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 7/32 2.1 Trình biên dịch (tt) Trình dịch hợp ngữ – Chương trình đích tạo trình biên dịch cần phải xử lý thêm trước chúng chạy – Thơng thường, trình biên dịch tạo mã lệnh hợp ngữ (assembly code) – Trình dịch hợp ngữ (assembler) dịch thành dạng mã máy Trường Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 8/32 2.1 Trình biên dịch (tt) Chương trình nguồn khung Bộ tải soạn thảo liên kết – Dạng mã máy liên kết với số thủ tục (hàm, lớp, …) thư viện hệ thống thành mã thực thi Một trình biên dịch điển hình cho hình bên Bộ tiền xử lý Chương trình nguồn Trình biên dịch Chương trình đích hợp ngữ Trình dịch hợp ngữ Mã máy khả tái định vị Trình tải / Liên kết Thư viện, tập tin đối tượng khả tái định vị Mã máy tuyệt đối Trường Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 9/32 2.2 Các giai đoạn biên dịch Biên dịch chia thành nhiều giai đoạn Mỗi giai đoạn chuyển chương trình nguồn từ dạng biểu diễn sang dạng biểu diễn khác Việc quản lý bảng ký hiệu xử lý lỗi thực xuyên suốt qua tất giai đoạn Trường Cao đẳng CNTT HN Việt – Hàn Khoa Khoa học máy tính 10/32 ...Nội dung Chương 2 .1 Trình biên dịch 2 .1. 1 Mơ hình phân tích - tổng hợp trình biên dịch 2 .1. 2 Mơi trường trình biên dịch 2.2 Các giai đoạn biên dịch 2.2 .1 Quản lý bảng ký hiệu 2.2.2 Xử lý lỗi 2.2.3... 2/32 2 .1 Trình biên dịch Trình biên dịch đọc chương trình viết ngơn ngữ nguồn (source language) dịch sang ngơn ngữ đích (target languague) Q trình dịch ghi nhận thơng báo lỗi có chương trình. .. tính 5/32 2 .1 Trình biên dịch (tt) Mơi trường trình biên dịch – Ngồi trình biên dịch, cần dùng nhiều chương trình khác để tạo chương trình đích thực thi (executable) – Các chương trình gồm: