1 /*special overlay definitions for list nodes used to save data list info*/
 2 dcl 1 data_list based,
 3     2 node_type bit (9) unaligned,
 4     2 reserved bit (12) unaligned,
 5     2 number fixed bin (14) unaligned,
 6     2 next ptr unaligned, /*next node for list*/
 7     2 symbol ptr unaligned, /*symbol table node*/
 8     2 index_ptr ptr unaligned, /*index node for beginning of implied do range*/
 9     2 sub_ptr ptr unaligned, /*subscript node for subscripting information*/
10     2 condition bit (1) aligned; /*on if illegal action occurred*/
11 
12 dcl 1 subscripts based,
13     2 node_type bit (9) unaligned,
14     2 reserved bit (12) unaligned,
15     2 number fixed bin (14) unaligned,
16     2 next ptr unaligned,      /*ptr to next subscript -left to right*/
17     2 value fixed bin (31), /*value of constant subscript or do nest level*/
18     2 variable ptr unaligned;   /*ptr to token if subscript was a variable*/
19 
20 dcl 1 indices based,
21     2 node_type bit (9) unaligned,
22     2 reserved bit (12) unaligned,
23     2 number fixed bin (14) unaligned,
24     2 next ptr unaligned,   /*ptr to inner do*/
25     2 end_ptr ptr unaligned,  /*ptr to last node in do range*/
26     2 value(3) fixed bin (31);  /*initial, final, and incremental do values*/
27 
28 /*special constant data_list node for use during type statement processing*/
29 dcl 1 dummy_list internal static,
30     2 node_type bit (9) unaligned initial ("000001011"b),
31     2 reserved bit (12) unaligned,
32     2 number fixed bin (14) unaligned initial (5),
33     2 next ptr unaligned,
34     2 symbol ptr unaligned,
35     2 index_ptr ptr unaligned initial (null),
36     2 sub_ptr ptr unaligned initial (null),
37     2 condition bit (1) aligned initial ("0"b);
38