Есть ли инструмент, который может автоматически генерировать вызываемый интерфейс Prolog из функций C?

Так что в основном я использую Prolog для вызова большого количества функций на C, используя GNU-Prolog.

Вот пример:

int add(int a, int b)
{
int res = a + b;

return res;
}

Если я хочу вызвать эту функцию из кода Пролога, мне нужно создать этот интерфейс:

#include <gprolog.h>

 PlBool add_interface(int a, int b, int* r)
{
  *r = add(a, b);
}

И в коде Пролог, мне нужно добавить это:

 :- foreign(add(+integer, +integer, -integer)).

Так что я имею дело с большим количеством функций C, и создание этих интерфейсов вручную по одной заняло бы довольно много времени...

Конечно, я могу написать специальный инструмент для этого создания (вероятно, используя CIL...), но я просто не хочу изобретать велосипед.

Итак, мой вопрос:

Есть ли инструмент, который может автоматически генерировать вызываемый интерфейс Prolog из функций C?

0 ответов

Другие вопросы по тегам