summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xDoc/node2label.pl38
-rwxr-xr-xDoc/tools/node2label.pl38
2 files changed, 76 insertions, 0 deletions
diff --git a/Doc/node2label.pl b/Doc/node2label.pl
new file mode 100755
index 0000000..8a77cbf
--- /dev/null
+++ b/Doc/node2label.pl
@@ -0,0 +1,38 @@
+#!/depot/gnu/plat/bin/perl -i~
+
+# read the labels, then reverse the mappings
+require "labels.pl";
+
+%nodes = ();
+foreach $label (keys %external_labels) {
+ $nodes{$external_labels{$label}} = $label;
+}
+
+# collect labels that have been used
+%newnames = ();
+
+while (<>) {
+ # don't want to do one s/// per line per node
+ # so look for lines with hrefs, then do s/// on nodes present
+ if (/HREF=\"([^\#\"]*)html[\#\"]/) {
+ @parts = split(/HREF\=\"/);
+ shift @parts;
+ for $node (@parts) {
+ $node =~ s/[\#\"].*$//g;
+ chop($node);
+ if (defined($nodes{$node})) {
+ $label = $nodes{$node};
+ if (s/HREF=\"$node([\#\"])/HREF=\"$label.html$1/g) {
+ s/HREF=\"$label.html#SECTION\d+/HREF=\"$label.html/g;
+ $newnames{$node} = "$label.html";
+ }
+ }
+ }
+ }
+ print;
+}
+
+foreach $oldname (keys %newnames) {
+# or mv
+ system("ln -s $oldname $newnames{$oldname}");
+}
diff --git a/Doc/tools/node2label.pl b/Doc/tools/node2label.pl
new file mode 100755
index 0000000..8a77cbf
--- /dev/null
+++ b/Doc/tools/node2label.pl
@@ -0,0 +1,38 @@
+#!/depot/gnu/plat/bin/perl -i~
+
+# read the labels, then reverse the mappings
+require "labels.pl";
+
+%nodes = ();
+foreach $label (keys %external_labels) {
+ $nodes{$external_labels{$label}} = $label;
+}
+
+# collect labels that have been used
+%newnames = ();
+
+while (<>) {
+ # don't want to do one s/// per line per node
+ # so look for lines with hrefs, then do s/// on nodes present
+ if (/HREF=\"([^\#\"]*)html[\#\"]/) {
+ @parts = split(/HREF\=\"/);
+ shift @parts;
+ for $node (@parts) {
+ $node =~ s/[\#\"].*$//g;
+ chop($node);
+ if (defined($nodes{$node})) {
+ $label = $nodes{$node};
+ if (s/HREF=\"$node([\#\"])/HREF=\"$label.html$1/g) {
+ s/HREF=\"$label.html#SECTION\d+/HREF=\"$label.html/g;
+ $newnames{$node} = "$label.html";
+ }
+ }
+ }
+ }
+ print;
+}
+
+foreach $oldname (keys %newnames) {
+# or mv
+ system("ln -s $oldname $newnames{$oldname}");
+}