Trong phương pháp SLR(1), với mỗi item hoàn chỉnh A -> α . trong trạng thái s, ta thêm hành động reduce A -> α vào ô ACTION[s, t] cho mọi ký hiệu kết thúc t thuộc FOLLOW(A). Đây là điểm khác biệt giúp SLR giải quyết nhiều trường hợp mà LR(0) không xử lý được.
Cho văn phạm (để đánh số luật), các tập FOLLOW, và mô tả các trạng thái (tập item), hãy sinh ra các mục reduce của bảng ACTION.
Nếu state 2 có item E -> T . (luật 2) và FOLLOW(E) = { + $ }, ta thêm 2 + r2 và 2 $ r2.
Dòng đầu n rồi n luật sinh. Dòng tiếp nf rồi nf dòng A: t1 t2 ... (FOLLOW). Dòng tiếp ns rồi với mỗi trạng thái: một dòng id k rồi k item.
1 ≤ n ≤ 30, 1 ≤ ns ≤ 50. Ký hiệu không kết thúc là chữ in hoa.
In các mục reduce dạng <state> <terminal> r<rule>, sắp xếp tăng dần theo (state, terminal, rule), bỏ trùng. Nếu không có in NONE.
Ví dụ:
Đầu vào:
2
E -> E + T
E -> T
1
E: + $
1
2 1
E -> T .
Đầu ra:
2 $ r2
2 + r2
Giải thích:
Đang tải editor...