comparison dvcomp.pl @ 20:07d6c4c5654b iso-prolog

SICStus v4 (ISO prolog syntax)
author kono
date Thu, 30 Aug 2007 14:16:36 +0900
parents e1d3145cff7a
children 29cf617f49db
comparison
equal deleted inserted replaced
19:e1d3145cff7a 20:07d6c4c5654b
332 check_state(StdNext,Cond,_,Next1), % S1 has not to be instantiated 332 check_state(StdNext,Cond,_,Next1), % S1 has not to be instantiated
333 Next = Next1. 333 Next = Next1.
334 334
335 init :- 335 init :-
336 subterm_init, 336 subterm_init,
337 abolish(itl_state,2), 337 r_abolish(itl_state,2),
338 abolish(stay,3),asserta(stay(0,0,0)), 338 r_abolish(stay,3),asserta(stay(0,0,0)),
339 asserta(itl_state(false,false)), 339 asserta(itl_state(false,false)),
340 asserta(itl_state(empty,0)), 340 asserta(itl_state(empty,0)),
341 asserta(itl_state(true,true)), 341 asserta(itl_state(true,true)),
342 abolish(links,2),asserta(links(true,true)), 342 r_abolish(links,2),asserta(links(true,true)),
343 init_var(current,0), 343 init_var(current,0),
344 init_var(over,0), 344 init_var(over,0),
345 init_var(itl_transition,0), 345 init_var(itl_transition,0),
346 init_var(itl_transition_count,0), 346 init_var(itl_transition_count,0),
347 init_var(itl_state_number,1),!. 347 init_var(itl_state_number,1),!.
358 itl_state(STD,S),!. 358 itl_state(STD,S),!.
359 check_state(STD,_,1,S):- 359 check_state(STD,_,1,S):-
360 inc_var(itl_state_number,S), 360 inc_var(itl_state_number,S),
361 assert(itl_state(STD,S)),!. 361 assert(itl_state(STD,S)),!.
362 362
363 init_var(X,V) :- abolish(X,1),functor(F,X,1),arg(1,F,V),assert(F),!. 363 init_var(X,V) :- r_abolish(X,1),functor(F,X,1),arg(1,F,V),assert(F),!.
364 inc_var(Name,X1) :- 364 inc_var(Name,X1) :-
365 functor(F,Name,1),retract(F),arg(1,F,X), 365 functor(F,Name,1),retract(F),arg(1,F,X),
366 X1 is X+1,functor(F1,Name,1),arg(1,F1,X1), 366 X1 is X+1,functor(F1,Name,1),arg(1,F1,X1),
367 asserta(F1),!. 367 asserta(F1),!.
368 set_var(Name,X,X1) :- 368 set_var(Name,X,X1) :-