(ASSEMBLE.CLAUSE ( predicate←property 2 si ) 4 (put.Ai.symbol 3 user) (execute predicate←property 3 si) ) (ASSEMBLE.CLAUSE ( predicate←property 3 si ) 61 (allocate) (get.Ai.variable.Yn 1 1) (get.Ai.variable.Yn 2 5) (get.Ai.variable.Yn 3 7) (put.Ai.value.Yn 4 5) (put.Ai.variable.Yn 3 3) (put.Ai.variable.Yn 2 2) (put.Ai.value.Yn 1 1) (call 10 valid←pred←spec 4 si) (put.Ai.variable.Yn 4 4) (put.Ai.value.Yn 3 7) (put.Ai.value.Yn 2 3) (put.Ai.value.Yn 1 2) (call 9 find←proc 4 si) (put.Ai.variable.Yn 3 6) (put.Ai.constant 2 13) (put.Ai.value.Yn 1 4) (get.word) (load.value.Yn 6) (load.pos.word 3) (boolean.and) (store.variable.Xn 1) (put.Ai.value.Yn 5 5) (put.Ai.unsafe.Yn 4 4) (put.Ai.value.Yn 3 3) (put.Ai.value.Yn 2 2) (call 6 property←of←predicate 5 si) (put.Ai.unsafe.Yn 3 3) (put.Ai.unsafe.Yn 2 2) (put.Ai.value.Yn 1 1) (functor) (progress) ) (ASSEMBLE.CLAUSE ( predicate←property 3 si ) 6 (get.Ai.constant 1 fail) (get.Ai.symbol 2 built←in) (proceed) ) (ASSEMBLE.CLAUSE ( predicate←property 3 si ) 6 (get.Ai.constant 1 false) (get.Ai.symbol 2 built←in) (proceed) ) (ASSEMBLE.CLAUSE ( predicate←property 3 si ) 6 (get.Ai.constant 1 true) (get.Ai.symbol 2 built←in) (proceed) ) (ASSEMBLE.CLAUSE ( predicate←property 3 si ) 6 (get.Ai.constant 1 otherwise) (get.Ai.symbol 2 built←in) (proceed) ) (ASSEMBLE.CLAUSE ( predicate←property 3 si ) 6 (get.Ai.constant 1 %!) (get.Ai.symbol 2 built←in) (proceed) ) (ASSEMBLE.CLAUSE ( predicate←property 3 si ) 7 (get.Ai.structure 1 %, 2) (unify.void 2) (get.Ai.symbol 2 built←in) (proceed) ) (ASSEMBLE.CLAUSE ( predicate←property 3 si ) 7 (get.Ai.structure 1 %; 2) (unify.void 2) (get.Ai.symbol 2 built←in) (proceed) ) (ASSEMBLE.CLAUSE ( predicate←property 3 si ) 7 (get.Ai.structure 1 %-%> 2) (unify.void 2) (get.Ai.symbol 2 built←in) (proceed) ) (ASSEMBLE.CLAUSE ( find←proc 4 si ) 23 (allocate) (get.Ai.variable.Yn 1 1) (get.Ai.variable.Yn 2 2) (get.Ai.variable.Yn 3 3) (get.Ai.variable.Yn 4 4) (put.Ai.value.Yn 1 1) (is.a 128) (body.cut) (put.Ai.value.Yn 4 4) (put.Ai.value.Yn 3 3) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (depart check←predicate 4 si) ) (ASSEMBLE.CLAUSE ( find←proc 4 si ) 35 (allocate) (get.Ai.variable.Yn 1 1) (get.Ai.variable.Yn 2 2) (get.Ai.variable.Yn 3 3) (get.Ai.variable.Yn 4 5) (put.Ai.value.Yn 1 5) (call 8 current←procedure 1 si) (put.Ai.variable.Yn 4 4) (put.Ai.value.Yn 3 2) (put.Ai.value.Yn 2 1) (put.Ai.value.Yn 1 5) (call 7 p←procedure 4 si) (put.Ai.unsafe.Yn 4 4) (put.Ai.value.Yn 3 3) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (depart predicate←module 4 si) ) (ASSEMBLE.CLAUSE ( property←of←predicate 5 si ) 20 (get.Ai.constant 1 1) (put.Ai.value.Xn 1 2) (put.Ai.value.Xn 2 3) (allocate) (get.Ai.variable.Yn 5 1) (call 4 built←in←predicate 2 si) (body.cut) (put.Ai.value.Yn 1 1) (get.Ai.constant 1 built←in) (progress) ) (ASSEMBLE.CLAUSE ( property←of←predicate 5 si ) 28 (get.Ai.constant 1 1) (put.Ai.value.Xn 1 4) (allocate) (get.Ai.variable.Yn 5 1) (put.Ai.variable.Yn 3 2) (put.Ai.constant 2 13) (get.word) (load.value.Yn 2) (load.pos.word 32) (boolean.and) (load.pos.word 0) (not.equal.to) (body.cut) (put.Ai.value.Yn 1 1) (get.Ai.constant 1 foreign) (progress) ) (ASSEMBLE.CLAUSE ( property←of←predicate 5 si ) 6 (get.Ai.constant 1 1) (get.Ai.symbol 5 compiled) (proceed) ) (ASSEMBLE.CLAUSE ( property←of←predicate 5 si ) 6 (get.Ai.constant 1 2) (get.Ai.symbol 5 interpreted) (proceed) ) (ASSEMBLE.CLAUSE ( property←of←predicate 5 si ) 6 (get.Ai.constant 1 3) (get.Ai.symbol 5 dynamic) (proceed) ) (ASSEMBLE.CLAUSE ( property←of←predicate 5 si ) 6 (get.Ai.constant 1 3) (get.Ai.symbol 5 interpreted) (proceed) ) (ASSEMBLE.CLAUSE ( property←of←predicate 5 si ) 19 (put.Ai.value.Xn 1 4) (get.Ai.symbol 5 multifile) (allocate) (put.Ai.variable.Yn 3 1) (put.Ai.constant 2 13) (get.word) (load.value.Yn 1) (load.pos.word 16) (boolean.and) (load.pos.word 0) (not.equal.to) (progress) ) (ASSEMBLE.CLAUSE ( predicate←state 5 si ) 25 (allocate) (get.Ai.variable.Yn 4 3) (get.Ai.variable.Yn 5 1) (put.Ai.value.Yn 4 3) (call 6 check←predicate 4 si) (body.cut) (put.Ai.variable.Yn 3 2) (put.Ai.constant 2 13) (put.Ai.value.Yn 1 3) (get.word) (load.value.Yn 2) (load.pos.word 3) (boolean.and) (store.value.Yn 1) (progress) ) (ASSEMBLE.CLAUSE ( predicate←state 5 si ) 7 (get.Ai.constant 4 0) (get.Ai.constant 5 0) (proceed) ) (ASSEMBLE.CLAUSE ( valid←pred←spec 4 si ) 3 (allocate) (is.a 1) (depart.cut) ) (ASSEMBLE.CLAUSE ( valid←pred←spec 4 si ) 10 (allocate) (get.Ai.variable.Yn 2 1) (put.Ai.value.Yn 2 1) (functor) (put.Ai.value.Yn 1 1) (is.a 128) (depart.cut) ) (ASSEMBLE.CLAUSE ( valid←pred←spec 4 si ) 12 (put.Ai.structure 3 predicate←property 2) (unify.local.Xn 1) (unify.local.Xn 4) (put.Ai.value.Xn 2 1) (put.Ai.constant 1 390) (execute nerror2 3 si) ) (ASSEMBLE.CLAUSE ( dynamic←procedure 1 si ) 79 (allocate) (get.Ai.variable.Yn 1 1) (put.Ai.variable.Yn 3 5) (put.Ai.constant 2 13) (put.Ai.value.Yn 1 1) (get.word) (load.value.Yn 5) (load.pos.word 3) (boolean.and) (store.variable.Xn 1) (load.value.Xn 1) (load.pos.word 3) (equal.to.else 24) (progress) (load.choice.point) (store.variable.Yn 4) (either 7 37) (put.Ai.value.Yn 1 1) (call 7 has←clauses 1 si) (load.value.Yn 4) (cut.to.choice.point) (fail) (or.finally) (gettopval QP%.INTERPRET%.CLAUSE) (store.variable.Xn 3) (gettopval QP%.FAILURE%.CLAUSE) (store.variable.Yn 3) (put.Ai.constant 2 8) (put.Ai.value.Yn 1 1) (put.addr) (put.Ai.value.Yn 3 3) (put.Ai.constant 2 10) (put.Ai.value.Yn 1 1) (put.addr) (put.Ai.variable.Yn 3 2) (put.Ai.constant 2 13) (put.Ai.value.Yn 1 1) (get.word) (load.value.Yn 2) (load.pos.word 65532) (boolean.and) (load.pos.word 3) (boolean.or) (store.variable.Xn 3) (put.Ai.constant 2 13) (put.Ai.value.Yn 1 1) (put.word) (progress) ) (ASSEMBLE.CLAUSE ( interpreted←procedure 1 si ) 71 (allocate) (get.Ai.variable.Yn 1 1) (put.Ai.variable.Yn 3 5) (put.Ai.constant 2 13) (put.Ai.value.Yn 1 1) (get.word) (load.value.Yn 5) (load.pos.word 3) (boolean.and) (store.variable.Yn 4) (load.value.Yn 4) (load.pos.word 2) (not.less.than.else 24) (progress) (load.value.Yn 4) (load.pos.word 0) (equal.to.else 72) (gettopval QP%.INTERPRET%.CLAUSE) (store.variable.Xn 3) (gettopval QP%.FAILURE%.CLAUSE) (store.variable.Yn 3) (put.Ai.constant 2 8) (put.Ai.value.Yn 1 1) (put.addr) (put.Ai.value.Yn 3 3) (put.Ai.constant 2 10) (put.Ai.value.Yn 1 1) (put.addr) (put.Ai.variable.Yn 3 2) (put.Ai.constant 2 13) (put.Ai.value.Yn 1 1) (get.word) (load.value.Yn 2) (load.pos.word 65532) (boolean.and) (load.pos.word 2) (boolean.or) (store.variable.Xn 3) (put.Ai.constant 2 13) (put.Ai.value.Yn 1 1) (put.word) (progress) (fail) ) (ASSEMBLE.CLAUSE ( compiled←procedure 1 si ) 54 (allocate) (get.Ai.variable.Yn 1 1) (put.Ai.variable.Yn 3 4) (put.Ai.constant 2 13) (put.Ai.value.Yn 1 1) (get.word) (load.value.Yn 4) (load.pos.word 3) (boolean.and) (store.variable.Yn 3) (load.value.Yn 3) (load.pos.word 1) (equal.to.else 24) (progress) (load.value.Yn 3) (load.pos.word 0) (equal.to.else 55) (put.Ai.variable.Yn 3 2) (put.Ai.constant 2 13) (put.Ai.value.Yn 1 1) (get.word) (load.value.Yn 2) (load.pos.word 65532) (boolean.and) (load.pos.word 1) (boolean.or) (store.variable.Xn 3) (put.Ai.constant 2 13) (put.Ai.value.Yn 1 1) (put.word) (put.Ai.value.Yn 1 1) (depart check←traps 1 interp) (fail) ) (ASSEMBLE.CLAUSE ( foreign←procedure 1 si ) 28 (allocate) (get.Ai.variable.Yn 1 1) (put.Ai.value.Yn 1 1) (call 5 compiled←procedure 1 si) (put.Ai.variable.Yn 3 2) (put.Ai.constant 2 13) (put.Ai.value.Yn 1 1) (get.word) (load.value.Yn 2) (load.pos.word 32) (boolean.or) (store.variable.Xn 3) (put.Ai.constant 2 13) (put.Ai.value.Yn 1 1) (put.word) (progress) ) (ASSEMBLE.CLAUSE ( abolish 1 si ) 13 (allocate) (get.Ai.variable.Yn 1 1) (put.Ai.value.Yn 1 1) (is.a 1) (body.cut) (put.Ai.value.Yn 2 1) (put.Ai.symbol 1 abolish) (depart invalid 2 interp) ) (ASSEMBLE.CLAUSE ( abolish 1 si ) 4 (get.Ai.constant 1 NIL) (cut.proceed) ) (ASSEMBLE.CLAUSE ( abolish 1 si ) 12 (get.Ai.list 1) (unify.variable.Xn 1) (allocate) (unify.variable.Yn 1) (head.cut) (call 4 abolish 1 si) (put.Ai.value.Yn 1 1) (depart abolish 1 si) ) (ASSEMBLE.CLAUSE ( abolish 1 si ) 25 (get.Ai.structure 1 %/ 2) (allocate) (unify.variable.Yn 1) (unify.variable.Yn 2) (put.Ai.value.Yn 1 1) (is.a 128) (put.Ai.value.Yn 1 2) (is.a 24) (load.value.Yn 2) (load.pos.word 0) (not.less.than) (body.cut) (put.Ai.symbol 3 user) (put.Ai.value.Yn 2 2) (put.Ai.value.Yn 1 1) (depart abolish 3 si) ) (ASSEMBLE.CLAUSE ( abolish 1 si ) 36 (allocate) (get.Ai.variable.Yn 1 1) (put.Ai.value.Yn 1 1) (is.a 128) (body.cut) (either 6 36) (put.Ai.variable.Yn 2 3) (put.Ai.value.Yn 1 1) (call 6 current←predicate 2 si) (put.Ai.variable.Yn 3 2) (put.Ai.value.Yn 2 1) (put.Ai.unsafe.Yn 1 3) (functor) (put.Ai.symbol 3 user) (put.Ai.unsafe.Yn 2 2) (put.Ai.value.Yn 1 1) (call 3 abolish 3 si) (fail) (or.finally) (progress) ) (ASSEMBLE.CLAUSE ( abolish 1 si ) 6 (put.Ai.value.Xn 2 1) (put.Ai.symbol 1 abolish) (execute invalid 2 interp) ) (ASSEMBLE.CLAUSE ( abolish 2 si ) 4 (put.Ai.symbol 3 user) (execute abolish 3 si) ) (ASSEMBLE.CLAUSE ( abolish 3 si ) 32 (allocate) (put.Ai.variable.Yn 4 1) (call 5 local←check←predicate 4 si) (body.cut) (put.Ai.variable.Yn 3 2) (put.Ai.constant 2 13) (put.Ai.value.Yn 1 1) (get.word) (load.value.Yn 2) (load.pos.word 63) (boolean.and) (add.pos.word 0) (store.variable.Xn 3) (put.Ai.constant 2 13) (put.Ai.value.Yn 1 1) (put.word) (put.Ai.unsafe.Yn 1 1) (depart abolish←procedure 1 si) ) (ASSEMBLE.CLAUSE ( abolish 3 si ) 1 (proceed) ) (ASSEMBLE.CLAUSE ( abolish←procedure 1 si ) 83 (allocate) (get.Ai.variable.Yn 1 1) (put.Ai.variable.Yn 3 5) (put.Ai.constant 2 13) (put.Ai.value.Yn 1 1) (get.word) (load.value.Yn 5) (load.pos.word 3) (boolean.and) (store.variable.Yn 4) (load.value.Yn 4) (load.pos.word 0) (equal.to.else 24) (progress) (load.value.Yn 4) (load.pos.word 1) (equal.to.else 31) (jump.to 36) (put.Ai.value.Yn 1 1) (call 6 collect←clauses 1 si) (put.Ai.value.Yn 1 1) (call 6 remove←trap 1 interp) (gettopval QP%.UNDEFINED%.CLAUSE) (store.variable.Yn 3) (put.Ai.value.Yn 3 3) (put.Ai.constant 2 8) (put.Ai.value.Yn 1 1) (put.addr) (put.Ai.value.Yn 3 3) (put.Ai.constant 2 10) (put.Ai.value.Yn 1 1) (put.addr) (put.Ai.value.Yn 1 1) (call 5 clear←multi←files 1 si) (put.Ai.variable.Yn 3 2) (put.Ai.constant 2 13) (put.Ai.value.Yn 1 1) (get.word) (load.value.Yn 2) (load.pos.word 65484) (boolean.and) (store.variable.Xn 3) (put.Ai.constant 2 13) (put.Ai.value.Yn 1 1) (put.word) (progress) ) (ASSEMBLE.CLAUSE ( interpreted 2 si ) 33 (get.Ai.structure 1 %/ 2) (unify.variable.Xn 1) (unify.variable.Xn 5) (put.Ai.value.Xn 3 2) (allocate) (put.Ai.variable.Yn 4 2) (put.Ai.value.Xn 2 5) (call 5 check←predicate 4 si) (put.Ai.variable.Yn 3 1) (put.Ai.constant 2 13) (put.Ai.unsafe.Yn 1 2) (get.word) (load.value.Yn 1) (load.pos.word 3) (boolean.and) (store.variable.Xn 1) (load.value.Xn 1) (load.pos.word 2) (not.less.than) (progress) ) (ASSEMBLE.CLAUSE ( initialise←state←bits 5 si ) 43 (allocate) (get.Ai.variable.Yn 1 1) (get.Ai.variable.Yn 2 2) (get.Ai.variable.Yn 3 3) (put.Ai.value.Xn 1 4) (get.Ai.variable.Yn 5 4) (put.Ai.variable.Yn 3 5) (put.Ai.constant 2 8) (get.addr) (gettopval QP%.UNDEFINED%.CLAUSE) (store.value.Yn 5) (body.cut) (put.Ai.value.Yn 1 4) (get.Ai.constant 1 verbose) (put.Ai.list 2) (unify.local.Yn 3) (unify.nil) (put.Ai.list 1) (unify.local.Yn 2) (unify.value.Xn 2) (put.Ai.list 3) (unify.local.Yn 1) (unify.value.Xn 1) (put.Ai.symbol 2 %[Warning%:% no% clauses% for% %~w%/%~w% in% %~w%]%~n) (put.Ai.symbol 1 user) (call 3 format 3 format) (fail) ) (ASSEMBLE.CLAUSE ( initialise←state←bits 5 si ) 26 (allocate) (get.Ai.variable.Yn 4 1) (put.Ai.variable.Yn 3 2) (put.Ai.constant 2 13) (put.Ai.value.Yn 1 1) (get.word) (load.value.Yn 2) (load.pos.word 65532) (boolean.and) (load.pos.word 1) (boolean.or) (store.variable.Xn 3) (put.Ai.constant 2 13) (put.Ai.value.Yn 1 1) (put.word) (progress) ) (ASSEMBLE.CLAUSE ( has←listable←clauses 4 si ) 46 (allocate) (get.Ai.variable.Yn 4 2) (put.Ai.value.Xn 4 3) (put.Ai.value.Xn 3 2) (put.Ai.value.Xn 2 1) (put.Ai.value.Yn 1 2) (call 6 procedure 4 si) (put.Ai.variable.Yn 3 3) (put.Ai.constant 2 13) (put.Ai.value.Yn 1 2) (get.word) (load.value.Yn 3) (load.pos.word 3) (boolean.and) (store.variable.Xn 1) (load.value.Xn 1) (load.pos.word 2) (not.less.than) (put.Ai.variable.Yn 3 1) (put.Ai.constant 2 10) (put.Ai.value.Yn 1 2) (get.addr) (gettopval QP%.FAILURE%.CLAUSE) (store.variable.Xn 1) (load.value.Yn 1) (load.value.Xn 1) (not.equal.to) (progress) ) (ASSEMBLE.CLAUSE ( has←clauses 1 si ) 57 (allocate) (get.Ai.variable.Yn 1 2) (put.Ai.variable.Yn 3 4) (put.Ai.constant 2 13) (put.Ai.value.Yn 1 2) (get.word) (load.value.Yn 4) (load.pos.word 3) (boolean.and) (store.variable.Yn 3) (load.value.Yn 3) (load.pos.word 2) (not.less.than.else 38) (put.Ai.variable.Yn 3 1) (put.Ai.constant 2 10) (put.Ai.value.Yn 1 2) (get.addr) (gettopval QP%.FAILURE%.CLAUSE) (store.variable.Xn 1) (load.value.Yn 1) (load.value.Xn 1) (not.equal.to) (progress) (load.value.Yn 3) (load.pos.word 1) (equal.to.else 58) (put.Ai.variable.Yn 3 1) (put.Ai.constant 2 8) (put.Ai.value.Yn 1 2) (get.addr) (gettopval QP%.UNDEFINED%.CLAUSE) (store.variable.Xn 1) (load.value.Yn 1) (load.value.Xn 1) (not.equal.to) (progress) (fail) ) STOP