我有一个 Prolog 文件 (Hanoi.pl),其中包含解决 Hanoi Towers 谜题的代码:
hanoi( N ):-
move( N, left, middle, right ).
move( 0, _, _, _ ):-
!.
move( N, A, B, C ):-
M is N-1,
move( M, A, C, B ),
inform( A, B ),
move( M, C, B, A ).
inform( X, Y ):-
write( 'move a disk from ' ),
write( X ),
write( ' to ' ),
writeln( Y ).
我还有一个用 VS2008 IDE 编写的 C++ 文件:
#include <iostream>
#include <string>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
#include "SWI-cpp.h"
#include "SWI-Prolog.h"
predicate_t phanoi;
term_t t0;
int main(int argc, char** argv)
{
long n = 5;
int rval;
if ( !PL_initialise(1, argv) )
PL_halt(1);
PL_put_integer( t0, n );
phanoi = PL_predicate( "hanoi", 1, NULL );
rval = PL_call_predicate( NULL, PL_Q_NORMAL, phanoi, t0 );
system( "PAUSE" );
}
如何从我的 C++ 代码中查阅我的 Prolog 源代码 (Hanoi.pl)?不是来自命令提示符 - 来自代码,比如包含、咨询或编译?它与我的 cpp 文件位于同一文件夹中。
谢谢,