Tôi đang cố gắng triển khai thuật toán của Warshall để tính nhanh các kết quả LR (1).Làm cách nào để sử dụng thuật toán của Warshall cho việc đóng cửa chuyển tiếp để xác định đóng cửa phân tích cú pháp LR (1) chuẩn tắc?
tôi nghĩ Tôi hiểu cách thức hoạt động cho LR (0):
- Các nút của đồ thị là LR items, như
A → B • C
- Các cạnh là "chuyển tiếp" bắt đầu từ
A → B • C
đểC → • D
Vấn đề là, LR (1) yêu cầu tính toán các lookaheads và tôi không thể tìm ra cách kết hợp chúng vào algori thm.
Dường như với tôi rằng ngay cả khi tôi biết việc đóng cửa chuyển tiếp của bất kỳ mục LR nào, tôi vẫn cần phải thực hiện tất cả tính toán giống nhau để tìm hiểu xem bộ tính năng được đặt cho từng mục là gì.
Thậm chí có thể sử dụng thuật toán của Warshall để tính toán các đóng gói LR (1) hay chỉ có thể cho các trường hợp bị hạn chế hơn (như LR (0), SLR (1), v.v.)?
+1 cảm ơn! Trên thực tế (một thời gian dài sau đó) tôi đã kết thúc không sử dụng bất kỳ thuật toán cụ thể bởi vì còn tôi nhìn vào nó, phòng ít tiềm năng tôi thấy để cải thiện. Tôi đã tạo ra máy phát điện phân tích LR (k) của riêng mình, mặc dù nó khá đau đớn! (Nó hoạt động cho mọi k, nhưng nó có thể mất nhiều thời gian theo k theo số mũ tùy thuộc vào ngữ pháp.) – Mehrdad