JavaScript is required

FOLLOW(S), với S là ký hiệu bắt đầu của một văn phạm bất kỳ thì FOLLOW(S) luôn luôn bao gồm ký hiệu nào?

A.

A. dollar

B.

B. 1

C.

C. 0

D.

D. 0,1, dollar

Trả lời:

Đáp án đúng: A


Trong lý thuyết phân tích cú pháp, khi xây dựng các bảng phân tích (parsing tables) cho các văn phạm, đặc biệt là trong các phương pháp phân tích từ trên xuống (top-down parsing) như LL(1), tập FOLLOW(S) đóng vai trò quan trọng. FOLLOW(S) là tập hợp các terminal có thể xuất hiện ngay sau ký hiệu không kết thúc (non-terminal) S trong một số dẫn xuất của văn phạm.

Đối với ký hiệu bắt đầu S của văn phạm, theo quy ước, tập FOLLOW(S) luôn luôn chứa ký hiệu '$' (dollar), biểu thị cho ký hiệu kết thúc chuỗi nhập (end-of-input marker). Điều này có nghĩa là sau khi S dẫn xuất ra một chuỗi các ký hiệu, ký hiệu '$' sẽ đánh dấu sự kết thúc của chuỗi đó.

Vì vậy, đáp án đúng là: A. dollar

Câu hỏi liên quan