Rim Chaabane. Analyse dynamique de ... - Université Paris 8
Rim Chaabane. Analyse dynamique de ... - Université Paris 8
Rim Chaabane. Analyse dynamique de ... - Université Paris 8
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Chapitre 3<br />
Les interprètes C existants<br />
lysop@yak> ./eic<br />
*************************************************************************<br />
EiC V4.3.0 - Copyright (c) 1995 to 2000, by Edmond J. Breen<br />
EiC comes `as is' and with ABSOLUTELY NO WARRANTY OF MERCHANTIBILITY AND<br />
FITNESS OF PURPOSE<br />
*************************************************************************<br />
(void)<br />
EiC 1> int x;<br />
(void)<br />
EiC 2> x = 10;<br />
10<br />
EiC 3> #inclu<strong>de</strong> testinterpC.c<br />
(void)<br />
Mo<strong>de</strong> interactif<br />
EiC 4> main();<br />
valeur <strong>de</strong> x = 0<br />
valeur <strong>de</strong> y = 1<br />
valeur <strong>de</strong> z(x+y) = 1<br />
valeur <strong>de</strong> x = 3<br />
valeur <strong>de</strong> y = 4<br />
valeur <strong>de</strong> w(x-y) = -1<br />
valeur <strong>de</strong> v(z*w) = -1<br />
0<br />
EiC 5> :exit<br />
lysop@yak> ./eic testinterpC.c<br />
valeur <strong>de</strong> x = 0<br />
valeur <strong>de</strong> y = 1<br />
valeur <strong>de</strong> z(x+y) = 1<br />
valeur <strong>de</strong> x = 3<br />
Mo<strong>de</strong> batch<br />
valeur <strong>de</strong> y = 4<br />
valeur <strong>de</strong> w(x-y) = -1<br />
valeur <strong>de</strong> v(z*w) = -1<br />
lysop@yak><br />
Figure 14. Aperçu <strong>de</strong> l utilisation <strong>de</strong> EiC sous Linux<br />
Bien que cet outil semble complet en ce qui concerne sa prise en charge <strong>de</strong> l ensemble du langage<br />
C, un <strong>de</strong>rnier test va me permettre <strong>de</strong> vérifier ses possibilités à gérer tout type <strong>de</strong> programme C.<br />
Pour cela, je teste l interprète pour le programme LLisp, vu dans la section 3.2.<br />
lysop@yak> ./eic llisp/main.c<br />
Warning: in llisp/read.c near line 158: Unreachable co<strong>de</strong> at line 157<br />
Warning: in stdlib.h near line 31: 2nd prototype for builtin -> malloc<br />
Warning: in stdlib.h near line 39: 2nd prototype for builtin -> free<br />
Chargement <strong>de</strong> llisp/llisp.ini<br />
append<br />
length<br />
assq<br />
equal<br />
member<br />
? 5<br />
= 5<br />
? (car '(a b c))<br />
= a<br />
? (cdr '(a b c))<br />
= (b c)<br />
? bonjour<br />
Atome bonjour, valeur in<strong>de</strong>finie<br />
? (times 5 6)<br />
= 30<br />
? (add1 8)<br />
= 9<br />
? (plus 8 9)<br />
31