Mercurial > hg > Applications > Lite
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) :- |