1. Trang chủ
  2. » Giáo Dục - Đào Tạo

văn phạm và ngôn ngữ

32 1,2K 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 32
Dung lượng 325,16 KB

Nội dung

Chương 1. VĂN PHẠM & NGÔN NGỮ I.Văn phạm cấu trúc câu. II. Phân loại văn phạm III. Một số ví dụ. I. VĂN PHẠM CẤU TRÚC CÂU • Các ngôn ngữ được biểu thị bằng các cách: • 1. Liệt kê tất cả các từ của ngôn ngữ đó • 2. Cho một số tiêu chuẩn mà các từ của ngôn ngữ đó cần thoả mãn. • 3. Dùng một văn phạm cung cấp một bộ chữ cái và một tập các quy tắc sản sinh ra các từ. • ĐỊNH NGHĩA 1. • Bộ chữ cái V= {các ký hiệu} hay từ điển V . • Một từ hay một câu trên Σ là xâu các phần tử ∈ V • Xâu rỗng = λ. • V* = {tất cả các từ trên V } • Một ngôn ngữ trên V là một tập con của V*. I. VĂN PHẠM CẤU TRÚC CÂU • Ví dụ 2. Bộ chữ cái tiếng Anh gồm 26 ký tự • Σ= {a,b,c, ,y,z} • Xâu ký tự hay một từ trên bảng chữ cái Σ là một dãy hữu hạn các ký tự (của Σ ) viết liền nhau. Chẳng hạn w=student, l(w)=7 • Ví dụ 3. Bộ chữ cái V= {0, 1} gồm 2 ký tự nhị phân. w=10010101 là một xâu có độ dài l(w)=8. 3 4 I. VĂN PHẠM CẤU TRÚC CÂU • ĐỊNH NGHĨA 2. Một văn phạm G=(T,N,I,P) gồm một từ điển cơ bản T mỗi phần tử là ký hiệu cơ bản hay ký hiệu kết thúc, một tập từ điển hỗ trợ N gồm các ký hiệu không kết thúc, một ký hiệu xuất phát I và một tập các sản suất P (các quy tắc có dạng α→β). Đặt V= T∪N gọi là từ điển đầy đủ, α, β là các từ trên từ điển đầy đủ V. • Mỗi một sản xuất trong P phải chứa ít nhất một phần tử không kết thúc của N ở bên trái của nó. • Ví dụ 4. Cho G=(T,N,S,P) trong đó T={a,b}, N={A,B,S}, S là ký hiệu xuất phát, P ={S→ABa, A→BB, B→ab, AB→ab}. Vậy G là một văn phạm. 5 I. VĂN PHẠM CẤU TRÚC CÂU ĐỊNH NGHĨA 3. Cho G=(T,N,I,P) là một văn phạm và w0=Iz0r, w1=Iz1r là các xâu trên V. • Nếu z0→z1 là một sản xuất thì ta nói w1 được dẫn xuất trực tiếp từ w0 và viết w0⇒w1. • Nếu w0,w1 ,wn với n≥0 là dãy các xâu trên V sao cho w0⇒w1, w1⇒w2 , , wn-1⇒ wn, thì ta nói wn được dẫn xuất từ w0 và viết w0⇒wn. Dãy các bước dùng để nhận wn từ w0 gọi là một dẫn xuất. 6 I. VĂN PHẠM CẤU TRÚC CÂU • Ví dụ 5. Xét văn phạm cho trong Ví dụ 4, tức là cho G=(T,N,S,P) trong đó T={a,b}, N={A,B,S}, S là ký hiệu xuất phát, P ={S→ABa, A→BB, B→ab, AB→ab}. • Khi đó • Xâu Aaba được dẫn xuất trực tiếp từ ABa nhờ B→ab. • Xâu ABa ⇒ abababa vì • ABa⇒Aaba⇒BBaba⇒ Bababa ⇒ abababa dùng các sản xuất B→ab, A→BB, B→ab, B→ab. 7 I. VĂN PHẠM CẤU TRÚC CÂU • II. NG ÔN NGỮ SINH BỞi VĂN PHẠM • ĐỊNH NGHĨA 4. • Cho G=(T,N,S,P) là một Văn phạm cấu trúc câu. • Ngôn ngữ sinh bởi văn phạm G (hay ngôn ngữ của G), ký hiệu là L(G), là tập tất cả các xâu gồm các ký hiệu kết thúc được dẫn xuất từ ký hiệu xuất phát S. Nói cách khác • L(G) = {w∈ T* | S ⇒w} 8 I. VĂN PHẠM CẤU TRÚC CÂU • Ví dụ 6. Cho văn phạm G với bộ từ điển V=T∪N, N={S, A}, T={a,b}, S và P={ S→aA, S →b, A→aa}. L(G) =? • Bài giải. S ⇒b, vậy b∈L(G) • S ⇒aA ⇒aaa vậy aaa ∈L(G) • Ngoài ra từ S không thể dẫn xuất thêm một từ nào nữa, vậy • L(G)={aaa, b} - 9 I. VĂN PHẠM CẤU TRÚC CÂU • Ví dụ 7. Cho văn phạm G với bộ từ điển T={0,1}, N={S }, S và P={S→11S, S →0}. Xác định L(G) ? • Bài giải. S ⇒0, S ⇒11S , từ 11S ⇒110 hoặc ⇒1111S, rồi từ 1111S⇒ 11110 và 111111S, cứ thế tiếp tục. • Vậy L(G) là tập gồm xâu ‘0’ và các xâu có một số chẵn các số 1 và kết thúc bằng số 0, L(G) = {0, 12n0 | n=1,2, } 10 I. VĂN PHẠM CẤU TRÚC CÂU • Ví dụ 8. Hãy xác định văn phạm G sinh ra ngôn ngữ L(G)={0n1n | n=0,1,2 } • Bài giải. Vì các xâu của L(G) gồm các số 0 và các số 1 với số lượng như nhau, nên có thể dùng hai sản xuất. Sản xuất đầu S→0S1, áp dụng liên tiếp ⇒ xâu 0nS1n . • Cần một sản xuất nữa S →λ. • Vậy văn phạm G = (V,S,T,P) với • V={0, 1, S}, T={0,1}, S và P={S→0S1,S→λ}. [...]... H Ế T CH Ư ƠNG I Bài tập VĂN PHẠM & NGÔN NGỮ Các loại bài tập: Cho Văn Phạm hãy xây dựng Ngôn ngữ sinh Cho Ngôn ngữ hãy xây dựng Văn phạm Chg 1 VĂN PHẠM & NGÔN NGỮ Văn Phạm hãy xây dựng Ngôn ngữ sinh Bài 1 Cho văn phạm G=(Σ, ∆, I, R) với: R={I→IAa, A→IBb, I →c, aA→Aa, aB→Ba, bA→Ab, bB→Bb, cA→ac, cB→bc; Hãy: a) Viết đầy đủ G theo định nghĩa, b) G là VP loại gì? c) Tìm ngôn ngữ sinh vởi G Bài giải:... V+ , β∈ V* Ngôn ngữ do văn phạm ngữ cấu sinh ra gọi là ngôn ngữ ngữ cấu Chú ý: α chứa ít nhất một ký hiệu của N • Loại 1: (Văn phạm cảm ngữ cảnh) Các sản xuất có dạng r= α→β với α∈V+ , β∈ V* và l(α) ≤ l(β); • Ngôn ngữ do VPCNC sinh ra là Ngôn ngữ CNC • Ví dụ 11 Cho văn phạm: G= (T,N,S,P) với : II PHÂN LOẠI VĂN PHẠM • T= {a,b}, N= {S }, S, • P= {S→aSb, S→bSa, S→SS, S →ab } • Ví dụ 12 Văn phạm G= {T,N,S,P}... cùng dùng S →λ II PHÂN LOẠI VĂN PHẠM • Loại 3 Văn phạm G= {T, N,S, P } gọi là Văn phạm chính quy nếu các sản xuất dạng A→ aB, A →a, ở đây A, B∈N còn a∈T • Ngôn ngữ do VPCQ sinh ra gọi là ngôn ngữ chính quy • Ví dụ 14 Văn phạm G= {T, N,S, P } với • T= {a,b,c }, N= { S } • P= {S→aS, S →bS, S→cS, S →a, S→b, S →c }, • là văn phạm chính quy II PHÂN LOẠI VĂN PHẠM • Nhận xét: • Văn phạm loại 3 ⊆ loại 2, ⊆ loại... 3 ⊆ loại 2, ⊆ loại 1 ⊆ loại 0 • Các sản xuất của văn phạm phi ngữ cảnh và văn phạm chính quy là đơn giản hơn Có nhiều ứng dụng trong khi thiết kế các ngôn ngữ lập trình và khi nghiên cứu chương trình dịch • Sau đây chúng ta chỉ xét hai loại văn phạm này II PHÂN LOẠI VĂN PHẠM Loại Các hạn chế đối với sản xuất w1 →w2 0: Ngữ cấu 1: Cảm ngữ cảnh 2: Phi ngữ cảnh 3: Chính quy Không có hạn chế nào l(w1)... là VP cảm ngữ cảnh • Loại 2 Văn phạm G= {T, N,S,P } gọi là văn phạm phi ngữ cảnh nếu mọi sản xuất dạng r= A→θ, ở đây A∈N và θ ∈V*=(T ∪N }* II PHÂN LOẠI VĂN PHẠM • Ngôn ngữ do VPPNC sinh ra gọi là Ngôn ngữ PNC • Cho xâu w = a1a2…an Khi đó ảnh gương của xâu w là =anan-1 a2a1 a’=a • Ví dụ 13 Xét văn phạm G= {T,N,S,P } • với T= {a,b }, N= {S }, P= {S →λ, S → aSa, S → bSb } • G là VPPhi ngữ cảnh •...I VĂN PHẠM CẤU TRÚC CÂU • Ví dụ 9 Hãy xác định văn phạm G sinh ra ngôn ngữ L(G)={0m1n | m,n=0,1,2 } • Bài giải Vì các xâu của L(G) đều có m số 0 tiếp sau là n số 1, nên dùng 3 sản xuất là S→0S, S→S1, S→λ • VP cần tìm là G= (T,N, S,P) với T={0,1}, N={ S}, S, và P ={S→0S, S→S1, S→λ} I VĂN PHẠM CẤU TRÚC CÂU • Ví dụ 10 • Chứng minh văn phạm sinh ra ngôn ngữ L(G) ={0n1n2n} là • G={T,... 1 VĂN PHẠM & NGÔN NGỮ Cho Ngôn ngữ hãy xây dựng Văn phạm Bài 6 Cho ngôn ngữ L={ab(xyz)nba, abma | n ≥0, m≥0} Xây dựng VPCQ G={Σ, ∆, I,R} sao cho L(G)=L Bài giải Σ= {a, b, x,y,z }, ∆= {I, A,B,C,D,E } R= { I→aA, A→bB, B→xC, C→yD, D→zB, B→bE, E→a, I→aF, F→bF, F→a }; Các dẫn xuất D=(I, aA, abB, abxC, abxyD, abxyzB,…, ab(xyz)nbE, ab(xyz)nba } D=(I, aF, abF,…, abmF, abma } (n ≥0, m≥0) Chg 1 VĂN PHẠM & NGÔN... Thật vậy: III MỘT SỐ VÍ DỤ VỀ VĂN PHẠM • Xét văn phạm: G={T,V,S,P} với T={a,b}, N={S} P={S→SS, S→aSb, S→bSa, S→ab, S →ba}; Đây là VPPNC nó inh ra ngôn ngữ L Chẳng hạn w1=ambm có dẫn xuất: D=(S, aSb, a2Sb2,…,am-1Sbm-1, ambm); còn w2=ababaabb có dẫn xuất: D=(S,SS, aSbS, ababS, ababaSb, ababaabb) Ví dụ 8 Ngôn ngữ L={ww’ | w ∈T+ , w’ là ảnh gương của w} được sinh bởi văn phạm G=(T,N,S,P) với T={a1,a2,... MỘT SỐ VÍ DỤ VỀ VĂN PHẠM • Ví dụ 6 Ngôn ngữ L(G)= {anbnam | n, m≥1} là phi ngữ cảnh sinh ra do VPPNC G={T,N,S,P} với: T={a,b}; N= {S,A}, P ={S→Sa, A→ aAb, A→ab, S→Aa } Xâu w= anbnam (n,m ≥1)có dẫn xuất đầy đủ D=(S,Sa,Sa2, ,Sam-1, Aam, aAbam, ,an-1Abn1am , anbnam); Ví dụ 7 Ngôn ngữ trên từ điển T={a,b} gồm tất cả các từ khác λ và mỗi từ chứa số ký tự a bằng số ký tự b Khi đó L là phi ngữ cảnh Thật vậy:... với A ∈N, w2 tuỳ ý A→ aB , A →a với A,B∈N,a∈T, III MỘT SỐ VÍ DỤ VỀ VĂN PHẠM • Ví dụ 1 Cho văn phạm cấu trúc câu G={T,N,S,P} trong đó: T={a1,a2, an}; bảng ký hiệu cơ bản, N={S, A1,A2, ,An-1} là bảng ký hiệu hỗ trợ, S: ký hiệu xuất phát Tập sản xuất (n≥2) P={S→a1A1, A1→ a2A2, ,An-2→an-1An-1,An-1→an}, Đây là VPCQ Văn phạm này sinh ngôn ngữ Chính quy: L(Q)={w=a1a2 an} (chỉ có một xâu) vì từ S ta có dẫn . B→ab, B→ab. 7 I. VĂN PHẠM CẤU TRÚC CÂU • II. NG ÔN NGỮ SINH BỞi VĂN PHẠM • ĐỊNH NGHĨA 4. • Cho G=(T,N,S,P) là một Văn phạm cấu trúc câu. • Ngôn ngữ sinh bởi văn phạm G (hay ngôn ngữ của G), ký. Chương 1. VĂN PHẠM & NGÔN NGỮ I .Văn phạm cấu trúc câu. II. Phân loại văn phạm III. Một số ví dụ. I. VĂN PHẠM CẤU TRÚC CÂU • Các ngôn ngữ được biểu thị bằng các cách: • . V*. Ngôn ngữ do văn phạm ngữ cấu sinh ra gọi là ngôn ngữ ngữ cấu. Chú ý: α chứa ít nhất một ký hiệu của N. • Loại 1: (Văn phạm cảm ngữ cảnh) Các sản xuất có dạng r= α→β với α∈V+ , β∈ V* và l(α)

Ngày đăng: 09/06/2015, 01:04

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w