doc-src/IsarImplementation/checkglossary
author wenzelm
Thu, 03 Apr 2008 18:42:36 +0200
changeset 26538 d65504ffb47d
parent 18537 2681f9e34390
permissions -rwxr-xr-x
replaced ETX/EOT by ENQ/ACK, which are less likely to be interpreted by tty etc.;

#!/usr/bin/env perl
# $Id$

use strict;

my %defs = ();
my %refs = ();

while (<ARGV>) {
    if (m,\\glossaryentry\{\w*\\bf *((\w|\s)+)@,) {
	$defs{lc $1} = 1;
    }
    while (m,\\seeglossary *\{((\w|\s)+)\},g) {
	$refs{lc $1} = 1;
    }
}

print "Glossary definitions:\n";
foreach (sort(keys(%defs))) {
    print "  \"$_\"\n";
}

foreach (keys(%refs)) {
    s,s$,,;
    if (!defined($defs{$_})) {
	print "### Undefined glossary reference: \"$_\"\n";
    }
}