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

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 />

67 if (pop(i) == -2)<br />

68 unbind();<br />

69 longjmp (jmp_top, 0);<br />

70 }<br />

71<br />

72 void load (char *name)<br />

73 {<br />

74 if ((File = fopen (name, "r")) == NULL)<br />

75 {<br />

76 printf ("Le fichier %s n'existe pas\n", name);<br />

77 }<br />

78 else<br />

79 {<br />

80 printf ("Chargement <strong>de</strong> %s\n", name);<br />

81 Stdin = File;<br />

82 if (setjmp(jmp_file))<br />

83 goto fini;<br />

84 while (!feof(Stdin))<br />

85 {<br />

86 lisp_read();<br />

87 eval();<br />

88 lisp_print();<br />

89 putchar ('\n');<br />

90 }<br />

91 fini:<br />

92 fclose (File);<br />

93 Stdin = stdin;<br />

94 init_read();<br />

95 }<br />

96 }<br />

97<br />

98 void <strong>de</strong>bug(char *s,int x)<br />

99 {<br />

100 printf("%s", s);<br />

101 obj_print (x);<br />

102 putchar ('\n');<br />

103 }<br />

104<br />

105<br />

106 int main()<br />

107 {<br />

108 static int nbtop = 0;<br />

109 init_listes();<br />

110 init_atomes();<br />

111 setjmp (jmp_top);<br />

112 init_read();<br />

113 init_stack();<br />

114 Stdin = stdin;<br />

115 if (++nbtop == 1)<br />

116 load ("llisp/llisp.ini");<br />

117 toplevel();<br />

118 return 0;<br />

119 }<br />

120<br />

121 /* FIN <strong>de</strong> fichier */<br />

122<br />

91

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

Saved successfully!

Ooh no, something went wrong!