• DCL_CHECK.COM

    From Chris Townley@21:1/5 to All on Mon Mar 24 14:06:45 2025
    I have version of this dated June 2003
    I recall reading there was a newer version (? late 2024) but I cannot
    find the reference, nor any files online

    Any suggestions?

    --
    Chris

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Stephen Hoffman@21:1/5 to Chris Townley on Mon Mar 24 16:29:51 2025
    On 2025-03-24 14:06:45 +0000, Chris Townley said:

    I have version of this dated June 2003
    I recall reading there was a newer version (? late 2024) but I cannot
    find the reference, nor any files online

    Any suggestions?

    Latest I'm aware of: https://www.digiater.nl/openvms/freeware/v80/dcl_check/


    --
    Pure Personal Opinion | HoffmanLabs LLC

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Chris Townley@21:1/5 to Stephen Hoffman on Mon Mar 24 21:07:04 2025
    On 24/03/2025 20:29, Stephen Hoffman wrote:
    On 2025-03-24 14:06:45 +0000, Chris Townley said:

    I have version of this dated June 2003
    I recall reading there was a newer version (? late 2024) but I cannot
    find the reference, nor any files online

    Any suggestions?

    Latest I'm aware of: https://www.digiater.nl/openvms/freeware/v80/
    dcl_check/



    Thanks - a lot of fixes in that!

    --
    Chris

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Chris Townley@21:1/5 to All on Mon Mar 24 22:50:51 2025
    On 24/03/2025 22:42, Arne Vajhøj wrote:
    On 3/24/2025 5:07 PM, Chris Townley wrote:
    On 24/03/2025 20:29, Stephen Hoffman wrote:
    On 2025-03-24 14:06:45 +0000, Chris Townley said:
    I have version of this dated June 2003
    I recall reading there was a newer version (? late 2024) but I
    cannot find the reference, nor any files online

    Any suggestions?

    Latest I'm aware of: https://www.digiater.nl/openvms/freeware/v80/
    dcl_check/

    Thanks - a lot of fixes in that!

    I read the README and HLP and saw:

    <quote>
    The DCL_CHECK procedure detects a variety of DCL coding errors and
    displays  diagnostic  messages  that  allow  you  to  correct  the problems. See "Diagnostics" for a list of the types of errors that
    DCL_CHECK can detect. See "Problems" for information on the limits
    of DCL_CHECK.
    ...
         Errors related to file operations
    NLN-S  An OPEN, READ, WRITE or CLOSE statement has no logical name
    ONC-E  A file that is opened has no CLOSE statement
    INR-E  A file that is opened for read is not read
    ANR-E  A file that is opened for append is not written
    ONW-E  A file that is opened for write is not written
    RNR-S  A file that is not opened for read is being read
    WNW-S  A file that is not opened for write or append is being written UNU-S  A file that is not opened for read and write is being updated
    CNO-S  A file that is closed has no OPEN statement
    OCE-I  OPEN or CLOSE statement with /END qualifier

         Errors related to if-then-else-endif
    INT-S  IF statement not terminated
    EFB-S  "=" found between IF and THEN
    ICO-S  invalid comparison or logical operator
    TML-S  too many levels of IF statements
    TRH-S  THEN statement required here
    TNA-S  THEN statement not allowed here
    ENA-S  ELSE statement not allowed here
    DNA-S  ENDIF statement not allowed here
    WCT-E  wrong constant type for comparison
    MEC-S  missing expression for comparison

         Errors related to subroutines
    SNT-S  SUBROUTINE statement not terminated
    TMS-S  too many levels of IF and SUBROUTINE statements
    RNA-S  ENDSUBROUTINE statement not allowed here
    LNS-S  referenced label "<label>" is not in this subroutine

         Errors related to labels
    DL--E  duplicate label "<label>"
    RLI-S  referenced label "<label>" is in if-group at lines <range>
    RLS-W  referenced label "<label>" is in subroutine at lines <range>
    LNF-S  label "<label>" not found
    TLS-I  target label "<label>" provided by symbol substitution
    LDS-I  label "<label>" defined by symbol substitution
    LNR-I  label "<label>" not referenced

         Errors related to parentheses and quotes
    UMP-S  unmatched parentheses (not in quoted string)
    USP-W  unmatched parentheses in quoted string
    UMB-S  unmatched brackets (not in quoted string)
    USB-W  unmatched brackets in quoted string
    UPQ-S  unpaired quotation marks (")
    PSQ-W  possible error using single-quote (') in quoted string
    PRQ-E  probable error using single-quote (')

         Errors related to lexical functions
    PTL-E  possible truncated lexical (<lexical>)
    PML-E  possible misspelled lexical (<lexical>)

         Errors related to unreachable lines
    CRE-W  code cannot be reached due to EXIT at line <line>
    CRG-W  code cannot be reached due to GOTO at line <line>

         Errors related to continuation lines
    CLD-S  continuation line starts with "$"
    NCL-S  no continuation line at EOF
    CCN-I  continuation character ("-") not preceded by space
    CLS-I  comment line separates continuation line

         Errors related to $DECK and $EOD
    DED-E  /DOLLARS w/ "$" does not work correctly
    NED-S  no $EOD for $DECK at <line>
    DFB-I  $DECK found between $DECK and $EOD
    EFN-W  $EOD found with no corresponding $DECK

         Miscellaneous errors
    ADE-E  equal sign (=) in ASSIGN or DEFINE
    LC--S  line contains END_IF, END IF, GO_TO, GO TO, GO_SUB or GO SUB
    BL--I  blank line
    LOD-I  line contains only "$"
    LFF-I  line contains only form-feed (<FF>)
    LND-E  line does not start with "$"
    ICF-W  invalid character found (#, %, ^ or &)
    </quote>

    Is it good?

    Arne

    It is an excellent tool, although not infallible. I have used it for
    years, and it forced me to tighten up some sloppy habits!
    I also insisted the rest of the programming team used it when writing
    DCL, as I did with the support team.
    Glad to see this version has extended checks on some of the false alerts.

    --
    Chris

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Arne_Vajh=C3=B8j?=@21:1/5 to Chris Townley on Mon Mar 24 18:42:52 2025
    On 3/24/2025 5:07 PM, Chris Townley wrote:
    On 24/03/2025 20:29, Stephen Hoffman wrote:
    On 2025-03-24 14:06:45 +0000, Chris Townley said:
    I have version of this dated June 2003
    I recall reading there was a newer version (? late 2024) but I cannot
    find the reference, nor any files online

    Any suggestions?

    Latest I'm aware of: https://www.digiater.nl/openvms/freeware/v80/dcl_check/

    Thanks - a lot of fixes in that!

    I read the README and HLP and saw:

    <quote>
    The DCL_CHECK procedure detects a variety of DCL coding errors and
    displays diagnostic messages that allow you to correct the
    problems. See "Diagnostics" for a list of the types of errors that
    DCL_CHECK can detect. See "Problems" for information on the limits
    of DCL_CHECK.
    ...
    Errors related to file operations
    NLN-S An OPEN, READ, WRITE or CLOSE statement has no logical name
    ONC-E A file that is opened has no CLOSE statement
    INR-E A file that is opened for read is not read
    ANR-E A file that is opened for append is not written
    ONW-E A file that is opened for write is not written
    RNR-S A file that is not opened for read is being read
    WNW-S A file that is not opened for write or append is being written
    UNU-S A file that is not opened for read and write is being updated
    CNO-S A file that is closed has no OPEN statement
    OCE-I OPEN or CLOSE statement with /END qualifier

    Errors related to if-then-else-endif
    INT-S IF statement not terminated
    EFB-S "=" found between IF and THEN
    ICO-S invalid comparison or logical operator
    TML-S too many levels of IF statements
    TRH-S THEN statement required here
    TNA-S THEN statement not allowed here
    ENA-S ELSE statement not allowed here
    DNA-S ENDIF statement not allowed here
    WCT-E wrong constant type for comparison
    MEC-S missing expression for comparison

    Errors related to subroutines
    SNT-S SUBROUTINE statement not terminated
    TMS-S too many levels of IF and SUBROUTINE statements
    RNA-S ENDSUBROUTINE statement not allowed here
    LNS-S referenced label "<label>" is not in this subroutine

    Errors related to labels
    DL--E duplicate label "<label>"
    RLI-S referenced label "<label>" is in if-group at lines <range>
    RLS-W referenced label "<label>" is in subroutine at lines <range>
    LNF-S label "<label>" not found
    TLS-I target label "<label>" provided by symbol substitution
    LDS-I label "<label>" defined by symbol substitution
    LNR-I label "<label>" not referenced

    Errors related to parentheses and quotes
    UMP-S unmatched parentheses (not in quoted string)
    USP-W unmatched parentheses in quoted string
    UMB-S unmatched brackets (not in quoted string)
    USB-W unmatched brackets in quoted string
    UPQ-S unpaired quotation marks (")
    PSQ-W possible error using single-quote (') in quoted string
    PRQ-E probable error using single-quote (')

    Errors related to lexical functions
    PTL-E possible truncated lexical (<lexical>)
    PML-E possible misspelled lexical (<lexical>)

    Errors related to unreachable lines
    CRE-W code cannot be reached due to EXIT at line <line>
    CRG-W code cannot be reached due to GOTO at line <line>

    Errors related to continuation lines
    CLD-S continuation line starts with "$"
    NCL-S no continuation line at EOF
    CCN-I continuation character ("-") not preceded by space
    CLS-I comment line separates continuation line

    Errors related to $DECK and $EOD
    DED-E /DOLLARS w/ "$" does not work correctly
    NED-S no $EOD for $DECK at <line>
    DFB-I $DECK found between $DECK and $EOD
    EFN-W $EOD found with no corresponding $DECK

    Miscellaneous errors
    ADE-E equal sign (=) in ASSIGN or DEFINE
    LC--S line contains END_IF, END IF, GO_TO, GO TO, GO_SUB or GO SUB
    BL--I blank line
    LOD-I line contains only "$"
    LFF-I line contains only form-feed (<FF>)
    LND-E line does not start with "$"
    ICF-W invalid character found (#, %, ^ or &)
    </quote>

    Is it good?

    Arne

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)