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