1. Trang chủ
  2. » Sinh học

Bài giảng Chương trình dịch: Bài 12 - Trương Xuân Nam

10 13 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 452,29 KB

Nội dung

 Khi nhận một kí hiệu đầu vào, bộ phân tích văn phạm cần ngay lập tức quyết định sẽ sử dụng luật sinh nào cho trường hợp này.  Quyết định chọn luật sinh nào cần phải đủ tốt để không [r]

(1)

CHƯƠNG TRÌNH DỊCH

(2)

Nội dung

1 Bộ phân tích cú pháp tất định Tiếp cận top-down

3 Phân tích LL(1)

 FIRST

 FOLLOW

 Bảng phân tích LL(1)  Ví dụ

(3)

Bộ phân tích cú pháp tất định

(4)

Ràng buộc thời gian tính tốn

 Các thuật tốn phân tích vạn (CYK, Earley)

 Phân tích văn phạm phi ngữ cảnh

 Tốc độ chấp nhận được: O(n3) với n độ dài chuỗi vào

 Đối với mã nguồn ngơn ngữ lập trình, giá trị n lên tới vài triệu, tốn phân tích văn phạm trở nên đặc biệt

 Tốc độ chấp nhận gần tuyến tính O(n)  Văn phạm đơn giản, chặt chẽ, đơn nghĩa

(5)

Chiến lược tất định

 Thế “tất định” – ràng buộc độ phức tạp tính tốn O(n), hệ là:

 Khi nhận kí hiệu đầu vào, phân tích văn phạm cần định sử dụng luật sinh cho trường hợp

 Quyết định chọn luật sinh cần phải đủ tốt để khơng phải thử lại phương án khác

 Tính chất “tất định” ~ khơng có quay lui

(6)

Kiến trúc chung: bảng phương án

 Việc lựa chọn phương án suy dẫn dẫn tới yêu cầu cần nghiên cứu trước luật văn phạm có phương án phù hợp tình xảy

 Các thuật tốn phân tích tất định sử dụng kĩ thuật xây dựng trước bảng phương án

 Có nhiều kĩ thuật xây dựng bảng phương án khác ứng với phương pháp tiếp cận khác

(7)(8)

Tiếp cận top-down

(9)

Tiếp cận top-down

 Hãy quan sát q trình thực phân tích top-down chuỗi w = ( ) ( ) văn phạm:

S → ( S ) S | 

 Cần tìm trình suy dẫn S ⇒* w = ( ) ( )

 Ở có non-terminal S  Có terminal “(” “)”

 Bước suy dẫn đầu tiên, S ⇒ ( S ) S ⇒* ( ) ( )

 Vậy bước 2, cần tìm trình S ) S ⇒* ) ( )

(10)

Tiếp cận top-down

Quan sát trình suy dẫn từ α ⇒* w, dễ thấy:

 Nếu α bắt đầu terminal, terminal thiết phải trùng với kí hiệu bắt đầu w, tình ta gạt bỏ kí hiệu chuỗi

 Nếu α bắt đầu non-terminal A, A thiết

phải suy dẫn (trực tiếp gián tiếp) kí hiệu bắt đầu w (w1) 

 Ta dựa văn phạm G để tính A có suy w1 hay khơng?

Ngày đăng: 11/03/2021, 10:34

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w