Bài 7 của bài giảng Chương trình dịch trang bị cho người học những kiến thức về phân tích ngữ nghĩa. Trong bài giảng này sẽ giới thiệu một số nội dung như: Biểu thức kiểu, hệ thống kiểu, luật ngữ nghĩa kiểm tra kiểu. Cùng tham khảo bài giảng để nắm bắt các nội dung chi tiết. | Nguyễn Phương Thái Bộ môn Khoa học Máy tính Nội dung Biểu thức kiểu Hệ thống kiểu Luật ngữ nghĩa kiểm tra kiểu Giới thiệu Mô đun phân tích ngữ nghĩa: kiểm tra tính đúng đắn về mặt ngữ nghĩa của chương trình nguồn Việc kiểm tra được chia làm hai loại: kiểm tra tĩnh kiểm tra động (kiểm tra động xảy ra lúc chương trình đích chạy) Trong bài giảng này ta chỉ xét một số dạng của kiểm tra tĩnh Giới thiệu (tiếp) kiểm tra kiểu: kiểm tra về tính đúng đắn của các kiểu toán hạng trong biểu thức. kiểm tra dòng điều khiển: một số điều khiển phải có cấu trúc hợp lý, ví dụ như lệnh break trong ngôn ngữ C phải nằm trong một vòng lặp. kiểm tra tính nhất quán: có những ngữ cảnh mà trong đó một đối tượng được định nghĩa chỉ đúng một lần. Ví dụ, trong Pascal, một tên phải được khai báo duy nhất, các nhãn trong lệnh case phải khác nhau, và các phần tử trong kiểu vô hướng không được lặp lại. kiểm tra quan hệ tên: Đôi khi một tên phải xuất hiện từ hai lần trở lên. Ví dụ, trong Assembly, một chương trình con có một tên mà chúng phải xuất hiện ở đầu và cuối của chương trình con này. Biểu thức kiểu Kiểu của một cấu trúc ngôn ngữ được biểu thị bởi “biểu thức kiểu” Một biểu thức kiểu có thể là: một kiểu cơ bản kiểu hợp thành: được xây dựng từ các kiểu cơ bản theo một số toán tử nào đó Kiểu cơ bản boolean, char, interger, real type_error : một kiểu cơ bản đặc biệt dùng để trả về một cấu trúc bị lỗi kiểu void: một kiểu cơ bản đặc biệt khác, biểu thị các cấu trúc không cần xác định kiểu như câu lệnh Kiểu hợp thành Mảng. Nếu T là một biểu thức kiểu thì array(I,T) là một biểu thức kiểu đối với một mảng các phần tử kiểu T và I là tập các chỉ số. Ví dụ, trong ngôn ngữ Pascal khai báo: var A: array[110] of interger; sẽ xác định kiểu của A là array(110,interger) Tích của biểu thức kiểu là một biểu thức kiểu. Nếu T1 và T2 là các kiểu biểu thức kiểu thì tích Đề các của T1xT2 là một biểu thức kiểu. Kiểu hợp thành (tiếp) Bản ghi. Kiểu của một bản ghi chính là biểu . | Nguyễn Phương Thái Bộ môn Khoa học Máy tính Nội dung Biểu thức kiểu Hệ thống kiểu Luật ngữ nghĩa kiểm tra kiểu Giới thiệu Mô đun phân tích ngữ nghĩa: kiểm tra tính đúng đắn về mặt ngữ nghĩa của chương trình nguồn Việc kiểm tra được chia làm hai loại: kiểm tra tĩnh kiểm tra động (kiểm tra động xảy ra lúc chương trình đích chạy) Trong bài giảng này ta chỉ xét một số dạng của kiểm tra tĩnh Giới thiệu (tiếp) kiểm tra kiểu: kiểm tra về tính đúng đắn của các kiểu toán hạng trong biểu thức. kiểm tra dòng điều khiển: một số điều khiển phải có cấu trúc hợp lý, ví dụ như lệnh break trong ngôn ngữ C phải nằm trong một vòng lặp. kiểm tra tính nhất quán: có những ngữ cảnh mà trong đó một đối tượng được định nghĩa chỉ đúng một lần. Ví dụ, trong Pascal, một tên phải được khai báo duy nhất, các nhãn trong lệnh case phải khác nhau, và các phần tử trong kiểu vô hướng không được lặp lại. kiểm tra quan hệ tên: Đôi khi một tên phải xuất hiện từ hai lần trở lên. Ví dụ, .