summaryrefslogtreecommitdiffstats
path: root/doc/tools/toc-texi
diff options
context:
space:
mode:
Diffstat (limited to 'doc/tools/toc-texi')
-rwxr-xr-xdoc/tools/toc-texi47
1 files changed, 47 insertions, 0 deletions
diff --git a/doc/tools/toc-texi b/doc/tools/toc-texi
new file mode 100755
index 00000000..2be48fa6
--- /dev/null
+++ b/doc/tools/toc-texi
@@ -0,0 +1,47 @@
+#!/usr/bin/perl
+
+# Copyright (C) 2001 by Claudiu Costin
+# <claudiuc@work.ro>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+
+$depth=0;
+$buffer="";
+
+while (<>) {
+ chop;
+
+ if ($buffer =~ /<ul>/i) {
+ $depth++;
+ $buffer = $_;
+ next;
+ }
+ if ($buffer =~ /<\/ul>/i) {
+ $depth--;
+ print " "x($depth-1) . "</tocsect${depth}>\n" if ($depth != 0);
+ $buffer = $_;
+ next;
+ }
+
+ if ($buffer =~ /<li>/i) {
+ $buffer =~ /HREF=\"([^\"]+)\"/;
+ $url=$1;
+ $buffer =~ /\">(.+)<\/A>/;
+ $text=$1;
+ $text =~ s/<tt>//gi;
+ $text =~ s/<\/tt>//gi;
+ $text =~ s/<CODE>//gi;
+ $text =~ s/<\/CODE>//gi;
+ $text =~ s/<BR>//gi;
+ if (/<ul>/i) {
+ print " "x($depth-1) . "<tocsect${depth} name=\"$text\" url=\"$url\">\n";
+ } else {
+ print " "x($depth-1) . "<tocsect${depth} name=\"$text\" url=\"$url\"/>\n";
+ }
+ }
+ # a simulated delay line with one cell
+ $buffer = $_;
+}