Slide trình biên dịch chương 4 phân tích cú pháp

47 23 0
Slide trình biên dịch chương 4 phân tích cú phá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

Bài PHÂN TÍCH CÚ PHÁP Hồng Anh Việt Viện CNTT&TT - ĐHBKHN CuuDuongThanCong.com https://fb.com/tailieudientucntt Nội dung Vai trị phân tích cú pháp (PTCP) Văn phạm ngơn ngữ lập trình Phân tích cú pháp từ xuống Phân tích cú pháp từ lên Bộ sinh PTCP CuuDuongThanCong.com https://fb.com/tailieudientucntt Phương pháp phân tích từ lên • Thí dụ 4.6 Cho văn phạm G S ->aABe A ->Abc|b B ->d Phân tích câu w = abbcde CuuDuongThanCong.com https://fb.com/tailieudientucntt Phương pháp phân tích từ lên CuuDuongThanCong.com https://fb.com/tailieudientucntt 4 Phương pháp phân tích từ lên CuuDuongThanCong.com https://fb.com/tailieudientucntt Phân tích từ lên (bottom-up parsing) • Kỹ thuật phân tích mạnh • Văn phạm lớp LR có khả mơ tả mạnh văn phạm lớp LL, mơ tả văn phạm đệ quy trái (có hầu hết ngơn ngữ lập trình) • Dễ dàng mơ tả ngơn ngữ lập trình thơng thường • Bộ phân tích cú pháp gạt – thu gọn (Shift-Reduce parsing) – Xây dựng suy dẫn phải – Tự động xây dựng phân tích cú pháp VD: yacc, CUP – Phát lỗi xuất – Cho phép phục hồi lỗi xảy CuuDuongThanCong.com https://fb.com/tailieudientucntt Phân tích xuống • Suy dẫn trái • Tồn phía kí hiệu sinh • Phải có khả đốn trước sản xuất S S E S E CuuDuongThanCong.com + E ( S S + E + E ( S ) S + E E ) https://fb.com/tailieudientucntt Phân tích lên (1) • Suy dẫn phải • Cây suy dẫn xây dựng ngược lại – Bắt đầu từ kí hiệu kết thúc – Kết thúc kí hiệu bắt đầu • Ví dụ (1+2+(3+4))+5 (E+2+(3+4))+5 (S+2+(3+4))+5 (S+E+(3+4))+5 (S+(3+4))+5 (S+(E+4))+5 (S+(S+4))+5 (S+(S+E))+5 (S+(S))+5 (S+E)+5 (S)+5 E+5 S+5 S+E S CuuDuongThanCong.com https://fb.com/tailieudientucntt S  S+E | E E  số | (S) Phân tích lên (2) Suy dẫn phải (1+2+(3+4))+5 (E+2+(3+4))+5 (S+2+(3+4))+5 (S+E+(3+4))+5 (S+(3+4))+5 (S+(E+4))+5 (S+(S+4))+5 (S+(S+E))+5 (S+(S))+5 (S+E)+5 (S)+5 E+5 S+E S CuuDuongThanCong.com (1+2+(3+4))+5 (1 +2+(3+4))+5 (1 +2+(3+4))+5 (1+2 +(3+4))+5 (1+2+(3 +4))+5 (1+2+(3 +4))+5 (1+2+(3 +4))+5 (1+2+(3+4 ))+5 (1+2+(3+4 ))+5 (1+2+(3+4) )+5 (1+2+(3+4) )+5 (1+2+(3+4)) +5 (1+2+(3+4))+5 (1+2+(3+4))+5 https://fb.com/tailieudientucntt Phân tích lên (3) S (1+2+(3+4))+5 (E+2+(3+4))+5 (S+2+(3+4))+5 (S+E+(3+4))+5 … • Phân tích lên có nhiều thơng tin phân tích S + E S E ( S ) S + + E ( S ) S + E E E CuuDuongThanCong.com E https://fb.com/tailieudientucntt ... trò phân tích cú pháp (PTCP) Văn phạm ngơn ngữ lập trình Phân tích cú pháp từ xuống Phân tích cú pháp từ lên Bộ sinh PTCP CuuDuongThanCong.com https://fb.com/tailieudientucntt Phương pháp phân tích. .. https://fb.com/tailieudientucntt 4. 1 Phân tích gạt – thu gọn (3) Suy dẫn (1+2+(3 +4) )+5 (1+2+(3 +4) )+5 (1+2+(3 +4) )+5 (E+2+(3 +4) )+5 (S+2+(3 +4) )+5 (S+2+(3 +4) )+5 (S+2+(3 +4) )+5 (S+E+(3 +4) )+5 (S+(3 +4) )+5 (S+(3 +4) )+5 (S+(3 +4) )+5... CuuDuongThanCong.com E https://fb.com/tailieudientucntt Phân tích lên phân tích xuống • Phân tích lên khơng cần sinh tồn suy dẫn q trình phân tích Phân tích xuống Phân tích lên Đã đọc Đã đọc CuuDuongThanCong.com

Ngày đăng: 29/07/2021, 08:21

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan