Prolog-C 연동 소개

Prolog-C 연동 소개

외부 코드 인터페이스의 개요를 설명해요.

출처: GNU Prolog Manual - Introduction

본문

외부 코드 인터페이스를 사용하면 Prolog와 C를 양방향으로 연결할 수 있어요. Prolog 술어는 다양한 종류의 인자(입력, 출력 또는 입출력)를 전달하며 C 함수를 호출할 수 있어요. 인터페이스는 단순한 유형에 대해 암시적 Prolog ↔ C 데이터 변환을 수행해요(예: Prolog 정수는 자동으로 C 정수로 변환) 그리고 더 복잡한 유형(리스트 또는 구조체)을 변환하는 API(응용 프로그래밍 인터페이스) 함수 집합을 제공해요. 인터페이스는 전달된 인자의 실제 유형에 따라 자동 오류 감지도 수행해요.

중요한 기능은 C에서 비결정적(non-deterministic) 코드를 작성하는 능력이에요. 또한 C 함수에서 Prolog 술어를 호출(콜백)하고 Prolog 비결정성을 관리하는 것도 가능해요: C 코드는 다음 해를 요청하고, 남은 모든 해를 제거하거나, 호출하는 Prolog 술어에 대한 대안을 유지하면서 종료할 수 있어요.

더 알아보기