룩 어헤드를 구하기 위해서

핸들이 룰의 마지막에 찍혀 있으면

해당 룰의 기원(origin)을 구해야 한다고 하였다.

그렇다면 간선을 역으로 추적하여 올라가야 하는데

기존에 SHIFT 만 배정한 상태인 ag_table이 바로 간선을 표현하는 역할을 한다.

알고리즘은 어떤 교재에나 딱히 나와있지 않으므로 

그냥 재귀적으로 추적하는 방식으로 만들었다.





10 번 상태는 
아마도 7번 상태에서 Fact 라는 심볼(논터미널) 을 읽고 이동해 온 것일 것이다. 따라서

같은 Fact라는 column 에 대해서 해당 상태번호를 찾고 

또 7번 상태에 대해서 다시 기원을 찾아나간다..

핸들이 맨앞에 찍히는 순간 기원을 찾은것이고 그 상태가 몇번 상태(LR 아이템) 인지 기록한다.
Posted by 멍충한아싸

댓글을 달아 주세요