| 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