2009-12-01 27 views
5

LALR (2) có thể xử lý trường hợp khác lúng túng một cách tự nhiên (không có bất kỳ quy tắc đặc biệt nào, như với LALR (1)) không?LALR (2) lơ lửng khác

Cảm ơn

Trả lời

3

Đó là không rõ ràng, tuy nhiên, nó không phải là một vấn đề, bởi vì một bộ phân tích cú pháp LALR hoạt động tốt sẽ giải quyết sự mơ hồ bằng cách chọn thay đổi thay vì lựa chọn giảm. Đây là những gì bạn muốn - "else" được so khớp với câu lệnh "if" trước đó. Vì vậy, kết luận là: không có vấn đề gì. Bạn chỉ cần hiểu lựa chọn mặc định mà trình tạo trình phân tích cú pháp tạo ra cho tất cả các biến thể giảm thiểu sự thay đổi. Mặc định này có thể được ghi đè bằng các quy tắc định hướng hoặc một cái gì đó giống như toán tử "% prec" trong "yacc".
Nhưng đó là một chủ đề nâng cao hơn.

+0

Thông tin tuyệt vời! Tôi đã chấp nhận câu trả lời của bạn thay vì, để được xây dựng hơn. – Flavius

5

Không, vấn đề treo lủng lẳng khác là một sự mơ hồ, vì vậy không có số lượng lookahead giúp.

Các vấn đề liên quan