1 |
|
|
2 |
|
#include "cmpinclude.h" |
3 |
|
#include "gcl_cmpcatch.h" |
4 |
|
void init_gcl_cmpcatch(){do_init(VV);} |
5 |
|
/* local entry for function C1CATCH */ |
6 |
|
|
7 |
|
static object LI1(V2) |
8 |
|
|
9 |
|
register object V2; |
10 |
|
{ VMB1 VMS1 VMV1 |
11 |
|
goto TTL; |
12 |
|
TTL:; |
13 |
|
{object V3; |
14 |
|
object V4; |
15 |
|
V3= (VFUN_NARGS=2,(*(LnkLI23))(VV[0],Ct)); |
16 |
|
V4= Cnil; |
17 |
|
setq(VV[1],number_plus(symbol_value(VV[1]),small_fixnum(1))); |
18 |
|
if(!(endp_prop((V2)))){ |
19 |
|
goto T5;} |
20 |
|
(void)((*(LnkLI24))(VV[2],small_fixnum(1),small_fixnum(0))); |
21 |
|
goto T5; |
22 |
|
T5:; |
23 |
|
V4= (*(LnkLI25))(car((V2))); |
24 |
|
(void)((*(LnkLI26))((V3),cadr((V4)))); |
25 |
|
V2= (*(LnkLI27))(cdr((V2))); |
26 |
|
(void)((*(LnkLI26))((V3),cadr((V2)))); |
27 |
|
{object V5 = list(4,VV[2],(V3),(V4),(V2)); |
28 |
|
VMR1(V5)}} |
29 |
|
base[0]=base[0]; |
30 |
|
return Cnil; |
31 |
|
} |
32 |
|
/* local entry for function C2CATCH */ |
33 |
|
|
34 |
|
static object LI2(V8,V9) |
35 |
|
|
36 |
|
object V8;object V9; |
37 |
|
{ VMB2 VMS2 VMV2 |
38 |
|
bds_check; |
39 |
|
goto TTL; |
40 |
|
TTL:; |
41 |
|
bds_bind(VV[3],symbol_value(VV[3])); |
42 |
|
bds_bind(VV[4],VV[5]); |
43 |
|
V10= (*(LnkLI28))((V8)); |
44 |
|
bds_unwind1; |
45 |
|
princ_str("\n if(nlj_active)",VV[6]); |
46 |
|
princ_str("\n {nlj_active=FALSE;frs_pop();",VV[6]); |
47 |
|
(void)((VFUN_NARGS=2,(*(LnkLI29))(VV[7],VV[8]))); |
48 |
|
princ_char(125,VV[6]); |
49 |
|
princ_str("\n else{",VV[6]); |
50 |
|
base[1]= make_cons(VV[10],symbol_value(VV[9])); |
51 |
|
bds_bind(VV[9],base[1]); |
52 |
|
base[2]= (V9); |
53 |
|
vs_top=(vs_base=base+2)+1; |
54 |
|
(void) (*Lnk30)(); |
55 |
|
vs_top=sup; |
56 |
|
bds_unwind1; |
57 |
|
princ_char(125,VV[6]); |
58 |
|
{object V11 = Cnil; |
59 |
|
bds_unwind1; |
60 |
|
VMR2(V11)} |
61 |
|
base[0]=base[0]; |
62 |
|
return Cnil; |
63 |
|
} |
64 |
|
/* local entry for function SET-PUSH-CATCH-FRAME */ |
65 |
|
|
66 |
|
static object LI3(V13) |
67 |
|
|
68 |
|
object V13; |
69 |
|
{ VMB3 VMS3 VMV3 |
70 |
|
goto TTL; |
71 |
|
TTL:; |
72 |
|
princ_str("\n frs_push(FRS_CATCH,",VV[6]); |
73 |
|
(void)((*(LnkLI31))((V13))); |
74 |
|
princ_str(");",VV[6]); |
75 |
|
{object V14 = Cnil; |
76 |
|
VMR3(V14)} |
77 |
|
return Cnil; |
78 |
|
} |
79 |
|
/* local entry for function C1UNWIND-PROTECT */ |
80 |
|
|
81 |
|
static object LI4(V16) |
82 |
|
|
83 |
|
register object V16; |
84 |
|
{ VMB4 VMS4 VMV4 |
85 |
|
bds_check; |
86 |
|
goto TTL; |
87 |
|
TTL:; |
88 |
|
{object V17; |
89 |
|
object V18; |
90 |
|
V17= (VFUN_NARGS=2,(*(LnkLI23))(VV[0],Ct)); |
91 |
|
V18= Cnil; |
92 |
|
setq(VV[1],number_plus(symbol_value(VV[1]),small_fixnum(1))); |
93 |
|
if(!(endp_prop((V16)))){ |
94 |
|
goto T35;} |
95 |
|
(void)((*(LnkLI24))(VV[11],small_fixnum(1),small_fixnum(0))); |
96 |
|
goto T35; |
97 |
|
T35:; |
98 |
|
base[1]= make_cons(VV[13],symbol_value(VV[12])); |
99 |
|
base[2]= make_cons(VV[13],symbol_value(VV[14])); |
100 |
|
base[3]= make_cons(VV[13],symbol_value(VV[15])); |
101 |
|
bds_bind(VV[12],base[1]); |
102 |
|
bds_bind(VV[14],base[2]); |
103 |
|
bds_bind(VV[15],base[3]); |
104 |
|
V19= (*(LnkLI25))(car((V16))); |
105 |
|
bds_unwind1; |
106 |
|
bds_unwind1; |
107 |
|
bds_unwind1; |
108 |
|
V18= V19; |
109 |
|
(void)((*(LnkLI26))((V17),cadr((V18)))); |
110 |
|
V16= (*(LnkLI27))(cdr((V16))); |
111 |
|
(void)((*(LnkLI26))((V17),cadr((V16)))); |
112 |
|
{object V20 = list(4,VV[11],(V17),(V18),(V16)); |
113 |
|
VMR4(V20)}} |
114 |
|
base[0]=base[0]; |
115 |
|
return Cnil; |
116 |
|
} |
117 |
|
/* local entry for function C2UNWIND-PROTECT */ |
118 |
|
|
119 |
|
static object LI5(V23,V24) |
120 |
|
|
121 |
|
object V23;object V24; |
122 |
|
{ VMB5 VMS5 VMV5 |
123 |
|
bds_check; |
124 |
|
goto TTL; |
125 |
|
TTL:; |
126 |
|
{register object V25; |
127 |
|
object V26; |
128 |
|
bds_bind(VV[3],symbol_value(VV[3])); |
129 |
|
V25= list(2,VV[16],(*(LnkLI32))()); |
130 |
|
V26= Cnil; |
131 |
|
princ_str("\n frs_push(FRS_PROTECT,Cnil);",VV[6]); |
132 |
|
princ_str("\n {object tag=Cnil;frame_ptr fr=NULL;object p;bool active;",VV[6]); |
133 |
|
princ_str("\n if(nlj_active){tag=nlj_tag;fr=nlj_fr;active=TRUE;}",VV[6]); |
134 |
|
princ_str("\n else{",VV[6]); |
135 |
|
bds_bind(VV[4],VV[17]); |
136 |
|
bds_bind(VV[18],Cnil); |
137 |
|
(void)((*(LnkLI28))((V23))); |
138 |
|
V26= (VV[18]->s.s_dbind); |
139 |
|
bds_unwind1; |
140 |
|
bds_unwind1; |
141 |
|
princ_str("\n active=FALSE;}",VV[6]); |
142 |
|
princ_str("\n ",VV[6]); |
143 |
|
(void)((*(LnkLI31))((V25))); |
144 |
|
princ_str("=Cnil;",VV[6]); |
145 |
|
princ_str("\n while(vs_base<vs_top)",VV[6]); |
146 |
|
princ_str("\n {",VV[6]); |
147 |
|
(void)((*(LnkLI31))((V25))); |
148 |
|
princ_str("=MMcons(vs_top[-1],",VV[6]); |
149 |
|
(void)((*(LnkLI31))((V25))); |
150 |
|
princ_str(");vs_top--;}",VV[6]); |
151 |
|
princ_str("\n ",VV[6]); |
152 |
|
(void)((*(LnkLI33))()); |
153 |
|
princ_str("\n nlj_active=FALSE;frs_pop();",VV[6]); |
154 |
|
bds_bind(VV[4],VV[19]); |
155 |
|
V27= (*(LnkLI28))((V24)); |
156 |
|
bds_unwind1; |
157 |
|
princ_str("\n vs_base=vs_top=base+",VV[6]); |
158 |
|
(void)((*(LnkLI31))((VV[3]->s.s_dbind))); |
159 |
|
princ_char(59,VV[6]); |
160 |
|
setq(VV[20],Ct); |
161 |
|
princ_str("\n for(p= ",VV[6]); |
162 |
|
(void)((*(LnkLI31))((V25))); |
163 |
|
princ_str(";!endp(p);p=MMcdr(p))vs_push(MMcar(p));",VV[6]); |
164 |
|
princ_str("\n if(active)unwind(fr,tag);else{",VV[6]); |
165 |
|
if(((V26))==Cnil){ |
166 |
|
goto T94;} |
167 |
|
V28= car((V26)); |
168 |
|
goto T92; |
169 |
|
goto T94; |
170 |
|
T94:; |
171 |
|
V28= Cnil; |
172 |
|
goto T92; |
173 |
|
T92:; |
174 |
|
(void)((VFUN_NARGS=3,(*(LnkLI29))(VV[7],Cnil,V28))); |
175 |
|
princ_str("}}",VV[6]); |
176 |
|
{object V29 = Cnil; |
177 |
|
bds_unwind1; |
178 |
|
VMR5(V29)}} |
179 |
|
base[0]=base[0]; |
180 |
|
return Cnil; |
181 |
|
} |
182 |
|
/* local entry for function C1THROW */ |
183 |
|
|
184 |
|
static object LI6(V31) |
185 |
|
|
186 |
|
register object V31; |
187 |
|
{ VMB6 VMS6 VMV6 |
188 |
|
goto TTL; |
189 |
|
TTL:; |
190 |
|
{object V32; |
191 |
|
object V33; |
192 |
|
V32= (VFUN_NARGS=0,(*(LnkLI23))()); |
193 |
|
V33= Cnil; |
194 |
|
if(endp_prop((V31))){ |
195 |
|
goto T100;} |
196 |
|
if(!(endp_prop(cdr((V31))))){ |
197 |
|
goto T99;} |
198 |
|
goto T100; |
199 |
|
T100:; |
200 |
|
V34 = make_fixnum((long)length((V31))); |
201 |
|
(void)((*(LnkLI24))(VV[21],small_fixnum(2),V34)); |
202 |
|
goto T99; |
203 |
|
T99:; |
204 |
|
if(endp_prop(cddr((V31)))){ |
205 |
|
goto T104;} |
206 |
|
V35 = make_fixnum((long)length((V31))); |
207 |
|
(void)((*(LnkLI34))(VV[21],small_fixnum(2),V35)); |
208 |
|
goto T104; |
209 |
|
T104:; |
210 |
|
V33= (*(LnkLI25))(car((V31))); |
211 |
|
(void)((*(LnkLI26))((V32),cadr((V33)))); |
212 |
|
V31= (*(LnkLI25))(cadr((V31))); |
213 |
|
(void)((*(LnkLI26))((V32),cadr((V31)))); |
214 |
|
{object V36 = list(4,VV[21],(V32),(V33),(V31)); |
215 |
|
VMR6(V36)}} |
216 |
|
base[0]=base[0]; |
217 |
|
return Cnil; |
218 |
|
} |
219 |
|
/* local entry for function C2THROW */ |
220 |
|
|
221 |
|
static object LI7(V39,V40) |
222 |
|
|
223 |
|
register object V39;object V40; |
224 |
|
{ VMB7 VMS7 VMV7 |
225 |
|
bds_check; |
226 |
|
goto TTL; |
227 |
|
TTL:; |
228 |
|
{register object V41; |
229 |
|
bds_bind(VV[3],symbol_value(VV[3])); |
230 |
|
V41= Cnil; |
231 |
|
princ_str("\n {frame_ptr fr;",VV[6]); |
232 |
|
{object V42= car((V39)); |
233 |
|
if((V42!= VV[35]))goto T117; |
234 |
|
V41= caddr((V39)); |
235 |
|
goto T116; |
236 |
|
goto T117; |
237 |
|
T117:; |
238 |
|
if((V42!= VV[22]))goto T119; |
239 |
|
V41= make_cons(VV[22],caddr((V39))); |
240 |
|
goto T116; |
241 |
|
goto T119; |
242 |
|
T119:; |
243 |
|
V41= list(2,VV[16],(*(LnkLI32))()); |
244 |
|
bds_bind(VV[4],(V41)); |
245 |
|
V43= (*(LnkLI28))((V39)); |
246 |
|
bds_unwind1;} |
247 |
|
goto T116; |
248 |
|
T116:; |
249 |
|
princ_str("\n fr=frs_sch_catch(",VV[6]); |
250 |
|
(void)((*(LnkLI31))((V41))); |
251 |
|
princ_str(");",VV[6]); |
252 |
|
princ_str("\n if(fr==NULL) FEerror(\"The tag ~s is undefined.\",1,",VV[6]); |
253 |
|
(void)((*(LnkLI31))((V41))); |
254 |
|
princ_str(");",VV[6]); |
255 |
|
bds_bind(VV[4],VV[17]); |
256 |
|
V44= (*(LnkLI28))((V40)); |
257 |
|
bds_unwind1; |
258 |
|
princ_str("\n unwind(fr,",VV[6]); |
259 |
|
(void)((*(LnkLI31))((V41))); |
260 |
|
princ_str(");}",VV[6]); |
261 |
|
{object V45 = Cnil; |
262 |
|
bds_unwind1; |
263 |
|
VMR7(V45)}} |
264 |
|
base[0]=base[0]; |
265 |
|
return Cnil; |
266 |
|
} |
267 |
|
static object LnkTLI34(object first,...){object V1;va_list ap;va_start(ap,first);V1=call_proc_new(VV[34],(void **)(void *)&LnkLI34,3,first,ap);va_end(ap);return V1;} /* TOO-MANY-ARGS */ |
268 |
|
static object LnkTLI33(){return call_proc0(VV[33],(void **)(void *)&LnkLI33);} /* RESET-TOP */ |
269 |
|
static object LnkTLI32(){return call_proc0(VV[32],(void **)(void *)&LnkLI32);} /* VS-PUSH */ |
270 |
|
static object LnkTLI31(object first,...){object V1;va_list ap;va_start(ap,first);V1=call_proc_new(VV[31],(void **)(void *)&LnkLI31,1,first,ap);va_end(ap);return V1;} /* WT1 */ |
271 |
|
static void LnkT30(){ call_or_link(VV[30],(void **)(void *)&Lnk30);} /* C2EXPR */ |
272 |
|
static object LnkTLI29(object first,...){object V1;va_list ap;va_start(ap,first);V1=call_vproc_new(VV[29],(void **)(void *)&LnkLI29,first,ap);va_end(ap);return V1;} /* UNWIND-EXIT */ |
273 |
|
static object LnkTLI28(object first,...){object V1;va_list ap;va_start(ap,first);V1=call_proc_new(VV[28],(void **)(void *)&LnkLI28,1,first,ap);va_end(ap);return V1;} /* C2EXPR* */ |
274 |
|
static object LnkTLI27(object first,...){object V1;va_list ap;va_start(ap,first);V1=call_proc_new(VV[27],(void **)(void *)&LnkLI27,1,first,ap);va_end(ap);return V1;} /* C1PROGN */ |
275 |
|
static object LnkTLI26(object first,...){object V1;va_list ap;va_start(ap,first);V1=call_proc_new(VV[26],(void **)(void *)&LnkLI26,2,first,ap);va_end(ap);return V1;} /* ADD-INFO */ |
276 |
|
static object LnkTLI25(object first,...){object V1;va_list ap;va_start(ap,first);V1=call_proc_new(VV[25],(void **)(void *)&LnkLI25,1,first,ap);va_end(ap);return V1;} /* C1EXPR */ |
277 |
|
static object LnkTLI24(object first,...){object V1;va_list ap;va_start(ap,first);V1=call_proc_new(VV[24],(void **)(void *)&LnkLI24,3,first,ap);va_end(ap);return V1;} /* TOO-FEW-ARGS */ |
278 |
|
static object LnkTLI23(object first,...){object V1;va_list ap;va_start(ap,first);V1=call_vproc_new(VV[23],(void **)(void *)&LnkLI23,first,ap);va_end(ap);return V1;} /* MAKE-INFO */ |
279 |
|
|
280 |
|
#ifdef SYSTEM_SPECIAL_INIT |
281 |
|
SYSTEM_SPECIAL_INIT |
282 |
|
#endif |
283 |
|
|