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

Nhập môn Chương trình dịch - Bài 6 pot

22 236 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 22
Dung lượng 188,44 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nhớ lạiVăn phạm LL1 và bảng phân tích Phân tích đệ quy xuống Xây dựng cây cú pháp trong khi phân tích đệ quy xuống... Phân tích đệ quy xuống - EBNF Chuyển từ EBNF sang phân tích đệ q

Trang 1

Nhập môn Chương trình dịch

Học kì II 2006 – 2007Bài 6: Phân tích dưới lên

(bottom-up parsing)

Trang 2

Nhớ lại

Văn phạm LL(1) và bảng phân tích

Phân tích đệ quy xuống

Xây dựng cây cú pháp trong khi phân tích

đệ quy xuống

Trang 4

Đệ quy trái và đệ quy phải (1)

+

5 +

+ 1

+ 2

4 3

Đệ quy phải – kết hợp bên phải

+

5 +

Trang 5

Đệ quy trái và đệ quy phải (2)

Văn phạm đệ quy trái không thể dùng đểphân tích từ trên xuống: lặp vô hạn

S  S + E  S + E + E  S + E + E + E

Làm thế nào để phân tích hiệu quả?

Trang 7

2

+

Trang 8

Phân tích đệ quy xuống - EBNF

 Chuyển từ EBNF sang phân tích đệ quy xuống

token = input.read(); parse_E();

break;

case ‘)’: case EOF: return;

default: throw new ParseError();

}

}

Trang 9

Kết hợp sinh cây cú pháp - EBNF

Trang 10

Xây dựng bộ PTCP trên xuống

Viết văn phạm của ngôn ngữ

Viết văn phạm LL(1)

Bảng phân tích LL(1)

Phân tích đệ quy xuống

Phân tích đệ quy xuống kết hợp xây dựng cây cú pháp

Trang 11

Phân tích từ dưới lên (bottom-up parsing)

 Kỹ thuật phân tích mạnh hơn

 Văn phạm lớp LR có khả năng mô tả mạnh hơn văn phạm lớp LL, có thể mô tả văn phạm đệ quy trái (có trong hầu hết các ngôn ngữ lập trình)

 Dễ dàng mô tả các ngôn ngữ lập trình thông

– Phát hiện lỗi ngay khi xuất hiện

– Cho phép phục hồi khi lỗi xảy ra

Trang 12

Phân tích trên xuống

Suy dẫn trái

Toàn bộ cây phía trên

một kí hiệu được sinh

ra

Phải có khả năng đoán

trước được sản xuất

4 5

Trang 13

Phân tích dưới lên (1)

Trang 14

Phân tích dưới lên (2)

(1+2+(3+4))+5  (1+2+(3+4))+5

(E+2+(3+4))+5 (1 +2+(3+4))+5 (S+2+(3+4))+5 (1 +2+(3+4))+5 (S+E+(3+4))+5 (1+2 +(3+4))+5 (S+(3+4))+5 (1+2+(3 +4))+5 (S+(E+4))+5 (1+2+(3 +4))+5 (S+(S+4))+5 (1+2+(3 +4))+5 (S+(S+E))+5 (1+2+(3+4 ))+5 (S+(S))+5 (1+2+(3+4 ))+5

Trang 15

Phân tích dưới lên (3)

(1+2+(3+4))+5

 (E+2+(3+4))+5

 (S+2+(3+4))+5

 (S+E+(3+4))+5 …

Phân tích dưới lên có

nhiều thông tin hơn khi

4 5

Trang 16

Phân tích dưới lên và phân tích trên xuống

Phân tích dưới lên không cần sinh ra toàn

bộ cây suy dẫn trong quá trình phân tích

Trang 17

Phân tích gạt – thu gọn (1)

 Phân tích bằng một dãy thao tác: gạt và thu

gọn

 Mỗi thời điểm, trạng thái của bộ phân tích là

ngăn xếp các kí hiệu kết thúc và không kết thúc

 Cấu hình tại mỗi thời điểm gồm:

ngăn xếp + xâu các kí hiệu chưa đọc

(1+2+(3+4))+5 +2+(3+4))+5 +2+(3+4))+5 +(3+4))+5

(E (S (S+E

Suy dẫn

Trang 18

Phân tích gạt – thu gọn (2)

Gạt: Đọc và đưa một kí hiệu kết thúc của

xâu vào stack

Thu gọn: Thay thế một xâu  ở đỉnh của

ngăn xếp bằng kí hiệu không kết thúc X

với X   (pop , push X)

1+2+(3+4))+5 +2+(3+4))+5

(

(1

Thao tác Chưa đọc

Ngăn xếp

+(3+4))+5 +(3+4))+5

(S+E

(S

Thao tác Chưa đọc

Ngăn xếp

Trang 19

Phân tích gạt – thu gọn (3)

(1+2+(3+4))+5 1+2+(3+4))+5 +2+(3+4))+5 +2+(3+4))+5 +2+(3+4))+5 2+(3+4))+5 +(3+4))+5 +(3+4))+5 +(3+4))+5 (3+4))+5 3+4))+5 +4))+5 +4))+5 +4))+5 4))+5

(S+2 (S+E (S (S+

(S+(

(S+(3 (S+(E (S+(S (S+(S+

Suy dẫn

Trang 21

Nếu S = , cần lựa chọn gạt a hoặc

– Với mỗi khả năng thu gọn X có một 

– Cần tìm cách đánh dấu các khả năng thu gọn

Trang 22

Trạng thái của

bộ phân tích gạt – thu gọn

Mục tiêu: Xác định khả năng thu gọn hợp

lệ tại từng thời điểm

Ý tưởng: gộp các khả năng có thể có củatiền tố  thành trạng thái của bộ phân tích

Các vấn đề nảy sinh:

– Tính toán các trạng thái của bộ phân tích

– Tính toán các trạng thái kết thúc

– Phân tích tất định (loại văn phạm nào)

– Kích cỡ của bộ phân tích (số lượng trạng thái)

Ngày đăng: 24/07/2014, 08:21

HÌNH ẢNH LIÊN QUAN

Bảng phân tích LL(1) - Nhập môn Chương trình dịch - Bài 6 pot
Bảng ph ân tích LL(1) (Trang 10)

TỪ KHÓA LIÊN QUAN

w