Bài giảng "Nhập môn chương trình dịch - Chương 5: Phân tích ngữ nghĩa" cung cấp cho sinh viên các kiến thức về: Những vấn đề cơ bản của ngữ nghĩa, kiểm tra kiểu - Hệ thống kiểu trong ngôn ngữ lập trình, bảng ký hiệu. . | Bài 5. PHÂN TÍCH NGỮ NGHĨA Hoàng Anh Việt Viện CNTT&TT - ĐHBKHN 1 Tổng kết bài 4 • Trước đây: tự viết bộ phân tích cú pháp • Hiện nay: sử dụng các trình sinh bộ phân tích cú pháp. VD: yacc, cup, bison • Ưu điểm: – Sử dụng phương pháp phân tích LALR(1) – Cho phép khai báo thứ tự ưu tiên, kết hợp của các phép toán – Tự động sinh code phân tích cú pháp (kể cả bảng phân tích LALR(1)) 2 Nội dung 1. Những vấn đề của ngữ nghĩa 2. Kiểm tra kiểu – Hệ thống kiểu trong ngôn ngữ lập trình 3. Bảng ký hiệu 3 Phân tích ngữ nghĩa Chương trình nguồn Phân tích từ vựng Lỗi từ vựng dãy từ tố Phân tích cú pháp Lỗi cú pháp cây cú pháp Phân tích ngữ nghĩa Chương trình đúng: cây cú pháp điều khiển Lỗi ngữ nghĩa 1. Những vấn đề của ngữ nghĩa • Tìm ra các lỗi sau giai đoạn phân tích cú pháp – Kiểm tra sự tương ứng về kiểu – Kiểm tra sự tương ứng giữa việc sử dụng hàm, biến với khai báo của chúng. – Xác định phạm vi ảnh hưởng của các biến trong chương trình • Phân tích ngữ nghĩa thường sử dụng cây .