Slide Chương trình dịch (UNIT9) - GV Nguyễn Thị Thu Hương
21/1/2010 Đặc điểm của phương pháp Bài 9. Phương pháp đệ quy trên xuống Sử dụng để phân tích cú pháp cho các văn phạm LL(1) Có thể mở rộng cho văn phạm LL(k), nhưng việc tính toán phức tạp Sử dụng để phân tích văn phạm khác có thể dẫn đến lặp vô hạn Bộ phân tích cú pháp Mô tả chức năng Bao gồm một tập thủ tục, mỗi thủ tục ứng Giả sử mỗi thủ tục hướng tới một đích với một sơ đồ cú pháp (một ký hiệu không kết thúc) Các thủ tục đệ quy : khi triển khai một ký hiệu không kết thúc có thể gặp các ký hiệu không kết thúc khác, dẫn đến các thủ tục gọi lẫn nhau, và có thể gọi trực tiếp hoặc gián tiếp đến chính nó. goupee.com ứng với một sơ đồ cú pháp Tại mỗi thời điểm luôn có một đích được triển khai, kiểm tra cú pháp hết một đoạn nào đó trong văn bản nguồn fb.com/groups/goupee 1 21/1/2010 Thủ tục triển khai một đích Từ sơ đồ thành thủ tục Đối chiếu văn bản nguồn với một đường trên sơ đồ cú pháp Đọc từ tố tiếp Đối chiếu với nút tiếp theo trên sơ đồ Nếu là nút tròn (ký hiệu kết thúc)thì từ tố vừa đọc phải phù hợp với từ tố trong nút Nếu là nút chữ nhật nhãn A (ký hiệu không kết thúc), từ tố vừa đọc phải thuộc FIRST (A) => tiếp tục triển khai đích A Ngược lại, thông báo một lỗi cú pháp tại điểm đang xét Chú ý Bộ phân tích cú pháp KPL Bộ phân tích cú pháp luôn đọc trước một từ tố Xem trước một từ tố cho phép chọn đúng đường đi khi gặp điểm rẽ nhánh trên sơ đồ cú pháp Khi thoát khỏi thủ tục triển khai một đích, có một từ tố đã được đọc dôi ra goupee.com Mỗi nút trên sơ đồ ứng với một thủ tục Các nút xuất hiện tuần tự chuyển thành các câu lệnh kế tiếp nhau. Các điểm rẽ nhánh chuyển thành câu lệnh lựa chọn (if, case) Chu trình chuyển thành câu lệnh lặp (while, do while, repeat. . .) Nút tròn chuyển thành đoạn đối chiếu từ tố Nút chữ nhật chuyển thành lời gọi tới thủ tục khác void error (const char msg[]); int accept(symbol s); // kiểm tra s có phải là symbol không? int expect(symbol s); // kiểm tra s có phải là
… Tải file gốc để đọc toàn bộ tài liệu.
Slide bài giảng về phương pháp phân tích cú pháp đệ quy từ trên xuống (top-down recursive parsing) cho văn phạm LL(1), bao gồm các khái niệm về bộ phân tích cú pháp, thủ tục triển khai đích, và các hàm phân tích thành phần trong ngôn ngữ KPL.
Xem trước tài liệu
Đang tạo bản xem trước...

Bình luận (0)
Chưa có bình luận nào. Hãy là người đầu tiên!