19.06.2014 Views

Rim Chaabane. Analyse dynamique de ... - Université Paris 8

Rim Chaabane. Analyse dynamique de ... - Université Paris 8

Rim Chaabane. Analyse dynamique de ... - Université Paris 8

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!