From 693a2c65812eb61a87cacf1a23b83db35bbf9552 Mon Sep 17 00:00:00 2001 From: Fred Drake Date: Thu, 22 Apr 1999 13:08:09 +0000 Subject: [PATCH] Script to locate uses of \module where the module referred to is not the module being documented at that point in the documentation; these are candidates for conversion to \refmodule, which produces a hyperlink in the HTML and PDF versions of the output. --- Doc/tools/findmodrefs | 45 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100755 Doc/tools/findmodrefs diff --git a/Doc/tools/findmodrefs b/Doc/tools/findmodrefs new file mode 100755 index 000000000000..c0556863f24d --- /dev/null +++ b/Doc/tools/findmodrefs @@ -0,0 +1,45 @@ +#! /usr/bin/env python +# -*- Python -*- + +import fileinput +import glob +import os +import re +import sys + + +declare_rx = re.compile( + r"\\declaremodule(?:\[[a-zA-Z0-9]*\]*)?{[a-zA-Z_0-9]+}{([a-zA-Z_0-9]+)}") + +module_rx = re.compile(r"\\module{([a-zA-Z_0-9]+)}") + +def main(): + try: + files = sys.argv[1:] + if not files: + files = glob.glob("*.tex") + files.sort() + modulename = None + for line in fileinput.input(files): + if line[:9] == r"\section{": + modulename = None + continue + if line[:16] == r"\modulesynopsys{": + continue + m = declare_rx.match(line) + if m: + modulename = m.group(1) + continue + if not modulename: + continue + m = module_rx.search(line) + if m: + name = m.group(1) + if name != modulename: + print "%s:%s" % (fileinput.filename(), line[:-1]) + except KeyboardInterrupt: + sys.exit(1) + + +if __name__ == "__main__": + main() -- 2.47.3