Phương pháp Simple LR (SLR)  Xây dựng bảng SLR

Một phần của tài liệu Bài giảng chương trình dịch (Trang 153 - 162)

- x đúng cú pháp của vpG Dừng vòng lặp

1.3.Phương pháp Simple LR (SLR)  Xây dựng bảng SLR

Xây dựng bảng SLR - Văn phạm gia tố G’ G’=G {S’S} Ví dụ: G: S 0S | 1S G’: S’ S S 0S | 1S

Giáo trình Kiến trúc máy tính và Hệ điều hành

154

1. Phương pháp phân tích cú pháp dưới lên

1.3. Phương pháp Simple LR (SLR)

Xây dựng bảng SLR

- Thực thể: Sx thêm dấu chấm ở bất kỳ vị trí

của vế phải.

Ví dụ: A xyz

thì A .xyz Ax.yz Axy.z A xyz. là các thực thể

Giáo trình Kiến trúc máy tính và Hệ điều hành

155

1. Phương pháp phân tích cú pháp dưới lên

1.3. Phương pháp Simple LR (SLR)

Xây dựng bảng SLR

- Hàm tính bao đóng Closure(Ii): 2 qui tắc

(1) Đưa tất cả các thực thể trong Ii vào closure(Ii)

(2) Cứ mỗi thực thể có dạng

Aα.Bβ∈closure(Ii) mà Bγ thì thêm B.γ

vào closure(Ii) với B.γ ∉

Giáo trình Kiến trúc máy tính và Hệ điều hành

156

1. Phương pháp phân tích cú pháp dưới lên

1.3. Phương pháp Simple LR (SLR)

Xây dựng bảng SLR

- Hàm tính goto

Goto(Ii,x)=closure({Aαx.β}) với {Aα.xβ} Ii ; xΔ)

Giáo trình Kiến trúc máy tính và Hệ điều hành

157

1. Phương pháp phân tích cú pháp dưới lên

1.3. Phương pháp Simple LR (SLR)Xây dựng bảng SLRXây dựng bảng SLR - Tập thực thể LR(0) I0=closure({S’.S}) - Tính tất cả các goto(Ii,x) của tất cả các tập thực thể ta sẽ được tập LR(0). (adsbygoogle = window.adsbygoogle || []).push({});

- Tính hết goto(Ii,x) mà không sinh được Ii+1 thì dừng.

Giáo trình Kiến trúc máy tính và Hệ điều hành

158

1. Phương pháp phân tích cú pháp dưới lên

1.3. Phương pháp Simple LR (SLR)

Xây dựng bảng SLR

- Qui tắc xác định hành động

(1)∃ Aα.aβ ∈ Ii và goto(Ii,a)=Ij với a Σ thì: Action[i,a]= Sj

(2)∃ Aα.Xβ ∈ Ii và goto(Ii,X)=Ij với X Δ thì: goto[i,X]= j

Giáo trình Kiến trúc máy tính và Hệ điều hành

159

1. Phương pháp phân tích cú pháp dưới lên

1.3. Phương pháp Simple LR (SLR)

Xây dựng bảng SLR

- Qui tắc xác định hành động

(3)∃ S’S. Ii thì: Action[i,$]= accept

(4)∃ Aα. Ii thì Action[i,a]= Reduce Aα

với a Follow(A); A<>S’

- Qui tắc xác định Follow Follow(A)={(tΣ| S+αAtβ)(t=$|S+ αA)}

Giáo trình Kiến trúc máy tính và Hệ điều hành

160

1. Phương pháp phân tích cú pháp dưới lên

1.3. Phương pháp Simple LR (SLR)Ví dụ: Cho vp GVí dụ: Cho vp G E E + T | T T T * F | F F (E) | id Xây dựng bảng SLR cho VP G

Giáo trình Kiến trúc máy tính và Hệ điều hành

161

1. Phương pháp phân tích cú pháp dưới lên

1.3. Phương pháp Simple LR (SLR)

Ví dụ:

- Xác định G’

- Tạo tập thực thể LR(0) - Xác định các hành động (adsbygoogle = window.adsbygoogle || []).push({});

Giáo trình Kiến trúc máy tính và Hệ điều hành

162

1. Phương pháp phân tích cú pháp dưới lên

Một phần của tài liệu Bài giảng chương trình dịch (Trang 153 - 162)