changeset 7:39982f16da0b

Updated dcgu.pl, added C++ compiler option to cpp/Makefile
author samer
date Thu, 19 Jan 2012 14:32:49 +0000
parents d3b9cbaee77b (current diff) 193d582746e5 (diff)
children 173e1c48e335
files
diffstat 3 files changed, 11 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/Makefile	Thu Jan 19 14:28:39 2012 +0000
+++ b/Makefile	Thu Jan 19 14:32:49 2012 +0000
@@ -26,6 +26,11 @@
 # flags for install - BSD install seems to be different from GNU install
 export INSTALL_FLAGS='-bCS'
 
+# on Mac OS X Lion using MacPorts gcc 4.2, you need this to select
+# the correct C++ compiler. Leave CXX blank otherwise.
+export CXX=-c++ g++-apple-4.2
+#export CXX=
+
 VER=1.0
 # ---------------- end of configuration ---------------
 
--- a/cpp/Makefile	Thu Jan 19 14:28:39 2012 +0000
+++ b/cpp/Makefile	Thu Jan 19 14:32:49 2012 +0000
@@ -4,7 +4,7 @@
 TARGET=plml.$(SO)
 INCML=$(MATLAB)/extern/include
 LIBML=$(MATLAB)/bin/$(MLARCH)
-PLLDFLAGS=-c++ g++-4.2 $(INCLUDES) -I$(INCML) -Wall
+PLLDFLAGS=$(CXX) $(INCLUDES) -I$(INCML) -Wall
 
 .SUFFIXES: .cpp .o .so .dylib
 
--- a/prolog/dcgu.pl	Thu Jan 19 14:28:39 2012 +0000
+++ b/prolog/dcgu.pl	Thu Jan 19 14:32:49 2012 +0000
@@ -274,8 +274,8 @@
 \#(N, P, S1, S2) :- with_nth_arg(N,P,S1,S2).
 
 
-system:goal_expansion(run_left(P,S1,S2,T1,T2), phrase(P,(S1,T1),(S2,T2))).
-system:goal_expansion(run_right(P,S1,S2,T1,T2), phrase(P,(T1,S1),(T2,S2))).
+system:goal_expansion( run_left(P,S1,S2,T1,T2), phrase(P,(S1,T1),(S2,T2))).
+system:goal_expansion( run_right(P,S1,S2,T1,T2), phrase(P,(T1,S1),(T2,S2))).
 system:goal_expansion( \<(P,S1,S2), (S1=(L1,R),S2=(L2,R),phrase(P,L1,L2)) ).
 system:goal_expansion( \>(P,S1,S2), (S1=(L,R1),S2=(L,R2),phrase(P,R1,R2)) ).
 system:goal_expansion( nop(S1,S2), (S1=S2) ).
@@ -285,6 +285,9 @@
 system:goal_expansion( A >> B, (A,B) ). 
 system:goal_expansion( set_with(C,_,S2), Call) :- mk_call(C,[S2],Call).
 system:goal_expansion( trans(A1,A2,S1,S2), (S1=A1,S2=A2) ). 
+system:goal_expansion( //(P1,P2,S1,S2), (G1,G2)) :- 
+	nonvar(P1), P1=..[F1|A1], append(A1,[S1,S2],B1), G1=..[F1|B1],
+	nonvar(P2), P2=..[F2|A2], append(A2,[S1,S2],B2), G2=..[F2|B2].
 
 mk_call(C,XX,Call) :- var(C), !, mk_call(call(C),XX,Call).
 mk_call(M:C,XX,M:Call) :- !, mk_call(C,XX,Call).