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

Tài liệu GÔN NGỮ và PHƯƠNG PHÁP DỊCH - Chương 3: Phân tích cú pháp potx

170 4,1K 23

Đ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

Tiêu đề Phân Tích Cú Pháp
Tác giả Phạm Đăng Hải
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Ngôn Ngữ và Phương Pháp Dịch
Thể loại Tài liệu
Năm xuất bản 2014
Thành phố Hà Nội
Định dạng
Số trang 170
Dung lượng 1,41 MB

Nội dung

IT4073:NGÔN NGỮ PHƯƠNG PHÁP DỊCH Phạm Đăng Hải haipd@soict.hut.edu.vn 2 02/24/14 Chương 3: Phân tích pháp 1. Bài toán phân tích pháp 2. Phương pháp phân tích pháp quay lui 3. Phương pháp phân tích bảng 4. Phương pháp phân tích pháp tất định 5. Phân tích pháp cho PL/0 3 02/24/14 Bài toán đặt ra Cho – Văn phạm phi ngữ cảnh G G = (V T , V N , P, S) – Xâu ω V * T Hỏi – ω∈ L(G)? Nếu ω ∈ L(G) – Chỉ ra các sản xuất đã sử dụng để sinh ra ω – Cấu trúc nên cây suy dẫn 1. Bài toán phân tích pháp Trong chương trình dịch, xâu ω là chuỗi các token thu được từ giai đoạn trước – phân tích từ vựng Program Vidu; Begin X := 10 End. PROGRAM IDENT SEMICOLON BEGIN IDENT ASSIGN NUMBER END PERIOD 4 02/24/14 Phương pháp phân tích • Kiểm tra xâu phân tích từ trái qua phải – Kiểm tra ký hiệu trái nhất của xâu cần phân tích – Tới ký hiệu tiếp, Cho tới ký hiệu cuối cùng • Phương pháp xây dựng cây phân tích – Trên xuống (Top-down): S ⇒ * ω? – Dưới lên (Bottom-up): ω * ⇐ S? • Phương pháp lựa chọn sản xuất (A → α1|…|αn) – Quay lui (backtracking) • Thử lần lượt các sản xuất – Tất định (deterministic) • Xác định được duy nhất một sản xuất thích hợp 1. Bài toán phân tích pháp 5 02/24/14 Phân tích trái • Phân tích trái của xâu α là dãy các sản xuất được sử dụng trong suy dẫn trái từ S ra α • Các sản xuất được đánh số thứ tự 1, p – Phân tích là danh sách các số từ 1 đến p • Ví dụ cho văn phạm 1. E → T+E 2. E → T 3. T → F* T 4. T → F 5. F → (E) 6. F → a Phân tích trái của xâu a*(a+a) là 23645146246 1. Bài toán phân tích pháp Xét xâu a*(a+a) E ⇒ 2 T ⇒ 3 F*T ⇒ 6 a*T ⇒ 4 a*F ⇒ 5 a*(E) ⇒ 1 a*(T+E) ⇒ 4 a*(F+E) ⇒ 6 a*(a+E) ⇒ 2 a*(a+T) ⇒ 4 a*(a+F) ⇒ 6 a*(a+a) 6 02/24/14 Chương 3: Phân tích pháp 1. Bài toán phân tích pháp 2. Phương pháp phân tích pháp quay lui 3. Phương pháp phân tích bảng 4. Phương pháp phân tích pháp tất định 5. Phân tích pháp cho PL/0 7 02/24/14 Giới thiệu • Tư tưởng chủ yếu của giải thuật – Xây dựng cây phân tích pháp (cây suy dẫn) cho xâu ω • Thuật toán Top-down – Đi từ nút gốc tới nút lá • Thuật toán Bottom –up – Quá trình phân tích gạt thu gọn 2. Phương pháp phân tích quay lui 8 02/24/14 Phân tích Top-down Cho VPPNC G = (VT, VN, P, S) ∀ sản xuất A → α1|…|αn được đánh số 1, 2, Xây dựng cây phân tích cho xâu ω : 1. Khởi tạo - Xây dựng cây chỉ có một nút gốc S - S (Start symbol): Ký hiệu khởi đầu - Gọi ký hiệu cần phân tích là ký hiệu đầu tiên của xâu ω - Gọi S là nút hoạt động, 2. Phương pháp phân tích quay lui 9 02/24/14 Phân tích Top-down 2. Tạo các nút con của cây (một cách đệ quy)  Nút hoạt động là ký hiệu không kết thúc A – Chọn sản xuất đầu tiên của A chưa được áp dụng: A →X 1 X 2 . . . .X k (k ≥0) – Tạo k con trực tiếp của A với nhãn X 1 , X 2 , X k – Nếu k > 0, Lấy X 1 làm nút hoạt động – Nếu k = 0, (sản xuất A → ε ), lấy nút bên phải (ngay sau) A là nút hoạt động Tiếp tục thực hiện bước 2 2. Phương pháp phân tích quay lui 10 02/24/14 Phân tích Top-down 2. Tạo các nút con của cây (một cách đệ quy)  Nút hoạt động là ký hiệu kết thúc a - So sánh a với ký hiệu cần phân tích hiện tại – Nếu trùng nhau • Nút hoạt động là nút bên phải của a • Ký hiệu cần phân tích là ký hiệu tiếp theo trên xâu vào – Nếu không trùng nhau • Quay lại bước đã sử dụng một sản xuất thử sản xuất tiếp. – Nếu đã hết khả năng, quay lại bước trước 2. Phương pháp phân tích quay lui [...]... 32 2 Phương pháp phân tích quay lui Phân tích quay lui với PL/0 • • • Cài đặt phức tạp Chi phí thời gian quá lớn nếu chương trình phải phân tích gồm nhiều ký hiệu (từ tố) Không thể thông báo lỗi chi tiết 02/24/14 33 Chương 3: Phân tích pháp 1 Giới thiệu 2 Phương pháp phân tích pháp quay lui 3 Phương pháp phân tích bảng 4 Phương pháp phân tích pháp tất định 5 Xây dựng bộ phân tích pháp cho...2 Phương pháp phân tích quay lui Phân tích Top-down 3 Điều kiện dừng - Đã áp dụng hết khả năng mà không tạo được cây ⇒Xâu không được đoán nhận - Tạo ra cây suy dẫn cho xâu vào 02/24/14 11 2 Phương pháp phân tích quay lui Phân tích Top-down  Điều kiện áp dụng thuật toán - Văn phạm không đệ quy trái  Chi phí (n = l(ω); C, K > 1 là các hằng số) - Bộ nhớ C*n - Thời gian Kn 02/24/14 12 2 Phương pháp phân. .. 2 Phương pháp phân tích quay lui Phân tích Bottom-up → Ví dụ Văn phạm S → aSbS|aS|c, xâu ω = aacbc a a c b c End Stack 02/24/14 25 2 Phương pháp phân tích quay lui Phân tích Bottom-up  Điều kiện áp dụng thuật toán - Văn phạm không chứa sản xuất dạng A → ε hoặc A ⇒+ A  Chi phí (n = l(ω); C, K > 1 là các hằng số) - Bộ nhớ C*n - Thời gian Kn 02/24/14 26 2 Phương pháp phân tích quay lui Giải thuật phân. .. Phương pháp phân tích quay lui Phân tích Bottom-up - Sử dụng chu trình phân tích phải, thông qua tất cả các suy dẫn phải có thể theo chiều ngược lại phù hợp với xâu vào - Là quá trình gạt-thu gọn (shift – reduce) - Thuật toán sử dụng stack S, dùng chứa các ký hiệu của văn phạm đã sinh ra một tiền tố nào đó trên xâu vào 02/24/14 23 2 Phương pháp phân tích quay lui Phân tích Bottom-up Hoạt động - Xét tất... Giải thuật phân tích Top-down quay lui (1/8) Vào – Văn phạm phi ngữ cảnh không đệ quy trái – xâu cần phân tích ω = a1 an, n ≥ 0 – Các sản xuất của G được đánh số 1, ,q Ra – Một phân tích trái cho ω (nếu có) – Thông báo lỗi nếu ngược lại Quy ước ∀ A ∈ VN , giả sử A → α1 | α2 | | αn Coi các sản xuất trên là A1 → α1 An → αn 02/24/14 15 2 Phương pháp phân tích quay lui Giải thuật phân tích Top-down quay... PL/0 02/24/14 34 3 Phương pháp phân tích tất định Giới thiệu • • Áp dụng với lớp văn phạm phi ngữ cảnh Chi phí: (n :đô dài xâu cần phân tích) – n3 về thời gian – n2 về mặt bộ nhớ – Nếu văn phạm đơn nghĩa: n2 về thời gian • Phương pháp 1 Giải thuật CYK (Cocke-Younger-Kasami) 2 Giải thuật Earley 02/24/14 35 3 Phương pháp phân tích tất định Giải thuật CYK • Điều kiện áp dụng – Văn phạm phi ngữ cảnh ở dạng... quay lui Giải thuật phân tích Bottom-Up quay lui Chấp nhận (q, n+1, #S, γ) | ( t, n+1, #S, γ) – Đã đọc hết xâu vào thu gọn về S – Tính phân tích phải bởi thực hiện h(α) • h(s) = ε • h(j) = j với j là số thứ tự sản xuất Quay lui trên xâu vào Nếu α ≠ #S Thực hiện quay lui (q, n+1, α, γ) | ( b, n+1, α, γ) 02/24/14 29 2 Phương pháp phân tích quay lui Giải thuật phân tích Bottom-Up quay lui • Quay... của P không còn lựa chọn nào khác của xâu αβ thì • Hủy thu gọn j (A→β), • Gạt ai vào D1 đặt s vào D2 rồi tiếp tục thu gọn • Quay lui 4 (b, i, αa, sγ) | ( b, i -1 , α, γ) – Nếu đỉnh D2 là ký hiệu gạt mọi lựa chọn ở vị trí i đã hết, hoạt động gạt bị tự hủy • Đầu đọc dịch trái 1 đơn vị • Loại bỏ ký hiệu a khỏi D1 s khỏi D2 02/24/14 31 2 Phương pháp phân tích quay lui Phân tích Bottom-Up quay... pháp phân tích quay lui Phân tích Top-down → Ví dụ Văn phạm S → aSbS|aS|c, xâu ω = aacbc Đánh số sản xuất 1 S → aSbS 2 S → aS 3 S → c a a 02/24/14 b c End b S S S a Đánh số sản xuất 1 S → c 2 S → aS 3 S → aSbS c a S c c 13 2 Phương pháp phân tích quay lui Phân tích Top-down → Bài tập Cho văn phạm E → T+E |T T → F*T |F F → (E) |a Xây dựng cây suy dẫn cho xâu a+a 02/24/14 14 2 Phương pháp phân tích quay... 20 2 Phương pháp phân tích quay lui Giải thuật phân tích Top-down quay lui (7/8) Kết thúc thành công – (q, n+1, α, # ) | (t, n+1, α, ε) – Kết kuận: Xâu đã được đoán nhận – Để tìm phân tích trái, thực hiện hàm h(α) Tìm phân tích trái – h(a) = ε ∀a là ký hiệu kết thúc – h(Ai)= p , Với p là số hiệu của sản xuất liên hệ với sản xuất A→ γ với γ là lựa chọn thứ i của A 02/24/14 21 2 Phương pháp phân tích . 6 02/24/14 Chương 3: Phân tích cú pháp 1. Bài toán phân tích cú pháp 2. Phương pháp phân tích cú pháp quay lui 3. Phương pháp phân tích bảng 4. Phương pháp phân tích. IT4073:NGÔN NGỮ và PHƯƠNG PHÁP DỊCH Phạm Đăng Hải haipd@soict.hut.edu.vn 2 02/24/14 Chương 3: Phân tích cú pháp 1. Bài toán phân tích cú pháp 2. Phương pháp

Ngày đăng: 24/02/2014, 07:20

HÌNH ẢNH LIÊN QUAN

1. Bài toán phân tích cú pháp - Tài liệu GÔN NGỮ và PHƯƠNG PHÁP DỊCH - Chương 3: Phân tích cú pháp potx
1. Bài toán phân tích cú pháp (Trang 2)
3. Phương pháp phân tích bảng - Tài liệu GÔN NGỮ và PHƯƠNG PHÁP DỊCH - Chương 3: Phân tích cú pháp potx
3. Phương pháp phân tích bảng (Trang 2)
3. Phương pháp phân tích bảng - Tài liệu GÔN NGỮ và PHƯƠNG PHÁP DỊCH - Chương 3: Phân tích cú pháp potx
3. Phương pháp phân tích bảng (Trang 6)
 Hình trạng ban đầu (q,1, ε, S#) - Tài liệu GÔN NGỮ và PHƯƠNG PHÁP DỊCH - Chương 3: Phân tích cú pháp potx
Hình tr ạng ban đầu (q,1, ε, S#) (Trang 17)
– Bắt đầu từ hình trạng đầu, tính liên tiếp các hình trạng tiếp theo cho đến khi khơng tính  được nữa. - Tài liệu GÔN NGỮ và PHƯƠNG PHÁP DỊCH - Chương 3: Phân tích cú pháp potx
t đầu từ hình trạng đầu, tính liên tiếp các hình trạng tiếp theo cho đến khi khơng tính được nữa (Trang 18)
Hình trạng của giải thuật Bộ bốn (s, i, α, β) - Tài liệu GÔN NGỮ và PHƯƠNG PHÁP DỊCH - Chương 3: Phân tích cú pháp potx
Hình tr ạng của giải thuật Bộ bốn (s, i, α, β) (Trang 27)
3. Phương pháp phân tích bảng - Tài liệu GÔN NGỮ và PHƯƠNG PHÁP DỊCH - Chương 3: Phân tích cú pháp potx
3. Phương pháp phân tích bảng (Trang 34)
– Tạo bảng phân tích tam giác theo xâu cần phân tích - Tài liệu GÔN NGỮ và PHƯƠNG PHÁP DỊCH - Chương 3: Phân tích cú pháp potx
o bảng phân tích tam giác theo xâu cần phân tích (Trang 36)
• Bảng dữ liệ uT dạng ma trận tam giác dưới, phụ thuộc xâu cần phân tích - Tài liệu GÔN NGỮ và PHƯƠNG PHÁP DỊCH - Chương 3: Phân tích cú pháp potx
Bảng d ữ liệ uT dạng ma trận tam giác dưới, phụ thuộc xâu cần phân tích (Trang 40)
Giải thuật CYK→Xây dựng bảng - Tài liệu GÔN NGỮ và PHƯƠNG PHÁP DỊCH - Chương 3: Phân tích cú pháp potx
i ải thuật CYK→Xây dựng bảng (Trang 41)
Giải thuật CYK→Xây dựng bảng→Ví dụ - Tài liệu GÔN NGỮ và PHƯƠNG PHÁP DỊCH - Chương 3: Phân tích cú pháp potx
i ải thuật CYK→Xây dựng bảng→Ví dụ (Trang 42)
Giải thuật CYK→Xây dựng bảng→Ví dụ - Tài liệu GÔN NGỮ và PHƯƠNG PHÁP DỊCH - Chương 3: Phân tích cú pháp potx
i ải thuật CYK→Xây dựng bảng→Ví dụ (Trang 42)
• Là quá trình ngược với xây dựng bảng - Tài liệu GÔN NGỮ và PHƯƠNG PHÁP DỊCH - Chương 3: Phân tích cú pháp potx
qu á trình ngược với xây dựng bảng (Trang 43)
3. Phương pháp phân tích bảng - Tài liệu GÔN NGỮ và PHƯƠNG PHÁP DỊCH - Chương 3: Phân tích cú pháp potx
3. Phương pháp phân tích bảng (Trang 61)
Phân tích xem trước →Hình trạng thuật tốn - Tài liệu GÔN NGỮ và PHƯƠNG PHÁP DỊCH - Chương 3: Phân tích cú pháp potx
h ân tích xem trước →Hình trạng thuật tốn (Trang 108)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w