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