Rim Chaabane. Analyse dynamique de ... - Université Paris 8
Rim Chaabane. Analyse dynamique de ... - Université Paris 8
Rim Chaabane. Analyse dynamique de ... - Université Paris 8
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Analyse</strong> <strong>dynamique</strong> <strong>de</strong> programmes C<br />
264 case jmpFdbl:<br />
265 jmpfTYPE(dval); if(EiC_traceON) printf("jmpftype dval\n");<br />
266 break;<br />
267 case jmpFptr:<br />
268 jmpfTYPE(p.p); if(EiC_traceON) {printf("jmpftype p.p\n");}<br />
269 break;<br />
270 case jmpFllng:<br />
271 jmpfTYPE(llval); /*if(EiC_traceON) {printf("jmpftype<br />
llval"); }*/<br />
272 break;<br />
273<br />
274 case jmpTint:<br />
275 jmptTYPE(ival); /*if(EiC_traceON) {printf("jmptTint "); }*/<br />
276 break;<br />
277 case jmpTlng:<br />
278 jmptTYPE(lval); /*if(EiC_traceON) {printf("jmpTlng "); }*/<br />
279 break;<br />
280 case jmpTdbl:<br />
281 jmptTYPE(dval);/* if(EiC_traceON) {printf("jmpTdbl "); }*/<br />
282 break;<br />
283 case jmpTptr:<br />
284 jmptTYPE(p.p);/*if(EiC_traceON) { printf("jmpTptr "); }*/<br />
285 break;<br />
286 case jmpTllng:<br />
287 jmptTYPE(llval); /*if(EiC_traceON) {printf("jmpTllng "); }*/<br />
288 break;<br />
289<br />
290 case jmpu: p += InSt[p].val.ival - 1;<br />
291 /*if(EiC_traceON) { printf("jmpu \n"); }*/<br />
292 break;<br />
293 case dupval:<br />
294 /* should really adjustTop here !!*/<br />
295 STK[ToP + 1].v = STK[ToP].v;<br />
296 ToP += InSt[p].val.ival;<br />
297 /*if(EiC_traceON) {printf("dupval "); }*/<br />
298 break;<br />
299 case jmptab:<br />
300 {<br />
301 /*if(EiC_traceON) {printf("jmptab "); }*/<br />
302 struct {<br />
303 int n;<br />
304 val_t *loc;<br />
305 } *tab;<br />
306 int i;<br />
307 tab = InSt[p].val.p.p;<br />
308 for (i = 1; i < tab->n; i += 2)<br />
309 if (tab->loc[i].ival == STK[ToP].v.ival) {<br />
310 p += tab->loc[i + 1].ival - 1;<br />
311 break;<br />
312 }<br />
313 if (i >= tab->n)<br />
314 p += tab->loc[0].ival - 1;<br />
315 }<br />
316 break;<br />
317<br />
318<br />
319 /* specific float stuff */<br />
320<br />
321 case dreffloat:<br />
322 drefTYPE(float, dval); /*if(EiC_traceON) { printf("dreffloat<br />
");}*/<br />
323 break;<br />
324 case reffloat: refTYPE(float, dval);/* if(EiC_traceON)<br />
{printf("reffloat ");} */<br />
325 break;<br />
326 case rvalfloat:<br />
327 STK[ToP].v.dval=AR[InSt[p].ext][InSt[p].val.ival].v.fval;<br />
/*if(EiC_traceON) { printf("rvalfloat ");}*/<br />
104