From b5cbab322a2c1e7321a1c7c665614b498431cf90 Mon Sep 17 00:00:00 2001 From: Kevin Lyda <kevin@lyda.ie> Date: Sun, 7 Nov 2021 17:15:38 +0000 Subject: [PATCH] Graph's a bit too big for mermaid though. --- src/generate-call-graph.sh | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100755 src/generate-call-graph.sh diff --git a/src/generate-call-graph.sh b/src/generate-call-graph.sh new file mode 100755 index 0000000..8f13483 --- /dev/null +++ b/src/generate-call-graph.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +grep -E '^[^C].*(CALL|SUBROUTINE)' bulletin*.for \ + | sed 's/ *! .*//;s/:.*\(CALL\|SUBROUTINE\) / \1 /;s/(.*//' \ + | awk ' + BEGIN { + e="flowchart LR" + } + { + if ($1 != f) { + print e; + sg=$1; gsub(".for", "", sg); + print " subgraph " sg; + print " direction LR"; + e=" end"; + } + } + $2 == "SUBROUTINE" { + f=$1; s=$3; + print " " s "(" s ")"; + } + $2 == "CALL" { + if ($1 != f) { + f=$1; s="main"; + print " " s "(" s ")"; + } + print " " s " --> " $3; + + } + END { + print e; + } + ' \ + | sed 's/\$/__/g' + -- GitLab