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 />
Annexe - V - Scripts awk<br />
# formaterdata.awk<br />
# --------------------------------------------------------<br />
# Supprime la base <strong>de</strong> donnee pour ne gar<strong>de</strong>r que les données<br />
# du programme a analyser<br />
/co<strong>de</strong>s_test\//,/EiC/ { print $0 }<br />
# graph1.awk<br />
# --------------------------------------------------------<br />
# Genere les premieres lignes du fichier .dot<br />
BEGIN { printf "digraph G { ranksep=.75; size=\"7.5,7.5\";\n{\nno<strong>de</strong><br />
[shape=plaintext, fontsize=16];\n" }<br />
# { print }<br />
$1 == "#" { printf "\"%s\" -> ", $2 }<br />
END { printf "\"end\";\n}\n" }<br />
# graph2.awk<br />
# --------------------------------------------------------<br />
# Genere l essentiel du fichier .dot<br />
BEGIN { lastline = " " }<br />
$1 == "main" { printf "{rank = same;\n\"%s:%s\"; \"#%s:%s\";\n}\n\n", $2, $3, $2,<br />
$3<br />
printf "\"#%s:%s\" [label=\"main-%s\", shape=box, color=red]\n", $2,<br />
$3, $3<br />
#printf "\"#%s:%s\" -> ", $2, $3<br />
lastline = "\"#"$2":"$3"\""}<br />
$1 == "Def" { if (lastline != " ") { printf "%s -> \"#%s:%s\"\n\n", lastline, $4,<br />
$5<br />
lastline = " " }<br />
$3 }<br />
printf "{rank = same;\n\"%s:%s\"; \"#%s:%s\";\n}\n", $4, $5, $4, $5<br />
printf "\"#%s:%s\" [label=\"%s=%s\", color=green]\n\n", $4, $5, $2,<br />
$1 == "Use" { printf "\"#%s:%s\" -> \"#%s:%s\"\n", $3, $4, $5, $6 }<br />
$1 == "Call" { i = 4<br />
if (lastline != " ") { printf "%s -> \"#%s:%s\"\n\n", lastline, $2, $3<br />
lastline = "\"#"$2":"$3"\"" }<br />
#printf "\"#%s:%s\"\n", $2, $3<br />
printf "{rank = same;\n\"%s:%s\"; \"#%s:%s\";\n}\n", $2, $3, $2, $3<br />
printf "\"#%s:%s\" [label=\"Call-%s\\n", $2, $3, $3<br />
while (i \"#%s:%s\"\n\n", lastline, $4,<br />
$5<br />
lastline = "\"#"$4":"$5"\"" }<br />
#printf "\"#%s:%s\"\n", $4, $5<br />
98