You are on page 1of 1

Tìm ngôn ngữ được sản sinh bởi VPPNC cho trước

Câu này được trình bày theo các ý sau:


- Đầu tiên phải có ý: Để tìm ngôn ngữ được sản sinh từ văn phạm G, ta đi
tìm tất cả các xâu gồm toàn ký hiệu kết thúc, được sinh ra từ văn phạm.
Các xâu này là kết quả của quá trình suy dẫn từ ký hiệu đầu S.
- Sau đó giải thích việc áp dụng các sản xuất để sinh ra từng trường hợp cụ
thể của các xâu thuộc ngôn ngữ.
- Cuối cùng là kết luận dạng: Kết hợp các trường hợp trên ta có ngôn ngữ
được sản sinh bởi văn phạm G là: …
Ví dụ: với VPPNC G = ({a, b}, {S}, S, {S → abS | Sb | c})
Thì trình bày như sau:
- Để tìm ngôn ngữ được sản sinh từ văn phạm G, ta đi tìm tất cả các xâu gồm
toàn ký hiệu kết thúc, được sinh ra từ văn phạm. Các xâu này là kết quả của
quá trình suy dẫn từ ký hiệu đầu S.
- Để sinh ra một xâu thuộc ngôn ngữ ta phải đi từ một trong các sản xuất S →
abS hoặc S → Sb hoặc S → c:
+ Nếu áp dụng ngay sản xuất S → c, ta có S ⟹c ∈ L(G)
+ Nếu áp dụng sản xuất S → abS (n lần) sau đó áp dụng sản xuất S → c ta
được:
S ⟹¿ (ab)n S ⟹ (ab)nc ∈ L(G)
+ Nếu áp dụng sản xuất S → Sb (m lần) sau đó áp dụng sản xuất S → c ta
được:
S ⟹¿ Sbm ⟹ cbm ∈ L(G)
+ Nếu áp dụng đồng thời hai sản xuất S → abS (n lần) và S → Sb (m lần)
không phân biệt thứ tự, sau đó áp dụng sản xuất S → c thì ta được:
S ⟹¿ (ab)n S bm ⟹ (ab)n c bm ∈ L(G)
- Kết hợp các trường hợp trên ta có:
L(G) = {(ab)n c bm | n, m ≥ 0}

You might also like