Commit 693a2c65 authored by Fred Drake's avatar Fred Drake

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.
parent e0208cc8
#! /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()
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment