(loader '((title |cpmac.lo|)))
(if (not (>= (version) 15.2)) (progn (error 'load 'erricf 'cpmac)))
(defvar #:sys-package:colon 'compiler)
(defvar #:compiler:open-p t)
(loader'((fentry defmacro-open fsubr)
(entry defmacro-open fsubr)
(mov (cdr a1) a4)
(mov (car a1) a1)
(push a1)
(push a4)
(mov 'macro-open a2)
(jcall symbol)
(mov (& 0) a3)
(mov 'expr a2)
(jcall setfn)
(mov (& 1) a1)
(adjstk '2)
(return)
))
(loader'((fentry make-macro-open subr2)
(entry make-macro-open subr2)
(push a2)
(push a1)
(mov 'macro-open a2)
(jcall symbol)
(mov (& 1) a3)
(mov 'expr a2)
(jcall setfn)
(mov (& 0) a1)
(adjstk '2)
(return)
))
(loader'((fentry macro-openp subr1)
(entry macro-openp subr1)
(mov 'macro-open a2)
(jmp getfn1)
))
(loader'((fentry remove-macro-open subr1)
(entry remove-macro-open subr1)
(push a1)
(mov 'macro-open a2)
(jcall getsymb1)
(btnil a1 101)
(mov 'macro-open a2)
(mov (& 0) a1)
(jcall getsymb1)
(adjstk '1)
(jmp remob)
101
(mov nil a1)
(adjstk '1)
(return)
))
(loader'((fentry #:compiler:macro-expand-error subr1)
(entry #:compiler:macro-expand-error subr1)
(mov a1 a3)
(mov '"erreur durant la macroexpansion" a2)
(mov '#:compiler:macro-expand-error a1)
(jmp error)
))
(loader'((fentry #:compiler:macroexpand subr1)
(entry #:compiler:macroexpand subr1)
(push a1)
(bfcons a1 101)
(bfsymb (car a1) 101)
(push nil)
(push (car a1))
(push (cdr a1))
(push nil)
(push '0)
(push nil)
(push (cvalq #:system:debug))
(mov (& 1) (cvalq #:system:debug))
(push (cvalq #:system:print-msgs))
(mov (& 3) (cvalq #:system:print-msgs))
(push (cvalq #:system:error-flag))
(mov (& 5) (cvalq #:system:error-flag))
(push '3)
(push '(#:system:debug #:system:print-msgs #:system:error-flag))
(push 'lambda)
(push llink)
(push dlink)
(push cbindn)
(stack dlink)
(push (@ 103))
(push '#:system:error-tag)
(push dlink)
(push tag)
(stack dlink)
(btnil (cvalq #:compiler:open-p) 104)
(mov 'macro-open a2)
(mov (& 17) a1)
(jcall getfn1)
(mov a1 (& 18))
(btnil a1 104)
(push (@ 107))
(push (& 19))
(mov (& 21) a4)
(push (cdr a4))
(mov '2 a4)
(jmp apply)
107
(eval ())
(bfnil a1 105)
(mov (& 19) a1)
(bra 105)
104
(mov (& 19) a2)
(mov (cdr a2) a2)
(mov (& 17) a1)
(call #:compiler:macroexpand-internal)
(bfnil a1 105)
(mov (& 17) a1)
(jcall typefn)
(cabne a1 'macro 109)
(push (@ 111))
(mov (& 18) a1)
(jcall valfn)
(mov a1 a2)
(mov 'lambda a1)
(jcall cons)
(push a1)
(push (& 21))
(mov '2 a4)
(jmp apply)
111
(eval ())
(bra 105)
109
(mov (& 17) a1)
(jcall typefn)
(cabne a1 'dmacro 112)
(push (@ 114))
(mov (& 18) a1)
(jcall valfn)
(mov a1 a2)
(mov 'lambda a1)
(jcall cons)
(push a1)
(mov (& 21) a4)
(push (cdr a4))
(mov '2 a4)
(jmp apply)
114
(eval ())
(bra 105)
112
(mov (& 17) a1)
(jcall typefn)
(cabne a1 'msubr 115)
(push (@ 117))
(mov (& 18) a1)
(jcall valfn)
(push a1)
(push (& 21))
(push nil)
(push nil)
(mov '4 a4)
(jmp call)
117
(eval ())
(bra 105)
115
(mov (& 17) a1)
(jcall typefn)
(cabne a1 'dmsubr 118)
(push (@ 120))
(mov (& 18) a1)
(jcall valfn)
(push a1)
(mov (& 21) a4)
(push (cdr a4))
(push nil)
(push nil)
(mov '4 a4)
(jmp call)
120
(eval ())
(bra 105)
118
(mov (& 19) a1)
105
(jcall ncons)
(mov (& 1) dlink)
(adjstk '4)
103
(eval ())
(mov (& 1) dlink)
(mov (& 6) (cvalq #:system:error-flag))
(mov (& 7) (cvalq #:system:print-msgs))
(mov (& 8) (cvalq #:system:debug))
(adjstk '12)
(mov a1 (& 2))
(btcons a1 121)
(mov (& 1) a1)
(adjstk '4)
(jmp #:compiler:macro-expand-error)
121
(bfcons (car a1) 123)
(cabne (& 3) (car a1) 125)
(mov (car a1) a4)
(cabne (& 1) (car a4) 125)
(mov (car a1) a3)
(cabeq (& 0) (cdr a3) 123)
125
(mov (car a1) a1)
(adjstk '4)
(jmp #:compiler:macroexpand)
123
(mov (car a1) a1)
(adjstk '4)
(return)
101
(adjstk '1)
(return)
))
(loader'((entry #:compiler:macroexpand-internal subr2)
(push a2)
(push a1)
(mov (cvalq #:compiler:open-p) a1)
(btnil a1 102)
(mov (& 0) a1)
(call #:compiler:macroexpand-internal-open)
102
(bfnil a1 101)
(mov (& 1) a2)
(mov (& 0) a1)
(adjstk '2)
(bra #:compiler:macroexpand-internal-close)
101
(adjstk '2)
(return)
))
(loader'((entry #:compiler:macroexpand-internal-close subr2)
(push a2)
(cabne a1 'cond 102)
(mov a2 a1)
(adjstk '1)
(bra #:compiler:mc:cond)
102
(cabne a1 'unless 103)
(push (@ 104))
(push 'if)
(push (@ 105))
(push 'not)
(push (car a2))
(mov '2 a4)
(jmp list)
105
(eval ())
(push a1)
(mov (& 3) a2)
(mov (cdr a2) a2)
(mov 'progn a1)
(jcall cons)
(push a1)
(mov '3 a4)
(jmp list)
104
(eval ())
(adjstk '1)
(return)
103
(cabne a1 'when 106)
(push (@ 107))
(push 'if)
(push (car a2))
(mov (cdr a2) a2)
(mov 'progn a1)
(jcall cons)
(push a1)
(mov '3 a4)
(jmp list)
107
(eval ())
(adjstk '1)
(return)
106
(cabne a1 'ifn 108)
(push (@ 109))
(push 'if)
(push (@ 110))
(push 'not)
(push (car a2))
(mov '2 a4)
(jmp list)
110
(eval ())
(push a1)
(mov (& 3) a4)
(push (cdr a4))
(mov '3 a4)
(jmp mcons)
109
(eval ())
(adjstk '1)
(return)
108
(cabne a1 'neq 111)
(push (@ 112))
(push 'not)
(mov 'eq a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp list)
112
(eval ())
(adjstk '1)
(return)
111
(cabne a1 'nequal 113)
(push (@ 114))
(push 'not)
(mov 'equal a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp list)
114
(eval ())
(adjstk '1)
(return)
113
(cabne a1 'null 115)
(mov 'not a1)
(adjstk '1)
(jmp cons)
115
(cabne a1 'atomp 116)
(mov 'atom a1)
(adjstk '1)
(jmp cons)
116
(cabne a1 'decr 117)
(push (@ 118))
(push 'setq)
(push (car a2))
(btnil (cdr a2) 119)
(mov '- a1)
(bra 120)
119
(mov '1- a1)
120
(jcall cons)
(push a1)
(mov '3 a4)
(jmp list)
118
(eval ())
(adjstk '1)
(return)
117
(cabne a1 'incr 121)
(push (@ 122))
(push 'setq)
(push (car a2))
(btnil (cdr a2) 123)
(mov '+ a1)
(bra 124)
123
(mov '1+ a1)
124
(jcall cons)
(push a1)
(mov '3 a4)
(jmp list)
122
(eval ())
(adjstk '1)
(return)
121
(cabne a1 'newl 125)
(push (@ 126))
(push 'setq)
(push (car a2))
(push (@ 127))
(push 'cons)
(mov (cdr a2) a4)
(push (car a4))
(push (car a2))
(mov '3 a4)
(jmp list)
127
(eval ())
(push a1)
(mov '3 a4)
(jmp list)
126
(eval ())
(adjstk '1)
(return)
125
(cabne a1 'nextl 128)
(push (@ 129))
(push 'prog1)
(btnil (cdr a2) 130)
(push (@ 132))
(push 'setq)
(mov (cdr a2) a4)
(push (car a4))
(push (@ 133))
(push 'car)
(push (car a2))
(mov '2 a4)
(jmp list)
133
(eval ())
(push a1)
(mov '3 a4)
(jmp list)
132
(eval ())
(mov a1 a4)
(bra 131)
130
(push (@ 134))
(push 'car)
(push (car a2))
(mov '2 a4)
(jmp list)
134
(eval ())
(mov a1 a4)
131
(push a4)
(push (@ 135))
(push 'setq)
(mov (& 5) a4)
(push (car a4))
(push (@ 136))
(push 'cdr)
(push (car a4))
(mov '2 a4)
(jmp list)
136
(eval ())
(push a1)
(mov '3 a4)
(jmp list)
135
(eval ())
(push a1)
(mov '3 a4)
(jmp list)
129
(eval ())
(adjstk '1)
(return)
128
(cabne a1 'newr 137)
(push (@ 138))
(push 'setq)
(push (car a2))
(push (@ 139))
(push 'let)
(push (@ 140))
(push (@ 141))
(push '#:compiler:newr)
(mov (cdr a2) a4)
(push (car a4))
(mov '2 a4)
(jmp list)
141
(eval ())
(push a1)
(mov '1 a4)
(jmp list)
140
(eval ())
(push a1)
(push (@ 142))
(push 'nconc)
(mov (& 8) a4)
(push (car a4))
(push '((ncons #:compiler:newr)))
(mov '3 a4)
(jmp mcons)
142
(eval ())
(push a1)
(mov '3 a4)
(jmp list)
139
(eval ())
(push a1)
(mov '3 a4)
(jmp list)
138
(eval ())
(adjstk '1)
(return)
137
(cabne a1 'dynamic-let 143)
(mov a2 a1)
(adjstk '1)
(bra #:compiler:mc:dynamic-let)
143
(cabne a1 'dynamic 144)
(mov a2 a1)
(adjstk '1)
(bra #:compiler:mc:dynamic)
144
(cabne a1 'return 145)
(push (@ 146))
(push 'return-from)
(push nil)
(push a2)
(mov '3 a4)
(jmp mcons)
146
(eval ())
(adjstk '1)
(return)
145
(cabne a1 'map 147)
(push a2)
(mov 'null a3)
(mov 'map a2)
(pop a1)
(adjstk '1)
(bra #:compiler:map)
147
(cabne a1 'mapl 148)
(push a2)
(mov 'null a3)
(mov 'map a2)
(pop a1)
(adjstk '1)
(bra #:compiler:map)
148
(cabne a1 'maplist 149)
(push a2)
(mov 'cons a3)
(mov 'map a2)
(pop a1)
(adjstk '1)
(bra #:compiler:map)
149
(cabne a1 'mapcon 150)
(push a2)
(mov 'nreconc a3)
(mov 'map a2)
(pop a1)
(adjstk '1)
(bra #:compiler:map)
150
(cabne a1 'mapc 151)
(push a2)
(mov 'null a3)
(mov 'mapc a2)
(pop a1)
(adjstk '1)
(bra #:compiler:map)
151
(cabne a1 'mapcar 152)
(push a2)
(mov 'cons a3)
(mov 'mapc a2)
(pop a1)
(adjstk '1)
(bra #:compiler:map)
152
(cabne a1 'mapcan 153)
(push a2)
(mov 'nreconc a3)
(mov 'mapc a2)
(pop a1)
(adjstk '1)
(bra #:compiler:map)
153
(cabne a1 'every 154)
(push a2)
(mov 'every a3)
(mov 'mapc a2)
(pop a1)
(adjstk '1)
(bra #:compiler:map)
154
(cabne a1 'any 155)
(push a2)
(mov 'any a3)
(mov 'mapc a2)
(pop a1)
(adjstk '1)
(bra #:compiler:map)
155
(cabne a1 'mapvector 156)
(mov a2 a1)
(adjstk '1)
(bra #:compiler:mapvector)
156
(cabne a1 'untilexit 157)
(push (@ 158))
(push 'tag)
(push (car a2))
(push (@ 159))
(push 'while)
(push 't)
(push (cdr a2))
(mov '3 a4)
(jmp mcons)
159
(eval ())
(push a1)
(mov '3 a4)
(jmp list)
158
(eval ())
(adjstk '1)
(return)
157
(cabne a1 'loop 160)
(push (@ 161))
(push 'while)
(push 't)
(push a2)
(mov '3 a4)
(jmp mcons)
161
(eval ())
(adjstk '1)
(return)
160
(cabne a1 'catcherror 162)
(mov a2 a1)
(adjstk '1)
(bra #:compiler:mc:catcherror)
162
(cabne a1 'errset 163)
(mov a2 a1)
(adjstk '1)
(bra #:compiler:mc:errset)
163
(cabne a1 'err 164)
(push (@ 165))
(push 'exit)
(push '#:system:error-tag)
(push a2)
(mov '3 a4)
(jmp mcons)
165
(eval ())
(adjstk '1)
(return)
164
(cabne a1 'eval-when 166)
(mov a2 a1)
(adjstk '1)
(bra #:compiler:mc:eval-when)
166
(cabne a1 'desetq 167)
(push (@ 168))
(push 'deset)
(push (@ 169))
(push 'quote)
(push (car a2))
(mov '2 a4)
(jmp list)
169
(eval ())
(push a1)
(mov (& 3) a4)
(mov (cdr a4) a4)
(push (car a4))
(mov '3 a4)
(jmp list)
168
(eval ())
(adjstk '1)
(return)
167
(cabne a1 'defprop 170)
(push (@ 171))
(push 'putprop)
(push (@ 172))
(push 'quote)
(push (car a2))
(mov '2 a4)
(jmp list)
172
(eval ())
(push a1)
(push (@ 173))
(push 'quote)
(mov (& 5) a4)
(mov (cdr a4) a4)
(push (car a4))
(mov '2 a4)
(jmp list)
173
(eval ())
(push a1)
(push (@ 174))
(push 'quote)
(mov (& 6) a4)
(mov (cdr a4) a4)
(mov (cdr a4) a4)
(push (car a4))
(mov '2 a4)
(jmp list)
174
(eval ())
(push a1)
(mov '4 a4)
(jmp list)
171
(eval ())
(adjstk '1)
(return)
170
(cabne a1 'psetq 175)
(mov (cdr a2) a4)
(btnil (cdr a4) 176)
(push (@ 178))
(push 'setq)
(push (car a2))
(push (@ 179))
(push 'prog1)
(mov (cdr a2) a3)
(push (car a3))
(mov (cdr a2) a2)
(mov (cdr a2) a2)
(mov 'psetq a1)
(jcall cons)
(push a1)
(mov '3 a4)
(jmp list)
179
(eval ())
(push a1)
(mov '3 a4)
(jmp list)
178
(eval ())
(adjstk '1)
(return)
176
(push (@ 180))
(push 'setq)
(push (car a2))
(mov (cdr a2) a3)
(push (car a3))
(mov '3 a4)
(jmp list)
180
(eval ())
(adjstk '1)
(return)
175
(cabne a1 'setqq 181)
(mov (cdr a2) a4)
(btnil (cdr a4) 182)
(push (@ 184))
(push 'progn)
(push (@ 185))
(push 'setq)
(push (car a2))
(push (@ 186))
(push 'quote)
(mov (cdr a2) a3)
(push (car a3))
(mov '2 a4)
(jmp list)
186
(eval ())
(push a1)
(mov '3 a4)
(jmp list)
185
(eval ())
(push a1)
(mov (& 3) a2)
(mov (cdr a2) a2)
(mov (cdr a2) a2)
(mov 'setqq a1)
(jcall cons)
(push a1)
(mov '3 a4)
(jmp list)
184
(eval ())
(adjstk '1)
(return)
182
(push (@ 187))
(push 'setq)
(push (car a2))
(push (@ 188))
(push 'quote)
(mov (cdr a2) a3)
(push (car a3))
(mov '2 a4)
(jmp list)
188
(eval ())
(push a1)
(mov '3 a4)
(jmp list)
187
(eval ())
(adjstk '1)
(return)
181
(cabne a1 'letvq 189)
(push (@ 190))
(push (@ 191))
(push 'lambda)
(push (@ 192))
(push (car a2))
(mov '1 a4)
(jmp list)
192
(eval ())
(push a1)
(mov (& 4) a4)
(mov (cdr a4) a4)
(push (cdr a4))
(mov '3 a4)
(jmp mcons)
191
(eval ())
(push a1)
(mov (& 2) a4)
(mov (cdr a4) a4)
(push (car a4))
(mov '2 a4)
(jmp list)
190
(eval ())
(adjstk '1)
(return)
189
(cabne a1 'prog2 193)
(push (@ 194))
(push 'progn)
(push (car a2))
(mov (cdr a2) a2)
(mov 'prog1 a1)
(jcall cons)
(push a1)
(mov '3 a4)
(jmp list)
194
(eval ())
(adjstk '1)
(return)
193
(cabne a1 'lognot 195)
(push (@ 196))
(push 'logxor)
(push (car a2))
(push '(-1))
(mov '3 a4)
(jmp mcons)
196
(eval ())
(adjstk '1)
(return)
195
(cabne a1 'add1 197)
(push (@ 198))
(push 'add)
(push (car a2))
(push '(1))
(mov '3 a4)
(jmp mcons)
198
(eval ())
(adjstk '1)
(return)
197
(cabne a1 'sub1 199)
(push (@ 200))
(push 'sub)
(push (car a2))
(push '(1))
(mov '3 a4)
(jmp mcons)
200
(eval ())
(adjstk '1)
(return)
199
(cabne a1 'time 201)
(mov (car a2) a1)
(adjstk '1)
(bra #:compiler:mc:time)
201
(mov nil a1)
(adjstk '1)
(return)
))
(loader'((entry #:compiler:macroexpand-internal-open subr2)
(cabne a1 'caar 102)
(push (@ 103))
(push 'car)
(mov 'car a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp list)
103
(eval ())
(return)
102
(cabne a1 'cadr 104)
(push (@ 105))
(push 'car)
(mov 'cdr a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp list)
105
(eval ())
(return)
104
(cabne a1 'cdar 106)
(push (@ 107))
(push 'cdr)
(mov 'car a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp list)
107
(eval ())
(return)
106
(cabne a1 'cddr 108)
(push (@ 109))
(push 'cdr)
(mov 'cdr a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp list)
109
(eval ())
(return)
108
(cabne a1 'caaar 110)
(push (@ 111))
(push 'car)
(push (@ 112))
(push 'car)
(mov 'car a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp list)
112
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
111
(eval ())
(return)
110
(cabne a1 'caadr 113)
(push (@ 114))
(push 'car)
(push (@ 115))
(push 'car)
(mov 'cdr a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp list)
115
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
114
(eval ())
(return)
113
(cabne a1 'cadar 116)
(push (@ 117))
(push 'car)
(push (@ 118))
(push 'cdr)
(mov 'car a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp list)
118
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
117
(eval ())
(return)
116
(cabne a1 'caddr 119)
(push (@ 120))
(push 'car)
(push (@ 121))
(push 'cdr)
(mov 'cdr a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp list)
121
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
120
(eval ())
(return)
119
(cabne a1 'cdaar 122)
(push (@ 123))
(push 'cdr)
(push (@ 124))
(push 'car)
(mov 'car a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp list)
124
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
123
(eval ())
(return)
122
(cabne a1 'cdadr 125)
(push (@ 126))
(push 'cdr)
(push (@ 127))
(push 'car)
(mov 'cdr a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp list)
127
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
126
(eval ())
(return)
125
(cabne a1 'cddar 128)
(push (@ 129))
(push 'cdr)
(push (@ 130))
(push 'cdr)
(mov 'car a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp list)
130
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
129
(eval ())
(return)
128
(cabne a1 'cdddr 131)
(push (@ 132))
(push 'cdr)
(push (@ 133))
(push 'cdr)
(mov 'cdr a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp list)
133
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
132
(eval ())
(return)
131
(cabne a1 'caaaar 134)
(push (@ 135))
(push 'car)
(push (@ 136))
(push 'car)
(push (@ 137))
(push 'car)
(mov 'car a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp list)
137
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
136
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
135
(eval ())
(return)
134
(cabne a1 'caaadr 138)
(push (@ 139))
(push 'car)
(push (@ 140))
(push 'car)
(push (@ 141))
(push 'car)
(mov 'cdr a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp list)
141
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
140
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
139
(eval ())
(return)
138
(cabne a1 'caadar 142)
(push (@ 143))
(push 'car)
(push (@ 144))
(push 'car)
(push (@ 145))
(push 'cdr)
(mov 'car a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp list)
145
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
144
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
143
(eval ())
(return)
142
(cabne a1 'caaddr 146)
(push (@ 147))
(push 'car)
(push (@ 148))
(push 'car)
(push (@ 149))
(push 'cdr)
(mov 'cdr a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp list)
149
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
148
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
147
(eval ())
(return)
146
(cabne a1 'cadaar 150)
(push (@ 151))
(push 'car)
(push (@ 152))
(push 'cdr)
(push (@ 153))
(push 'car)
(mov 'car a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp list)
153
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
152
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
151
(eval ())
(return)
150
(cabne a1 'cadadr 154)
(push (@ 155))
(push 'car)
(push (@ 156))
(push 'cdr)
(push (@ 157))
(push 'car)
(mov 'cdr a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp list)
157
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
156
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
155
(eval ())
(return)
154
(cabne a1 'caddar 158)
(push (@ 159))
(push 'car)
(push (@ 160))
(push 'cdr)
(push (@ 161))
(push 'cdr)
(mov 'car a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp list)
161
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
160
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
159
(eval ())
(return)
158
(cabne a1 'cadddr 162)
(push (@ 163))
(push 'car)
(push (@ 164))
(push 'cdr)
(push (@ 165))
(push 'cdr)
(mov 'cdr a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp list)
165
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
164
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
163
(eval ())
(return)
162
(cabne a1 'cdaaar 166)
(push (@ 167))
(push 'cdr)
(push (@ 168))
(push 'car)
(push (@ 169))
(push 'car)
(mov 'car a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp list)
169
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
168
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
167
(eval ())
(return)
166
(cabne a1 'cdaadr 170)
(push (@ 171))
(push 'cdr)
(push (@ 172))
(push 'car)
(push (@ 173))
(push 'car)
(mov 'cdr a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp list)
173
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
172
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
171
(eval ())
(return)
170
(cabne a1 'cdadar 174)
(push (@ 175))
(push 'cdr)
(push (@ 176))
(push 'car)
(push (@ 177))
(push 'cdr)
(mov 'car a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp list)
177
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
176
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
175
(eval ())
(return)
174
(cabne a1 'cdaddr 178)
(push (@ 179))
(push 'cdr)
(push (@ 180))
(push 'car)
(push (@ 181))
(push 'cdr)
(mov 'cdr a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp list)
181
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
180
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
179
(eval ())
(return)
178
(cabne a1 'cddaar 182)
(push (@ 183))
(push 'cdr)
(push (@ 184))
(push 'cdr)
(push (@ 185))
(push 'car)
(mov 'car a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp list)
185
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
184
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
183
(eval ())
(return)
182
(cabne a1 'cddadr 186)
(push (@ 187))
(push 'cdr)
(push (@ 188))
(push 'cdr)
(push (@ 189))
(push 'car)
(mov 'cdr a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp list)
189
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
188
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
187
(eval ())
(return)
186
(cabne a1 'cdddar 190)
(push (@ 191))
(push 'cdr)
(push (@ 192))
(push 'cdr)
(push (@ 193))
(push 'cdr)
(mov 'car a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp list)
193
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
192
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
191
(eval ())
(return)
190
(cabne a1 'cddddr 194)
(push (@ 195))
(push 'cdr)
(push (@ 196))
(push 'cdr)
(push (@ 197))
(push 'cdr)
(mov 'cdr a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp list)
197
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
196
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
195
(eval ())
(return)
194
(mov nil a1)
(return)
))
(loader'((entry #:compiler:mc:catcherror subr1)
(mov (cdr a1) a4)
(mov (car a1) a1)
(push a4)
(cabne a1 't 101)
(push (@ 103))
(push 'let)
(push '((#:system:error-flag t)))
(push (@ 104))
(push 'tag)
(push '#:system:error-tag)
(push (@ 105))
(push 'ncons)
(mov a4 a2)
(mov 'progn a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp list)
105
(eval ())
(push a1)
(mov '3 a4)
(jmp list)
104
(eval ())
(push a1)
(mov '3 a4)
(jmp list)
103
(eval ())
(adjstk '1)
(return)
101
(bfnil a1 106)
(push (@ 108))
(push 'let)
(push '((#:system:error-flag ()) (#:system:print-msgs 0) (#:system:debug ())))
(push (@ 109))
(push 'tag)
(push '#:system:error-tag)
(push (@ 110))
(push 'ncons)
(mov a4 a2)
(mov 'progn a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp list)
110
(eval ())
(push a1)
(mov '3 a4)
(jmp list)
109
(eval ())
(push a1)
(mov '3 a4)
(jmp list)
108
(eval ())
(adjstk '1)
(return)
106
(push (@ 111))
(push 'let)
(push (@ 112))
(push (@ 113))
(push '#:system:error-flag)
(push (@ 114))
(push 'eval)
(push a1)
(mov '2 a4)
(jmp list)
114
(eval ())
(push a1)
(mov '2 a4)
(jmp list)
113
(eval ())
(push a1)
(mov '1 a4)
(jmp list)
112
(eval ())
(push a1)
(push (@ 115))
(push 'let)
(push '((#:system:print-msgs (if #:system:error-flag #:system:print-msgs 0)) (#:system:debug (if #:system:error-flag #:system:debug ()))))
(push (@ 116))
(push 'tag)
(push '#:system:error-tag)
(push (@ 117))
(push 'ncons)
(mov (& 11) a2)
(mov 'progn a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp list)
117
(eval ())
(push a1)
(mov '3 a4)
(jmp list)
116
(eval ())
(push a1)
(mov '3 a4)
(jmp list)
115
(eval ())
(push a1)
(mov '3 a4)
(jmp list)
111
(eval ())
(adjstk '1)
(return)
))
(loader'((entry #:compiler:mc:cond subr1)
(push a1)
(bfnil (cdr a1) 101)
(mov (car a1) a4)
(btnil (cdr a4) 103)
(mov (car a1) a3)
(cabne (car a3) 't 105)
(mov (car a1) a2)
(mov (cdr a2) a2)
(mov 'progn a1)
(adjstk '1)
(jmp cons)
105
(push (@ 107))
(push 'if)
(mov (car a1) a2)
(push (car a2))
(mov (car a1) a2)
(mov (cdr a2) a2)
(mov 'progn a1)
(jcall cons)
(push a1)
(mov '3 a4)
(jmp list)
107
(eval ())
(adjstk '1)
(return)
103
(mov (car a1) a1)
(mov (car a1) a1)
(bfnil a1 108)
(mov 'nil a1)
108
(adjstk '1)
(return)
101
(mov (car a1) a4)
(btnil (cdr a4) 109)
(push (@ 111))
(push 'if)
(mov (car a1) a3)
(push (car a3))
(mov (car a1) a2)
(mov (cdr a2) a2)
(mov 'progn a1)
(jcall cons)
(push a1)
(mov (& 4) a2)
(mov (cdr a2) a2)
(mov 'cond a1)
(jcall cons)
(push a1)
(mov '4 a4)
(jmp list)
111
(eval ())
(adjstk '1)
(return)
109
(push (@ 112))
(push 'or)
(mov (car a1) a3)
(push (car a3))
(mov (cdr a1) a2)
(mov 'cond a1)
(jcall cons)
(push a1)
(mov '3 a4)
(jmp list)
112
(eval ())
(adjstk '1)
(return)
))
(loader'((entry #:compiler:mc:dynamic subr1)
(push a1)
(mov 'complice a1)
(jcall featurep)
(btnil a1 102)
(mov (& 0) a1)
(mov (cvalq dynamic-flag) a3)
(mov 't a2)
(mov (car a1) a1)
(jcall putprop)
102
(mov (& 0) a1)
(mov (car a1) a1)
(adjstk '1)
(return)
))
(loader'((entry #:compiler:mc:dynamic-let subr1)
(push a1)
(mov 'complice a1)
(jcall featurep)
(btnil a1 102)
(mov (& 0) a4)
(push (car a4))
103
(bfcons (& 0) 104)
(mov (& 0) a4)
(mov (cdr a4) (& 0))
(push (car a4))
(mov (& 0) a4)
(mov (car a4) (& 0))
(mov (cdr a4) a4)
(mov (car a4) a4)
(mov (cvalq dynamic-flag) a3)
(mov 't a2)
(mov (& 0) a1)
(jcall putprop)
(adjstk '1)
(bra 103)
104
(adjstk '1)
102
(push (@ 105))
(push 'let)
(mov (& 2) a4)
(push (car a4))
(push (cdr a4))
(mov '3 a4)
(jmp mcons)
105
(eval ())
(adjstk '1)
(return)
))
(defvar dynamic-flag '#:system:loaded-from-file)
(defvar #:compiler:exported-env ())
(loader'((entry #:compiler:mc:eval-when subr1)
(mov (cdr a1) a4)
(mov (car a1) a1)
(push a1)
(push a4)
(push 'nil)
(mov a1 a2)
(mov 'load a1)
(jcall memq)
(btnil a1 101)
(mov (& 1) a2)
(mov 'progn a1)
(jcall cons)
(mov a1 (& 0))
(bra 102)
101
(mov (& 2) a2)
(mov 'local-compile a1)
(jcall memq)
(btnil a1 103)
(mov (& 1) a1)
(jcall eprogn)
(bra 102)
103
(mov (& 2) a2)
(mov 'compile a1)
(jcall memq)
(btnil a1 102)
(mov (& 1) a1)
(jcall eprogn)
(mov (cvalq #:compiler:exported-env) a2)
(mov (& 1) a1)
(jcall member)
(bfnil a1 102)
(mov (cvalq #:compiler:exported-env) a2)
(mov (& 1) a1)
(jcall cons)
(mov a1 (cvalq #:compiler:exported-env))
102
(mov (& 0) a1)
(adjstk '3)
(return)
))
(loader'((entry #:compiler:mc:errset subr1)
(mov (cdr a1) a4)
(mov (car a1) a1)
(push a1)
(mov (car a4) a4)
(push (@ 101))
(push 'let)
(push (@ 102))
(push (@ 103))
(push '#:system:error-flag)
(push a4)
(mov '2 a4)
(jmp list)
103
(eval ())
(push a1)
(mov '1 a4)
(jmp list)
102
(eval ())
(push a1)
(push (@ 104))
(push 'tag)
(push '#:system:error-tag)
(push (@ 105))
(push 'ncons)
(push (& 8))
(mov '2 a4)
(jmp list)
105
(eval ())
(push a1)
(mov '3 a4)
(jmp list)
104
(eval ())
(push a1)
(mov '3 a4)
(jmp list)
101
(eval ())
(adjstk '1)
(return)
))
(loader'((entry #:compiler:map subr3)
(push a3)
(push a2)
(mov (cdr a1) a4)
(mov (car a1) a1)
(push a1)
(push a4)
(mov a4 a1)
(jcall length)
(push nil)
(push '#:system:map:r)
(push a1)
(bra 102)
101
(push a1)
(push (@ 103))
(push '"arg")
(mov (& 3) a1)
(jcall 1-)
(mov a1 (& 3))
(push a1)
(mov '2 a4)
(jmp concat)
103
(eval ())
(mov a1 a2)
(mov '#:system:map a1)
(jcall symbol)
(mov (& 3) a2)
(jcall cons)
(mov a1 (& 3))
(pop a1)
102
(sobgez a1 101)
(push (@ 104))
(push 'lambda)
(push (& 4))
(mov (& 8) a2)
(mov (& 5) a1)
(call #:compiler:map-next-arg)
(mov (& 7) a2)
(call #:compiler:map-funcall)
(mov (& 4) a3)
(mov (& 9) a2)
(call #:compiler:map-next-res)
(push a1)
(push (& 6))
(push nil)
105
(bfcons (& 1) 106)
(mov (& 1) a4)
(mov (cdr a4) (& 1))
(push (car a4))
(push (@ 107))
(push 'consp)
(push (& 2))
(mov '2 a4)
(jmp list)
107
(eval ())
(adjstk '1)
(mov (& 0) a2)
(jcall cons)
(mov a1 (& 0))
(bra 105)
106
(mov (& 0) a1)
(jcall nreverse)
(adjstk '2)
(mov a1 a3)
(mov (& 10) a2)
(pop a1)
(call #:compiler:map-while)
(mov (& 4) a3)
(mov (& 9) a2)
(call #:compiler:map-result)
(push a1)
(mov '3 a4)
(jmp list)
104
(eval ())
(mov (& 3) a2)
(adjstk '7)
(jmp cons)
))
(loader'((entry #:compiler:mapvector subr1)
(mov (cdr a1) a4)
(mov (car a1) a1)
(push a1)
(mov (car a4) a4)
(push (@ 101))
(push 'let*)
(push (@ 102))
(push '(#:system:map:r 0))
(push (@ 103))
(push '#:system:map:v)
(push a4)
(mov '2 a4)
(jmp list)
103
(eval ())
(push a1)
(push '((#:system:map:n (vlength #:system:map:v))))
(mov '3 a4)
(jmp mcons)
102
(eval ())
(push a1)
(push (@ 104))
(push 'while)
(push '(lt #:system:map:r #:system:map:n))
(mov (& 6) a2)
(mov '((vref #:system:map:v #:system:map:r)) a1)
(call #:compiler:map-funcall)
(push a1)
(push '((setq #:system:map:r (add1 #:system:map:r))))
(mov '4 a4)
(jmp mcons)
104
(eval ())
(push a1)
(mov '3 a4)
(jmp list)
101
(eval ())
(adjstk '1)
(return)
))
(loader'((entry #:compiler:map-next-arg subr2)
(push a2)
(push a1)
(push nil)
101
(bfcons (& 1) 102)
(mov (& 1) a4)
(mov (cdr a4) (& 1))
(push (car a4))
(push (@ 103))
(push 'prog1)
(cabne (& 5) 'map 104)
(mov (& 2) a4)
(bra 105)
104
(push (@ 106))
(push 'car)
(push (& 4))
(mov '2 a4)
(jmp list)
106
(eval ())
(mov a1 a4)
105
(push a4)
(push (@ 107))
(push 'setq)
(push (& 5))
(push (@ 108))
(push 'cdr)
(push (& 8))
(mov '2 a4)
(jmp list)
108
(eval ())
(push a1)
(mov '3 a4)
(jmp list)
107
(eval ())
(push a1)
(mov '3 a4)
(jmp list)
103
(eval ())
(adjstk '1)
(mov (& 0) a2)
(jcall cons)
(mov a1 (& 0))
(bra 101)
102
(mov (& 0) a1)
(adjstk '3)
(jmp nreverse)
))
(loader'((entry #:compiler:map-funcall subr2)
(push a2)
(push a1)
(btcons a2 101)
(push (@ 103))
(push 'funcall)
(push a2)
(push a1)
(mov '3 a4)
(jmp mcons)
103
(eval ())
(adjstk '2)
(return)
101
(mov (car a2) a4)
(cabeq a4 'function 106)
(cabne a4 'quote 104)
106
(mov (cdr a2) a3)
(bfsymb (car a3) 107)
(mov (cdr a2) a1)
(mov (car a1) a1)
(jcall typefn)
(mov a1 a4)
(cabeq a4 '() 109)
(cabeq a4 'fexpr 109)
(cabne a4 'fsubr 107)
109
(push (@ 110))
(push 'funcall)
(push (& 3))
(push (& 3))
(mov '3 a4)
(jmp mcons)
110
(eval ())
(adjstk '2)
(return)
107
(mov (& 1) a1)
(mov (cdr a1) a1)
(mov (& 0) a2)
(mov (car a1) a1)
(adjstk '2)
(jmp cons)
104
(cabne (car a2) 'lambda 111)
(push a2)
(mov a1 a2)
(pop a1)
(adjstk '2)
(jmp cons)
111
(cabne (car a2) 'flambda 113)
(mov (cdr a2) a2)
(mov 'lambda a1)
(jcall cons)
(mov (& 0) a2)
(adjstk '2)
(jmp cons)
113
(cabne (car a2) 'mlambda 115)
(push (@ 117))
(push 'funcall)
(push a2)
(push a1)
(mov '3 a4)
(jmp mcons)
117
(eval ())
(adjstk '2)
(return)
115
(push (@ 118))
(push 'funcall)
(push a2)
(push a1)
(mov '3 a4)
(jmp mcons)
118
(eval ())
(adjstk '2)
(return)
))
(loader'((entry #:compiler:map-next-res subr3)
(push a1)
(mov a2 a1)
(cabne a1 'null 102)
(mov (& 0) a1)
(adjstk '1)
(return)
102
(cabne a1 'cons 103)
(push (@ 104))
(push 'setq)
(push a3)
(push (@ 105))
(push 'cons)
(push (& 5))
(push a3)
(mov '3 a4)
(jmp list)
105
(eval ())
(push a1)
(mov '3 a4)
(jmp list)
104
(eval ())
(adjstk '1)
(return)
103
(cabne a1 'nreconc 106)
(push (@ 107))
(push 'setq)
(push a3)
(push (@ 108))
(push 'nreconc)
(push (& 5))
(push a3)
(mov '3 a4)
(jmp list)
108
(eval ())
(push a1)
(mov '3 a4)
(jmp list)
107
(eval ())
(adjstk '1)
(return)
106
(push (@ 110))
(push 'setq)
(push a3)
(push (& 3))
(mov '3 a4)
(jmp list)
110
(eval ())
(adjstk '1)
(return)
))
(loader'((entry #:compiler:map-while subr3)
(push a1)
(mov a2 a1)
(cabeq a1 'null 103)
(cabeq a1 'cons 103)
(cabne a1 'nreconc 102)
103
(push (@ 104))
(push 'while)
(mov a3 a2)
(mov 'and a1)
(jcall cons)
(push a1)
(push (& 3))
(mov '3 a4)
(jmp list)
104
(eval ())
(adjstk '1)
(return)
102
(cabne a1 'every 105)
(push (@ 106))
(push 'while)
(push (@ 107))
(push a3)
(push (@ 108))
(push (& 5))
(mov '1 a4)
(jmp list)
108
(eval ())
(push a1)
(mov '2 a4)
(jmp append)
107
(eval ())
(mov a1 a2)
(mov 'and a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp list)
106
(eval ())
(adjstk '1)
(return)
105
(cabne a1 'any 109)
(push (@ 110))
(push 'while)
(push (@ 111))
(push a3)
(push (@ 112))
(push (@ 113))
(push 'not)
(push (& 7))
(mov '2 a4)
(jmp list)
113
(eval ())
(push a1)
(mov '1 a4)
(jmp list)
112
(eval ())
(push a1)
(mov '2 a4)
(jmp append)
111
(eval ())
(mov a1 a2)
(mov 'and a1)
(jcall cons)
(push a1)
(mov '2 a4)
(jmp list)
110
(eval ())
(adjstk '1)
(return)
109
(mov nil a1)
(adjstk '1)
(return)
))
(loader'((entry #:compiler:map-result subr3)
(push a3)
(push a1)
(mov a2 a1)
(cabne a1 'null 102)
(mov (& 0) a1)
(adjstk '2)
(return)
102
(cabeq a1 'cons 104)
(cabne a1 'nreconc 103)
104
(push (@ 105))
(push 'lambda)
(push (@ 106))
(push a3)
(mov '1 a4)
(jmp list)
106
(eval ())
(push a1)
(push (& 3))
(push (@ 107))
(push 'nreverse)
(push (& 7))
(mov '2 a4)
(jmp list)
107
(eval ())
(push a1)
(mov '4 a4)
(jmp list)
105
(eval ())
(mov '(()) a2)
(adjstk '2)
(jmp cons)
103
(cabne a1 'every 108)
(push (@ 109))
(push 'lambda)
(push (@ 110))
(push a3)
(mov '1 a4)
(jmp list)
110
(eval ())
(push a1)
(push (& 3))
(push (& 5))
(mov '4 a4)
(jmp list)
109
(eval ())
(mov '(t) a2)
(adjstk '2)
(jmp cons)
108
(cabne a1 'any 111)
(push (@ 112))
(push 'lambda)
(push (@ 113))
(push a3)
(mov '1 a4)
(jmp list)
113
(eval ())
(push a1)
(push (& 3))
(push (& 5))
(mov '4 a4)
(jmp list)
112
(eval ())
(mov '(()) a2)
(adjstk '2)
(jmp cons)
111
(mov nil a1)
(adjstk '2)
(return)
))
(loader'((entry #:compiler:mc:time subr1)
(bfcons a1 101)
(cabne (car a1) 'quote 101)
(push (@ 103))
(push 'let)
(push '((#:compiler:time (runtime))))
(mov (cdr a1) a4)
(push (car a4))
(push '((fsub (runtime) #:compiler:time)))
(mov '4 a4)
(jmp mcons)
103
(eval ())
(return)
101
(push (@ 104))
(push 'let)
(push '((#:compiler:time (runtime))))
(push (@ 105))
(push 'eval)
(push a1)
(mov '2 a4)
(jmp list)
105
(eval ())
(push a1)
(push '((fsub (runtime) #:compiler:time)))
(mov '4 a4)
(jmp mcons)
104
(eval ())
(return)
))
(loader '((end)))