I need a bit of IEBEYEBALL by some of you heavy weight MACRO writers.
I've been working on a set of macros for about 4 days and now I'm just
too close to the bark to see the tree.
Specifically, I have been working on a tool for handling an issue and
ran into this problem. Now I remember that if you take &SYSPARM and put
that as the operand of a macro call, it is going to be handed to the
macro as a STRING of all the characters regardless of how they are done
(keywords, positionals, etc.)
Ok, so I have collected various things inside of my macro and have
strung them together into a single variable called &COND. Here is what I
have built:
(,ON,TESTBIT1),AND,(ON,TESTBIT2),THEN
This gets put into the following two statements as &COND:
MNOTE 0,'TEST IF &COND'
TEST IF &COND
This gives the following out of the MNOTE:
+ 0,ABEND IF (,ON,RADAIT01),AND,(,ON,RADAIT12),THEN
But when we get to the next statement (which if we still had those nice
diagnostics like the old F Assembler had...) we can't see it, but we get
back MNOTEs from the called "IF" macro:
+ 4,IF(0001) - THEN MISSING - ONE IS ASSUMED.
+ 8,IF(0009) - CONDITION 1 HAS AN INVALID NUMBER OF SUBOPERANDS.
So here is my question (which I didn't find an answer to on IBMLINK when
I checked it rapidly, and I haven't found it in my HLASM Ref manual,
yet): Is my SET variable "&COND" being treated as a single string in
going to the "IF" macro so that it doesn't see it as the following
&SYSLIST subparms:
0= [null]
1= (,ON,RADAIT01)
2= AND
3= (,ON,RADAIT12)
4= THEN ?
That is, is it being seen as:
&SYSLST(1)= '(,ON,RADAIT01),AND,(,ON,RADAIT12),THEN' ?
And then, would this be an error or have I managed to screw myself into
the ground by doing all the tests on the data before calling the next
level of macro?
Regards,
Steve Thompson
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html