- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - OpenVMS
- >
- Re: Useful DCL parser
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Discussions
Discussions
Forums
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО06-09-2007 09:49 PM
тАО06-09-2007 09:49 PM
I've been finishing to test DCLMAKE, a new DCL parser, written itself in DCL. DCLMAKE analyzes any source DCL file and detects most common mistakes. DCLMAKE let you the power of justify source DCL file and works like a compiler, removing all remarks from source file so command execution runs faster.
DCLMAKE checks the following errors:
- IF without THEN
- THEN without IF
- ELSE without IF
- ENDIF without IF
- IF without ENDIF
- Invalid label in GOTO/GOSUB and WRITE/READ statements
- Undefined symbol substitution (inside single quote)
- Various mistakes in simple expressions
DCLMAKE is released under GNU license.
You can free download here:
http://it.openvms.org/pages.php?page=download
Any feedback will be apreciated.
Antonio
http://it.openvms.org
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО06-10-2007 03:15 AM
тАО06-10-2007 03:15 AM
Re: Useful DCL parser
http://h71000.www7.hp.com/freeware/freeware80/dcl_check/
http://h71000.www7.hp.com/freeware/freeware80/dcl_diet/
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО06-10-2007 06:00 PM
тАО06-10-2007 06:00 PM
Re: Useful DCL parser
currently I don't know all the differences between DCLMAKE and DCL_CHECK.
I tried DCL_CHEK some months ago and it worked fine.
Anyway DCL_CHECK uses much CPU's resource up and might be confused by strings inside quotes.
My DCLMAKE is lighter and recognize invalid label in string substitution too.
And don't forget, you would use just one software instead of two.
Antonio
http://it.openvms.org
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО06-10-2007 06:58 PM
тАО06-10-2007 06:58 PM
Re: Useful DCL parser
I downloaded it and ran it agains a 4300 lines of dcl script.
It seems to have difficulty with
if a .eqs. "a" .or. -
b .eqs. "b"
then
...
endif
Also the counting of lines seems to contain errors. The given line numbers do not correspond with what is in the script.
Also got a lot of untrue "to many endsubroutine" and "undefined symbols and labels" (usage before init due to gosub).
Wim
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО06-10-2007 07:01 PM
тАО06-10-2007 07:01 PM
Re: Useful DCL parser
Wim
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО06-11-2007 04:33 AM
тАО06-11-2007 04:33 AM
Re: Useful DCL parser
thank you for your feedback.
I'll check for the statement and I'll notice you about solution.
Antonio
http://it.openvms.org
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО06-11-2007 05:21 AM
тАО06-11-2007 05:21 AM
Re: Useful DCL parser
Looks like an interesting tool. It
did not recognize logout as a keyword fyi.
Also it didn't produce an output file (?)
I like the .XRF table.
Dean
****
$ @dclmake.com login.com login.test
DCL Parser V5.06 LOGIN.COM
$ write sys$output "ASDF"
$ logout/full
^^^ Expected colon at end of label (152)
$ logout/full
$ logout/brief
^^^ Expected colon at end of label (154)
$ REC=""
^^^ Symbol REC undefined (158)
158 lines, 4 labels, 194 symbols found.
$! lets see what it made
$ dir login.test
%DIRECT-W-NOFILES, no files found
$
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО06-11-2007 02:55 PM
тАО06-11-2007 02:55 PM
Re: Useful DCL parser
I'm not sure I understand the error messages. I get these:
DCL Parser V5.06 TEST.DCL
$ GOTO COMPILE
$ GOSUB COMPILE
^^^ Label COMPILE not found (301)
$ GOTO CREATEMAC
$ GOSUB CREATEMAC
^^^ Label CREATEMAC not found (301)
$ GOTO CREATEOPT
$ GOSUB CREATEOPT
^^^ Label CREATEOPT not found (301)
$ GOTO DEFLOOP
$ GOSUB DEFLOOP
^^^ Label DEFLOOP not found (301)
$ GOTO GENLOOP
$ GOSUB GENLOOP
^^^ Label GENLOOP not found (301)
$ GOTO LOOP
$ GOSUB LOOP
^^^ Label LOOP not found (301)
$ GOTO P2
$ GOSUB P2
^^^ Label P2 not found (301)
$ PID=""
^^^ Symbol PID undefined (301)
$ GOTO VECCLEANUP
$ GOSUB VECCLEANUP
^^^ Label VECCLEANUP not found (301)
301 lines, 15 labels, 408 symbols found.
All the labels exist, for example:
$ search test.dcl compile:
$ COMPILE:
The only unusual usage is p2:
$ GOTO 'p2'
Symbol PID also exists. Are the errors supposed to be listing the lines? Why are they all (301)?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО06-12-2007 05:54 AM
тАО06-12-2007 05:54 AM
Re: Useful DCL parser
I'm impressed how you've been advicing a lot of good feedback.
Now I'll try to answer:
[Dean]
- File .XRF is a cross reference file; I use it to see labels. I've already planned to relase a new qualifier (like /CROSS or /XREF) to create a more readable text file.
- Your output file is login.$$$ because DCLMAKE doesn't create output file if it found any error.
-
[John]
- Your error seems to me the same of Dean's wrong message. I'm amazed of theese wrong messages.
[Wim]
- I watched at my test unit and found the same test. So I think the real problem is before the
I'll soon release a new version.
Antonio
http://it.openvms.org
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО06-12-2007 08:15 AM
тАО06-12-2007 08:15 AM
Re: Useful DCL parser
Try it out on a copy of decnet plus
NET$CONFIGURE.COM - that would be a great
exercise, its around 800 blocks+- depending
on the decnet version, and its already
had comments etc removed. I ran dclmake on it, and it had a hard time with the if then else.
Thats a real tough task your doing!
Dean - from net$configure
$Set NoOn
$Then
^^^ Unexpected THEN (343)
$Set NoOn
$Else
^^^ ELSE without IF (345)
$Set NoOn
$Endif
^^^ Too many ENDIF (347)