- 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 SLR Xâ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).
- 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 G Ví 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
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