JavaScript is required

Phương pháp phân tích cú pháp “Shift reduce” là

A.

A. Phân tích từ trên xuống

B.

B. Phân tích từ dưới lên

C.

C. Có thể phân tích từ trên xuống hoặc từ dưới lên

D.

D. Phân tích thu gọn

Trả lời:

Đáp án đúng: B


Phương pháp phân tích cú pháp "Shift reduce" là một phương pháp phân tích từ dưới lên. Trong phương pháp này, chúng ta bắt đầu từ các token (từ vựng) của ngôn ngữ và cố gắng "shift" (đẩy) chúng vào một stack, sau đó "reduce" (rút gọn) các token trên stack thành các non-terminal theo các luật sinh của ngữ pháp. Quá trình này tiếp tục cho đến khi stack chỉ còn lại non-terminal gốc (start symbol), hoặc không thể thực hiện thêm thao tác nào nữa. Vì vậy, đáp án B là đáp án chính xác. Đáp án D "Phân tích thu gọn" là một cách diễn đạt khác của phân tích từ dưới lên, tuy nhiên đáp án B chính xác hơn khi chỉ rõ đây là phương pháp "từ dưới lên". Đáp án A "Phân tích từ trên xuống" là một phương pháp khác biệt, bắt đầu từ non-terminal gốc và cố gắng suy dẫn ra chuỗi token. Đáp án C không đúng vì phương pháp Shift reduce chỉ thuộc loại phân tích từ dưới lên.

Câu hỏi liên quan