Trong phương pháp “Phân tích dự đoán không đệ qui” thì ký hiệu ‘dollar’ là
Đáp án đúng: C
Câu hỏi liên quan
Các phương án khác không đúng vì:
- Phương án B chỉ chứa các ký hiệu kết thúc của văn phạm, không phải là chuỗi đầu vào cần phân tích.
- Phương án C chứa cả ký hiệu kết thúc và không kết thúc, nhưng không phải là bộ đệm đầu vào mà là tập hợp các ký hiệu trong văn phạm.
- Phương án D là các luật sinh của văn phạm, không phải là đầu vào cần phân tích.
Để tìm Follow(B), ta cần xem xét các luật sinh có B ở vế phải:
- S -> AB
Theo định nghĩa, Follow(B) chứa tất cả các terminal có thể theo sau B trong một chuỗi dẫn xuất từ văn phạm. Trong trường hợp này, B xuất hiện ở cuối luật sinh S -> AB. Do đó, Follow(B) sẽ chứa tất cả các terminal thuộc Follow(S). Vì S là ký hiệu bắt đầu, Follow(S) chứa '$' (ký hiệu kết thúc chuỗi). Mặt khác, B có thể không xuất hiện ở cuối chuỗi dẫn xuất (ví dụ: S -> A), nên Follow(B) chỉ chứa các terminal theo sau B trong các luật sinh khác, hoặc Follow(S) nếu B ở cuối. Trong luật S -> AB, nếu A có thể dẫn xuất ra chuỗi rỗng (epsilon), thì Follow(B) sẽ chứa Follow(S). Vì A -> aA | epsilon, A có thể dẫn xuất ra epsilon. Do đó Follow(B) chứa Follow(S) = {$}
Tuy nhiên, ta cũng cần xét xem có luật sinh nào khác mà B xuất hiện ở vế phải không. Ở đây không có, nên Follow(B) = {$}
Câu hỏi yêu cầu tìm FIRST(D) trong văn phạm đã cho. FIRST(D) là tập hợp các terminal có thể xuất hiện đầu tiên khi dẫn xuất từ D.
Theo luật sinh D → a hoặc D → d, các terminal có thể xuất hiện đầu tiên khi dẫn xuất từ D là 'a' và 'd'. Ngoài ra, vì D có thể dẫn xuất ra 'a' hoặc 'd' trực tiếp nên tập FIRST(D) không chứa epsilon. Do đó, FIRST(D) = {a, d}.
Tuy nhiên, cần xem xét thêm các luật dẫn xuất. Vì D có thể dẫn xuất ra a hoặc d, nên FIRST(D) = {a, d}. Các đáp án A, B và D đều không chính xác.
Đáp án C là { a, d, epsilon }, tuy nhiên, D không dẫn xuất ra epsilon, nên epsilon không thuộc FIRST(D)
Trong trường hợp này, không có đáp án nào đúng, tuy nhiên đáp án C là gần đúng nhất nếu bỏ epsilon
Để tìm FOLLOW(C), ta xét các luật sinh có C ở vế phải.
- A → BC
- A → DBC
Từ A → BC, theo định nghĩa FOLLOW, FOLLOW(C) chứa FOLLOW(A).
Từ A → DBC, theo định nghĩa FOLLOW, FOLLOW(C) chứa FOLLOW(A).
Ta cần tìm FOLLOW(A):
- S → A, suy ra FOLLOW(A) chứa $ (ký hiệu kết thúc chuỗi).
Vậy FOLLOW(C) = { $ }.
Follow(S) là tập hợp các terminal có thể xuất hiện ngay sau S trong một chuỗi dẫn xuất.
Vì S là ký hiệu bắt đầu, '$' (ký hiệu kết thúc chuỗi) luôn thuộc Follow(S).
Vậy, Follow(S) = { $ }

Bộ Đồ Án Tốt Nghiệp Ngành Trí Tuệ Nhân Tạo Và Học Máy

Bộ 120+ Đồ Án Tốt Nghiệp Ngành Hệ Thống Thông Tin

Bộ Đồ Án Tốt Nghiệp Ngành Mạng Máy Tính Và Truyền Thông

Bộ Luận Văn Tốt Nghiệp Ngành Kiểm Toán

Bộ 370+ Luận Văn Tốt Nghiệp Ngành Kế Toán Doanh Nghiệp

Bộ Luận Văn Tốt Nghiệp Ngành Quản Trị Thương Hiệu
ĐĂNG KÝ GÓI THI VIP
- Truy cập hơn 100K đề thi thử và chính thức các năm
- 2M câu hỏi theo các mức độ: Nhận biết – Thông hiểu – Vận dụng
- Học nhanh với 10K Flashcard Tiếng Anh theo bộ sách và chủ đề
- Đầy đủ: Mầm non – Phổ thông (K12) – Đại học – Người đi làm
- Tải toàn bộ tài liệu trên TaiLieu.VN
- Loại bỏ quảng cáo để tăng khả năng tập trung ôn luyện
- Tặng 15 ngày khi đăng ký gói 3 tháng, 30 ngày với gói 6 tháng và 60 ngày với gói 12 tháng.