COMPILATION LISTING OF SEGMENT cobol_end_gen Compiled by: Multics PL/I Compiler, Release 31b, of April 24, 1989 Compiled at: Bull HN, Phoenix AZ, System-M Compiled on: 05/24/89 0934.4 mst Wed Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) BULL HN Information Systems Inc., 1989 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* * Copyright (c) 1972 by Massachusetts Institute of * 8* * Technology and Honeywell Information Systems, Inc. * 9* * * 10* *********************************************************** */ 11 12 13 14 15 /****^ HISTORY COMMENTS: 16* 1) change(89-04-23,Zimmerman), approve(89-04-23,MCR8060), 17* audit(89-05-05,RWaters), install(89-05-24,MR12.3-1048): 18* MCR8060 cobol_end_gen.pl1 Reformatted code to new Cobol standard. 19* END HISTORY COMMENTS */ 20 21 22 /*{*/ 23 /* format: style3 */ 24 cobol_end_gen: 25 proc (in_token_ptr, fxs_locno, fxs_tag, last_decl_proc, end_flag); 26 /* 27*The procedure cobol_end_gen implements the END statement which may 28*be of the form: 29* 30* END DECLARATIVES (standard COBOL) 31* 32*or 33* 34* END COBOL (non-standard COBOL) 35* 36*For the form END DECLARATIVES, the procedure - 37* 38* 1. Generates an end-of-perform range alterable GO and incre- 39* ments perform_para_index by 1 if the paragraph being ter- 40* minated is at the end of a perform range as determined by 41* examining para_eop_flag (1, it is; 0, it is not). 42* 43* 2. Generates an end-of-perform range alterable GO for the 44* final section of the Declarative portion of the program. 45* It should be noted that every section within the DECLARA- 46* TIVES is considered to be individually performable and 47* therefore requires the generation of an implicit alterable 48* GO at its end. 49* 50* 3. Generates code to signal the error "Improperly executed 51* DECLARATIVES" to which control is transferred by the alter- 52* able GO's inserted at the end of each Declarative Section 53* when they are not otherwise set by the execution of a COBOL 54* control statement. This prevents the implicit transfer of 55* control between Declarative Sections and between the last 56* Declarative Section and the first non-Declarative Section. 57* 58* 4. Sets sect_eop_flag and para_eop_flag to zero. 59* 60* 5. Stores the procedure number of the last Declarative Section 61* in last_decl_proc. 62* 63* 6. Stores the compile time offset of the instruction following 64* the last instruction generated by cobol_end_gen in fxs_locno 65* (this will be the offset of the first instruction generated 66* to implement the first executable statement of the COBOL 67* program) and associates fxs_tag with fxs_locno. 68* 69*For the form END COBOL, the procedure - 70* 71* 1. Generates an end-of-perform range alterable GO and incre- 72* ments perform_para_index by 1 if the paragraph being ter- 73* minated is at the end of a perform range as determined by 74* examining para_eop_flag ((1, it is; 0, it is not). 75* 76* 2. Generates the number of end-of-perform range alterable GO's 77* dictated by the value of sect_eop_flag; 0, 1, or 2. 78* 79* 3. Enters the value of cobol_$text_wd_off in cobol_$non_source_ 80* offset if end_flag is zero. 81* 82* 4. Generates a call to cobol_process_error to signal an improper- 83* ly ended program error if the code is executed (which it 84* will not be if the program was properly terminated) and 85* sets end_flag to one if end_flag is zero. End_flag is in- 86* itiated to zero by cobol_gen_driver_. The first END COBOL 87* statement encountered indicates the end of the source code. 88* The second, if any, indicates the end of code generated by 89* ddalloc for size routines. 90* 91*U__s_a_g_e:_ 92* 93* declare cobol_end_gen entry (ptr, fixed bin, fixed bin, fixed bin); 94* 95* call cobol_end_gen (in_token_ptr, fxs_locno, fxs_tag, last_decl_proc); 96* */ 97 1 1 1 2 /* BEGIN INCLUDE FILE ... cobol_in_token.incl.pl1 */ 1 3 1 4 /* Last modified August 22, 1974 by AEG */ 1 5 1 6 1 7 declare in_token_ptr ptr; 1 8 1 9 declare 1 in_token aligned based(in_token_ptr), 1 10 2 n fixed bin aligned, 1 11 2 code fixed bin aligned, 1 12 2 token_ptr(0 refer(in_token.n)) ptr aligned; 1 13 1 14 1 15 /* END INCLUDE FILE ... cobol_in_token.incl.pl1 */ 1 16 98 99 100 declare fxs_locno fixed bin, 101 fxs_tag fixed bin, 102 last_decl_proc fixed bin, 103 end_flag fixed bin; /* 104*fxs_locno is the compile time offset of the first instruc- 105* tion generated to implement the first executable 106* statement of the program i.e. the first instruc- 107* tion following the Declarative portion of the pro- 108* gram. (Output) 109* 110*fxs_tag is the number of the tag associated with the in- 111* struction at fxs_locno. (Input/output) 112* 113*last_decl_proc is the procedure (tag) number of the last section 114* of the dECLARATIVES. (Output) 115* 116*end_flag is a flag used to determine if the END COBOL state- 117* ment being processed is the first such statement 118* encountered (0, it is; 1, it is not). 119* (Input/output) 120* */ 121 122 /* 123*G__e_n_e_r_a_t_e_d_C__o_d_e:_ 124* 125* 126*For END DECLARATIVES: 127* 128*1) An alterable GO couplet is generated if the last paragraph 129* of the last section of the Declaratives is the subject of a 130* PERFORM statement. 131* 132*2) An alterable GO couplet is generated for the section since 133* all Declarative Sections are performable. 134* 135*3) A call to signal the error "Improperly executed Declaratives" 136* is generated following the end of section alterable GO in 137* order to prevent drop through to the non-Declarative portion 138* of the program if the Declaratives are entered by other than 139* legal means. 140* 141*The code generated is as follows: 142* 143* Alterable GO couplet 144* 145* lda target_An 146* tra 0,al 147* 148*where: 149*target_An is a 36-bit variable allocated in the program's COBOL 150* data segment. Each target_An, for n = 1, 2, 3, ..., 151* is uniquely associated with the procedure at whose end 152* these instructions are generated. 153* 154* Call to signal error 155* 156* x [Code generated by cobol_process_error to signal the error] 157* [IMPROPERLY EXECUTED DECLARATIVES ] 158* tra x_relp,ic 159* 160*where: 161*x_relp is the offset, relative to the instruction in which it 162* appears, of the first instruction generated by the 163* procedure cobol_process_error. 164* 165* 166*The following code is generated for END COBOL: 167* 168* x [Code generated by cobol_process_error to signal the error] 169* [IMPROPERLY ENDED PROGRAM ] 170* tra y_relp,ic 171* 172*where: 173*y_relp is the offset, relative to the instruction in which it 174* appears, of the first instruction generated by the 175* procedure cobol_process_error. 176* 177* 178* 179*D__a_t_a:_ 180* 181* % include cobol_; 182* 183* Items in cobol_$incl.pl1 used (u) and/or set (s) by 184* cobol_end_gen; 185* 186* cobol_ptr (u) 187* non_source_offset (s) 188* para_eop_flag (u/s) 189* perform_list_ptr (u) 190* perform_para_index (u/s) 191* perform_sect_index (u) 192* sect_eop_flag (s) 193* text_wd_off (u) 194* */ 195 2 1 2 2 /* BEGIN INCLUDE FILE ... cobol_perform_altgo.incl.pl1 */ 2 3 /* Last modified September 3, 1974 by AEG */ 2 4 2 5 /* Input structure for cobol_addr */ 2 6 2 7 declare 1 input_struc_basic aligned static, 2 8 2 type fixed bin aligned init(1), 2 9 2 operand_no fixed bin aligned init(0), 2 10 2 lock fixed bin aligned init(0), 2 11 2 segno fixed bin aligned, 2 12 2 char_offset fixed bin(24) aligned, 2 13 2 send_receive fixed bin aligned init(0); 2 14 2 15 /* 2 16*type indicates type of addressing requested. Type 1 2 17* indicates basic; i.e., data to be addressed is 2 18* specified by segno and char_offset. 2 19* 2 20*operand_no not applicable to type 1. 2 21* 2 22*lock indicates lock requirements for registers used in 2 23* addressing; 0 - do not lock registers used. 2 24* 2 25*segno is the compiler designation of the segment in which 2 26* the data to be addressed is located. 2 27* 2 28*char_offset is the character offset within segno of the data to 2 29* be addressed. 2 30* 2 31*send_receive indicates whether the data being addressed is a 2 32* sending or receiving field for the instruction whose 2 33* address field is being set; 0 indicates sending. 2 34* */ 2 35 2 36 /* Input structure for mc_register$load */ 2 37 2 38 declare 1 register_request aligned static, 2 39 2 requested_reg fixed bin aligned init(1), 2 40 2 assigned_reg bit(4) aligned, 2 41 2 lock fixed bin aligned init(0), 2 42 2 reg_set_now fixed bin aligned, 2 43 2 use_code fixed bin aligned init(0), 2 44 2 adjust_ptr_addr fixed bin aligned init(0), 2 45 2 content_ptr ptr aligned init(null), 2 46 2 literal_content bit(36) aligned init((36)"0"b); 2 47 2 48 /* 2 49*requested_reg is a code designating the register requested; 2 50* 1 designates the a register. 2 51* 2 52*assigned_reg is a code designating the register assigned. It 2 53* has no significance if a specific register is 2 54* requested. 2 55* 2 56*lock indicates locking requirements; 1 requests that 2 57* the register be locked. 2 58* 2 59*reg_set_now not applicable for use_code = 0. 2 60* 2 61*use_code specifies how the register is to be used by the 2 62* requester; 0 signifies that such information is 2 63* not meaningful for register optimization. 2 64* 2 65*adjust_ptr_addr inserted to make evident that since all pointers 2 66* must be allocated on even word boundaries, the 2 67* pl1 compiler will allocate structures containing 2 68* pointers and all pointers therein on even word 2 69* boundaries leaving "gaps" where necessary. 2 70* 2 71*content_ptr not applicable for use_code = 0. 2 72* 2 73*literal_content not applicable for use_code = 0. 2 74* */ 2 75 2 76 /* End-of-perform range alterable go instruction pair */ 2 77 2 78 declare prfrm_altgo_inst_pr(4) bit(18) unaligned static init 2 79 ("000000000000000000"b, "010011101001000110"b, 2 80 "000000000000000000"b, "111001000000000101"b); 2 81 2 82 /* 2 83*The instructions are: 2 84* 2 85* lda 0 2 86* tra 0,al 2 87* 2 88* */ 2 89 2 90 /* END INCLUDE FILE ... cobol_perform_altgo.incl.pl1 */ 2 91 196 197 3 1 3 2 /* BEGIN INCLUDE FILE ... cobol_perform_list.incl.pl1 */ 3 3 /* Last modified July 17, 1974 by AEG */ 3 4 3 5 3 6 declare 1 perform_list aligned based( cobol_$perform_list_ptr), 3 7 2 n fixed bin aligned, 3 8 2 perf (0 refer(perform_list.n)) aligned, 3 9 3 proc_num fixed bin aligned, 3 10 3 priority fixed bin aligned, 3 11 3 target_a_segno fixed bin aligned, 3 12 3 target_a_offset fixed bin(24) aligned, 3 13 3 int_tag_no fixed bin aligned; 3 14 3 15 3 16 /* 3 17*perform_list_ptr is a pointer upon which the structure 3 18* perform_list is based. It is declared in 3 19* cobol_.incl.pl1. 3 20* 3 21*n is the number of COBOL procedures which 3 22* terminate perform ranges. 3 23* 3 24*perf is an array of perform_list.n structures which 3 25* contain information about end of perform range 3 26* procedures. 3 27* 3 28*proc_num is a tag number by which the end of perform 3 29* range procedure is identified. 3 30* 3 31*priority is the COBOL segment number of the section con- 3 32* taining COBOL procedure proc_num. 3 33* 3 34*target_a_segno and target_a_offset are the artificial MCOBOL seg- 3 35* ment number and character offset, respectively, 3 36* of a 36-bit variable, allocated in the COBOL 3 37* data segment on a word boundary, which contains 3 38* transfer address information for the alterable 3 39* GO contained in COBOL procedure proc_num. 3 40* 3 41*int_tag_no is an internal tag number assigned to the in- 3 42* struction to which control is transferred by the 3 43* end of perform range alterable GO when the pro- 3 44* cedure which it terminates is not being performed. 3 45* 3 46* 3 47* */ 3 48 /* END INCLUDE FILE ... cobol_perform_list.incl.pl1 */ 3 49 198 4 1 4 2 /* BEGIN INCLUDE FILE ... cobol_type19.incl.pl1 */ 4 3 /* last modified on 11/19/76 by ORN */ 4 4 4 5 /* 4 6*A type 19 end of statement token is created in the procedure division 4 7*minpral file at the end of each minpral statement generated by the 4 8*procedure division syntax phase. A minpral statement may be a complete or 4 9*partial source language statement. A type 19 token contains information 4 10*describing the statement which it delimits. 4 11**/ 4 12 4 13 dcl eos_ptr ptr; 4 14 4 15 /* BEGIN DECLARATION OF TYPE19 (END STATEMENT) TOKEN */ 4 16 dcl 1 end_stmt based (eos_ptr), 5 1 5 2 /* begin include file ... cobol_TYPE19.incl.pl1 */ 5 3 /* Last modified on 11/17/76 by ORN */ 5 4 5 5 /* header */ 5 6 2 size fixed bin, 5 7 2 line fixed bin, 5 8 2 column fixed bin, 5 9 2 type fixed bin, 5 10 /* body */ 5 11 2 verb fixed bin, 5 12 2 e fixed bin, 5 13 2 h fixed bin, 5 14 2 i fixed bin, 5 15 2 j fixed bin, 5 16 2 a bit (3), 5 17 2 b bit (1), 5 18 2 c bit (1), 5 19 2 d bit (2), 5 20 2 f bit (2), 5 21 2 g bit (2), 5 22 2 k bit (5), 5 23 2 always_an bit (1); 5 24 5 25 /* end include file ... cobol_TYPE19.incl.pl1 */ 5 26 4 17 4 18 /* END DECLARATION OF TYPE19 (END STATEMENT) TOKEN */ 4 19 4 20 /* 4 21*FIELD CONTENTS 4 22* 4 23*size The total size in bytes of this end of statement token. 4 24*line 0 4 25*column 0 4 26*type 19 4 27*verb A value indicating the verb in this statement 4 28* 1 = accept 4 29* 2 = add 4 30* 3 = on size error 4 31* 4 = alter 4 32* 5 = call 4 33* 7 = cancel 4 34* 8 = close 4 35* 9 = divide 4 36* 10 = multiply 4 37* 11 = subtract 4 38* 12 = exit 4 39* 14 = go 4 40* 15 = merge 4 41* 16 = initiate 4 42* 17 = inspect 4 43* 18 = move 4 44* 19 = open 4 45* 20 = perform 4 46* 21 = read 4 47* 23 = receive 4 48* 24 = release 4 49* 25 = return 4 50* 26 = search 4 51* 27 = rewrite 4 52* 29 = seek 4 53* 30 = send 4 54* 31 = set 4 55* 33 = stop 4 56* 34 = string 4 57* 35 = suspend 4 58* 36 = terminate 4 59* 37 = unstring 4 60* 38 = write 4 61* 39 = use 4 62* 40 = compute 4 63* 41 = disable 4 64* 42 = display 4 65* 43 = enable 4 66* 45 = generate 4 67* 46 = hold 4 68* 48 = process 4 69* 49 = sort 4 70* 52 = procedure 4 71* 53 = declaratives 4 72* 54 = section name 4 73* 55 = paragraph name 4 74* 98 = end 4 75*e,h,i,j The significance of these fields differs with each 4 76* statement. These fields are normally used as counters. 4 77*a,b,c,d,f,g,k The significance of these fields differs with each 4 78* statement. These fields are normally used as indicators. 4 79**/ 4 80 4 81 /* END INCLUDE FILE ... cobol_type19.incl.pl1 */ 4 82 199 200 201 202 dcl index fixed bin, 203 saved_text_wd_off fixed bin, 204 tra_inst (2) bit (18) unaligned static init ("000000000000000000"b, "111001000000000100"b); 205 206 /* 207*where: 208*index is a do loop index. 209* 210*saved_text_wd_off is the value of text_wd_off before cobol_process_ 211* error is called. 212* 213*tra_inst is an unconditional transfer instruction. 214* */ 215 216 /* 217*P__r_o_c_e_d_u_r_e_s_C__a_l_l_e_d:_ 218* */ 219 220 dcl cobol_addr entry (ptr, ptr, ptr), 221 cobol_define_tag entry (fixed bin), 222 cobol_emit entry (ptr, ptr, fixed bin), 223 cobol_process_error entry (fixed bin, fixed bin, fixed bin), 224 cobol_register$load entry (ptr); 225 226 /* 227*B__u_i_l_t-__i_n_F__u_n_c_t_i_o_n_s_U__s_e_d:_ 228* */ 229 230 dcl addr builtin, 231 addrel builtin, 232 null builtin, 233 substr builtin, 234 unspec builtin; 235 236 /*}*/ 237 6 1 6 2 /* BEGIN INCLUDE FILE ... cobol_.incl.pl1 */ 6 3 /* last modified Feb 4, 1977 by ORN */ 6 4 6 5 /* This file defines all external data used in the generator phase of Multics Cobol */ 6 6 6 7 /* POINTERS */ 6 8 dcl cobol_$text_base_ptr ptr ext; 6 9 dcl text_base_ptr ptr defined (cobol_$text_base_ptr); 6 10 dcl cobol_$con_end_ptr ptr ext; 6 11 dcl con_end_ptr ptr defined (cobol_$con_end_ptr); 6 12 dcl cobol_$def_base_ptr ptr ext; 6 13 dcl def_base_ptr ptr defined (cobol_$def_base_ptr); 6 14 dcl cobol_$link_base_ptr ptr ext; 6 15 dcl link_base_ptr ptr defined (cobol_$link_base_ptr); 6 16 dcl cobol_$sym_base_ptr ptr ext; 6 17 dcl sym_base_ptr ptr defined (cobol_$sym_base_ptr); 6 18 dcl cobol_$reloc_text_base_ptr ptr ext; 6 19 dcl reloc_text_base_ptr ptr defined (cobol_$reloc_text_base_ptr); 6 20 dcl cobol_$reloc_def_base_ptr ptr ext; 6 21 dcl reloc_def_base_ptr ptr defined (cobol_$reloc_def_base_ptr); 6 22 dcl cobol_$reloc_link_base_ptr ptr ext; 6 23 dcl reloc_link_base_ptr ptr defined (cobol_$reloc_link_base_ptr); 6 24 dcl cobol_$reloc_sym_base_ptr ptr ext; 6 25 dcl reloc_sym_base_ptr ptr defined (cobol_$reloc_sym_base_ptr); 6 26 dcl cobol_$reloc_work_base_ptr ptr ext; 6 27 dcl reloc_work_base_ptr ptr defined (cobol_$reloc_work_base_ptr); 6 28 dcl cobol_$pd_map_ptr ptr ext; 6 29 dcl pd_map_ptr ptr defined (cobol_$pd_map_ptr); 6 30 dcl cobol_$fixup_ptr ptr ext; 6 31 dcl fixup_ptr ptr defined (cobol_$fixup_ptr); 6 32 dcl cobol_$initval_base_ptr ptr ext; 6 33 dcl initval_base_ptr ptr defined (cobol_$initval_base_ptr); 6 34 dcl cobol_$initval_file_ptr ptr ext; 6 35 dcl initval_file_ptr ptr defined (cobol_$initval_file_ptr); 6 36 dcl cobol_$perform_list_ptr ptr ext; 6 37 dcl perform_list_ptr ptr defined (cobol_$perform_list_ptr); 6 38 dcl cobol_$alter_list_ptr ptr ext; 6 39 dcl alter_list_ptr ptr defined (cobol_$alter_list_ptr); 6 40 dcl cobol_$seg_init_list_ptr ptr ext; 6 41 dcl seg_init_list_ptr ptr defined (cobol_$seg_init_list_ptr); 6 42 dcl cobol_$temp_token_area_ptr ptr ext; 6 43 dcl temp_token_area_ptr ptr defined (cobol_$temp_token_area_ptr); 6 44 dcl cobol_$temp_token_ptr ptr ext; 6 45 dcl temp_token_ptr ptr defined (cobol_$temp_token_ptr); 6 46 dcl cobol_$token_block1_ptr ptr ext; 6 47 dcl token_block1_ptr ptr defined (cobol_$token_block1_ptr); 6 48 dcl cobol_$token_block2_ptr ptr ext; 6 49 dcl token_block2_ptr ptr defined (cobol_$token_block2_ptr); 6 50 dcl cobol_$minpral5_ptr ptr ext; 6 51 dcl minpral5_ptr ptr defined (cobol_$minpral5_ptr); 6 52 dcl cobol_$tag_table_ptr ptr ext; 6 53 dcl tag_table_ptr ptr defined (cobol_$tag_table_ptr); 6 54 dcl cobol_$map_data_ptr ptr ext; 6 55 dcl map_data_ptr ptr defined (cobol_$map_data_ptr); 6 56 dcl cobol_$ptr_status_ptr ptr ext; 6 57 dcl ptr_status_ptr ptr defined (cobol_$ptr_status_ptr); 6 58 dcl cobol_$reg_status_ptr ptr ext; 6 59 dcl reg_status_ptr ptr defined (cobol_$reg_status_ptr); 6 60 dcl cobol_$misc_base_ptr ptr ext; 6 61 dcl misc_base_ptr ptr defined (cobol_$misc_base_ptr); 6 62 dcl cobol_$misc_end_ptr ptr ext; 6 63 dcl misc_end_ptr ptr defined (cobol_$misc_end_ptr); 6 64 dcl cobol_$list_ptr ptr ext; 6 65 dcl list_ptr ptr defined (cobol_$list_ptr); 6 66 dcl cobol_$allo1_ptr ptr ext; 6 67 dcl allo1_ptr ptr defined (cobol_$allo1_ptr); 6 68 dcl cobol_$eln_ptr ptr ext; 6 69 dcl eln_ptr ptr defined (cobol_$eln_ptr); 6 70 dcl cobol_$diag_ptr ptr ext; 6 71 dcl diag_ptr ptr defined (cobol_$diag_ptr); 6 72 dcl cobol_$xref_token_ptr ptr ext; 6 73 dcl xref_token_ptr ptr defined (cobol_$xref_token_ptr); 6 74 dcl cobol_$xref_chain_ptr ptr ext; 6 75 dcl xref_chain_ptr ptr defined (cobol_$xref_chain_ptr); 6 76 dcl cobol_$statement_info_ptr ptr ext; 6 77 dcl statement_info_ptr ptr defined (cobol_$statement_info_ptr); 6 78 dcl cobol_$reswd_ptr ptr ext; 6 79 dcl reswd_ptr ptr defined (cobol_$reswd_ptr); 6 80 dcl cobol_$op_con_ptr ptr ext; 6 81 dcl op_con_ptr ptr defined (cobol_$op_con_ptr); 6 82 dcl cobol_$ntbuf_ptr ptr ext; 6 83 dcl ntbuf_ptr ptr defined (cobol_$ntbuf_ptr); 6 84 dcl cobol_$main_pcs_ptr ptr ext; 6 85 dcl main_pcs_ptr ptr defined (cobol_$main_pcs_ptr); 6 86 dcl cobol_$include_info_ptr ptr ext; 6 87 dcl include_info_ptr ptr defined (cobol_$include_info_ptr); 6 88 6 89 /* FIXED BIN */ 6 90 dcl cobol_$text_wd_off fixed bin ext; 6 91 dcl text_wd_off fixed bin defined (cobol_$text_wd_off); 6 92 dcl cobol_$con_wd_off fixed bin ext; 6 93 dcl con_wd_off fixed bin defined (cobol_$con_wd_off); 6 94 dcl cobol_$def_wd_off fixed bin ext; 6 95 dcl def_wd_off fixed bin defined (cobol_$def_wd_off); 6 96 dcl cobol_$def_max fixed bin ext; 6 97 dcl def_max fixed bin defined (cobol_$def_max); 6 98 dcl cobol_$link_wd_off fixed bin ext; 6 99 dcl link_wd_off fixed bin defined (cobol_$link_wd_off); 6 100 dcl cobol_$link_max fixed bin ext; 6 101 dcl link_max fixed bin defined (cobol_$link_max); 6 102 dcl cobol_$sym_wd_off fixed bin ext; 6 103 dcl sym_wd_off fixed bin defined (cobol_$sym_wd_off); 6 104 dcl cobol_$sym_max fixed bin ext; 6 105 dcl sym_max fixed bin defined (cobol_$sym_max); 6 106 dcl cobol_$reloc_text_max fixed bin(24) ext; 6 107 dcl reloc_text_max fixed bin(24) defined (cobol_$reloc_text_max); 6 108 dcl cobol_$reloc_def_max fixed bin(24) ext; 6 109 dcl reloc_def_max fixed bin(24) defined (cobol_$reloc_def_max); 6 110 dcl cobol_$reloc_link_max fixed bin(24) ext; 6 111 dcl reloc_link_max fixed bin(24) defined (cobol_$reloc_link_max); 6 112 dcl cobol_$reloc_sym_max fixed bin(24) ext; 6 113 dcl reloc_sym_max fixed bin(24) defined (cobol_$reloc_sym_max); 6 114 dcl cobol_$reloc_work_max fixed bin(24) ext; 6 115 dcl reloc_work_max fixed bin(24) defined (cobol_$reloc_work_max); 6 116 dcl cobol_$pd_map_index fixed bin ext; 6 117 dcl pd_map_index fixed bin defined (cobol_$pd_map_index); 6 118 dcl cobol_$cobol_data_wd_off fixed bin ext; 6 119 dcl cobol_data_wd_off fixed bin defined (cobol_$cobol_data_wd_off); 6 120 dcl cobol_$stack_off fixed bin ext; 6 121 dcl stack_off fixed bin defined (cobol_$stack_off); 6 122 dcl cobol_$max_stack_off fixed bin ext; 6 123 dcl max_stack_off fixed bin defined (cobol_$max_stack_off); 6 124 dcl cobol_$init_stack_off fixed bin ext; 6 125 dcl init_stack_off fixed bin defined (cobol_$init_stack_off); 6 126 dcl cobol_$pd_map_sw fixed bin ext; 6 127 dcl pd_map_sw fixed bin defined (cobol_$pd_map_sw); 6 128 dcl cobol_$next_tag fixed bin ext; 6 129 dcl next_tag fixed bin defined (cobol_$next_tag); 6 130 dcl cobol_$data_init_flag fixed bin ext; 6 131 dcl data_init_flag fixed bin defined (cobol_$data_init_flag); 6 132 dcl cobol_$seg_init_flag fixed bin ext; 6 133 dcl seg_init_flag fixed bin defined (cobol_$seg_init_flag); 6 134 dcl cobol_$alter_flag fixed bin ext; 6 135 dcl alter_flag fixed bin defined (cobol_$alter_flag); 6 136 dcl cobol_$sect_eop_flag fixed bin ext; 6 137 dcl sect_eop_flag fixed bin defined (cobol_$sect_eop_flag); 6 138 dcl cobol_$para_eop_flag fixed bin ext; 6 139 dcl para_eop_flag fixed bin defined (cobol_$para_eop_flag); 6 140 dcl cobol_$priority_no fixed bin ext; 6 141 dcl priority_no fixed bin defined (cobol_$priority_no); 6 142 dcl cobol_$compile_count fixed bin ext; 6 143 dcl compile_count fixed bin defined (cobol_$compile_count); 6 144 dcl cobol_$ptr_assumption_ind fixed bin ext; 6 145 dcl ptr_assumption_ind fixed bin defined (cobol_$ptr_assumption_ind); 6 146 dcl cobol_$reg_assumption_ind fixed bin ext; 6 147 dcl reg_assumption_ind fixed bin defined (cobol_$reg_assumption_ind); 6 148 dcl cobol_$perform_para_index fixed bin ext; 6 149 dcl perform_para_index fixed bin defined (cobol_$perform_para_index); 6 150 dcl cobol_$perform_sect_index fixed bin ext; 6 151 dcl perform_sect_index fixed bin defined (cobol_$perform_sect_index); 6 152 dcl cobol_$alter_index fixed bin ext; 6 153 dcl alter_index fixed bin defined (cobol_$alter_index); 6 154 dcl cobol_$list_off fixed bin ext; 6 155 dcl list_off fixed bin defined (cobol_$list_off); 6 156 dcl cobol_$constant_offset fixed bin ext; 6 157 dcl constant_offset fixed bin defined (cobol_$constant_offset); 6 158 dcl cobol_$misc_max fixed bin ext; 6 159 dcl misc_max fixed bin defined (cobol_$misc_max); 6 160 dcl cobol_$pd_map_max fixed bin ext; 6 161 dcl pd_map_max fixed bin defined (cobol_$pd_map_max); 6 162 dcl cobol_$map_data_max fixed bin ext; 6 163 dcl map_data_max fixed bin defined (cobol_$map_data_max); 6 164 dcl cobol_$fixup_max fixed bin ext; 6 165 dcl fixup_max fixed bin defined (cobol_$fixup_max); 6 166 dcl cobol_$tag_table_max fixed bin ext; 6 167 dcl tag_table_max fixed bin defined (cobol_$tag_table_max); 6 168 dcl cobol_$temp_token_max fixed bin ext; 6 169 dcl temp_token_max fixed bin defined (cobol_$temp_token_max); 6 170 dcl cobol_$allo1_max fixed bin ext; 6 171 dcl allo1_max fixed bin defined (cobol_$allo1_max); 6 172 dcl cobol_$eln_max fixed bin ext; 6 173 dcl eln_max fixed bin defined (cobol_$eln_max); 6 174 dcl cobol_$debug_enable fixed bin ext; 6 175 dcl debug_enable fixed bin defined (cobol_$debug_enable); 6 176 dcl cobol_$non_source_offset fixed bin ext; 6 177 dcl non_source_offset fixed bin defined (cobol_$non_source_offset); 6 178 dcl cobol_$initval_flag fixed bin ext; 6 179 dcl initval_flag fixed bin defined (cobol_$initval_flag); 6 180 dcl cobol_$date_compiled_sw fixed bin ext; 6 181 dcl date_compiled_sw fixed bin defined (cobol_$date_compiled_sw); 6 182 dcl cobol_$include_cnt fixed bin ext; 6 183 dcl include_cnt fixed bin defined (cobol_$include_cnt); 6 184 dcl cobol_$fs_charcnt fixed bin ext; 6 185 dcl fs_charcnt fixed bin defined (cobol_$fs_charcnt); 6 186 dcl cobol_$ws_charcnt fixed bin ext; 6 187 dcl ws_charcnt fixed bin defined (cobol_$ws_charcnt); 6 188 dcl cobol_$coms_charcnt fixed bin ext; 6 189 dcl coms_charcnt fixed bin defined (cobol_$coms_charcnt); 6 190 dcl cobol_$ls_charcnt fixed bin ext; 6 191 dcl ls_charcnt fixed bin defined (cobol_$ls_charcnt); 6 192 dcl cobol_$cons_charcnt fixed bin ext; 6 193 dcl cons_charcnt fixed bin defined (cobol_$cons_charcnt); 6 194 dcl cobol_$value_cnt fixed bin ext; 6 195 dcl value_cnt fixed bin defined (cobol_$value_cnt); 6 196 dcl cobol_$cd_cnt fixed bin ext; 6 197 dcl cd_cnt fixed bin defined (cobol_$cd_cnt); 6 198 dcl cobol_$fs_wdoff fixed bin ext; 6 199 dcl fs_wdoff fixed bin defined (cobol_$fs_wdoff); 6 200 dcl cobol_$ws_wdoff fixed bin ext; 6 201 dcl ws_wdoff fixed bin defined (cobol_$ws_wdoff); 6 202 dcl cobol_$coms_wdoff fixed bin ext; 6 203 dcl coms_wdoff fixed bin defined (cobol_$coms_wdoff); 6 204 6 205 /* CHARACTER */ 6 206 dcl cobol_$scratch_dir char (168) aligned ext; 6 207 dcl scratch_dir char (168) aligned defined (cobol_$scratch_dir); /* -42- */ 6 208 dcl cobol_$obj_seg_name char (32) aligned ext; 6 209 dcl obj_seg_name char (32) aligned defined (cobol_$obj_seg_name); /* -8- */ 6 210 6 211 /* BIT */ 6 212 dcl cobol_$xref_bypass bit(1) aligned ext; 6 213 dcl xref_bypass bit(1) aligned defined (cobol_$xref_bypass); /* -1- */ 6 214 dcl cobol_$same_sort_merge_proc bit(1) aligned ext; 6 215 dcl same_sort_merge_proc bit(1) aligned defined (cobol_$same_sort_merge_proc); /* -1- */ 6 216 6 217 6 218 /* END INCLUDE FILE ... cobol_incl.pl1*/ 6 219 6 220 238 239 240 241 /* Process end_of_perform range paragraph */ 242 243 if cobol_$para_eop_flag ^= 0 244 then do; 245 call cobol_register$load (addr (register_request)); 246 input_struc_basic.segno = perform_list.perf.target_a_segno (cobol_$perform_para_index); 247 input_struc_basic.char_offset = perform_list.perf.target_a_offset (cobol_$perform_para_index); 248 call cobol_addr (addr (input_struc_basic), addr (prfrm_altgo_inst_pr), null); 249 call cobol_emit (addr (prfrm_altgo_inst_pr), null, 2); 250 call cobol_define_tag (perform_list.perf.int_tag_no (cobol_$perform_para_index)); 251 cobol_$para_eop_flag = 0; 252 cobol_$perform_para_index = cobol_$perform_para_index + 1; 253 end; 254 255 /* DETERMINE FORM OF END STATEMENT AND GO TO APPROPRIATE PART */ 256 /* OF PROCEDURE FOR ADDITIONAL PROCESSING */ 257 258 259 if in_token.token_ptr (in_token.n) -> end_stmt.b = "0"b 260 then goto end_cobol; 261 262 else goto end_declaratives; 263 264 265 /* IMPLEMENTATION OF END COBOL STATEMENT */ 266 267 end_cobol: /* Section terminated at end-of-perform range? */ 268 do index = 1 to cobol_$sect_eop_flag; 269 call cobol_register$load (addr (register_request)); 270 input_struc_basic.segno = perform_list.perf.target_a_segno (cobol_$perform_sect_index); 271 input_struc_basic.char_offset = perform_list.perf.target_a_offset (cobol_$perform_sect_index); 272 call cobol_addr (addr (input_struc_basic), addr (prfrm_altgo_inst_pr), null); 273 call cobol_emit (addr (prfrm_altgo_inst_pr), null, 2); 274 call cobol_define_tag (perform_list.perf.int_tag_no (cobol_$perform_sect_index)); 275 cobol_$perform_sect_index = cobol_$perform_sect_index + 1; 276 end; 277 cobol_$sect_eop_flag = 0; 278 279 /* Generate call to cobol_process_error if end_flag is zero. */ 280 281 if end_flag = 0 282 then do; 283 saved_text_wd_off = cobol_$text_wd_off; 284 cobol_$non_source_offset = saved_text_wd_off; 285 call cobol_process_error (2, 0, 0); 286 saved_text_wd_off = saved_text_wd_off - cobol_$text_wd_off; 287 tra_inst (1) = substr (unspec (saved_text_wd_off), 19, 18); 288 call cobol_emit (addr (tra_inst), null, 1); 289 end_flag = 1; 290 end; 291 292 293 return; 294 295 296 /* IMPLEMENTATION OF END DECLARATIVES STATEMENT */ 297 298 end_declaratives: /* Process end_of_perform range for last section of */ 299 /* DECLARATIVES */ 300 call cobol_register$load (addr (register_request)); 301 last_decl_proc = perform_list.perf.proc_num (cobol_$perform_sect_index); 302 input_struc_basic.segno = perform_list.perf.target_a_segno (cobol_$perform_sect_index); 303 input_struc_basic.char_offset = perform_list.perf.target_a_offset (cobol_$perform_sect_index); 304 call cobol_addr (addr (input_struc_basic), addr (prfrm_altgo_inst_pr), null); 305 call cobol_emit (addr (prfrm_altgo_inst_pr), null, 2); 306 call cobol_define_tag (perform_list.perf.int_tag_no (cobol_$perform_sect_index)); 307 saved_text_wd_off = cobol_$text_wd_off; 308 call cobol_process_error (5, 0, 0); 309 saved_text_wd_off = saved_text_wd_off - cobol_$text_wd_off; 310 tra_inst (1) = substr (unspec (saved_text_wd_off), 19, 18); 311 call cobol_emit (addr (tra_inst), null, 1); 312 fxs_locno = cobol_$text_wd_off; 313 call cobol_define_tag (fxs_tag); 314 cobol_$sect_eop_flag = 0; 315 return; 316 317 318 end cobol_end_gen; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 05/24/89 0830.1 cobol_end_gen.pl1 >spec>install>MR12.3-1048>cobol_end_gen.pl1 98 1 11/11/82 1712.7 cobol_in_token.incl.pl1 >ldd>include>cobol_in_token.incl.pl1 196 2 03/27/82 0439.7 cobol_perform_altgo.incl.pl1 >ldd>include>cobol_perform_altgo.incl.pl1 198 3 03/27/82 0439.8 cobol_perform_list.incl.pl1 >ldd>include>cobol_perform_list.incl.pl1 199 4 03/27/82 0439.8 cobol_type19.incl.pl1 >ldd>include>cobol_type19.incl.pl1 4-17 5 03/27/82 0439.6 cobol_TYPE19.incl.pl1 >ldd>include>cobol_TYPE19.incl.pl1 238 6 11/11/82 1712.7 cobol_.incl.pl1 >ldd>include>cobol_.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. addr builtin function dcl 230 ref 245 245 248 248 248 248 249 249 269 269 272 272 272 272 273 273 288 288 298 298 304 304 304 304 305 305 311 311 b 11(03) based bit(1) level 2 packed packed unaligned dcl 4-16 ref 259 char_offset 4 000010 internal static fixed bin(24,0) level 2 dcl 2-7 set ref 247* 271* 303* cobol_$non_source_offset 000062 external static fixed bin(17,0) dcl 6-176 set ref 284* cobol_$para_eop_flag 000054 external static fixed bin(17,0) dcl 6-138 set ref 243 251* cobol_$perform_list_ptr 000046 external static pointer dcl 6-36 ref 246 247 250 270 271 274 301 302 303 306 cobol_$perform_para_index 000056 external static fixed bin(17,0) dcl 6-148 set ref 246 247 250 252* 252 cobol_$perform_sect_index 000060 external static fixed bin(17,0) dcl 6-150 set ref 270 271 274 275* 275 301 302 303 306 cobol_$sect_eop_flag 000052 external static fixed bin(17,0) dcl 6-136 set ref 267 277* 314* cobol_$text_wd_off 000050 external static fixed bin(17,0) dcl 6-90 ref 283 286 307 309 312 cobol_addr 000034 constant entry external dcl 220 ref 248 272 304 cobol_define_tag 000036 constant entry external dcl 220 ref 250 274 306 313 cobol_emit 000040 constant entry external dcl 220 ref 249 273 288 305 311 cobol_process_error 000042 constant entry external dcl 220 ref 285 308 cobol_register$load 000044 constant entry external dcl 220 ref 245 269 298 end_flag parameter fixed bin(17,0) dcl 100 set ref 24 281 289* end_stmt based structure level 1 unaligned dcl 4-16 fxs_locno parameter fixed bin(17,0) dcl 100 set ref 24 312* fxs_tag parameter fixed bin(17,0) dcl 100 set ref 24 313* in_token based structure level 1 dcl 1-9 in_token_ptr parameter pointer dcl 1-7 ref 24 259 259 index 000100 automatic fixed bin(17,0) dcl 202 set ref 267* input_struc_basic 000010 internal static structure level 1 dcl 2-7 set ref 248 248 272 272 304 304 int_tag_no 5 based fixed bin(17,0) array level 3 dcl 3-6 set ref 250* 274* 306* last_decl_proc parameter fixed bin(17,0) dcl 100 set ref 24 301* n based fixed bin(17,0) level 2 dcl 1-9 ref 259 null builtin function dcl 230 ref 248 248 249 249 272 272 273 273 288 288 304 304 305 305 311 311 perf 1 based structure array level 2 dcl 3-6 perform_list based structure level 1 dcl 3-6 prfrm_altgo_inst_pr 000030 internal static bit(18) initial array packed unaligned dcl 2-78 set ref 248 248 249 249 272 272 273 273 304 304 305 305 proc_num 1 based fixed bin(17,0) array level 3 dcl 3-6 ref 301 register_request 000016 internal static structure level 1 dcl 2-38 set ref 245 245 269 269 298 298 saved_text_wd_off 000101 automatic fixed bin(17,0) dcl 202 set ref 283* 284 286* 286 287 307* 309* 309 310 segno 3 000010 internal static fixed bin(17,0) level 2 dcl 2-7 set ref 246* 270* 302* substr builtin function dcl 230 ref 287 310 target_a_offset 4 based fixed bin(24,0) array level 3 dcl 3-6 ref 247 271 303 target_a_segno 3 based fixed bin(17,0) array level 3 dcl 3-6 ref 246 270 302 token_ptr 2 based pointer array level 2 dcl 1-9 ref 259 tra_inst 000032 internal static bit(18) initial array packed unaligned dcl 202 set ref 287* 288 288 310* 311 311 unspec builtin function dcl 230 ref 287 310 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. addrel builtin function dcl 230 allo1_max defined fixed bin(17,0) dcl 6-171 allo1_ptr defined pointer dcl 6-67 alter_flag defined fixed bin(17,0) dcl 6-135 alter_index defined fixed bin(17,0) dcl 6-153 alter_list_ptr defined pointer dcl 6-39 cd_cnt defined fixed bin(17,0) dcl 6-197 cobol_$allo1_max external static fixed bin(17,0) dcl 6-170 cobol_$allo1_ptr external static pointer dcl 6-66 cobol_$alter_flag external static fixed bin(17,0) dcl 6-134 cobol_$alter_index external static fixed bin(17,0) dcl 6-152 cobol_$alter_list_ptr external static pointer dcl 6-38 cobol_$cd_cnt external static fixed bin(17,0) dcl 6-196 cobol_$cobol_data_wd_off external static fixed bin(17,0) dcl 6-118 cobol_$compile_count external static fixed bin(17,0) dcl 6-142 cobol_$coms_charcnt external static fixed bin(17,0) dcl 6-188 cobol_$coms_wdoff external static fixed bin(17,0) dcl 6-202 cobol_$con_end_ptr external static pointer dcl 6-10 cobol_$con_wd_off external static fixed bin(17,0) dcl 6-92 cobol_$cons_charcnt external static fixed bin(17,0) dcl 6-192 cobol_$constant_offset external static fixed bin(17,0) dcl 6-156 cobol_$data_init_flag external static fixed bin(17,0) dcl 6-130 cobol_$date_compiled_sw external static fixed bin(17,0) dcl 6-180 cobol_$debug_enable external static fixed bin(17,0) dcl 6-174 cobol_$def_base_ptr external static pointer dcl 6-12 cobol_$def_max external static fixed bin(17,0) dcl 6-96 cobol_$def_wd_off external static fixed bin(17,0) dcl 6-94 cobol_$diag_ptr external static pointer dcl 6-70 cobol_$eln_max external static fixed bin(17,0) dcl 6-172 cobol_$eln_ptr external static pointer dcl 6-68 cobol_$fixup_max external static fixed bin(17,0) dcl 6-164 cobol_$fixup_ptr external static pointer dcl 6-30 cobol_$fs_charcnt external static fixed bin(17,0) dcl 6-184 cobol_$fs_wdoff external static fixed bin(17,0) dcl 6-198 cobol_$include_cnt external static fixed bin(17,0) dcl 6-182 cobol_$include_info_ptr external static pointer dcl 6-86 cobol_$init_stack_off external static fixed bin(17,0) dcl 6-124 cobol_$initval_base_ptr external static pointer dcl 6-32 cobol_$initval_file_ptr external static pointer dcl 6-34 cobol_$initval_flag external static fixed bin(17,0) dcl 6-178 cobol_$link_base_ptr external static pointer dcl 6-14 cobol_$link_max external static fixed bin(17,0) dcl 6-100 cobol_$link_wd_off external static fixed bin(17,0) dcl 6-98 cobol_$list_off external static fixed bin(17,0) dcl 6-154 cobol_$list_ptr external static pointer dcl 6-64 cobol_$ls_charcnt external static fixed bin(17,0) dcl 6-190 cobol_$main_pcs_ptr external static pointer dcl 6-84 cobol_$map_data_max external static fixed bin(17,0) dcl 6-162 cobol_$map_data_ptr external static pointer dcl 6-54 cobol_$max_stack_off external static fixed bin(17,0) dcl 6-122 cobol_$minpral5_ptr external static pointer dcl 6-50 cobol_$misc_base_ptr external static pointer dcl 6-60 cobol_$misc_end_ptr external static pointer dcl 6-62 cobol_$misc_max external static fixed bin(17,0) dcl 6-158 cobol_$next_tag external static fixed bin(17,0) dcl 6-128 cobol_$ntbuf_ptr external static pointer dcl 6-82 cobol_$obj_seg_name external static char(32) dcl 6-208 cobol_$op_con_ptr external static pointer dcl 6-80 cobol_$pd_map_index external static fixed bin(17,0) dcl 6-116 cobol_$pd_map_max external static fixed bin(17,0) dcl 6-160 cobol_$pd_map_ptr external static pointer dcl 6-28 cobol_$pd_map_sw external static fixed bin(17,0) dcl 6-126 cobol_$priority_no external static fixed bin(17,0) dcl 6-140 cobol_$ptr_assumption_ind external static fixed bin(17,0) dcl 6-144 cobol_$ptr_status_ptr external static pointer dcl 6-56 cobol_$reg_assumption_ind external static fixed bin(17,0) dcl 6-146 cobol_$reg_status_ptr external static pointer dcl 6-58 cobol_$reloc_def_base_ptr external static pointer dcl 6-20 cobol_$reloc_def_max external static fixed bin(24,0) dcl 6-108 cobol_$reloc_link_base_ptr external static pointer dcl 6-22 cobol_$reloc_link_max external static fixed bin(24,0) dcl 6-110 cobol_$reloc_sym_base_ptr external static pointer dcl 6-24 cobol_$reloc_sym_max external static fixed bin(24,0) dcl 6-112 cobol_$reloc_text_base_ptr external static pointer dcl 6-18 cobol_$reloc_text_max external static fixed bin(24,0) dcl 6-106 cobol_$reloc_work_base_ptr external static pointer dcl 6-26 cobol_$reloc_work_max external static fixed bin(24,0) dcl 6-114 cobol_$reswd_ptr external static pointer dcl 6-78 cobol_$same_sort_merge_proc external static bit(1) dcl 6-214 cobol_$scratch_dir external static char(168) dcl 6-206 cobol_$seg_init_flag external static fixed bin(17,0) dcl 6-132 cobol_$seg_init_list_ptr external static pointer dcl 6-40 cobol_$stack_off external static fixed bin(17,0) dcl 6-120 cobol_$statement_info_ptr external static pointer dcl 6-76 cobol_$sym_base_ptr external static pointer dcl 6-16 cobol_$sym_max external static fixed bin(17,0) dcl 6-104 cobol_$sym_wd_off external static fixed bin(17,0) dcl 6-102 cobol_$tag_table_max external static fixed bin(17,0) dcl 6-166 cobol_$tag_table_ptr external static pointer dcl 6-52 cobol_$temp_token_area_ptr external static pointer dcl 6-42 cobol_$temp_token_max external static fixed bin(17,0) dcl 6-168 cobol_$temp_token_ptr external static pointer dcl 6-44 cobol_$text_base_ptr external static pointer dcl 6-8 cobol_$token_block1_ptr external static pointer dcl 6-46 cobol_$token_block2_ptr external static pointer dcl 6-48 cobol_$value_cnt external static fixed bin(17,0) dcl 6-194 cobol_$ws_charcnt external static fixed bin(17,0) dcl 6-186 cobol_$ws_wdoff external static fixed bin(17,0) dcl 6-200 cobol_$xref_bypass external static bit(1) dcl 6-212 cobol_$xref_chain_ptr external static pointer dcl 6-74 cobol_$xref_token_ptr external static pointer dcl 6-72 cobol_data_wd_off defined fixed bin(17,0) dcl 6-119 compile_count defined fixed bin(17,0) dcl 6-143 coms_charcnt defined fixed bin(17,0) dcl 6-189 coms_wdoff defined fixed bin(17,0) dcl 6-203 con_end_ptr defined pointer dcl 6-11 con_wd_off defined fixed bin(17,0) dcl 6-93 cons_charcnt defined fixed bin(17,0) dcl 6-193 constant_offset defined fixed bin(17,0) dcl 6-157 data_init_flag defined fixed bin(17,0) dcl 6-131 date_compiled_sw defined fixed bin(17,0) dcl 6-181 debug_enable defined fixed bin(17,0) dcl 6-175 def_base_ptr defined pointer dcl 6-13 def_max defined fixed bin(17,0) dcl 6-97 def_wd_off defined fixed bin(17,0) dcl 6-95 diag_ptr defined pointer dcl 6-71 eln_max defined fixed bin(17,0) dcl 6-173 eln_ptr defined pointer dcl 6-69 eos_ptr automatic pointer dcl 4-13 fixup_max defined fixed bin(17,0) dcl 6-165 fixup_ptr defined pointer dcl 6-31 fs_charcnt defined fixed bin(17,0) dcl 6-185 fs_wdoff defined fixed bin(17,0) dcl 6-199 include_cnt defined fixed bin(17,0) dcl 6-183 include_info_ptr defined pointer dcl 6-87 init_stack_off defined fixed bin(17,0) dcl 6-125 initval_base_ptr defined pointer dcl 6-33 initval_file_ptr defined pointer dcl 6-35 initval_flag defined fixed bin(17,0) dcl 6-179 link_base_ptr defined pointer dcl 6-15 link_max defined fixed bin(17,0) dcl 6-101 link_wd_off defined fixed bin(17,0) dcl 6-99 list_off defined fixed bin(17,0) dcl 6-155 list_ptr defined pointer dcl 6-65 ls_charcnt defined fixed bin(17,0) dcl 6-191 main_pcs_ptr defined pointer dcl 6-85 map_data_max defined fixed bin(17,0) dcl 6-163 map_data_ptr defined pointer dcl 6-55 max_stack_off defined fixed bin(17,0) dcl 6-123 minpral5_ptr defined pointer dcl 6-51 misc_base_ptr defined pointer dcl 6-61 misc_end_ptr defined pointer dcl 6-63 misc_max defined fixed bin(17,0) dcl 6-159 next_tag defined fixed bin(17,0) dcl 6-129 non_source_offset defined fixed bin(17,0) dcl 6-177 ntbuf_ptr defined pointer dcl 6-83 obj_seg_name defined char(32) dcl 6-209 op_con_ptr defined pointer dcl 6-81 para_eop_flag defined fixed bin(17,0) dcl 6-139 pd_map_index defined fixed bin(17,0) dcl 6-117 pd_map_max defined fixed bin(17,0) dcl 6-161 pd_map_ptr defined pointer dcl 6-29 pd_map_sw defined fixed bin(17,0) dcl 6-127 perform_list_ptr defined pointer dcl 6-37 perform_para_index defined fixed bin(17,0) dcl 6-149 perform_sect_index defined fixed bin(17,0) dcl 6-151 priority_no defined fixed bin(17,0) dcl 6-141 ptr_assumption_ind defined fixed bin(17,0) dcl 6-145 ptr_status_ptr defined pointer dcl 6-57 reg_assumption_ind defined fixed bin(17,0) dcl 6-147 reg_status_ptr defined pointer dcl 6-59 reloc_def_base_ptr defined pointer dcl 6-21 reloc_def_max defined fixed bin(24,0) dcl 6-109 reloc_link_base_ptr defined pointer dcl 6-23 reloc_link_max defined fixed bin(24,0) dcl 6-111 reloc_sym_base_ptr defined pointer dcl 6-25 reloc_sym_max defined fixed bin(24,0) dcl 6-113 reloc_text_base_ptr defined pointer dcl 6-19 reloc_text_max defined fixed bin(24,0) dcl 6-107 reloc_work_base_ptr defined pointer dcl 6-27 reloc_work_max defined fixed bin(24,0) dcl 6-115 reswd_ptr defined pointer dcl 6-79 same_sort_merge_proc defined bit(1) dcl 6-215 scratch_dir defined char(168) dcl 6-207 sect_eop_flag defined fixed bin(17,0) dcl 6-137 seg_init_flag defined fixed bin(17,0) dcl 6-133 seg_init_list_ptr defined pointer dcl 6-41 stack_off defined fixed bin(17,0) dcl 6-121 statement_info_ptr defined pointer dcl 6-77 sym_base_ptr defined pointer dcl 6-17 sym_max defined fixed bin(17,0) dcl 6-105 sym_wd_off defined fixed bin(17,0) dcl 6-103 tag_table_max defined fixed bin(17,0) dcl 6-167 tag_table_ptr defined pointer dcl 6-53 temp_token_area_ptr defined pointer dcl 6-43 temp_token_max defined fixed bin(17,0) dcl 6-169 temp_token_ptr defined pointer dcl 6-45 text_base_ptr defined pointer dcl 6-9 text_wd_off defined fixed bin(17,0) dcl 6-91 token_block1_ptr defined pointer dcl 6-47 token_block2_ptr defined pointer dcl 6-49 value_cnt defined fixed bin(17,0) dcl 6-195 ws_charcnt defined fixed bin(17,0) dcl 6-187 ws_wdoff defined fixed bin(17,0) dcl 6-201 xref_bypass defined bit(1) dcl 6-213 xref_chain_ptr defined pointer dcl 6-75 xref_token_ptr defined pointer dcl 6-73 NAMES DECLARED BY EXPLICIT CONTEXT. cobol_end_gen 000011 constant entry external dcl 24 end_cobol 000133 constant label dcl 267 ref 259 end_declaratives 000326 constant label dcl 298 ref 262 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 676 762 515 706 Length 1306 515 64 310 160 24 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME cobol_end_gen 88 external procedure is an external procedure. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 input_struc_basic cobol_end_gen 000016 register_request cobol_end_gen 000030 prfrm_altgo_inst_pr cobol_end_gen 000032 tra_inst cobol_end_gen STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME cobol_end_gen 000100 index cobol_end_gen 000101 saved_text_wd_off cobol_end_gen THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out return_mac ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. cobol_addr cobol_define_tag cobol_emit cobol_process_error cobol_register$load THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. cobol_$non_source_offset cobol_$para_eop_flag cobol_$perform_list_ptr cobol_$perform_para_index cobol_$perform_sect_index cobol_$sect_eop_flag cobol_$text_wd_off LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 24 000004 243 000016 245 000020 246 000030 247 000037 248 000043 249 000063 250 000104 251 000116 252 000120 259 000121 262 000132 267 000133 269 000143 270 000154 271 000163 272 000167 273 000207 274 000230 275 000242 276 000244 277 000246 281 000250 283 000253 284 000255 285 000256 286 000274 287 000277 288 000302 289 000322 293 000325 298 000326 301 000336 302 000346 303 000352 304 000356 305 000376 306 000417 307 000431 308 000434 309 000452 310 000455 311 000460 312 000500 313 000504 314 000512 315 000514 ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved