On 14/04/2012 12:51 AM, Paul Gilmartin wrote:
On Sat, 14 Apr 2012 00:13:31 +0800, David Crayford wrote:

I personally wouldn't use Metal-C for writing exits. Unless they are
very simple structures the DSECT conversion utility is painful due to
the ambiguous syntax of assembler data declarations. It takes a "best"
guess, which sometimes works and sometimes makes a horrible mess.

If the syntax were truly ambiguous, HLASM's behavior would be
as unpredictable as METAL-C's.  But perhaps it's undocumented.

And the assembler enforces no type checking:

FRED    EQU *
              ...
          LH    R1,FRED
          STH   R1,JOE
              ...
          L     R1,FRED
          ST   R1,SAM
              ...

What's C supposed to do with JOE = FRED?  (But how does
PL/S deal with it?  Perhaps the DSECT conversion utility
should employ the PL/S rather than the HLASM part of
DSECT macros.)

Good point about the conversion utility! IIRC, convert PL/X -> HLASM so it would seem to be a more natural fit from a PL/X declaration to a C structure. But the DSCECT
conversion utility works on ADATA, not source.


The interesting thing about Metal-C is that the runtime is shipped as
part of the base operating system. So even if you don't have a C license
there's lots of good stuff in there.

Isn't much the same true for LE?

Yes, if you want to buy into the whole LE encalve business. Most of the HLASM programmers at my place hate LE. Using the Metal-C runtime you can run authorized, SRB etc which you just can't do in LE.

-- gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: INFO IBM-MAIN

Reply via email to