1 /*        BEGIN INCLUDE FILE ... runtime_symbol_block.incl.pl1 */
 2 
 3 /*        copied from runtime_symbol.incl.pl1 and updated January 1983 by Melanie Weaver */
 4 
 5      dcl     1 symbol_block         aligned based,
 6                2 flag               unal bit (1),           /* always "1"b for Version II */
 7                2 quick              unal bit (1),           /* "1"b if quick block */
 8                2 fortran            unal bit (1),           /* "1"b if fortran program */
 9                2 standard           unal bit (1),           /* "1"b if program has std obj segment */
10                2 owner_flag         unal bit (1),           /* "1"b if block has valid owner field */
11                2 skip               unal bit (1),
12                2 type               unal fixed bin (6) unsigned, /* = 0 for a block node */
13                2 number             unal fixed bin (6) unsigned, /* begin block number */
14                2 start              unal fixed bin (18) unsigned, /* rel ptr to start of symbols */
15                2 name               unal fixed bin (18) unsigned, /* rel ptr to name of proc */
16                2 brother            unal fixed bin (18) unsigned, /* rel ptr to brother block */
17                2 father             unal fixed bin (18) unsigned, /* rel ptr to father block */
18                2 son                unal fixed bin (18) unsigned, /* rel ptr to son block */
19                2 map                unal,
20                  3 first            fixed bin (18) unsigned,/* rel ptr to first word of map */
21                  3 last             fixed bin (18) unsigned,/* rel ptr to last word of map */
22                2 entry_info         unal fixed bin (18) unsigned, /* info about entry of quick block */
23                2 header             unal fixed bin (18) unsigned, /* rel ptr to symbol header */
24                2 chain              (4) unal fixed bin (18) unsigned, /* chain(i) is rel ptr to first symbol
25                                                                on start list with length >= 2**i */
26                2 token              (0:5) unal fixed bin (18) unsigned, /* token(i) is rel ptr to first token
27                                                                on list with length >= 2 ** i */
28                2 owner              unal fixed bin (18) unsigned; /* rel ptr to owner block */
29 
30      dcl     1 with_symbol_block    aligned based,          /* version for PASCAL with blocks (type = 5) */
31                2 common_block_info  aligned like symbol_block,
32                2 with_string        unal fixed bin (18) unsigned,
33                                                             /* rel ptr to string used in with statement */
34                2 real_level_1       unal fixed bin (18) unsigned;
35                                                             /* rel ptr to original level 1 record node */
36 
37      dcl     1 symbol_token         aligned based,
38                2 next               unal fixed bin (18) unsigned, /* rel ptr to next token */
39                2 dcl                unal fixed bin (18) unsigned, /* rel ptr to first dcl of this token */
40                2 name,                                      /* ACC */
41                  3 size             unal unsigned fixed bin (9), /* number of chars in token */
42                  3 string           unal char (name_size refer (symbol_token.size));
43 
44      dcl     name_size              fixed bin (9) unsigned; /* number of chars in token */
45 
46 /*        END INCLUDE FILE ... runtime_symbol_block.incl.pl1 */