Deutsch   English   Français   Italiano  
<vrsnkc$llkk$2@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: Chris Townley <news@cct-net.co.uk>
Newsgroups: comp.os.vms
Subject: Re: DCL_CHECK.COM
Date: Mon, 24 Mar 2025 22:50:51 +0000
Organization: A noiseless patient Spider
Lines: 114
Message-ID: <vrsnkc$llkk$2@dont-email.me>
References: <vrrotn$lece$1@dont-email.me> <vrsfbv$1mb97$1@dont-email.me>
 <vrshho$llkk$1@dont-email.me> <vrsn5d$1su9a$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Mon, 24 Mar 2025 23:50:52 +0100 (CET)
Injection-Info: dont-email.me; posting-host="002e06c01516ea6944b207c666b88723";
	logging-data="710292"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX194GJCx6HlkClETSPqsubvYd9+NtBmtMgc="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:yCsIRgLx7mUvycT8W/rk/30GVzE=
In-Reply-To: <vrsn5d$1su9a$1@dont-email.me>
Content-Language: en-GB
Bytes: 5775

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