OK, these are just my insanity. Blame them on the meds <grin>

===
David Bond gave an excellent description of the OPCODE table and how it works 
for builtin opcodes, pseudo-ops, and macros. So, what would it take to 
compatibly extend this to what I will call "namespaces". My thought was to 
change the opcode parsing such that a currently invalid first character (such 
as a colon) in the opcode field could introduce a "namespace". The default 
namespace would be the current opcode. The value after the colon would be a 
"namespace". The "namespace" could be null (omitted) for the current OPCODE 
table namespace. Otherwise, the "namespace" is the DD concatenation used to 
search for a MACRO. For the default "namespace", the DD to be searched would 
remain SYSLIB.

Example:

NORMAL    LA    R1,MYVAR

NORMAL    ::LA    R1,MYVAR does the same as above because the :: uses the 
default namespace

ABNORM    :SYSLIB:LA    R1,MYVAR  Forces the assembler to look for a MACRO 
called LA in the SYSLIB DD concatenation

ABNORM2  :MYLIB:OPEN PARMS...   Ah! I have my MACRO which I want to call OPEN. 
Use the DD MYLIB instead of SYSLIB

NORMAL    OPEN    (DCB,(INPUT)    use the normal DD of SYSLIB for this OPEN, 
with no conflict to my defination.

Reason: This totally avoids collisions between new OPCODES, and different 
MACROs from different vendors which happen to have the same name, but I need in 
my program. Note for non-z/OS based assemblers, the DD statement would instead 
be an environment variable using standard subdirectories and delimiters. For 
example:

export MYLIB='~/projects/proj1:~/projects/proj2'

===

Extend the COPY operation to use the same "namespaces" as above. so that I can 
specify a DD from which to copy the member.

Reason: Same as above.

===
HLASM source format changes. This one most likely can be implemented via 
HLASM's SOURCE exit. But I'll mention it just so that people can make comments 
as to their thoughts on whether I've gone over to the dark side (or over the 
edge).

Card image is so retro! Why, especially on z/Linux (if this applies to that 
version of HLASM), when I can keep my HLASM source in UNIX files (locally, NFS 
mounted, or on a Windows share), am I still stuck with LRECL=80 and RECFM=F? 
Now, I know that so long as my logical records are < 80 bytes, I can use the 
DCB and PATH to make my UNIX files look like FB/80. But for long lines, I still 
need that non-blank in column "n" (default 72). And exactly "n" (default 16) 
blanks on the next record. What I would like is to be more like the C compiler. 
If the last non-blank character on a logical line is a back slash (\), then 
ignore any trailing blanks on that line and assume the next logical line is a 
continuation of this line. All leading blanks on the next line are ignored. If 
the next line starts with a \, it too is ignored. This is so that a 
continuation line can be part of a literal and have a blank at the start. Of 
course if the continuation is in a literal and the character requ!
 ires a \ as the next literal character, just code two \\s in a row.

example:

NEW    CLC    SOMELONG,=CL100'THIS IS A REALLY,\
                             \ REALLY LONG \
                              LINE'

The literal is "THIS IS A REALLY, REALLY LONG LINE".

Macros and COPY code also need to be able to work this way too. So I guess an 
equivalent LIBRARY exit is required as well.
===

Is any of this even a possible interest or concern to anybody else? Or am I 
becoming to UNIXy?

--
John McKown
Systems Engineer IV
IT

Administrative Services Group

HealthMarkets(r)

9151 Boulevard 26 * N. Richland Hills * TX 76010
(817) 255-3225 phone * (817)-691-6183 cell
[email protected] * 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