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

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

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

Thông tin tài liệu

 Nếu kí hiệu trung gian được chọn để biến đổi luôn là trái nhất của α thì ta gọi phương án này là suy dẫn trái.  Định nghĩa tương tự cho suy dẫn phải.[r]

(1)

CHƯƠNG TRÌNH DỊCH

(2)

1. Suy dẫn

2. Biểu diễn suy dẫn cấu trúc cây

3. Văn phạm có nhập nhằng

4. Các chiến lược phân tích cú pháp

 Chiến lược thử-sai (quay lui): top-down, bottom-up

 Chiến lược quy hoạch động: CYK, Earley,…

(3)

Suy dẫn

(4)

 Khái niệm: αAβ ⇒ αγβ (gọi αAβ suy dẫn αγβ)

nếu A → γ luật sinh, α β chuỗi ký hiệu thuộc ngơn ngữ L đó

 Nếu α1 ⇒ α2 ⇒ … ⇒ αn ta nói α1 suy dẫn αn

 Hệ thống kí hiệu:

⇒ suy dẫn trực tiếp

⇒* suy dẫn qua nhiều bước

⇒+ suy dẫn qua nhiều bước

 Một số tính chất:

 α ⇒* α với ∀α

(5)

Suy dẫn trái suy dẫn phải

 Bài tốn phân tích cú pháp thực chất tốn tìm chuỗi suy dẫn S ⇒* α ⇒* β, đó:

 S kí hiệu gốc

 α chuỗi có chứa kí hiệu trung gian

 β chuỗi gồm kí hiệu kết thúc

 Dễ nhận thấy trình suy dẫn trên:

 Có nhiều phương án suy dẫn từ S thành β

 Một kí hiệu trung gian thuộc α trước sau phải bị biến đổi luật sinh

 Nếu kí hiệu trung gian chọn để biến đổi ln trái α ta gọi phương án suy dẫn trái

(6)

 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)) + 5

 Suy dẫn trái từ S thành W sau:

S  E + S  ( S ) + S  ( E + S ) + S  ( + S ) + S  ( + E + S ) + S  ( + + S ) + S

 ( + + E ) + S  ( + + ( S ) ) + S

 ( + + ( E + S ) ) + S  ( + + ( + S ) ) + S  ( + + ( + E ) ) + S  ( + + ( + ) ) + S

(7)

Suy dẫn trái suy dẫn phải

 Suy dẫn phải từ S thành W sau:

S  E + S  E + E  E +  ( S ) +  ( E + S ) +  ( E + E + S ) +  ( E + E + E ) + 5

 ( E + E + ( S ) ) +  ( E + E + ( E + S ) ) + 5

 ( E + E + ( E + E ) ) +  ( E + E + ( E + ) ) +  ( E + E + ( + ) ) +  ( E + + ( + ) ) +  ( + + ( + ) ) +

Câu hỏi: qua ví dụ q trình biến đổi từ S thành W, nên sử dụng cách mã hóa để

(8)

Biểu diễn suy dẫn cấu trúc cây

(9)

Cây phân tích (parse tree)

 Cây phân tích thể cấu trúc của suy dẫn

 Nút gốc kí hiệu bắt đầu

 Các nút kí hiệu kết thúc

 Các nút ln kí hiệu trung gian

 Cây khơng thể thứ tự thực suy dẫn trực tiếp

• Việc duyệt tạo thành thứ tự thực suy dẫn

• Suy dẫn trái tương đương với trình

S

E + S

E

( S )

E + S

E + S

E

( S )

E + S

2

3

(10)

 Cây cú pháp trừu tượng (abstract syntax tree) loại bỏ thông tin khơng cần thiết phân tích

 Minh họa q trình nhóm kí hiệu với

 Thích hợp với việc thực tính tốn tổ hợp thông tin

E + S

E

( S )

E + S

E + S

E

( S )

E + S

Ngày đăng: 31/03/2021, 23:21

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

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

Tài liệu liên quan