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. */