Professional Documents
Culture Documents
Chuong 3 Van Pham Phi Ngu Canh Va Van Pham Chinh Quy 1
Chuong 3 Van Pham Phi Ngu Canh Va Van Pham Chinh Quy 1
- Việc nghiên cứu các VPPNC đã tạo nên một cơ sở lý luận vững chắc cho việc
biểu diễn các ngôn ngữ lập trình, cho việc tìm kiếm các giải thuật phân tích cú
pháp vận dụng trong các chương trình dịch.
1. XUẤT XỨ VÀ ĐỊNH NGHĨA CỦA VPPNC
1.2. Định nghĩa VPPNC
Một VPPNC là một hệ thống:
G = (, , P, S), trong đó:
+ là tập hữu hạn các ký hiệu kết thúc (ký hiệu cuối)
+ là tập hữu hạn các ký hiệu không kết thúc (ký hiệu trung
gian hay biến), =
+ S gọi là ký hiệu đầu
+ P là tập hữu hạn các sản xuất có dạng: (bị hạn chế)
A
Bài tập thêm: Tìm ngôn ngữ được sản sinh bởi các VPPNC:
a) G = ({a, b}, {S,}, S, {S aS | Sbb | c}
b) G = ({0, 1}, {S, A}, S, {S 0A, A A1 | 00)
1. XUẤT XỨ VÀ ĐỊNH NGHĨA CỦA VPPNC
Bài tập: Cho trước ngôn ngữ, Lập VPPNC
Bài tập thêm: { dj ej ai+1 bi | i, j 1}, { ai (bc)j di | i, j1}, { ai+2 (bc)j di | i, j1}
2. CÂY SUY DẪN VÀ SỰ
BàiNHẬP NHẰNG
tập: Tìm suy TRONG
dẫn bên trái VPPNC
nhất, suy dẫn bên phải nhất
của xâu aaaabaa và lập cây suy dẫn của suy dẫn đó.
2.1. Cây suy dẫn
Thí dụ 3.3: Xét VPPNC G có tập sản xuất là:
1) S aAS 2) S a - Cây suy dẫn tương ứng:
3) A SbA 4) A SS 5) Aba 1
- Giả sử có suy dẫn:
2
1 3 2 2 5 3
S=>aAS=>aSbAS=>aSbAa=>aabAa=>aabbaa
- Nếu đọc các nhãn của các nút lá theo thứ tự từ trái 2 5
qua phải, ta có một dạng câu và gọi đó là kết quả của
cây suy dẫn, VD: aabbaa
- Một cây suy dẫn ứng với nhiều suy dẫn. Các suy dẫn này có
cùng độ dài vì cùng áp dụng một số các sản xuất như nhau và
chỉ khác nhau ở thứ tự áp dụng các sản xuất. 1 3 2 5 2
S=>aAS=>aSbAS=>aabAS=>aabbaS=>aabbaa
- Suy dẫn bên trái nhất (thay biến bên trái trước) :
1 2 3 5 2
- Suy dẫn bên phải nhất (thay biến bên phải trước:S=>aAS=>aAa=>aSbAa=>aSbbaa=>aabbaa
2. CÂY SUY DẪN VÀ SỰ NHẬP NHẰNG TRONG VPPNC
2.2. Sự nhập nhằng trong VPPNC