#include int babel_wrapper_foo1(int n) { int return_value; int func; PlTerm arg[2]; PlBool res; func = Pl_Find_Atom("foo1"); arg[0] = Pl_Mk_Integer(n); arg[1] = Pl_Mk_Variable(); res = Pl_Query_Call(func, 2, arg); return_value = Pl_Rd_Integer(arg[1]); return return_value; } int babel_wrapper_foo() { int return_value; int func; PlTerm arg[1]; PlBool res; func = Pl_Find_Atom("foo"); arg[0] = Pl_Mk_Variable(); res = Pl_Query_Call(func, 1, arg); return_value = Pl_Rd_Integer(arg[0]); return return_value; } int foo1(int n ) ; int foo(void) { int a ; int tmp ; int __retres3 ; return babel_wrapper_foo(); } int foo1(int n ) { return babel_wrapper_foo1(n); } int main(int argc , char **argv ) { Pl_Start_Prolog(argc, argv); foo(); Pl_Stop_Prolog(); return 0; }