1
2
3
4
5
6
7
8
9
10
11
12 dcl 1 pred_node based (pn_ptr),
13 2 type fixed bin,
14 2 id unal,
15 3 lleaf_id like pred_leaf.id,
16 3 op_code bit (6) unal,
17 3 rleaf_id like pred_leaf.id,
18 2 term_type fixed bin (5) unal,
19 2 root bit (1) unal,
20 2 term bit (1) unal,
21 2 determined bit (1) unal,
22 2 reserved bit (21) unal,
23 2 parent ptr,
24 2 lbr ptr,
25 2 rbr ptr;
26
27 dcl pn_ptr ptr;
28
29 dcl 1 pred_array based (pred_ptr),
30 2 type fixed bin,
31 2 num_ands fixed bin,
32 2 and_ptr (num_ands_init refer (pred_array.num_ands)) ptr;
33
34 dcl pred_ptr ptr;
35
36 dcl 1 and_group based (ag_ptr),
37 2 num_terms fixed bin,
38 2 term_ptr (num_terms_init refer (and_group.num_terms)) ptr;
39
40 dcl ag_ptr ptr;
41 dcl (num_ands_init,
42 num_terms_init) fixed bin;
43
44 dcl ((CURRENT_OP init ("000001"b)),
45 (AND_OP init ("000010"b)),
46 (OR_OP init ("000011"b)),
47 (NOT_OP init ("000100"b)),
48 (EQ_OP init ("000101"b)),
49 (NE_OP init ("000110"b)),
50 (LT_OP init ("000111"b)),
51 (GT_OP init ("001000"b)),
52 (LE_OP init ("001001"b)),
53 (GE_OP init ("001010"b)),
54 (ALL_OP init ("001011"b))) bit (6) int static options (constant);
55
56 dcl ((CONST init (1)),
57 (ATTR init (2)),
58 (EXPRES init (3))) fixed bin int static options (constant);
59
60 dcl ((NODE init (0)),
61 (LEAF init (1)),
62 (ARRAY init (2))) fixed bin int static options (constant);
63
64 dcl ((V_C init (1)),
65 (V_V init (2))) fixed bin (5) int static options (constant);
66
67 dcl 1 pred_leaf based (pl_ptr),
68 2 type fixed bin,
69 2 id,
70 3 var_id bit (18) unal,
71 3 attr_id bit (18) unal,
72 2 dummy bit (1) unal,
73 2 reserved bit (35) unal,
74 2 data_type fixed bin,
75 2 lit_offset fixed bin (35),
76 2 lit_length fixed bin (35),
77 2 rslt_desc bit (36),
78 2 lit_ptr ptr,
79 2 lit_desc_ptr ptr,
80 2 ai_ptr ptr,
81 2 expr_ptr ptr,
82 2 parent ptr;
83
84 dcl pl_ptr ptr;
85
86
87