home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 18 REXX / 18-REXX.zip / rximc175.zip / lintfilter < prev    next >
Text File  |  1992-09-17  |  2KB  |  61 lines

  1. #!/bin/sh
  2.  
  3. unused=/tmp/Awk$$.1; test>$unused
  4. declared=/tmp/Awk$$.2; test>$declared
  5. used=/tmp/Awk$$.3; test>$used
  6. undefined=/tmp/Awk$$.4; test>$undefined
  7. ignored=/tmp/Awk$$.5; test>$ignored
  8. defined=/tmp/Awk$$.6; test>$defined
  9. usual=/tmp/lint; test>$usual
  10.  
  11. awk 'BEGIN {pointer=0; evaluation=0;}
  12. /warning: argument .* unused in function/ {print $1" "$4" in "$8>unused;next;}
  13. /, arg\. . used inconsistently/ {tmp=sprintf("%s %s %s",$1,$2,$3);
  14.                                  printf "%-30s %s :: %s\n",tmp,$6,$8>used;
  15.                  next;}
  16. /value declared inconsistently/ {printf "%-30s %s :: %s\n",$1,$5,$7>declared;
  17.                                  next;}
  18. /returns value which is .* ignored$/ {printf "%-10s%s\n",$6,$1>ignored;next;}
  19. /used\( .* \), but not defined$/ {printf "%-16s %s\n",$1,$3>undefined;next;}
  20. /defined\( .* \), but never used$/ { printf "%-16s %s\n",$1,$3>defined;next;}
  21. /warning: possible pointer alignment problem$/ {pointer++;next;}
  22. /warning: evaluation order for .* undefined$/ {evaluation++;next;}
  23.    {print >usual;}
  24. END {printf "\n %4d pointer alignment problems and\n",pointer>usual;
  25.      printf " %4d evaluation order problems\n",evaluation>usual;}
  26. ' unused=$unused declared=$declared used=$used defined=$defined \
  27. undefined=$undefined ignored=$ignored usual=$usual;
  28.  
  29. echo '
  30.  
  31. Arguments which are used inconsistently:
  32. ' >> $usual
  33. cat $used>>$usual
  34. echo '
  35.  
  36. Values which are declared inconsistently:
  37. ' >> $usual
  38. cat $declared>>$usual
  39. echo '
  40.  
  41. Arguments which are unused:
  42. ' >> $usual
  43. cat $unused>>$usual
  44. echo '
  45.  
  46. Symbols which are not defined:
  47. ' >> $usual
  48. cat $undefined>>$usual
  49. echo '
  50.  
  51. Functions which are not used:
  52. ' >> $usual
  53. cat $defined>>$usual
  54. echo '
  55.  
  56. Return values which are ignored:
  57. ' >> $usual
  58. cat $ignored>>$usual
  59.  
  60. rm $unused $declared $used $undefined $ignored $defined
  61.