From a38c3e6e27aef4390695c5118f1994ba2d2d94e2 Mon Sep 17 00:00:00 2001 From: Kevin Lyda <kevin@lyda.ie> Date: Mon, 8 Nov 2021 12:30:47 +0000 Subject: [PATCH] First try at a graphviz graph. --- .gitignore | 1 + src/.gitignore | 1 + src/generate-call-graph.sh | 14 +++++++------- 3 files changed, 9 insertions(+), 7 deletions(-) create mode 100644 src/.gitignore diff --git a/.gitignore b/.gitignore index 1371077..9e7bbfe 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ *.exe *.obj *.lzh +.*.swp diff --git a/src/.gitignore b/src/.gitignore new file mode 100644 index 0000000..75dd428 --- /dev/null +++ b/src/.gitignore @@ -0,0 +1 @@ +generate-call-graph.dot diff --git a/src/generate-call-graph.sh b/src/generate-call-graph.sh index 8f13483..4e077cf 100755 --- a/src/generate-call-graph.sh +++ b/src/generate-call-graph.sh @@ -4,31 +4,31 @@ grep -E '^[^C].*(CALL|SUBROUTINE)' bulletin*.for \ | sed 's/ *! .*//;s/:.*\(CALL\|SUBROUTINE\) / \1 /;s/(.*//' \ | awk ' BEGIN { - e="flowchart LR" + e="graph {" } { if ($1 != f) { print e; sg=$1; gsub(".for", "", sg); - print " subgraph " sg; - print " direction LR"; - e=" end"; + print " subgraph " sg " {"; + e=" }"; } } $2 == "SUBROUTINE" { f=$1; s=$3; - print " " s "(" s ")"; + print " " s; } $2 == "CALL" { if ($1 != f) { f=$1; s="main"; - print " " s "(" s ")"; + print " " s; } - print " " s " --> " $3; + print " " s " -> " $3; } END { print e; + print "}"; } ' \ | sed 's/\$/__/g' -- GitLab