M4 does look like an excellent choice, as far as capabilities go.  But
John's point is exactly what I was thinking: How do I run M4 against my
PDS input?  If someone can point me to some JCL to accomplish this, I will
probably head in that direction.

The next closest option looks like the C preprocessor.  The PPONLY option
causes the preprocessed code to be sent to SYS010 without invoking the
compiler.  I've run some experiments, and the only shortcoming seems to be
that all macro expansions result in a single line of output.  (A
requirement I failed to mention.)

Multi-line macro definitions, which all but the last line ending in a
backslash, always seem to create one long line.  This macro definition:

#define PAT3 \
      * This is a \
                   multi-line \
                   macro expansion

generates this output:
      * This is a multi-line macro expansion

My solution to this is to include my own delimiter in the macro definition
and use a Rexx post-processor to line-break at the delimiter.

I will continue to appreciate suggestions.

---------------

On Fri, 18 Nov 2011 11:09:18 -0600, McKown, John
<john.mck...@healthmarkets.com> wrote:

>> -----Original Message-----
>> From: IBM Mainframe Assembler List
>> [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of Paul Gilmartin
><snip>
>> Or use existing art:
>>
>>     http://en.wikipedia.org/wiki/M4_%28computer_language%29
>>
>> -- gil
>
>Oh, that's just __nasty__. m4 is complicated. And, in z/OS, is UNIX only
and so more difficult for the "average programmer".
>
>--
>John McKown
>Systems Engineer IV
>IT
>
>Administrative Services Group
>
>HealthMarkets(r)
>
>9151 Boulevard 26 * N. Richland Hills * TX 76010
>(817) 255-3225 phone *
>john.mck...@healthmarkets.com * www.HealthMarkets.com
>
>Confidentiality Notice: This e-mail message may contain confidential or
proprietary information. If you are not the intended recipient, please
contact the sender by reply e-mail and destroy all copies of the original
message. HealthMarkets(r) is the brand name for products underwritten and
issued by the insurance subsidiaries of HealthMarkets, Inc. -The
Chesapeake Life Insurance Company(r), Mid-West National Life Insurance
Company of TennesseeSM and The MEGA Life and Health Insurance Company.SM

Reply via email to