DBC Compatibility Mode
The PLBCMP compiler (PLBCMP.PLC) provides a compatibility mode for source created for the Subject and Wills DBC product. This mode is enabled by use of the "-ZC=3" compiler switch.
1. The DBC Support provides the following additional statement syntax formats.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2. The DIM variable supports the following alternate statement syntax formats:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The (1) format supports a new array initialization syntax form.
The (2) format supports a new DIM syntax for an array of DIM pointers.
The (3) format specifies a new DIM array pointer construct. The DIM array pointer can contain an address of a DIM array.
The (4) format specifies a two dimensioned DIM array pointer construct. The two dimensioned DIM array pointer can contain an address of a two dimensioned DIM array.
The (5) format specifies a three dimensioned DIM array pointer construct. The three dimensioned DIM array pointer can contain an address of a three dimensioned DIM array.
Examples:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3. The FORM variable supports the following alternate statement syntax formats:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The (1) format supports a new array initialization syntax form. The {dvalue} in this syntax form is a decimal immediate value without '"' double quote characters.
The (2) format supports a new FORM syntax for an array of FORM pointers.
The (3) format specifies a new FORM array pointer construct. The FORM array pointer can contain an address of a FORM array.
The (4) format specifies a two dimensioned FORM array pointer construct. The two dimensioned FORM array pointer can contain an address of a two dimensioned FORM array.
The (5) format specifies a three dimensioned FORM array pointer construct. The three dimensioned FORM array pointer can contain an address of a three dimensioned FORM array.
Examples:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4. The INTEGER variable has been modified to support the following alternate statement syntax formats:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The (1) format supports a new array initialization syntax form. The {dvalue} in this syntax form is a decimal immediate value without '"' double quote characters.
The (2) format supports a new INTEGER syntax for an array of INTEGER pointers.
The (3) format specifies a new INTEGER ARRAY POINTER construct. The INTEGER ARRAY POINTER can contain an address of a INTEGER ARRAY.
The (4) format specifies a two dimensioned INTEGER ARRAY POINTER construct. The two dimensioned INTEGER ARRAY POINTER can contain an address of a two dimensioned INTEGER ARRAY.
The (5) format specifies a three dimensioned INTEGER ARRAY POINTER construct. The three dimensioned INTEGER ARRAY POINTER can contain an address of a three dimensioned INTEGER ARRAY.
The (6) format allows an INTEGER to be specified where the {value} is a numeric literal without a size specification. In this case, the INTEGER size defaults to an 4-byte integer.
Examples:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5. The VAR variable is a new language declaration statement that declares a typeless data variable pointer. A typeless variable can contain the address of any PL/B language variable. The typeless variable can only be declared when the compiler 'ZC=3' option is used. Also, it can only be used as an operand variable in ROUTINE, LROUTINE, MOVEADR, MOVEPTR, TYPE, CLEARADR, LOADADR, and STOREADR statements.
Syntax:
|
|
|
|
|
|
|
|
Example:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6. The MOVEADR (MOVEADDR) statement has been modified to allow a VAR typeless variable or ARRAY POINTER variable in the source and destination operands. An example of this statement is included in item 5 above.
7. The MOVEPTR statement has been modified to allow a VAR typeless variable or ARRAY POINTER variable in the source and destination operands.
8. The ROUTINE and LROUTINE variable list has been modified to allow a VAR typeless variable or ARRAY POINTER as valid variables. An example of this statement is included in item 5 above.
9. The TYPE statement has been modified to accept an alternate syntax format. A detailed discussion of the TYPE instruction is located in the PL/B Reference file. An example of this statement is included in item 5 above.
Syntax
|
|
|
|
See Also:
![]() |