(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