1. Trang chủ
  2. » Ngoại Ngữ

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

10 21 0

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

THÔNG TIN TÀI LIỆU

Bài 9: Phân tích văn phạm bằng thuật toán bottom-up.4. Cài đặt bottom-up đơn giản.[r]

(1)

CHƯƠNG TRÌNH DỊCH

(2)

Nội dung

1. Ý tưởng & thuật toán

2. Ví dụ minh họa

3. Cài đặt bottom-up đơn giản

 Cấu trúc luật văn phạm

 Cấu trúc suy diễn trực tiếp

 Máy phân tích: hàm hỗ trợ

 Máy phân tích: hàm

4. Đánh giá bottom-up

(3)

Ý tưởng & thuật toán

(4)

Bottom-up: ý tưởng

 Cho văn phạm G với luật sinh:

S → E + S | E

E → | | | | | ( S )

 Xâu vào: W = (1 + + (3 + 4)) +

 Thu gọn W thành S:

( + + ( + ) ) +  ( E + + ( + ) ) + 

( E + E + ( + ) ) +  ( E + E + ( E + ) ) + 

( E + E + ( E + E ) ) +  ( E + E + ( E + S ) ) + 

( E + E + ( S ) ) +  ( E + E + E ) + 

( E + E + S ) +  ( E + S ) +  ( S ) + 

(5)

Bottom-up: mục tiêu & ý tưởng

Mục tiêu: số nhiều suy dẫn dạng S * w, thuật tốn tìm suy dẫn phải

Ý tưởng chính:

 Thử sai quay lui lực tính tốn máy tính

 Dị ngược q trình suy dẫn w  wn-1  …  w1  S kĩ thuật thu-gọn: tìm xem wi có chứa vế phải luật hay khơng, có thay phần vế phải vế trái tương ứng

(6)

Bottom-up: thuật toán

1. A = w

2. Với chuỗi A đạt trình lần ngược:

 Nếu A = “S”:

• Kết luận: q trình tìm kiếm thành cơng

• Lưu lại kết (chuỗi biến đổi từ đầu để A)

• Kết thúc q trình tìm kiếm

 * Duyệt tất luật sinh dạng x → α, α chuỗi A thì:

• Áp dụng thu-gọn: α A x, ta A’

• Thử bước với chuỗi A = A’

(7)

Ví dụ minh họa

(8)

Bottom-up: ví dụ

Cho tập luật S → AB, A → ab, B → aba Chỉ trình thu gọn chuỗi w = ababa

 …

 Áp dụng luật A → ab, thu gọn ababa  Aaba

(9)

Bottom-up: ví dụ

 Áp dụng luật A → ab, thu gọn Aaba  AAa

 Đến nhánh ngưng khơng thu gọn tiếp

được nữa

(10)

Bottom-up: ví dụ

 Áp dụng luật S → AB, thu gọn AB  S

 Đến điều kiện A = “S” xảy ra:

 Thuật tốn dừng, kết luận thu gọn thành cơng

Ngày đăng: 01/04/2021, 11:29

Xem thêm:

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

TÀI LIỆU LIÊN QUAN

w