1 /* Begin include file alm_include_file_info.incl.pl1.
 2    Created on 06/16/72 at 00:18:27 by R F Mabee.
 3    Modified 4/13/77 by Noel I. Morris
 4 
 5    This structure is used for the nodes of a linked list describing the source and
 6 include files processed by the assembler.  Its primary purpose is to save this
 7 information from pass one to pass two to save searching for the include files again.
 8 Enough information is saved to create the standard object segment source file map.
 9 The list nodes are also temporarily threaded (by the stack_back_pointer item) to form
10 a stack of suspended input files for nested include file use.                   */
11 
12 
13 
14 
15 /****^  HISTORY COMMENTS:
16   1) change(87-04-28,JRGray), approve(87-07-03,MCR7689),
17      audit(87-07-09,RWaters), install(87-11-02,MR12.2-1001):
18      Modified to track more info, (fix for alm 19).
19                                                    END HISTORY COMMENTS */
20 
21 
22 declare   1 source_info aligned based,
23             2 first_word fixed bin (71),          /* Forces even alignment. */
24 
25           /*  Threading items. */
26 
27             2 names_list_pointer pointer,         /* List of file nodes, oldest first. */
28             2 stack_back_pointer pointer,         /* Push-down list for nested files, newest first. */
29 
30           /*  File info passed for pass two. */
31 
32             2 source_pointer pointer,             /* Base of include file. */
33             2 source_length fixed bin (26),       /* Character count. */
34             2 search_name char (32),              /* File name called for (with ".incl.alm"). */
35 
36           /*  Source map information. */
37 
38             2 source_number fixed bin (26),       /* Main source 0, first include 1 ... */
39             2 uid bit (36),                       /* From segment branch. */
40             2 dtm fixed bin (71),                 /* Watch for alignment. */
41             2 pathname char (256),                /* Actual pathname. */
42             2 source_map_offset fixed bin (26),   /* Used only in alm_source_map_. */
43             2 source_map_length fixed bin (26),   /* Ditto. Saves stuff from pre-counting for later use. */
44 
45           /*  The rest of this node stores position in this file when another
46               level of include file is invoked. */
47 
48             2 curr_char_no fixed bin (26),        /* eb_data_$curr_char_no. */
49             2 line_begin_offset fixed bin (26),   /* begin_line. */
50             2 line_number fixed bin (26),                   /* binlin. */
51             2 savep ptr unal,                               /* saved source pointer */
52             2 savel fixed bin (24),                         /* saved source length */
53 
54             2 last_word fixed bin (26);           /* Need [fixed (rel (last), 18) -
55                                                      fixed (rel (first), 18))] words. */
56 
57 
58 /* End of include file alm_include_file_info.incl.pl1. */