Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: Chris Townley 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: References: 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: 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: > > > 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 " > > 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