JavaScript is required

Phân tích cú pháp dự đoán không đệ qui cần:

A.

A. Duy trì một Stack và không cần ngầm định qua các lời gọi đệ quy.

B.

B. Ngầm định qua các lời gọi đệ quy.

C.

C. Được thiết kế dựa trên sơ đồ dịch cho các ký hiệu chưa kết thúc trong văn phạm

D.

D. Các luật sinh dạng A->aA; A->b

Trả lời:

Đáp án đúng: A


Phân tích cú pháp dự đoán không đệ quy (hay còn gọi là phân tích cú pháp LL(1)) sử dụng một stack để lưu trữ các ký hiệu chưa kết thúc và các ký hiệu kết thúc cần khớp với chuỗi đầu vào. Nó không sử dụng đệ quy ngầm định thông qua các lời gọi hàm đệ quy như trong phân tích cú pháp đệ quy xuống dòng. Thay vào đó, nó dựa vào một bảng phân tích (parsing table) để xác định hành động cần thực hiện dựa trên ký hiệu ở đỉnh stack và ký hiệu đầu vào hiện tại. Phương án A mô tả chính xác đặc điểm này. Phương án B sai vì phân tích cú pháp dự đoán không đệ quy không sử dụng đệ quy ngầm định. Phương án C không hoàn toàn chính xác. Mặc dù bảng phân tích được thiết kế dựa trên văn phạm, nó không chỉ dành riêng cho các ký hiệu chưa kết thúc. Bảng phân tích bao gồm cả ký hiệu kết thúc và chưa kết thúc. Phương án D không liên quan trực tiếp đến yêu cầu của phân tích cú pháp dự đoán không đệ quy. Dạng luật sinh được đề cập liên quan đến việc khử đệ quy trái.

Câu hỏi liên quan