DESCRIPTIVE NAME = CICS TS language definition (LD) table
structure definiton.
This COPY module is edited by DFHUDECL EXEC during PLI
generates (such as for DFHUTG) that require the LD table
structure definition and is included as DFHUDECL.
Licensed Materials - Property of IBM
Restricted Materials of IBM
5655-Y04
(C) Copyright IBM Corp. 1981, 2012
FUNCTION =
Declarations relating to language definition table (LD table).
The declarations below define the mapping of the contents of
the language definition table.
The declarations are used by both the translator itself and
the table compilation utility program DFHUTG.
EIT is the root of the LD table and gives addressability
to all its components and their sizes.
Table 1.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
136 |
EIT |
Following entries in pairs consisting of (ptr, no. of entries)
|
(0) |
ADDRESS |
4 |
TABXPTR |
(4) |
FULLWORD |
4 |
NTABS |
Table entries |
(8) |
ADDRESS |
4 |
STTXPTR |
(C) |
FULLWORD |
4 |
NSTTS |
Standard text - VBPA |
(10) |
ADDRESS |
4 |
CTLXPTR |
(14) |
FULLWORD |
4 |
NCTLS |
Controls - VBPA |
(18) |
ADDRESS |
4 |
KEEXPTR |
(1C) |
FULLWORD |
4 |
NKEYS |
Keyword information * |
(20) |
ADDRESS |
4 |
VBPXPTR |
(24) |
FULLWORD |
4 |
NVBPS |
Verb parms |
(28) |
ADDRESS |
4 |
KEPXPTR |
(2C) |
FULLWORD |
4 |
NKEPS |
Keyword parms |
(30) |
ADDRESS |
4 |
SYNXPTR |
(34) |
FULLWORD |
4 |
NSYNS |
Syntax tree |
(38) |
ADDRESS |
4 |
SPAXPTR |
(3C) |
FULLWORD |
4 |
TSYNS |
Reserved |
(40) |
ADDRESS |
4 |
NAMXPTR |
(44) |
FULLWORD |
4 |
LNAME |
Table name |
(48) |
ADDRESS |
4 |
AIBXPTR |
(4C) |
FULLWORD |
4 |
NAIBS |
IB format (EIB, DIB) * |
(50) |
ADDRESS |
4 |
CODXPTR |
(54) |
FULLWORD |
4 |
NCODS |
Address of code gen * |
(58) |
ADDRESS |
4 |
BIFXPTR |
Address of first BIF * |
(5C) |
CHARACTER |
4 |
COMPATF |
Compatibility flags * |
(5C) |
CHARACTER |
0 |
COMPATF0 |
To suit DFHUAI |
(5C) |
1... .... |
|
COMPNEWF |
Extra fields in hdr * |
(5C) |
.1.. .... |
|
COMPKPAR |
New style kwd parms * |
(5C) |
..1. .... |
|
COMPBIF |
BIF's present |
(5C) |
BIT(29) POS(4) |
4 |
* |
Guaranteed zero now * |
(60) |
ADDRESS |
4 |
* |
(64) |
FULLWORD |
4 |
LA0 |
Length of ARG0 * |
(68) |
ADDRESS |
4 |
* |
Reserved |
(6C) |
FULLWORD |
4 |
NBYTS |
Table End and size * |
(70) |
ADDRESS |
4 |
KKKXPTR |
New style kwd parms * (NKEPS of them) |
(74) |
ADDRESS |
4 |
* |
Reserved * |
(78) |
ADDRESS |
4 |
* |
Reserved * |
(7C) |
ADDRESS |
4 |
* |
Reserved * |
(80) |
ADDRESS |
4 |
* |
Reserved * |
(84) |
ADDRESS |
4 |
* |
Reserved * |
Table Entry: Describes the syntax and code generation
parameters for one HLPI statement ( One VERB/ADVERB
combination.)
Table 2.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
10 |
TABINFO |
(0) |
BIT(8) |
1 |
TABFLAGS |
Verb flags |
(1) |
HALFWORD |
2 |
TABVB |
Index in XKERAY of Verb |
(3) |
HALFWORD |
2 |
TABADVB |
Index in XKERAY of Adverb |
(5) |
CHARACTER |
3 |
TABOPND |
Syntax of STMT : |
(5) |
BIT(8) |
1 |
TABOPFLG |
See operand |
(6) |
HALFWORD |
2 |
TABOP |
declaration |
Verb parameters for code generation. E.G.
TABPA(1)=Entry name
TABPA(2)=Function code
See declaration of PARITEM for Verb parameter string
|
(8) |
UNSIGNED |
1 |
TABPA (2) |
Index in XVBPA |
(A) |
CHARACTER |
0 |
TABEND |
Table 3.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
1 |
* |
(0) |
1111 .... |
|
VBADVIDX |
must not be affected |
(0) |
.... 1... |
|
SECNDTAB |
Indicates indirection |
(0) |
.... .1.. |
|
SAMEVERB |
Rescan second TAB using same atom |
(0) |
.... ..1. |
|
USEEITBS |
Rescan DFHEITBS using same atom |
(0) |
.... ...1 |
|
* |
Reserved |
Standard text:
This is to be included at the head of every preprocessed
program by module DFHEIM10.
The number of lines of standard text is NSTTS
Table 4.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
71 |
XSTT1 |
First standard text line |
(0) |
CHARACTER |
1 |
* |
Filler - Always blank |
(1) |
CHARACTER |
62 |
STT1 |
Text to be inserted into program |
(3F) |
CHARACTER |
8 |
STTC |
Language indicators |
XKERAY: Table of keyword names and keyword parameters.
This array is indexed by terminal nodes in syntax tree.
Table 5.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
24 |
XKERAY (256) |
(0) |
CHARACTER |
12 |
KEYWORDA |
(C) |
CHARACTER |
12 |
* |
Dependant on XKEITEM size |
When changing the size of this structure, the size of the CHAR
above must be changed and also the KEYWORD_SPACE declaration in
DFHUTG. You may also need to change DFHUAI to generate the
assembler for new fields.
Table 6.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
24 |
XKEITEM |
(0) |
CHARACTER |
12 |
KEYWORD |
Keyword name |
(C) |
CHARACTER |
1 |
KEFLG1 |
Collection of flags |
(D) |
CHARACTER |
1 |
KEBITS |
Keyword flags |
(E) |
BIT(8) |
1 |
KEFLAGS |
Set by flag option on keyword |
input. See overlay below.
|
(F) |
CHARACTER |
1 |
KETYPE |
Note: KEDTYP may imply more |
(10) |
UNSIGNED |
1 |
KENARG |
max number of arguments |
(11) |
BIT(8) |
1 |
KEDTYP |
Data type - KEDTYP=0 means dont care BIT1 Arithmetic BIT2 String BIT1=0 and BIT2=0 Other BIT3 0-Binary 1-Decimal BIT3 0-Bit 1-Char BIT4 0-Fixed 1-Float BIT6 1-Fixed Bin(64) |
(12) |
UNSIGNED |
1 |
KEDTYPL |
Length of datatype |
(13) |
UNSIGNED |
1 |
KEP (3) |
KEYQUIVI or code gen parameters * |
(16) |
CHARACTER |
1 |
KEFLG2 |
Additional flags |
(17) |
CHARACTER |
1 |
KEFLG3 |
Reserved for future use |
(18) |
CHARACTER |
0 |
KEEND |
End of KEINFO |
Table 7.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
1 |
* |
(0) |
1... .... |
|
KEIDXTN |
Keyword used as id extension |
(0) |
.1.. .... |
|
KEARGOM |
ARGLIST may be omitted entirely |
(0) |
..1. .... |
|
KEARGSH |
ARGLIST may be shortened |
(0) |
...1 .... |
|
KEARGNU |
Any ARGS may be null |
(0) |
.... 1... |
|
KEARGFI |
First argument mandatory |
(0) |
.... .1.. |
|
KEQUIV |
KEP(1) gives equivalent text |
(0) |
.... ..1. |
|
KESECND |
Second keyword of a double |
(0) |
.... ...1 |
|
KETIME |
Time type of argument |
Table 8.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
1 |
* |
(0) |
1... .... |
|
KEREF64 |
Reference to 64-bit data |
(0) |
.1.. .... |
|
KECVDA |
(0) |
..11 1111 |
|
RESERVED |
Table 9.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
1 |
* |
(0) |
111. .... |
|
KEPNUM |
KEP numeric, not index in XKEPA |
(0) |
...1 .... |
|
KECOMM |
Keyword valid for any command |
(0) |
.... 1... |
|
KEDEFT |
Keyword is a default |
(0) |
.... .1.. |
|
KEARGSYN |
Keyword arguments -KEDTYP, KEDTYPL and KEP(1) are a syntax operand |
(0) |
.... ..1. |
|
KEUTF8 |
UTF8 type kywd (was KERELSYN) |
(0) |
.... ...1 |
|
KEMCASE |
Mixed case required flag |
Table 10.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
1 |
* |
(0) |
1... .... |
|
KEREF |
ARGS all references |
(0) |
.1.. .... |
|
KEID |
ARGS all identifiers |
(0) |
..1. .... |
|
KECONST |
ARGS constants - Use also KEDTYP |
(0) |
...1 1... |
|
KEADIM |
Dimensionality (00 means Scalar) |
(0) |
.... .1.. |
|
KEUSED |
'USES' Context |
(0) |
.... ..1. |
|
KESET |
'SETS' Context |
(0) |
.... ...1 |
|
KENAME |
Add quotes if identifier. |
Table 11.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
1 |
* |
(0) |
1... .... |
|
KEHEX |
Display in hexadecimal (EDF) |
(0) |
.1.. .... |
|
KELIST |
Argument may be a list (MT) |
(0) |
..1. .... |
|
KETUNOFF |
T#BITNUM bit to be turned off, not on |
(0) |
...1 .... |
|
KE2BIT |
KEP(3) is another bit to be turned on. This bit off means KEP(3) is default arg text. |
(0) |
.... 1... |
|
KEINQO |
Only valid with inquire (MT) |
(0) |
.... .1.. |
|
KESETO |
Only valid with set (MT) |
(0) |
.... ..1. |
|
KEARGMAN |
Mandatory argument |
(0) |
.... ...1 |
|
KEDUMMY |
Dummy keyword |
Table 12.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
16 |
XKEITEM1 |
Overlay of XKEITEM |
(0) |
CHARACTER |
12 |
KEYWORD1 |
Keyword name |
(C) |
BIT(32) |
4 |
KEFLGS |
Keyword flags |
Table 13.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
100 |
PARITEM |
(0) |
UNSIGNED |
1 |
PALEN |
Length of PARM, excl this byte |
(1) |
CHARACTER |
99 |
PARM |
Text of PARM |
This section describes the structure of BIF entries defined
by the %BIF items in the data file of the LD table.
Because they are variable size they are chained together via
the BIFNEXT field. The anchor of the chain is BIFXPTR in the
header to this table.
Table 14.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
20421 |
BIFENTRY |
(0) |
CHARACTER |
12 |
BIFNAME |
'DFHDATASET', etc. |
(C) |
BIT(8) |
1 |
BIFFLAGS |
Reserved * |
(D) |
ADDRESS |
4 |
BIFNEXT |
0 for last in chain * |
(11) |
FULLWORD |
4 |
BIFNEQUS |
Number of CVDA'S |
(15) |
CHARACTER |
17 |
BIFEQUSA (1200) |
(15) |
CHARACTER |
12 |
BIFARG |
'ENABLED', etc. |
(21) |
FULLWORD |
4 |
BIFCVDA |
128, 129, etc. |
(25) |
BIT(8) |
1 |
BIFCVDFL |
Reserved * |
XSYNTAX: Format of each node in the XSYNTAX structure is
given by the SY structure below.
Table 15.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
7 |
SY |
A node in the syntax tree |
(0) |
CHARACTER |
1 |
OPCODE |
'|' (Or) 'J' (Join) 'R' (Repeat) - Unary OP |
(1) |
CHARACTER |
3 |
OPERAND1 |
First arm of the node |
(1) |
CHARACTER |
1 |
OP1FLG |
OPERAND1 Flags |
(1) |
1... .... |
|
OP1SYNI |
OPERAND1 is offset in XSYNTAX |
(1) |
.1.. .... |
|
OP1KE |
OPERAND1 is index in XKERAY |
(1) |
..1. .... |
|
OP1NULL |
OPERAND1 is null |
(1) |
...1 .... |
|
OP1OPL |
OPERAND1 is optional |
(1) |
.... 1... |
|
OP1PAREN |
OPERAND1 is parenthesized |
(1) |
.... .111 |
|
* |
Reserved |
(2) |
HALFWORD |
2 |
OP1 |
Operand 1 |
(4) |
CHARACTER |
3 |
OPERAND2 |
Second arm of the node |
(4) |
CHARACTER |
1 |
OP2FLG |
OPERAND2 flags |
(4) |
1... .... |
|
OP2SYNI |
OPERAND2 is offset in XSYNTAX |
(4) |
.1.. .... |
|
OP2KE |
OPERAND2 is index in XKERAY |
(4) |
..1. .... |
|
OP2NULL |
OPERAND2 is null |
(4) |
...1 .... |
|
OP2OPL |
OPERAND2 is optional |
(4) |
.... 1... |
|
OP2PAREN |
OPERAND2 is parenthesized |
(4) |
.... .111 |
|
* |
RESERVED |
(5) |
HALFWORD |
2 |
OP2 |
Operand 2 |
Table 16.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
7 |
SY1 |
Overlay of SY |
(0) |
CHARACTER |
1 |
OPCODE1 |
See OPCODE |
(1) |
BIT(8) |
1 |
OP1FLAGS |
See OP1FLG |
(2) |
HALFWORD |
2 |
OP11 |
See OP1 |
(4) |
BIT(8) |
1 |
OP2FLAGS |
See OP2FLG |
(5) |
HALFWORD |
2 |
OP21 |
See OP2 |
Table 17.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
3 |
OPERAND |
General purpose operand, i.e. overlays OPERAND1 or OPERAND2 |
(0) |
CHARACTER |
1 |
OPFLG |
Operand flags |
(0) |
1... .... |
|
OPSYNI |
OP is an index into the syntax tree * |
(0) |
.1.. .... |
|
OPKE |
OP is an index into the keywords array * |
(0) |
..1. .... |
|
OPNULL |
Indicates a null operand |
(0) |
...1 .... |
|
OPOPL |
Indicates an optional operand |
(0) |
.... 1... |
|
OPPAREN |
Indicates a parenthesized operand |
(0) |
.... .111 |
|
* |
Filler - See OPERAND1 or OPERAND2 |
(1) |
HALFWORD |
2 |
OP |
An index |
Table 18.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
16 |
XCOMROOT |
(0) |
ADDRESS |
4 |
COMXPTR |
(4) |
FULLWORD |
4 |
NUMCMDS |
Commands |
(8) |
ADDRESS |
4 |
KEYXPTR |
(C) |
FULLWORD |
4 |
NUMKYS |
arguments/keywords |
Table 19.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
14 |
COMINFO |
(0) |
CHARACTER |
8 |
COMGRFN |
gr & fn for sort compare |
(8) |
HALFWORD |
2 |
COMARG0LN |
ARG0 len. 0 for type2/3/4. |
(A) |
HALFWORD |
2 |
COMKEYS |
Number of keywords |
(C) |
HALFWORD |
2 |
COMIND |
Index of first |
(E) |
CHARACTER |
0 |
COMEND |
Table 20.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
8 |
* |
(0) |
FULLWORD |
4 |
COMGR |
Group code |
(4) |
FULLWORD |
4 |
COMFN |
Function code |
Table Entry: Describes one command for ICCFCTAB
Table 21.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
52 |
DTCINFO |
(0) |
CHARACTER |
24 |
DTCARG0 |
Arg0 |
(18) |
HALFWORD |
2 |
DTCKEYS |
Number of keywords |
(1A) |
HALFWORD |
2 |
DTCIND |
index of first |
(1C) |
CHARACTER |
12 |
DTCVERB |
(28) |
CHARACTER |
12 |
DTCADVB |
(34) |
CHARACTER |
0 |
DTCEND |
Table 22.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
3 |
KEYITEM |
(0) |
CHARACTER |
3 |
KEYCOMMON |
Common to DFHEITTR and DFHEITT2 |
(0) |
UNSIGNED |
1 |
KEYCODE |
Type of keyword - see the code |
(1) |
UNSIGNED |
1 |
KEYBIT1 |
Bit to test |
(2) |
UNSIGNED |
1 |
KEYBIT2 |
Bit to test |
(3) |
CHARACTER |
0 |
KEYSPECIFIC |
Different for DFHEITTR/EITT2 |
Table 23.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
12 |
KEYEITT2 |
DFHEITT2 specific |
(0) |
CHARACTER |
12 |
KEYWRD |
Keyword value |
(C) |
CHARACTER |
0 |
KEYEND2 |
End of KEYITEM for DFHEITT2 |
Table 24.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
3 |
KEYEITTR |
DFHEITTR specific |
(0) |
UNSIGNED |
1 |
KEYARG |
Argument number |
(1) |
UNSIGNED |
1 |
KEYARGL |
Length of datatype |
(2) |
BIT(8) |
1 |
KEYDTYP |
Data type - KEYDTYP=0 means dont care BIT1 Arithmetic BIT2 String BIT1=0 and BIT2=0 Other BIT3 0-Binary 1-Decimal BIT3 0-Bit 1-Char BIT4 0-Fixed 1-Float BIT6 1-Fixed Bin(64) |
(3) |
CHARACTER |
0 |
KEYEND1 |
End of KEYITEM for DFHEITTR |
-------------------------------------------------------------------
KEYITEMO: Keyword description in DFHEITHG for Hired Gun
-------------------------------------------------------------------
Table 25.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
12 |
KEYITEMO |
(0) |
FULLWORD |
4 |
KEYARGO |
Arg offset |
(4) |
FULLWORD |
4 |
KEYWORDO |
Word offset |
(8) |
BIT(32) |
4 |
KEYBITM |
Bit mask |
(C) |
CHARACTER |
0 |
KEYENDO |
End of KEYITEM for DFHEITHG |
-------------------------------------------------------------------
KEYDTC: Keyword description for ICCFCTAB
-------------------------------------------------------------------
Table 26.
Offset Hex |
Type |
Len |
Name (Dim) |
Description |
(0) |
STRUCTURE |
24 |
KEYDTC |
(0) |
HALFWORD |
2 |
KEYNUMD |
Number |
(2) |
CHARACTER |
22 |
KEYSAVED |
data |
(2) |
CHARACTER |
12 |
KEYWORDD |
(E) |
CHARACTER |
10 |
KEYDATAD |
(18) |
CHARACTER |
0 |
KEYENDD |
End of KEYITEM for ICCFCTAB |
Table 27.
Len |
Type |
Value |
Name |
Description |
1 |
DECIMAL |
255 |
STOPPER |