저는 LR (1) 클로저를 빨리 계산할 수있는 Warshall의 알고리즘을 구현하려고합니다. 그래프의정규 LR (1) 파서 닫음을 결정하기 위해 전이 폐쇄에 대한 Warshall의 알고리즘을 사용하는 방법은 무엇입니까?
- 노드는, LR items 있습니다
A → B • C
- 처럼 가장자리가
A → B • C
에서C → • D
에 시작 "전환"은 다음과 같습니다
나는 내가 (0)이 LR 작동 방식을 이해 생각
문제는 LR (1)은 미리보기 계산이 필요하며 알고리즘에 알고리즘을 통합하는 방법을 알 수 없습니다. 그게.
내가 알고 있더라도 주어진 LR 항목의 전이 폐쇄 I 여전히은 각 항목에 대해 설정된 미리보기가 무엇인지 알아 내기 위해 동일한 계산을 거쳐야합니다.
Warshall의 알고리즘을 사용하여 정규 LR (1) 클로저를 계산할 수 있습니까? 아니면 LR (0), SLR (1) 등과 같이 제한된 경우에만 가능합니까?
+1 감사합니다. 사실 (오랜 시간이 지난 후에) 나는 더 이상 내가 그것을 보았을 때, 내가 개선을 위해 보았던 잠재적 인 공간이 적기 때문에 특정 알고리즘을 사용하지 않았다. 나는 꽤 고통 스러웠지만 자신의 LR (k) 파서 생성기를 만들었다. (모든 k에 대해 작동하지만 문법에 따라 k가 지수 적으로 길어질 수 있습니다.) – Mehrdad