|
FYI here is some valid MI code that generates those symbol table extensions
you observed:
"DIM" --- a variable can declare a DIM attribute
containing multiple lower:upper bounds, for example:
DCL DD ABC AUTO CHAR(5) DIM(7:8, -3:6, 2:3, -4:1);
"LVL, HLL, PARENT" --- a variable can declare a LVL or
HLL attribute containing a constant character, or a
PARENT attribute containing two constant characters,
for example:
DCL DD ABC AUTO CHAR(5) LVL("FOO");
DCL DD DEF AUTO CHAR(5) HLL("FOO");
DCL DD GHI AUTO CHAR(5) PARENT("FOO","BAR");
"BIT" --- a variable can declare a BIT attribute
containing a number, for example:
DCL DD ABC AUTO CHAR(5) BIT(2);
"HLLPTR" --- a space pointer can declare a HLLPTR
attribute, for example:
DCL SPCPTR ABC AUTO HLLPTR;
"LBLPTR, SSPPTR, PRCPTR, INVPTR" --- the following
declarations generate identical ODT entries:
DCL PTR ABC AUTO;
DCL LBLPTR ABC AUTO;
DCL SSPPTR ABC AUTO;
DCL PRCPTR ABC AUTO;
DCL INVPTR ABC AUTO;
"LBL" --- a LBL statement in executable code can
reference a prior branch point like this:
HERE: CPYNV X,1;
CPYNV X,2;
LBL HERE;
Given the following declaration of "two-dimensional" BBB:
DCL DD AAA AUTO CHAR(24) INIT("ABCDEFGHIJKLMNOPQRSTUVWX");
DCL DD BBB DEF(AAA) POS(1) CHAR(1) DIM(3,8);
The debug command DSPPGMVAR 'BBB(1,*)' will display:
'A' 'B' 'C' 'D' 'E' 'F' 'G' 'H'
And the debug command DSPPGMVAR 'BBB(*,1)' will display:
'A' 'I' 'Q'
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.