/[gcl]/gcl/cmpnew/gcl_cmpcatch.c
ViewVC logotype

Diff of /gcl/cmpnew/gcl_cmpcatch.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by camm, Sun Sep 14 02:30:33 2003 UTC revision 1.2 by camm, Sun Sep 14 02:43:01 2003 UTC
# Line 0  Line 1 
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    

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26