1 dcl       1 symbol_node       aligned based,
 2           2 type              unal bit(12),       /* data type */
 3           2 level             unal bit(6),        /* structure level */
 4           2 ndims             unal bit(6),        /* number of dimensions */
 5           2 bits              unal,
 6             3 aligned         bit(1),
 7             3 packed          bit(1),
 8             3 simple          bit(1),
 9             3 decimal         bit(1),
10           2 scale             unal bit(8),        /* arithmetic scale factor */
11           2 name              unal bit(18),       /* rel ptr to acc name */
12           2 brother           unal bit(18),       /* rel ptr to brother entry */
13           2 father            unal bit(18),       /* rel ptr to father entry */
14           2 son               unal bit(18),       /* rel ptr to son entry */
15           2 address           unal,
16             3 offset          bit(18),            /* offset in storage class */
17             3 class           bit(4),             /* storage class */
18             3 next            bit(14),            /* rel ptr to next of same class */
19           2 size              fixed bin(35),      /* encoded string|arith size */
20           2 word_offset       fixed bin(35),      /* encoded offset from address */
21           2 bit_offset        fixed bin(35),
22           2 virtual_org       fixed bin(35),
23           2 bounds(1),
24             3 lower           fixed bin(35),      /* encoded lower bound */
25             3 upper           fixed bin(35),      /* encoded upper bound */
26             3 multiplier      fixed bin(35);      /* encoded multiplier */
27 
28 dcl       1 sym_bound         based,
29           2 lower             fixed bin(35),
30           2 upper             fixed bin(35),
31           2 multiplier        fixed bin(35);
32 
33 dcl       1 symbol_block      aligned based,
34           2 type              unal bit(12),       /* = 0 for a block node */
35           2 number            unal bit(6),        /* begin block number */
36           2 start             unal bit(18),       /* rel ptr to start of symbols */
37           2 name              unal bit(18),       /* rel ptr to name of proc */
38           2 brother           unal bit(18),       /* rel ptr to brother block */
39           2 father            unal bit(18),       /* rel ptr to father block */
40           2 son               unal bit(18),       /* rel ptr to son block */
41           2 map               unal,
42             3 first           bit(18),            /* rel ptr to first word of map */
43             3 last            bit(18),            /* rel ptr to last word of map */
44           2 bits              unal bit(18),
45           2 header            unal bit(18),       /* rel ptr to symbol header */
46           2 chain(4)          unal bit(18),       /* chain(i) is rel ptr to first symbol
47                                                      on start list with length >= 2**i */
48           2 class_list(0:15)  unal bit(18);       /* rel ptrs to first symbol of given
49                                                      storage class */