(loader '((title |browse.lo|)))
(loader'((fentry check-browse subr0)
(entry check-browse subr0)
(mov 't a2)
(mov '(test-browse 1) a1)
(jmp check-value)
))
(loader'((fentry meter-browse subr0)
(entry meter-browse subr0)
(mov 'browse a2)
(mov '(browse) a1)
(jmp perform-meter)
))
(loader'((fentry test-browse subr1)
(entry test-browse subr1)
(cabne a1 '1 104)
(bra browse)
103
(push a1)
(call browse)
(pop a1)
104
(sobgez a1 103)
(mov 't a1)
(return)
))
(defvar browse-rand 21)
(loader'((entry browse-init nsubr)
(mov '21 (cvalq browse-rand))
(mov (& 0) a1)
(jcall copylist)
(push a1)
(push a1)
101
(mov (& 0) a4)
(btnil (cdr a4) 102)
(mov (cdr a4) (& 0))
(bra 101)
102
(mov (& 1) (cdr a4))
(adjstk '1)
(jcall gensym)
(push (& 4))
(push (& 4))
(push nil)
(push a1)
103
(cabeq (& 3) '0 104)
(mov (& 1) a2)
(mov (& 0) a1)
(jcall cons)
(mov a1 (& 1))
(push (& 2))
105
(cabeq (& 0) '0 106)
(push (& 1))
(jcall gensym)
(push nil)
(mov a1 a3)
(mov (& 0) a2)
(mov (& 1) a1)
(jcall putprop)
(adjstk '2)
(mov (& 0) a4)
(diff '1 a4)
(mov a4 (& 0))
(bra 105)
106
(adjstk '1)
(push (& 0))
(push 'pattern)
(push (& 8))
(push (& 7))
(push nil)
107
(cabeq (& 2) '0 108)
(mov (& 1) a1)
(mov (& 0) a2)
(mov (car a1) a1)
(jcall cons)
(mov a1 (& 0))
(mov (& 2) a4)
(diff '1 a4)
(mov (& 1) a3)
(mov (cdr a3) (& 1))
(mov a4 (& 2))
(bra 107)
108
(mov (& 0) a4)
(adjstk '3)
(mov (& 0) a3)
(mov a4 a2)
(mov (& 1) a1)
(jcall putprop)
(adjstk '2)
(mov (& 7) a4)
(diff (& 2) a4)
(push a4)
109
(cabeq (& 0) '0 110)
(push (& 1))
(jcall gensym)
(push nil)
(mov a1 a3)
(mov (& 0) a2)
(mov (& 1) a1)
(jcall putprop)
(adjstk '2)
(mov (& 0) a4)
(diff '1 a4)
(mov a4 (& 0))
(bra 109)
110
(adjstk '1)
(mov (& 3) a4)
(diff '1 a4)
(push a4)
(cabne (& 3) '0 111)
(mov (& 8) a3)
(bra 112)
111
(mov (& 3) a3)
(diff '1 a3)
112
(push a3)
(jcall gensym)
(mov a1 (& 2))
(pop a3)
(mov a3 (& 3))
(pop a4)
(mov a4 (& 3))
(bra 103)
104
(mov (& 1) a1)
(adjstk '9)
(return)
))
(loader'((entry browse-random subr0)
(mov (cvalq browse-rand) a4)
(times '17 a4)
(rem '251 a4)
(mov a4 (cvalq browse-rand))
(mov a4 a1)
(return)
))
(loader'((entry browse-randomize subr1)
(push a1)
(push nil)
101
(btnil (& 1) 102)
(call browse-random)
(push a1)
(mov (& 2) a1)
(jcall length)
(pop a4)
(rem a1 a4)
(cabne a4 '0 103)
(mov (& 1) a1)
(mov (& 0) a2)
(mov (car a1) a1)
(jcall cons)
(mov a1 (& 0))
(mov (& 1) a4)
(mov (cdr a4) (& 1))
(bra 101)
103
(push (& 1))
(push a4)
105
(cabeq (& 0) '1 106)
(mov (& 0) a4)
(diff '1 a4)
(mov (& 1) a3)
(mov (cdr a3) (& 1))
(mov a4 (& 0))
(bra 105)
106
(mov (& 1) a1)
(mov (cdr a1) a1)
(mov (& 2) a2)
(mov (car a1) a1)
(jcall cons)
(mov a1 (& 2))
(mov (& 1) a4)
(mov (cdr a4) a4)
(mov (& 1) a3)
(mov (cdr a4) (cdr a3))
(adjstk '2)
(bra 101)
102
(mov (& 0) a1)
(adjstk '2)
(return)
))
(loader'((entry match subr3)
(push a3)
(push a2)
(push a1)
(bfnil a1 101)
(btnil a2 103)
(mov nil a1)
(bra 104)
103
(mov 't a1)
104
(adjstk '3)
(return)
101
(bfnil a2 105)
(mov nil a1)
(adjstk '3)
(return)
105
(cabeq (car a1) '? 109)
(cabne (car a1) (car a2) 107)
109
(mov (cdr a2) a2)
(mov (cdr a1) a1)
(adjstk '3)
(bra match)
107
(cabne (car a1) '* 110)
(mov (cdr a1) a1)
(call match)
(bfnil a1 112)
(mov (& 0) a1)
(mov (& 1) a2)
(mov (& 2) a3)
(mov (cdr a2) a2)
(mov (cdr a1) a1)
(call match)
(bfnil a1 112)
(mov (& 1) a2)
(mov (& 2) a3)
(mov (cdr a2) a2)
(mov (& 0) a1)
(adjstk '3)
(bra match)
112
(adjstk '3)
(return)
110
(btcons (car a1) 113)
(mov (car a1) a2)
(mov '0 a1)
(jcall chrnth)
(cabne a1 '63 115)
(mov (& 0) a1)
(mov (& 2) a2)
(mov (car a1) a1)
(jcall assoc)
(btnil a1 117)
(mov (& 0) a2)
(mov (cdr a2) a2)
(mov (cdr a1) a1)
(jcall cons)
(mov (& 2) a3)
(mov (& 1) a2)
(adjstk '3)
(bra match)
117
(mov (& 0) a1)
(push (cdr a1))
(mov (& 2) a2)
(push (cdr a2))
(mov (car a2) a2)
(mov (car a1) a1)
(jcall cons)
(mov (& 4) a2)
(jcall cons)
(mov a1 a3)
(pop a2)
(pop a1)
(adjstk '3)
(bra match)
115
(mov (& 0) a2)
(mov (car a2) a2)
(mov '0 a1)
(jcall chrnth)
(cabne a1 '42 119)
(mov (& 0) a1)
(mov (& 2) a2)
(mov (car a1) a1)
(jcall assoc)
(btnil a1 121)
(push (@ 123))
(push (cdr a1))
(mov (& 2) a4)
(push (cdr a4))
(mov '2 a4)
(jmp append)
123
(eval ())
(mov (& 2) a3)
(mov (& 1) a2)
(adjstk '3)
(bra match)
121
(mov (& 1) a2)
(mov nil a1)
(jcall cons)
(push nil)
(push (& 2))
(push a1)
124
(btnil (& 0) 125)
(mov (& 3) a1)
(push (cdr a1))
(mov (& 3) a2)
(mov (car a1) a1)
(jcall cons)
(mov (& 6) a2)
(jcall cons)
(mov a1 a3)
(mov (& 2) a2)
(pop a1)
(call match)
(bfnil a1 125)
(push (@ 126))
(push (& 3))
(mov (& 3) a1)
(mov nil a2)
(mov (car a1) a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp nconc)
126
(eval ())
(mov (& 0) a4)
(mov (& 1) a3)
(mov (cdr a3) (& 1))
(mov (cdr a4) (& 0))
(mov a1 (& 2))
(bra 124)
125
(bfnil (& 0) 127)
(mov nil a1)
(adjstk '6)
(return)
127
(mov 't a1)
(adjstk '6)
(return)
119
(mov nil a1)
(adjstk '3)
(return)
113
(mov (car a2) a1)
(jcall atom)
(btnil a1 130)
(mov nil a1)
(bra 131)
130
(mov 't a1)
131
(btnil a1 129)
(mov (& 0) a1)
(mov (& 1) a2)
(mov (& 2) a3)
(mov (car a2) a2)
(mov (car a1) a1)
(call match)
(btnil a1 129)
(mov (& 0) a1)
(mov (& 1) a2)
(mov (& 2) a3)
(mov (cdr a2) a2)
(mov (cdr a1) a1)
(adjstk '3)
(bra match)
129
(adjstk '3)
(return)
))
(loader'((entry browse subr0)
(push (@ 101))
(push '100)
(push '10)
(push '4)
(push '((a a a b b b b a a a a a b b a a a) (a a b b b b a a (a a) (b b)) (a a a b (b a) b a b a)))
(mov '4 a4)
(bra browse-init)
101
(eval ())
(call browse-randomize)
(mov '((*a ?b *b ?b a *a a *b *a) (*a *b *b *a (*a) (*b)) (? ? * (b a) * ? ?)) a2)
(bra investigate)
))
(loader'((entry investigate subr2)
(push a2)
(push a1)
101
(btnil (& 0) 103)
(mov nil a4)
(bra 104)
103
(mov 't a4)
104
(bfnil a4 102)
(push (& 1))
105
(btnil (& 0) 106)
(mov (& 1) a1)
(mov 'pattern a2)
(mov (car a1) a1)
(jcall get)
(push a1)
107
(btnil (& 0) 108)
(mov (& 1) a1)
(mov (& 0) a2)
(mov nil a3)
(mov (car a2) a2)
(mov (car a1) a1)
(call match)
(mov (& 0) a4)
(mov (cdr a4) (& 0))
(bra 107)
108
(adjstk '1)
(mov (& 0) a4)
(mov (cdr a4) (& 0))
(bra 105)
106
(adjstk '1)
(mov (& 0) a4)
(mov (cdr a4) (& 0))
(bra 101)
102
(mov a4 a1)
(adjstk '2)
(return)
))
(loader '((end)))