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

Reply via email to