21/1/2010 Làm để sản sinh xâu ? Văn phạm phi ngữ cảnh dùng để sản sinh xâu thuộc ngôn ngữ sau: Bài Văn phạm sản sinh X = Ký hiệu đầu While ký hiệu không kết thúc Y X Áp dụng sản xuất của,văn phạm chẳng hạn Y -> w Ví dụ Suy dẫn (Derivations) S -> +A | -A |A A -> B.B | B B -> BC | C C -> | | | .|9 Mỗi lần thực việc thay bước suy dẫn dẫn Nếu dạng câu có nhiều ký hiệu không kết thúc để thay sử dụng sản xuất Khi X chứa ký hiệu kết thúc, xâu sản sinh văn phạm 21/1/2010 Suy dẫn trái suy dẫn phải Cây suy dẫn(Cây phân tích cú pháp) Cây suy dẫn có đặc điểm sau 1) Mỗi nút có nhãn ký hiệu kết thúc, ký hiệu không kết thúc ε (xâu rỗng) 2) Nhãn nút gốc S (ký hiệu đầu) 3) Nút có nhãn ký hiệu không kết thúc 4) Nút A có nút từ trái qua phải X1, X2, , Xk có sản xuất dạng A -> X1 X2 Xk 5)Nút có nhãn ε tồn sản xuất A -> ε nút cha nút có nút Nếu giải thuật phân tích cú pháp chọn ký hiệu không kết thúc cực trái hay cực phải để thayy thế,, kết q lad suy y dẫn trái suy dẫn phải Văn phạm nhập nhằng Khử nhập nhằng Văn phạm E -> E + E E -> E * E E -> ( E ) E -> ident E -> E + T E -> T T -> >T*F T -> F F -> ( E ) F -> ident Cho phép đưa hai suy dẫn khác cho xâu ident + ident * ident (chẳng hạn x + y * z) (Bằng cách thêm ký hiệu không kết thúc sản xuất để đảm bảo thứ tự ưu tiên) Văn phạm nhập nhằng 21/1/2010 Đệ quy Khử đệ quy trái Một sản xuất đệ qui X =>* ω1X ω2 Có thể dùng để biểu diễn trình lặp hay cấu trúc lồng E -> E + T | T T -> T * F | F F -> ( E ) | ident Khử đệ ệq quy y trái g cách thêm ký ý hiệu ệ không g kết thúc sản xuất Đệ quy trực tiếp X =>ω1X ω2 Đệ quy trái X => b | Xa X => X a => X a a => X a a a =>b a a a a a Đệ quy phải X => b | a X X => a X => a a X => a a a X => a a a a a b Đệ quy X => b | "(" X")" X =>(X) =>((X)) =>(((X))) =>((( (b) ))) E -> T E' E' -> + T E' | ε T -> F T' T' -> * F T' | ε F -> ( E ) | ident Đệ quy gián tiếp X =>* ω1X ω2 10 ... suy y dẫn trái suy dẫn phải Văn phạm nhập nhằng Khử nhập nhằng Văn phạm E -> E + E E -> E * E E -> ( E ) E -> ident E -> E + T E -> T T -> >T*F T -> F F -> ( E ) F -> ident Cho phép đưa hai suy... thúc sản xuất để đảm bảo thứ tự ưu tiên) Văn phạm nhập nhằng 21/1/2010 Đệ quy Khử đệ quy trái Một sản xuất đệ qui X =>* ω1X ω2 Có thể dùng để biểu diễn trình lặp hay cấu trúc lồng E -> E... nút gốc S (ký hiệu đầu) 3) Nút có nhãn ký hiệu không kết thúc 4) Nút A có nút từ trái qua phải X1, X2, , Xk có sản xuất dạng A -> X1 X2 Xk 5)Nút có nhãn ε tồn sản xuất A -> ε nút cha nút có nút