Bài giảng "Xây dựng chương trình dịch - Bài 2: Các giai đoạn chính của chương trình dịch" cung cấp cho người học các kiến thức: Các giai đoạn của trình biên dịch, phân tích từ vựng, phân tích cú pháp, phân tích ngữ nghĩa, sinh mã trung gian, các vấn đề thiết kế bộ sinh mã đích. nội dung chi tiết. | 21/1/2010 Các giai đoạn của trình biên dịch Bài 2. Các giai đoạn chính của ủ chương trình dịch Phân tích từ vựng (Lexical Analysis Scanner) Lần lượt xem xét từng ký tự của chương trình nguồn, ồ phân hâ nhóm hó chúng hú thành hà h những hữ đơn đ vịị cú pháp gọi là từ tố (token) Phân tích cú pháp (Syntax Analysis) Dãy token do bộ phân tích từ vựng đưa ra được kiểm tra xem có đúng cú pháp không? 1 Các thành phần chính của trình biên dịch 3 Các giai đoạn của trình biên dịch Phân tích ngữ nghĩa (Semantic Analysis) phân tích ý nghĩa từng lệnh của ngôn ngữ nguồn. g Sinh mã trung gian (Intermediate Code Generation)thường là mã 3 địa chỉ. Mã trung gian không phụ thuộc máy nên dễ tối ưu. 2 4 1 21/1/2010 Các giai đoạn của trình biên dịch Pha 1:Phân tích từ vựng Sinh mã đích: Sinh ra các lệnh máy để thực hiện thao tác. Tối ưu mã: Thực hiện với mã trung gian và cả mã đích nhằm làm cho chương trình hiệu quả hơn. Bộ từ vựng:Chương trình làm nhiệm vụ phân tích từ vựng Các công g việc của bộ từ vựng g Nhóm các ký tự thành từ tố Từ tố :đơn vị cú pháp được xử lý trong quá trình dịch như một thực thể không thể chia nhỏ hơn nữa Nhóm các từ tố theo loại. 5 7 Một số loại từ tố Quá trình dịch một ộ câu lệnh 6 8 2 21/1/2010 Pha 2: Phân tích cú pháp Ví dụ: câu lệnh a = b + c Trình biên dịch kiểm tra xem những từ tố mà bộ từ vựng nhận biết được có kết hợp thành những g câu lệnh ệ đúng g cú p pháp p không Do bộ phân tích cú pháp đảm nhận 9 Pha 2: Phân tích cú pháp 11 Văn phạm, ngôn ngữ, BNF,sơ đồ cú pháp Đầu ra của bộ phân tích cú pháp: Cây phân tích cú pháp (nếu có) Thông báo lỗi nếu ngược lại Cú pháp Cấu trúc văn phạm của một ngôn ngữ Bộ phân tích cú pháp cần đưa ra phân tích cho mỗi câu của ngôn ngữ (chương trình) BNF : Dạng chuẩn để mô tả văn phạm của ngôn ngữ Sơ đồ cú pháp:cách mô tả văn phạm trực quan dưới dạng đồ thị định hướng Việc xây dựng được cây phân tích cú pháp chứng tỏ chương trình đúng về .