Previous | Contents | Index |
The following table shows the HP SDL to Kednos PL/I language translation summary.
HP SDL Declaration | Kednos PL/I Output |
---|---|
MODULE name IDENT string | /*** MODULE name IDENT string ***/ |
/* comment | /*comment*/ |
CONSTANT x | |
EQUALS n; | %REPLACE x BY n; |
EQUALS STRING "s"; | %REPLACE x BY 's'; |
ENTRY | ENTRY |
PARAMETER (type,...) | (parameter-descriptor,...) |
ANY | ANY |
DESCRIPTOR | DESCRIPTOR or CHARACTER(*) for CHARACTER data type |
RTL_STR_DESC | ANY CHARACTER(*) |
IN | n/a |
OUT | n/a |
NAMED param-name | n/a |
VALUE | VALUE |
REFERENCE | n/a |
DEFAULT n | n/a |
LIST | LIST |
OPTIONAL | OPTIONAL or OPTIONAL TRUNCATE |
TYPENAME type-name | Special VMS TYPENAME values are recognized. |
RETURNS return-data-type | RETURNS (returns-descriptor) |
NAMED param-name | n/a |
VARIABLE | OPTIONS(VARIABLE) |
ALIAS internal-name | n/a |
LINKAGE | n/a |
TYPENAME type-name | Special VMS TYPENAME values are recognized. |
STRUCTURE | Structure declaration. An AGGREGATE declaration is always assigned a level number of 1; subsequent subaggregates are assigned level numbers 2, 3, and so on. |
UNION | UNION |
BYTE [SIGNED ] | FIXED BINARY(7) |
INTEGER _BYTE [SIGNED ] | FIXED BINARY(7) |
WORD [SIGNED ] | FIXED BINARY(15) |
INTEGER _WORD [SIGNED ] | FIXED BINARY(15) |
LONGWORD [SIGNED ] | FIXED BINARY(31) |
INTEGER _LONG [SIGNED ] | FIXED BINARY(31) |
INTEGER [SIGNED ] | FIXED BINARY(31) |
INTEGER _HW [SIGNED ] | (2) FIXED BIN(31) for /ALPHA |
FIXED BIN(31) for /VAX | |
HARDWARE _INTEGER [SIGNED ] | (2) FIXED BIN(31) for /ALPHA |
FIXED BIN(31) for /VAX | |
QUADWORD [SIGNED ] | BIT(64) ALIGNED |
INTEGER _QUAD [SIGNED ] | BIT(64) ALIGNED |
OCTAWORD [SIGNED ] | BIT(128) ALIGNED |
BYTE UNSIGNED | BIT(8) ALIGNED |
FIXED BINARY(7) for /PLI _DEVELOPMENT | |
INTEGER _BYTE UNSIGNED | BIT(8) ALIGNED |
FIXED BINARY(7) for /PLI _DEVELOPMENT | |
WORD UNSIGNED | BIT(16) ALIGNED |
FIXED BINARY(15) for /PLI _DEVELOPMENT | |
INTEGER _WORD UNSIGNED | BIT(16) ALIGNED |
FIXED BINARY(15) for /PLI _DEVELOPMENT | |
LONGWORD UNSIGNED | BIT(32) ALIGNED |
FIXED BINARY(31) for /PLI _DEVELOPMENT | |
INTEGER _LONG UNSIGNED | BIT(32) ALIGNED |
FIXED BINARY(31) for /PLI _DEVELOPMENT | |
INTEGER UNSIGNED | BIT(32) ALIGNED |
FIXED BINARY(31) for /PLI _DEVELOPMENT | |
INTEGER _HW UNSIGNED | BIT(64) ALIGNED for /ALPHA |
(2) FIXED BIN(31)/ALPHA/PLI _DEVELOPMENT | |
BIT(32) ALIGNED for /VAX | |
FIXED BIN(31)/VAX/PLI _DEVELOPMENT | |
HARDWARE _INTEGER UNSIGNED | BIT(64) ALIGNED for /ALPHA |
(2) FIXED BIN(31)/ALPHA/PLI _DEVELOPMENT | |
BIT(32) ALIGNED for /VAX | |
FIXED BIN(31)/VAX/PLI _DEVELOPMENT | |
QUADWORD UNSIGNED | BIT(64) ALIGNED |
INTEGER _QUAD UNSIGNED | BIT(64) ALIGNED |
OCTAWORD UNSIGNED | BIT(128) ALIGNED |
F_FLOATING | FLOAT BINARY (24) |
D_FLOATING | FLOAT BINARY(53) |
G_FLOATING | FLOAT BINARY(53) |
H_FLOATING | FLOAT BINARY(113) |
F_FLOATING COMPLEX | ANY except as a |
D_FLOATING COMPLEX | - function return type or union |
G_FLOATING COMPLEX | - type of a structure member |
H_FLOATING COMPLEX | - array type |
In these cases, respective translations are: | |
BIT(64) | |
BIT(128) | |
BIT(128) | |
BIT(256) | |
DECIMAL PRECISION (p,q) | DECIMAL (p,q) |
BITFIELD LENGTH n | BIT(n) |
MASK | %REPLACE prefixM_name BY mask-value; |
SIGNED | n/a |
CHARACTER | CHARACTER(n) |
LENGTH n | CHARACTER(n) |
LENGTH * | CHARACTER(*) |
VARYING | VARYING |
ADDRESS | POINTER |
POINTER | POINTER |
POINTER _LONG | POINTER |
POINTER _HW | (2) POINTER for /ALPHA |
POINTER for /VAX | |
HARDWARE _ADDRESS | (2) POINTER for /ALPHA |
POINTER for /VAX | |
POINTER _QUAD | (2) POINTER |
BOOLEAN | BIT(1) ALIGNED |
user-type-name | data-type /* user-type-name */ |
Default storage class | BASED attribute |
COMMON storage class | STATIC EXTERNAL |
GLOBAL storage class | GLOBALREF |
with /GLOBALDEF | GLOBALDEF |
BASED pointer-name | aggregate BASED (pointer-name) |
TYPEDEF | n/a |
name DIMENSION [lbound:]hbound | name ([lbound]:hbound) |
ORIGIN member-name | n/a |
Notes
The following table shows the HP SDL to HP OpenVMS DCL language translation summary. Since HP OpenVMS DCL does not understand procedures or aggregates, only constants are translated.
HP SDL Declaration | HP OpenVMS DCL Output |
---|---|
MODULE name IDENT string | $ ! MODULE name |
/ * comment | $ ! comment |
CONSTANT x | |
EQUALS n; | x = = n |
EQUALS STRING "s"; | x = = "s" |
ENDMODULE name | $ ! ENDMODULE |
SDML is not a programming language; the translation is intended to be used as input to software manuals.
For every AGGREGATE STRUCT files named aggregate-name_PIC.SDML and aggregate-name_TBL.SDML are generated. Those files also include the constants defined in the SDL file before the AGGREGATE.
AGGREGATE UNIONs and ITEMs are written into files named PICFILE.DAT and TBLFILE.DAT. If an SDL file contains more than one ITEM or UNION, multiple versions of PICFILE.DAT and TBLFILE.DATE will be written.
"PIC" files contain drawings, where every member of an AGGREGATE is drawn according to its size and position. BITFIELDs are not drawn, their size and position are respected only partly; members following BITFIELDS are not always positioned correctly. "TBL" files contain tables with a row for every member of an AGGREGATE.
The HARDWARE_INTEGER and COMPLEX data types are not supported by the SDML backend.
ENTRY declarations are also not supported by the SDML backend.
The following table shows the HP SDL to DECTPU language translation summary. Since DECTPU does not understand procedures or aggregates, only constants are translated.
HP SDL Declaration | DECTPU Output |
---|---|
MODULE name IDENT string | MODULE name |
/ * comment | ! comment |
CONSTANT x | |
EQUALS n; | CONSTANT x : = n; |
EQUALS STRING "s"; | CONSTANT x : = "s"; |
ENDMODULE name | ENDMODULE |
The following table shows the HP SDL to UIL language translation summary. Since UIL does not understand procedures or aggregates, only constants are translated.
HP SDL Declaration | UIL Output |
---|---|
MODULE name IDENT string | ! MODULE name |
/ * comment | ! comment |
CONSTANT x | |
EQUALS n; | VALUE x : n; |
EQUALS STRING "s"; | VALUE x : "s"; |
ENDMODULE name | ! ENDMODULE |
Previous | Next | Contents | Index |