(ASSEMBLE.CLAUSE ( expand←term 2 si ) 13 (allocate) (get.Ai.variable.Yn 2 1) (put.Ai.variable.Yn 2 2) (call 5 term←expand 2 si) (put.Ai.unsafe.Yn 1 2) (get.Ai.value.Yn 1 1) (progress) ) (ASSEMBLE.CLAUSE ( term←expand 2 si ) 5 (get.Ai.value.Xn 2 1) (allocate) (is.a 1) (depart.cut) ) (ASSEMBLE.CLAUSE ( term←expand 2 si ) 5 (allocate) (call 3 term←expansion 2 user) (depart.cut) ) (ASSEMBLE.CLAUSE ( term←expand 2 si ) 40 (get.Ai.structure 1 %-%-%> 2) (unify.variable.Xn 1) (allocate) (unify.variable.Yn 4) (get.Ai.structure 2 %:%- 2) (unify.variable.Xn 4) (unify.variable.Yn 3) (head.cut) (put.Ai.variable.Yn 5 2) (put.Ai.variable.Yn 3 6) (put.Ai.variable.Yn 2 5) (call 9 expand←rule←head 5 si) (put.Ai.variable.Yn 4 1) (put.Ai.unsafe.Yn 3 6) (put.Ai.unsafe.Yn 2 5) (put.Ai.value.Yn 1 4) (call 6 expand←rule←body 4 si) (put.Ai.value.Yn 3 3) (put.Ai.unsafe.Yn 2 2) (put.Ai.unsafe.Yn 1 1) (depart and←goals 3 si) ) (ASSEMBLE.CLAUSE ( term←expand 2 si ) 3 (get.Ai.value.Xn 2 1) (proceed) ) (ASSEMBLE.CLAUSE ( expand←rule←head 5 si ) 37 (allocate) (get.Ai.variable.Yn 2 6) (get.Ai.variable.Yn 3 3) (get.Ai.variable.Yn 4 7) (get.Ai.variable.Yn 5 4) (put.Ai.variable.Yn 3 1) (put.Ai.variable.Yn 2 5) (call 10 rule←head 3 si) (put.Ai.value.Yn 4 7) (put.Ai.variable.Yn 3 2) (put.Ai.value.Yn 2 6) (put.Ai.unsafe.Yn 1 5) (call 7 add←string←args 4 si) (put.Ai.value.Yn 4 4) (put.Ai.value.Yn 3 3) (put.Ai.unsafe.Yn 2 2) (put.Ai.unsafe.Yn 1 1) (depart expand←rule←body 4 si) ) (ASSEMBLE.CLAUSE ( rule←head 3 si ) 5 (allocate) (call 3 valid←rule←head 3 si) (depart.cut) ) (ASSEMBLE.CLAUSE ( rule←head 3 si ) 7 (put.Ai.value.Xn 2 1) (put.Ai.constant 1 300) (execute nerror 2 si) ) (ASSEMBLE.CLAUSE ( valid←rule←head 3 si ) 18 (get.Ai.structure 1 %, 2) (unify.variable.Xn 1) (allocate) (unify.variable.Yn 1) (get.Ai.value.Xn 2 1) (get.Ai.value.Yn 3 1) (head.cut) (call 4 callable 1 si) (put.Ai.value.Yn 1 1) (depart is←list 1 si) ) (ASSEMBLE.CLAUSE ( valid←rule←head 3 si ) 5 (get.Ai.value.Xn 2 1) (get.Ai.nil 3) (execute callable 1 si) ) (ASSEMBLE.CLAUSE ( expand←rule←body 4 si ) 9 (get.Ai.structure 4 phrase 3) (unify.local.Xn 1) (unify.local.Xn 2) (unify.local.Xn 3) (allocate) (is.a 1) (depart.cut) ) (ASSEMBLE.CLAUSE ( expand←rule←body 4 si ) 5 (allocate) (call 3 expand←body 4 si) (depart.cut) ) (ASSEMBLE.CLAUSE ( expand←rule←body 4 si ) 7 (put.Ai.value.Xn 2 1) (put.Ai.constant 1 301) (execute nerror 2 si) ) (ASSEMBLE.CLAUSE ( expand←body 4 si ) 9 (get.Ai.structure 4 phrase 3) (unify.local.Xn 1) (unify.local.Xn 2) (unify.local.Xn 3) (allocate) (is.a 1) (depart.cut) ) (ASSEMBLE.CLAUSE ( expand←body 4 si ) 37 (get.Ai.structure 1 %, 2) (unify.variable.Xn 1) (allocate) (unify.variable.Yn 4) (get.Ai.variable.Yn 3 6) (get.Ai.variable.Yn 4 3) (head.cut) (put.Ai.variable.Yn 4 1) (put.Ai.variable.Yn 3 5) (call 9 expand←body 4 si) (put.Ai.variable.Yn 4 2) (put.Ai.value.Yn 3 6) (put.Ai.unsafe.Yn 2 5) (put.Ai.value.Yn 1 4) (call 6 expand←body 4 si) (put.Ai.value.Yn 3 3) (put.Ai.unsafe.Yn 2 2) (put.Ai.unsafe.Yn 1 1) (depart and←goals 3 si) ) (ASSEMBLE.CLAUSE ( expand←body 4 si ) 29 (get.Ai.structure 1 %-%> 2) (unify.variable.Xn 1) (allocate) (unify.variable.Yn 1) (get.Ai.variable.Yn 3 3) (get.Ai.structure 4 %-%> 2) (unify.variable.Xn 4) (unify.variable.Yn 4) (head.cut) (put.Ai.variable.Yn 3 2) (call 7 expand←body 4 si) (put.Ai.value.Yn 4 4) (put.Ai.value.Yn 3 3) (put.Ai.unsafe.Yn 2 2) (put.Ai.value.Yn 1 1) (depart expand←body 4 si) ) (ASSEMBLE.CLAUSE ( expand←body 4 si ) 33 (get.Ai.structure 1 %; 2) (unify.variable.Xn 1) (allocate) (unify.variable.Yn 1) (get.Ai.variable.Yn 2 2) (get.Ai.variable.Yn 3 3) (get.Ai.structure 4 %; 2) (unify.variable.Xn 4) (unify.variable.Yn 4) (head.cut) (put.Ai.value.Yn 3 3) (put.Ai.value.Yn 2 2) (call 7 expand←or 4 si) (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 expand←or 4 si) ) (ASSEMBLE.CLAUSE ( expand←body 4 si ) 9 (get.Ai.structure 1 %{%} 1) (unify.variable.Xn 1) (get.Ai.value.Xn 3 2) (get.Ai.value.Xn 4 1) (cut.proceed) ) (ASSEMBLE.CLAUSE ( expand←body 4 si ) 8 (get.Ai.constant 1 %!) (get.Ai.value.Xn 3 2) (get.Ai.symbol 4 %!) (cut.proceed) ) (ASSEMBLE.CLAUSE ( expand←body 4 si ) 25 (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) (call 7 is←list 1 si) (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 expand←terminals 4 si) ) (ASSEMBLE.CLAUSE ( expand←body 4 si ) 2 (execute add←string←args 4 si) ) (ASSEMBLE.CLAUSE ( expand←or 4 si ) 45 (allocate) (get.Ai.variable.Yn 2 2) (get.Ai.variable.Yn 3 5) (get.Ai.variable.Yn 4 4) (put.Ai.variable.Yn 4 3) (put.Ai.value.Yn 3 5) (put.Ai.variable.Yn 2 1) (call 8 expand←body 4 si) (put.Ai.value.Yn 2 1) (put.Ai.value.Yn 1 5) (compare) (load.pos.word 0) (not.equal.to.else 36) (put.Ai.value.Yn 1 1) (get.Ai.value.Yn 1 2) (put.Ai.value.Yn 1 3) (get.Ai.value.Yn 1 4) (progress) (put.Ai.value.Yn 3 4) (put.Ai.unsafe.Yn 2 3) (put.Ai.structure 1 %= 2) (unify.local.Yn 2) (unify.local.Yn 1) (depart and←goals 3 si) ) (ASSEMBLE.CLAUSE ( expand←terminals 4 si ) 8 (get.Ai.constant 1 NIL) (get.Ai.value.Xn 3 2) (get.Ai.symbol 4 true) (proceed) ) (ASSEMBLE.CLAUSE ( expand←terminals 4 si ) 27 (get.Ai.list 1) (allocate) (unify.variable.Yn 2) (unify.variable.Xn 1) (get.Ai.variable.Yn 2 3) (get.Ai.variable.Yn 4 5) (put.Ai.variable.Yn 4 4) (put.Ai.variable.Yn 2 1) (call 8 expand←terminals 4 si) (put.Ai.value.Yn 3 5) (put.Ai.unsafe.Yn 2 4) (put.Ai.structure 1 C 3) (unify.local.Yn 3) (unify.value.Yn 2) (unify.local.Yn 1) (depart and←goals 3 si) ) (ASSEMBLE.CLAUSE ( and←goals 3 si ) 6 (get.Ai.constant 1 true) (get.Ai.value.Xn 3 2) (cut.proceed) ) (ASSEMBLE.CLAUSE ( and←goals 3 si ) 5 (get.Ai.symbol 2 true) (get.Ai.value.Xn 3 1) (cut.proceed) ) (ASSEMBLE.CLAUSE ( and←goals 3 si ) 6 (get.Ai.structure 3 %, 2) (unify.local.Xn 1) (unify.local.Xn 2) (proceed) ) (ASSEMBLE.CLAUSE ( add←string←args 4 si ) 33 (allocate) (get.Ai.variable.Yn 2 5) (get.Ai.variable.Yn 3 6) (get.Ai.variable.Yn 4 1) (put.Ai.list 2) (unify.variable.Yn 3) (unify.variable.Yn 4) (call 9 %=%.%. 2 si) (put.Ai.variable.Yn 3 2) (put.Ai.list 1) (unify.local.Yn 6) (unify.nil) (put.Ai.list 2) (unify.local.Yn 5) (unify.value.Xn 1) (put.Ai.value.Yn 1 4) (call 6 conc 3 si) (put.Ai.list 2) (unify.value.Yn 3) (unify.local.Yn 2) (put.Ai.value.Yn 1 1) (depart %=%.%. 2 si) ) (ASSEMBLE.CLAUSE ( phrase 2 si ) 3 (put.Ai.nil 3) (execute phrase 3 si) ) (ASSEMBLE.CLAUSE ( phrase 3 si ) 14 (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.constant 1 301) (depart nerror 2 si) ) (ASSEMBLE.CLAUSE ( phrase 3 si ) 9 (get.Ai.constant 1 NIL) (put.Ai.value.Xn 1 3) (head.cut) (get.Ai.value.Xn 1 2) (proceed) ) (ASSEMBLE.CLAUSE ( phrase 3 si ) 9 (get.Ai.list 1) (unify.variable.Xn 5) (unify.variable.Xn 4) (head.cut) (put.Ai.list 1) (unify.value.Xn 5) (unify.value.Xn 4) (execute conc 3 si) ) (ASSEMBLE.CLAUSE ( phrase 3 si ) 28 (allocate) (get.Ai.variable.Yn 1 2) (get.Ai.variable.Yn 2 3) (get.Ai.variable.Yn 3 4) (put.Ai.value.Yn 1 2) (call 7 callable 1 si) (body.cut) (put.Ai.variable.Yn 4 1) (put.Ai.value.Yn 3 4) (put.Ai.value.Yn 2 3) (put.Ai.value.Yn 1 2) (call 4 expand←rule←body 4 si) (put.Ai.unsafe.Yn 1 1) (depart call 1 interp) ) (ASSEMBLE.CLAUSE ( phrase 3 si ) 7 (put.Ai.value.Xn 2 1) (put.Ai.constant 1 301) (execute nerror 2 si) ) STOP