diff options
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/depthfirst.gvpr | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tools/depthfirst.gvpr b/tools/depthfirst.gvpr new file mode 100644 index 000000000..5539be22e --- /dev/null +++ b/tools/depthfirst.gvpr @@ -0,0 +1,18 @@ +BEGIN { + int i, indent; + int seen[string]; + void prInd (int cnt) { + for (i = 0; i < cnt; i++) printf (" "); } +} +BEG_G { + $tvtype = TV_prepostfwd; $tvroot = node($,ARGV[0]); +} N{ + if (seen[$.name]) { + indent--; + if (indent == 0) exit(0); + } else { + prInd(indent); print ($.name); + seen[$.name] = 1; + indent++; + } +} |
