View previous topic :: View next topic
|
Author |
Message |
Rajat Das
New User
Joined: 29 Nov 2012 Posts: 6 Location: India
|
|
|
|
Hi,
I am trying to use the expansion utility ISRLEMX to expand the included copy statements within my PL1 program.
Code: |
//EXPAND EXEC PGM=ISRLEMX,
// PARM='PLI,PROG01,B,N,E,1,,1,ENU,,,,,,'
//ISRLCODE DD DISP=SHR,DSN=MY.SOURCE.LIB
// DD DISP=SHR,DSN=MY.COPY.STAT.LIB
//ISRLEXPD DD SYSOUT=*
//ISRLXREF DD SYSOUT=*
//ISRLMSG DD SYSOUT=*
|
But its not expanding in case of following conditions,
when the include statements in my program (PROG01)
1. has a space in between % and include
2. Two semicolons at end
3. The % started from column 2 where column 1 contains printer directives like 0 or 1
Could you please advice how to overcome these issues?
Many thanks in advance! |
|
Back to top |
|
|
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
What does the manual tell you is valid syntax for the %INCLUDE? I suspect, without looking, that all your examples are not correct, so should be corrected if you want them to work. |
|
Back to top |
|
|
Rajat Das
New User
Joined: 29 Nov 2012 Posts: 6 Location: India
|
|
|
|
Bill Woodger wrote: |
What does the manual tell you is valid syntax for the %INCLUDE?
|
All of the above cases are valid and my program is getting compiled successfully. I have also seen that all copybooks are getting expanded in the compiled listing.
But, I am looking for an alternative to have the expanded version of the code without compilation and using ISRLEMX to serve the purpose.
Reference:
publib.boulder.ibm.com/infocenter/zos/v1r12/topic/com.ibm.zos.r12.f54u200/membexp.htm |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10888 Location: italy
|
|
|
|
for issue 3 the link posted tells a different tale
Input Columns Processed for F/FB Format ==> 2 - 72
if it does not behave like that open a PMR with IBM
as far as the % INCLUDE vs. %INCLUDE
You will have to accept the stricter requirement of ISRLEMX
( after all PL/1 uses a full language scanner/parser ) |
|
Back to top |
|
|
PeterHolland
Global Moderator
Joined: 27 Oct 2009 Posts: 2481 Location: Netherlands, Amstelveen
|
|
Back to top |
|
|
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
Quote: |
All of the above cases are valid and my program is getting compiled successfully. I have also seen that all copybooks are getting expanded in the compiled listing. |
This is not relevant if you are not using the compiler for expansion, is it?
To continue on this route, you need "a little something" to pre-process your INCLUDEs so that they are correct for the program you are actually running.
Why don't you want to use the compiler? You want to process the expanded source for some other reason, and you don't keep compile listings accessible? |
|
Back to top |
|
|
Rajat Das
New User
Joined: 29 Nov 2012 Posts: 6 Location: India
|
|
|
|
Bill Woodger wrote: |
Why don't you want to use the compiler? You want to process the expanded source for some other reason, and you don't keep compile listings accessible? |
This I need for my analysis work and dont really want to fill up my load libraries with programs which I'll never execute.
And yes, the production compile listing isn't accessible.
Also, the reported issue is relevant only when I'm not using the in-house compiler for expansion |
|
Back to top |
|
|
Garry Carroll
Senior Member
Joined: 08 May 2006 Posts: 1205 Location: Dublin, Ireland
|
|
|
|
You could try using the compiler but using the NOCOMPILE option. This will expand the code but will not consume as much resource as a full compile would as no object deck will be produced. It has the advantage of performing just syntax checking.
Garry. |
|
Back to top |
|
|
Rajat Das
New User
Joined: 29 Nov 2012 Posts: 6 Location: India
|
|
|
|
Garry Carroll wrote: |
You could try using the compiler but using the NOCOMPILE option. This will expand the code but will not consume as much resource as a full compile would as no object deck will be produced. It has the advantage of performing just syntax checking.
|
It would be tricky as I normally rely on Endevor to do the compilation automatically. Then I need to write out a customized job to serve the purpose. By the way, could you please cite an example on how to use the NOCOMPILE option? |
|
Back to top |
|
|
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
Rajat Das wrote: |
Also, the reported issue is relevant only when I'm not using the in-house compiler for expansion |
I don't know why you are sticking to this. You a running a utility program. You have the wrong syntax for that utility program. To successfully use that utility you need to correct the syntax. That your syntax works elsewhere is entirely irrelevant to your problem.
Look into what Garry has said, should suit your task. Compilers tend to be able to do that from "the old days" where you might want a syntax check and a listing to work on but not want to get all the extra CPU usage (so elapsed time) from the code actually being generated. |
|
Back to top |
|
|
Rajat Das
New User
Joined: 29 Nov 2012 Posts: 6 Location: India
|
|
|
|
Bill Woodger wrote: |
I don't know why you are sticking to this. You a running a utility program. You have the wrong syntax for that utility program. To successfully use that utility you need to correct the syntax. That your syntax works elsewhere is entirely irrelevant to your problem.
|
This is applicable for any live program having these syntax and its not possible to update each of them.
I'll try to use the compiler using NOCOMPILE option and get back soon. |
|
Back to top |
|
|
Akatsukami
Global Moderator
Joined: 03 Oct 2009 Posts: 1787 Location: Bloomington, IL
|
|
|
|
You must realize, Rajat-kun, that ISRLEMX is part of ISPF, not of the PL/I suite. That it is an IBM product means that it can be considered more reliable than, say, the JCL checkers whose bogus error messages are constantly sending software engineers here with the vapors; but in the final analysis, the filter for compilable code is the compiler, not a lint utility, expansion utility, or other utility. |
|
Back to top |
|
|
|