쉘로우 백트래킹을 사용한 Prolog 컴파일러의 최적화
暂无分享,去创建一个
Prolog은 전통적인 컴퓨터 구조 상에서 수행되기 쉽지 않으므로 수행을 위한 가상 기계로써 WAM (Warren Abstract Machine) 이 제안되었다. 대부분의 Prolog 컴파일러는 WAM 코드를 기계어코드로 변환하거나 에뮬레이션하여 수행하는데 이러한 방법은 각각 이식성과 효율성에 문제가 있다. 이를 해결하기 위하여 WAM 코드를 C로 변환하는 컴파일러가 제시되었는데 대표적인 컴파일러로 프랑스 INRIA에서 개발된 wamcc 컴파일러를 들 수 있다. 그러나 이 컴파일러의 성능은 Prolog 최적화보다 생성된 C 코드의 최적화에 의존하고 있으므로 성능 개선의 여지가 있다. 본 논문에서는 Prolog 최적화 방법의 하나로서 쉘로우 백트래킹 최적화를 적용하여 이 컴파일러의 성능을 향상시킨다. 특히 지금까지 [1,2]에서 제시된 두 가지 최적화 방법을 구현하여 그 성능을 비교한다.