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

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

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

Saved successfully!

Ooh no, something went wrong!