COMPILATION LISTING OF SEGMENT cobol_make_type3 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 0945.9 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_make_type3.pl1 Reformatted code to new Cobol standard. 19* END HISTORY COMMENTS */ 20 21 22 /*{*/ 23 24 /* Modified on 1/22/76 by Bob Chang to put comments */ 25 26 /* format: style3 */ 27 cobol_make_type3: 28 proc (alit_ptr, rw_ptr); 29 type1: 30 entry (alit_ptr, rw_ptr); 31 32 /* Create a type 3 token (alphanumeric literal) using a type 1 token 33* (reserve word) as a model. It is used for the reserve words quote, 34* space, zero, high value, low-value. */ 35 36 dcl lit char (1); 37 dcl alit_chars char (24) based (alit_ptr); 38 dcl alit_init_chars char (24) based (addr (alit_init)); 39 dcl 1 alit_init static, 40 2 size fixed bin init (29), 41 2 line fixed bin, 42 2 column fixed bin, 43 2 type fixed bin init (3), 44 2 lit_type bit (1) init ("0"b), 45 2 all_lit bit (1) init ("0"b), 46 2 filler1 bit (6), 47 2 lit_size fixed bin init (1); 48 49 50 51 /*}*/ 52 /*************************************/ 53 start: 54 if reserved_word.key = 192 55 then lit = " "; /* space */ 56 else if reserved_word.key = 180 57 then lit = "0"; /* zero */ 58 else if reserved_word.key = 235 59 then lit = """"; /* quote */ 60 else if reserved_word.key = 229 61 then lit = ""; /* low-value */ 62 else lit = ""; /* high-value */ 63 alit_chars = alit_init_chars; 64 alphanum_lit.line = reserved_word.line; 65 alphanum_lit.column = reserved_word.column; 66 substr (alphanum_lit.string, 1, 1) = lit; 67 return; 68 69 70 /*************************************/ 71 72 /***** Declaration for builtin function *****/ 73 74 dcl (substr, mod, binary, fixed, addr, addrel, rel, length, string, unspec, null, index) 75 builtin; 76 77 /***** End of declaration for builtin function *****/ 78 1 1 1 2 /* BEGIN INCLUDE FILE ... cobol_type1.incl.pl1 */ 1 3 /* Last modified on 11/19/76 by ORN */ 1 4 1 5 /* 1 6*A reserved word token is created in the minpral files for each occurrence 1 7*of a reserved word in the source program. The value of the key field 1 8*indicates the specific reserved word which a type 1 token represents. 1 9**/ 1 10 1 11 dcl rw_ptr ptr; 1 12 1 13 /* BEGIN DECLARATION OF TYPE1 (RESERVED WORD) TOKEN */ 1 14 dcl 1 reserved_word based (rw_ptr), 2 1 2 2 /* begin include file ... cobol_TYPE1.incl.pl1 */ 2 3 /* Last modified on 11/17/76 by ORN */ 2 4 /* Last modified on 12/28/76 by FCH */ 2 5 /* Last modified on 12/16/80 by FCH */ 2 6 2 7 /* header */ 2 8 2 size fixed bin, 2 9 2 line fixed bin, 2 10 2 column fixed bin, 2 11 2 type fixed bin, 2 12 /* body */ 2 13 2 key fixed bin, 2 14 /* procedure division class bits */ 2 15 2 verb bit (1), 2 16 2 arith_op bit (1), 2 17 2 figcon bit (1), 2 18 2 terminator bit (1), 2 19 2 end_dec bit (1), 2 20 2 rel_op bit (1), 2 21 2 imper_verb bit (1), 2 22 2 end_cobol bit (1), 2 23 /* data division class bits */ 2 24 2 section_header bit (1), 2 25 2 fs_ind bit (1), 2 26 2 fd_clause bit (1), 2 27 2 dd_clause bit (1), 2 28 2 cd_input bit (1), 2 29 2 cd_output bit (1), 2 30 2 cset_name bit (1), 2 31 2 ss_division bit (1), 2 32 2 repl_jump_ind bit (4), 2 33 2 ided_recovery bit (1), 2 34 2 report_writer bit (5), 2 35 2 ss_desc_entry bit (1), 2 36 2 jump_index fixed bin, 2 37 2 length fixed bin, 2 38 2 name char(0 refer(reserved_word.length)); 2 39 2 40 2 41 2 42 /* end include file ... cobol_TYPE1.incl.pl1 */ 2 43 1 15 1 16 /* END DECLARATION OF TYPE1 (RESERVED WORD) TOKEN */ 1 17 1 18 /* END INCLUDE FILE ... cobol_type1.incl.pl1 */ 1 19 79 3 1 3 2 /* BEGIN INCLUDE FILE ... cobol_type3.incl.pl1 */ 3 3 /* Last modified on 11/19/76 by ORN */ 3 4 3 5 /* 3 6*A type 3 alphanumeric literal token is entered into the minpral file by the 3 7*lexical analysis phase for each alphanumeric literal encountered in the 3 8*source program. 3 9**/ 3 10 3 11 dcl alit_ptr ptr; 3 12 3 13 /* BEGIN DECLARATION OR TYPE3 (ALPHANUMERIC LITERAL) TOKEN */ 3 14 dcl 1 alphanum_lit based (alit_ptr), 4 1 4 2 /* begin include file ... cobol_TYPE3.incl.pl1 */ 4 3 /* Last modified on 11/17/76 by ORN */ 4 4 /* Last modified on 12/28/76 by FCH */ 4 5 4 6 /* header */ 4 7 2 size fixed bin, 4 8 2 line fixed bin, 4 9 2 column fixed bin, 4 10 2 type fixed bin, 4 11 /* body */ 4 12 2 lit_type bit (1), 4 13 2 all_lit bit (1), 4 14 2 filler1 bit (6), 4 15 2 lit_size fixed bin, 4 16 2 string char(0 refer(alphanum_lit.lit_size)); 4 17 4 18 4 19 4 20 /* end include file ... cobol_TYPE3.incl.pl1 */ 4 21 3 15 3 16 /* END DECLARATION OF TYPE3 (ALPHANUMERIC LITERAL) TOKEN */ 3 17 3 18 /* END INCLUDE FILE ... cobol_type3.incl.pl1 */ 3 19 80 81 end cobol_make_type3; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 05/24/89 0830.5 cobol_make_type3.pl1 >spec>install>MR12.3-1048>cobol_make_type3.pl1 79 1 03/27/82 0439.8 cobol_type1.incl.pl1 >ldd>include>cobol_type1.incl.pl1 1-15 2 11/11/82 1712.8 cobol_TYPE1.incl.pl1 >ldd>include>cobol_TYPE1.incl.pl1 80 3 03/27/82 0439.8 cobol_type3.incl.pl1 >ldd>include>cobol_type3.incl.pl1 3-15 4 11/11/82 1712.8 cobol_TYPE3.incl.pl1 >ldd>include>cobol_TYPE3.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 74 ref 63 alit_chars based char(24) packed unaligned dcl 37 set ref 63* alit_init 000010 internal static structure level 1 unaligned dcl 39 set ref 63 alit_init_chars based char(24) packed unaligned dcl 38 ref 63 alit_ptr parameter pointer dcl 3-11 ref 27 29 63 64 65 66 alphanum_lit based structure level 1 unaligned dcl 3-14 column 2 based fixed bin(17,0) level 2 in structure "alphanum_lit" dcl 3-14 in procedure "cobol_make_type3" set ref 65* column 2 based fixed bin(17,0) level 2 in structure "reserved_word" dcl 1-14 in procedure "cobol_make_type3" ref 65 key 4 based fixed bin(17,0) level 2 dcl 1-14 ref 53 56 58 60 line 1 based fixed bin(17,0) level 2 in structure "alphanum_lit" dcl 3-14 in procedure "cobol_make_type3" set ref 64* line 1 based fixed bin(17,0) level 2 in structure "reserved_word" dcl 1-14 in procedure "cobol_make_type3" ref 64 lit 000100 automatic char(1) packed unaligned dcl 36 set ref 53* 56* 58* 60* 62* 66 lit_size 5 based fixed bin(17,0) level 2 dcl 3-14 ref 66 reserved_word based structure level 1 unaligned dcl 1-14 rw_ptr parameter pointer dcl 1-11 ref 27 29 53 56 58 60 64 65 string 6 based char level 2 packed packed unaligned dcl 3-14 set ref 66* substr builtin function dcl 74 set ref 66* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. addrel builtin function dcl 74 binary builtin function dcl 74 fixed builtin function dcl 74 index builtin function dcl 74 length builtin function dcl 74 mod builtin function dcl 74 null builtin function dcl 74 rel builtin function dcl 74 string builtin function dcl 74 unspec builtin function dcl 74 NAMES DECLARED BY EXPLICIT CONTEXT. cobol_make_type3 000005 constant entry external dcl 27 start 000022 constant label dcl 53 type1 000015 constant entry external dcl 29 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 122 140 67 132 Length 372 67 16 215 33 6 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME cobol_make_type3 65 external procedure is an external procedure. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 alit_init cobol_make_type3 STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME cobol_make_type3 000100 lit cobol_make_type3 THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. return_mac ext_entry NO EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 27 000001 29 000012 53 000022 56 000033 58 000040 60 000045 62 000052 63 000054 64 000061 65 000063 66 000065 67 000066 ----------------------------------------------------------- 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