Trong bài giảng 4, người học sẽ tìm hiểu về phân tích cú pháp và các phương pháp phân tích cơ bản. Thông qua bài giảng người học có thể nắm bắt được một số phương pháp phân tích cú pháp như phân tích Top-Down và phân tích Bottom-Up, biết đươc một số khó khăn khi tiến hành phân tích cú pháp,. . | Bài giảng 4 - Phân tích cú pháp và các phương pháp phân tích cơ bản Nguyễn Phương Thái Bộ môn Khoa học Máy tính Bài toán Đầu vào: câu vào chứa toàn các từ tố Phân tách câu vào thành các phần theo văn phạm và biểu diễn cấu trúc này bằng một cây (gọi là cây phân tích) hoặc theo một cấu trúc nào đó tương đương với cây. Bài toán (tiếp) Văn phạm Mọi ngôn ngữ lập trình đều có các luật mô tả các cấu trúc cú pháp. Một chương trình nguồn viết đúng phải tuân theo các luật mô tả này - tức là viết đúng văn phạm (hay đúng ngữ pháp). Văn phạm của một ngôn ngữ lập trình có cấu trúc có thể mô tả bằng văn phạm phi ngữ cảnh và biểu diễn theo ký pháp BNF hoặc đồ thị chuyển. Các phương pháp phân tích Cơ sở của phân tích cú pháp đối với lớp VPPNC là định lý Bài toán thành viên với ngôn ngữ phi ngữ cảnh. Người ta đã chứng minh được định lý này bằng cách đưa ra các giải thuật cài đặt trên thực tế, ví dụ như: Thuật toán phân tích Top-Down. Thuật toán phân tích Bottom - Up. Thuật toán phân tích CYK (Coke-Younger-Kasami). Thuật toán phân tích Earley. Các phương pháp phân tích (tiếp) Việc phân tích một câu là khôi phục hoặc xây dựng suy dẫn sinh ra nó, do đó ta sẽ dựng được cây suy dẫn. Thông thường trong các thuật toán phân tích, ta hay tiến hành từ một phía của câu, kiểm tra lần lượt các thành phần của câu đó cho đến hết (đa số từ trái sang phải). Hai chiến lược phân tích chính Chiến lược phân tích top-down (trên xuống): cho một văn phạm phi ngữ cảnh G = ( , , P, S) và một câu cần phân tích w. Ta xuất phát từ điểm khởi đầu, nghĩa là từ S, áp dụng các suy dẫn trái, tiến từ trái qua phải thử tạo ra câu đưa vào phân tích w. Chiến lược phân tích bottom-up (dưới lên): Quá trình ngược lại với phân tích top-down, xuất phát từ chính câu vào phân tích w, bằng cách áp dụng thu gọn các suy dẫn phải, tiến hành từ trái qua phải để đi tới ký hiệu đầu S của văn phạm. Hai chiến lược phân tích chính (tiếp) Điều kiện để các thuật toán . | Bài giảng 4 - Phân tích cú pháp và các phương pháp phân tích cơ bản Nguyễn Phương Thái Bộ môn Khoa học Máy tính Bài toán Đầu vào: câu vào chứa toàn các từ tố Phân tách câu vào thành các phần theo văn phạm và biểu diễn cấu trúc này bằng một cây (gọi là cây phân tích) hoặc theo một cấu trúc nào đó tương đương với cây. Bài toán (tiếp) Văn phạm Mọi ngôn ngữ lập trình đều có các luật mô tả các cấu trúc cú pháp. Một chương trình nguồn viết đúng phải tuân theo các luật mô tả này - tức là viết đúng văn phạm (hay đúng ngữ pháp). Văn phạm của một ngôn ngữ lập trình có cấu trúc có thể mô tả bằng văn phạm phi ngữ cảnh và biểu diễn theo ký pháp BNF hoặc đồ thị chuyển. Các phương pháp phân tích Cơ sở của phân tích cú pháp đối với lớp VPPNC là định lý Bài toán thành viên với ngôn ngữ phi ngữ cảnh. Người ta đã chứng minh được định lý này bằng cách đưa ra các giải thuật cài đặt trên thực tế, ví dụ như: Thuật toán phân tích Top-Down. Thuật toán