Annotation of embedaddon/pcre/CheckMan, revision 1.1
1.1 ! misho 1: #! /usr/bin/perl
! 2:
! 3: # A script to scan PCRE's man pages to check for typos in the control
! 4: # sequences. I use only a small set of the available repertoire, so it is
! 5: # straightforward to check that nothing else has slipped in by mistake. This
! 6: # script should be called in the doc directory.
! 7:
! 8: $yield = 0;
! 9:
! 10: while (scalar(@ARGV) > 0)
! 11: {
! 12: $line = 0;
! 13: $file = shift @ARGV;
! 14:
! 15: open (IN, $file) || die "Failed to open $file\n";
! 16:
! 17: while (<IN>)
! 18: {
! 19: $line++;
! 20: if (/^\s*$/)
! 21: {
! 22: printf "Empty line $line of $file\n";
! 23: $yield = 1;
! 24: }
! 25: elsif (/^\./)
! 26: {
! 27: if (!/^\.\s*$|
! 28: ^\.B\s+\S|
! 29: ^\.TH\s\S|
! 30: ^\.SH\s\S|
! 31: ^\.SS\s\S|
! 32: ^\.TP(?:\s\d+)?\s*$|
! 33: ^\.ti\s\S|
! 34: ^\.SM\s*$|
! 35: ^\.rs\s*$|
! 36: ^\.sp\s*$|
! 37: ^\.nf\s*$|
! 38: ^\.fi\s*$|
! 39: ^\.P\s*$|
! 40: ^\.PP\s*$|
! 41: ^\.\\"(?:\ HREF)?\s*$|
! 42: ^\.\\"\sHTML\s<a\shref="[^"]+?">\s*$|
! 43: ^\.\\"\sHTML\s<a\sname="[^"]+?"><\/a>\s*$|
! 44: ^\.\\"\s<\/a>\s*$|
! 45: ^\.\\"\sJOINSH\s*$|
! 46: ^\.\\"\sJOIN\s*$/x
! 47: )
! 48: {
! 49: printf "Bad control line $line of $file\n";
! 50: $yield = 1;
! 51: }
! 52: }
! 53: else
! 54: {
! 55: if (/\\[^ef]|\\f[^IBP]/)
! 56: {
! 57: printf "Bad backslash in line $line of $file\n";
! 58: $yield = 1;
! 59: }
! 60: }
! 61: }
! 62:
! 63: close(IN);
! 64: }
! 65:
! 66: exit $yield;
! 67: # End
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>