I have a Prolog file (Hanoi.pl) containing the code for solving the Hanoi Towers puzzle:
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 ).
I also have a C++ file written in VS2008 IDE:
using namespace std;
int main(int argc, char** argv)
long n = 5;
if ( !PL_initialise(1, argv) )
PL_put_integer( t0, n );
phanoi = PL_predicate( "hanoi", 1, NULL );
rval = PL_call_predicate( NULL, PL_Q_NORMAL, phanoi, t0 );
system( "PAUSE" );
How can I consult my Prolog source code (Hanoi.pl) from within my C++ code? Not from the Command Prompt - from the code, something like include or consult or compile? It is located in the same folder as my cpp file.
Did you RTFM?
What do you mean with "consult"? And why are you using Prolog in the first place? It's useless except for historical academic reasons.
I mean how can I compile my Prolog file into my C++ file?
At the command prompt, you would probably do something like:
plld -c Hanoi.pl
On VS2008 you would simply press F5 to build and compile.
How can I compile my Prolog program as well so that my C++ program can use the knowledge base in it?
You'll need to find a Prolog engine architected as a C/C++-compatible library (or you'll have to find an open source one and package it up as a library yourself). Then you can embed Prolog in your own programs by linking with that library.