? DCL_CHECK, UTILITIES, Charlie Hammond's unsupported DCL checker   L     Note: Information about DCL_CHECK 3.2 - V3.4 is at the end of this file.  B The following information is extracted from DCL_CHECK's help file.0 There is much more information in the help file.E The HELP utility can access the DCL_CHECK help file using the command   3     $ HELP /LIBRARY=<device>:[<directory>]DCL_CHECK   & or through DCL_CHECK with this command  +     $ @<device>:[<directory>]dcl_check help     	 DCL_CHECK   J         The DCL_CHECK procedure detects a variety of DCL coding errors andJ         displays  diagnostic  messages  that  allow  you  to  correct  theJ         problems. See "Diagnostics" for a list of the types of errors thatJ         DCL_CHECK can detect. See "Problems" for information on the limits         of DCL_CHECK.   J         When  you  execute  DCL_CHECK  with "HELP" as the first parameter,J         DCL_CHECK invokes the DCL Help utility.  If you provide additional8         parameters, they are passed to the Help utility.  J         To exit the Help utility, press Return one or more times until the3         prompt "enter name of file:"  is displayed.     %     Additional information available:   8     DCL_CHECK     DCL_DIET        Diagnostics   Examples=     Format        Installation    Line_counts   Modifications )     Output        Problems        Version    Topic? installation    INSTALLATION  3         To install DCL_CHECK you must put the files                DCL_CHECK.COM and              DCL_CHECK.HLB   J         into the same directory. You then execute DCL_CHECK as an indirectD         command procedure.  See "Format" for additional information.  J         DCL_CHECK.COM  is provided in "dieted" form.  You may also wish toJ         have the file DCL_CHECK.COM_SOURCE available; this  is  the  fully+         commented version of the procedure.   
 Topic? format    FORMAT  J         DCL_CHECK  is  a  DCL  command  procedure.   It is executed by the         following DCL command:  E             $ @[<disk>:][<directory>]DCL_CHECK.COM [<input> [<list>]] D             $ @[<disk>:][<directory>]DCL_CHECK.COM HELP [<topic>...]  J         <disk>  and/or  <directory>  may  be omitted; the current defaults         will be used.   J         The   file   DCL_CHECK.HLB  must  be  in  the  same  directory  asJ         DCL_CHECK.COM if you use the HELP function in DCL_CHECK. The files>         may be in any directory to which you have read access.  J         If  you  use DCL_CHECK frequently, you may wish to assign a symbolJ         in your LOGIN.COM file to execute DCL_CHECK.  For example, if  theJ         DCL_CHECK.COM  and  .HLB files are in you login default directory,6         you might put the following in your LOGIN.COM:  2             $ DCL_CHECK :== "@SYS$LOGIN:DCL_CHECK"  J         Alternatively,  if  you  put  DCL_CHECK.COM  and  DCL_CHECK.HLB inJ         SYS$SYSTEM, you might put the following in your SYS$SYLOGIN (which-         is normally SYS$MANAGER:SYLOGIN.COM):   3             $ DCL_CHECK :== "@SYS$SYSTEM:DCL_CHECK"     #   Additional information available:      Parameters   FORMAT Subtopic? Topic? modifications  
 MODIFICATIONS   J         You  can  modify  or  "customize" DCL_CHECK by editing the commandJ         procedure, DCL_CHECK.COM. However, DCL_CHECK.COM is a "compressed"J         version  of  the  procedure.   To  save  disk  space  and  improveJ         performance,  all  comments  and  unnecessary  spacing  have  beenJ         removed  from  DCL_CHECK.COM.  This makes it difficult to read and!         understand the procedure.   J         It  should  be  much easier to edit the file DCL_CHECK.COM_SOURCE,J         which contains commands  and  is  formatted  to  facilitate  humanJ         reading.   You  can recreate a "compressed" version of the command(         procedure by using DCL_DIET.COM.    #   Additional information available:      Help   MODIFICATIONS Subtopic?  Topic? dcl_diet    DCL_DIET  J         DCL_DIET  is  a  command  procedure  that  accepts  as input a DCLJ         command procedure file.  It compresses, or "diets",  the  file  byJ         removing  comments and unnecessary spaces.  The compressed version         is created as output.   C         The smaller size of the compressed file has two advantages:   5             o It takes up less space on disk or tape.                 o It executes faster<                 -- especially for larger command procedures.  F         DCL_DIET is not part of DCL_CHECK.  It is provided separately.    9 ---------------------------------------------------------    DCL_CHECK V3.2 - V3.4   3 $!  V3.4-C  2006-MAY-02             Charlie Hammond D $!      Add a fix to upshift /DOLLARS= if the value is not in quotes $!3 $!  V3.4-B  2006-APR-13             Charlie Hammond " $!      Add check for "/DOLLARS=$"$ $!      Fix some problems with decks $!3 $!  V3.4    2006-APR-10             Charlie Hammond * $!      Change to "V" for freeware release $!3 $!  G3.4    2006-APR-06             Charlie Hammond = $!       Flag equal signs (=) in ASSIGN and DEFINE statements  $!3 $!  F3.4    2005-MAY-13             Charlie Hammond : $!      Flag DCL_CHECK SKIP lines that are not referenced. $!3 $!  F3.4    2005-MAR-17             Charlie Hammond ? $!      Fix problem with OPEN/READ/WRITE/CLOSE followed by only 3 $!      a quoted string that includes blank spaces.  $!3 $!  E3.4    2005-MAR-02             Charlie Hammond B $!      Use CREATE rather than OPEN/APPEND to avoid a incompatible  $!      file attributes warning. $!3 $!  D3.4    2005-MAR-01             Charlie Hammond > $!      ADD F$FID_TO_NAME, F$LICENSE, F$MULTIPATH and F$UNIQUE $!      to valid_lexicals  $!3 $!  C3.4    2005-FEB-09             Charlie Hammond @ $!      Implement DCL_CHECK SKIP functionality to skip specified( $!      diagnostic(s) for one line only. $!3 $!  B3.4    2005-JAN-25             Charlie Hammond 0 $!      Improve line spacing on diagnostic list.: $!      Correct diagnostic count NOT to count -CMNT- lines $!3 $!  A3.4    2005-JAN-20             Charlie hammond I $!      add  $! DCL_CHECK SUPPRESS "tag" to suppress specified diagnostic  $!3 $!  V3.3    2004-Nov-22             Charlie Hammond  $!      Change version to V. $!3 $!  B3.3    2004-Nov-15             Charlie Hammond J $!      Add $! DCL_CHECK COMMENT "tag" to add comments to diagnostic list. $!3 $!  A3.3    2004-Nov-10             Charlie Hammond : $!      Improve CCN to avoid some unnecessary diagnostics.M $!      Improved check for perceives to eliminate some false PSQ diagnostics.  $!3 $!  V3.2    2004-Aug-23             Charlie Hammond H $!      No change from K3.2.  V3.2 will be submitted to the FREEWARE CD. $!3 $!  K3.2    2004-Aug-19             Charlie Hammond / $!      Implement Ed Millers SLAC-J3.2 version. : $!      This is another fine piece of work by Ed.  Thanks!C $!    SLAC-J3.2  2004-AUG-12      Ed Miller (esm@slac.stanford.edu) ? $!      Split UMP into two checks: UMP and USP (for parentheses : $!      outside and inside quoted strings).  Similarly for" $!      bracket tests UMB and USB. $!5 $!  J3.2      2004-APR-19             Charlie Hammond A $!      Fix problems with similar labels in different subroutines  $!5 $!  I3.2      2004-APR-07             Charlie Hammond @ $!      -- Thanks to Paddy O'Brien for reporting these problems.' $!      Fix parsing of DECK w/ /DOLLARS ? $!      Do check for UMB in quoted strings (previously did not) # $!      Avoid LNS for label on CALL + $!      Avoid ONW for file with READ/DELETE @ $!      Don't create a shadow for EXIT = and GOTO = assignments. $!5 $!  H3.2      2004-APR-05             Charlie Hammond  $!      [no version change] " $!      Fix one check for " "")""" $!5 $!  H3.2      2004-APR-02             Charlie Hammond  $!      [no version change] 2 $!      Don't use PIPE command on pre V7.1 systems $!5 $!  H3.2      2004-MAR-05             Charlie Hammond  $!      Add LNS-S  error -- 3 $!      referenced label  is not in this subroutine     