In a recent note, Chase, John said:
> Date: Tue, 11 Oct 2005 11:15:43 -0500
>
> > -----Original Message-----
> > From: IBM Mainframe Discussion List On Behalf Of Edward E. Jaffe
> >
> > [ snip ]
> >
> > Literals can do some things ordinary constants cannot. For
> > example, it's not easy to define a constant that is
> > equivalent to the literal generated by the following:
> >
> > LA R1,=A(*)
> >
> > Without a literal, you need insert a label in the code to
> > make it work.
> > Ugly!
>
> It's not clear to me what use you'd make of the address of a literal,
> without some more context.
>
Possibly some parameter lists, avoiding the use of BALR; ST
(which happens to be nonreentrant.)
One construct HLASM has not yet provided is nested literals:
L R1,=A(=Y(42))
No real purpose beyond syntactic closure. =A(<address-expression>)
ought not restrict the form of the <address-expression>, and
<literal> ought to be a production of <address-expression>. HLASM
syntax is too complicated, with too many (exceptions to) rules.
Yah, I know; that would require the literal parser to be recursive.
But nowadays that ain't rocket science.
-- gil
--
StorageTek
INFORMATION made POWERFUL
----------------------------------------------------------------------
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