Bài giảng Chương trình dịch: Bài 10 do Trương Xuân Nam biên soạn, cùng nắm kiến thức trong bài học này thông qua tìm hiểu các nội dung sau: Khắc phục hạn chế của các phương pháp thử-sai, các phương pháp phân tích cú pháp vạn năng, áp dụng quy hoạch động vào phân tích cú pháp.
Nội dung trích xuất từ tài liệu:
Bài giảng Chương trình dịch: Bài 10 - Trương Xuân Nam
CHƯƠNG TRÌNH DỊCH
Bài 10: Phân tích văn phạm bằng
thuật toán CYK
Nội dung
1.
2.
3.
4.
Khắc phục hạn chế của các phương pháp thử-sai
Các phương pháp phân tích cú pháp vạn năng
Áp dụng quy hoạch động vào phân tích cú pháp
Thuật toán Cocke – Younger – Kasami (CYK)
Dạng chuẩn Chomsky (CNF)
Ý tưởng
Mã minh họa
Đánh giá thuật toán
5. Bài tập
TRƯƠNG XUÂN NAM
2
Phần 1
Khắc phục hạn chế của các
phương pháp thử-sai
TRƯƠNG XUÂN NAM
3
Các hạn chế của thử-sai
Hai thuật toán thử-sai cơ bản top-down và bottomup đều có những hạn chế về văn phạm đầu vào
Top-down: văn phạm không có đệ quy trái
Bottom-up: văn phạm không có suy dẫn rỗng và không
có kí hiệu đệ quy (A ⇒+ A)
Các thuật toán thử-sai có hạn chế về mặt tốc độ
Tốc độ chấp nhận được với một số văn phạm đơn giản
và đơn nghĩa, đầu vào ngắn
Trường hợp xấu có độ phức tạp tính toán hàm mũ
Không có cơ chế hiệu quả loại bỏ sự trùng lặp về
kết quả (chẳng hạn như nhiều suy dẫn tương đương)
TRƯƠNG XUÂN NAM
4
Các hạn chế của thử-sai
Nguyên nhân của những hạn chế này
Hạn chế do bản thân cơ chế hoạt động của thử-sai
Không có cơ chế loại bỏ các phương án chắc-chắn-sai
Ví dụ: quá trình suy dẫn S thành w = abcdefg
S ⇒ … ⇒ abcAx ⇒ … ⇒ abcdefg
Ta nhận thấy phương án có chuỗi trung gian abcAx
hoàn toàn không thể đạt được chuỗi w mong muốn
Vì x là kí hiệu không kết thúc, nó luôn luôn tồn tại trong
các suy dẫn tiếp theo, trong khi chuỗi w không chứa x
Câu hỏi: thuật toán thử sai tốt ~ cắt nhánh sớm?
TRƯƠNG XUÂN NAM
5
Bài giảng Chương trình dịch: Bài 10 - Trương Xuân Nam
Số trang: 19
Loại file: pdf
Dung lượng: 687.52 KB
Lượt xem: 15
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tìm kiếm theo từ khóa liên quan:
Bài giảng Chương trình dịch Chương trình dịch Phân tích văn phạm bằng thuật toán CYK Phân tích cú pháp vạn năng Thuật toán CockeTài liệu có liên quan:
-
Giáo trình Lập trình cơ bản với C++: Phần 1
77 trang 242 0 0 -
Bài giảng Lập trình C căn bản: Chương 2 - Phạm Thế Bảo
31 trang 98 0 0 -
Giáo trình Lập trình nâng cao: Phần 1 - Nguyễn Văn Vinh
126 trang 36 0 0 -
Tập bài giảng Chương trình dịch
218 trang 33 0 0 -
Bài giảng Điện tử tin học lớp 11: Bài 1
9 trang 33 0 0 -
Nhập môn Chương trình dịch - Bài 1
17 trang 31 0 0 -
Bài giảng Thực hành chương trình dịch: Bài 5 - Phạm Đăng Hải
66 trang 31 0 0 -
Lý thuyết automata và ngôn ngữ hình thức
48 trang 29 0 0 -
Nhập môn Chương trình dịch - Bài 14
16 trang 29 0 0 -
Giáo trình Ôtômát và ngôn ngữ hình thức: Phần 2
98 trang 28 0 0