COMPILATION LISTING OF SEGMENT iox_get_options Compiled by: Multics PL/I Compiler, Release 32f, of October 9, 1989 Compiled at: Bull HN, Phoenix AZ, System-M Compiled on: 11/11/89 0959.4 mst Sat Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 6* * * 7* *********************************************************** */ 8 9 /* format: style4,inddcls,^ifthendo,^indproc,indcom,^indblkcom,declareind8,dclind4 */ 10 11 iox_get_options: proc (arg_description, arg_option_array, arg_code); 12 13 /* Removed from attach_name.pl1 4/83 by S. Krupp. */ 14 15 /* Automatic */ 16 17 dcl descrip char (length (arg_description)) var; 18 dcl first_option_num fixed bin; 19 dcl i fixed bin; 20 dcl last_option_num fixed bin; 21 dcl n_options fixed bin; 22 dcl t fixed bin; 23 dcl tn fixed bin; 24 dcl ts fixed bin; 25 dcl x fixed bin; 26 dcl y fixed bin; 27 28 /* Builtin */ 29 30 dcl (index, length, ltrim, rtrim, search, substr, verify) builtin; 31 32 /* Parameter */ 33 34 dcl arg_code fixed bin (35); 35 dcl arg_description char (*); 36 dcl arg_option_array (*) char (*) var; 37 38 arg_code = 0; 39 arg_option_array (*) = ""; 40 41 descrip = ltrim (rtrim (arg_description)); 42 if descrip = "" 43 then return; 44 45 first_option_num = lbound (arg_option_array, 1); 46 last_option_num = hbound (arg_option_array, 1); 47 n_options = last_option_num - first_option_num + 1; 48 if n_options <= 0 49 then return; 50 51 tn = first_option_num - 1; 52 ts = 1; 53 54 more1: 55 tn = tn + 1; 56 i = verify (substr (descrip, ts), " ") - 1; 57 if i < 0 then goto done1; 58 ts = ts + i; 59 60 continue1: 61 x = search (substr (descrip, ts), " "" ") - 1; 62 if x < 0 then goto done1; 63 64 arg_option_array (tn) = arg_option_array (tn) || substr (descrip, ts, x); 65 t = ts + x + 1; 66 if substr (descrip, t - 1, 1) = """" then do; 67 pass1: 68 y = index (substr (descrip, t), """") - 1; 69 70 arg_option_array (tn) = arg_option_array (tn) || substr (descrip, t, y); 71 ts = t + y + 1; 72 if ts <= length (descrip) 73 then if substr (descrip, ts, 1) = """" then do; 74 arg_option_array (tn) = arg_option_array (tn) || """"; 75 t = ts + 1; 76 x = 0; 77 goto pass1; 78 end; 79 goto continue1; 80 end; 81 ts = t; 82 goto more1; 83 84 done1: 85 arg_option_array (tn) = arg_option_array (tn) || substr (descrip, ts, length (descrip) - ts + 1); 86 87 end iox_get_options; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/11/89 0805.2 iox_get_options.pl1 >spec>install>1111>iox_get_options.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. arg_code parameter fixed bin(35,0) dcl 34 set ref 11 38* arg_description parameter char packed unaligned dcl 35 ref 11 17 41 arg_option_array parameter varying char array dcl 36 set ref 11 39* 45 46 64* 64 70* 70 74* 74 84* 84 descrip 000100 automatic varying char dcl 17 set ref 41* 42 56 60 64 66 67 70 72 72 84 84 first_option_num 000100 automatic fixed bin(17,0) dcl 18 set ref 45* 47 51 i 000101 automatic fixed bin(17,0) dcl 19 set ref 56* 57 58 index builtin function dcl 30 ref 67 last_option_num 000102 automatic fixed bin(17,0) dcl 20 set ref 46* 47 length builtin function dcl 30 ref 17 72 84 ltrim builtin function dcl 30 ref 41 n_options 000103 automatic fixed bin(17,0) dcl 21 set ref 47* 48 rtrim builtin function dcl 30 ref 41 search builtin function dcl 30 ref 60 substr builtin function dcl 30 ref 56 60 64 66 67 70 72 84 t 000104 automatic fixed bin(17,0) dcl 22 set ref 65* 66 67 70 71 75* 81 tn 000105 automatic fixed bin(17,0) dcl 23 set ref 51* 54* 54 64 64 70 70 74 74 84 84 ts 000106 automatic fixed bin(17,0) dcl 24 set ref 52* 56 58* 58 60 64 65 71* 72 72 75 81* 84 84 verify builtin function dcl 30 ref 56 x 000107 automatic fixed bin(17,0) dcl 25 set ref 60* 62 64 65 76* y 000110 automatic fixed bin(17,0) dcl 26 set ref 67* 70 71 NAMES DECLARED BY EXPLICIT CONTEXT. continue1 000210 constant label dcl 60 ref 79 done1 000370 constant label dcl 84 ref 57 62 iox_get_options 000013 constant entry external dcl 11 more1 000165 constant label dcl 54 set ref 82 pass1 000270 constant label dcl 67 ref 77 NAMES DECLARED BY CONTEXT OR IMPLICATION. hbound builtin function ref 46 lbound builtin function ref 45 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1052 1062 1024 1062 Length 1224 1024 10 125 25 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME iox_get_options 83 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME iox_get_options 000100 descrip iox_get_options 000100 first_option_num iox_get_options 000101 i iox_get_options 000102 last_option_num iox_get_options 000103 n_options iox_get_options 000104 t iox_get_options 000105 tn iox_get_options 000106 ts iox_get_options 000107 x iox_get_options 000110 y iox_get_options THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. return_mac alloc_auto_adj ext_entry_desc 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 11 000007 17 000033 38 000046 39 000050 41 000103 42 000141 45 000146 46 000152 47 000154 48 000157 51 000160 52 000163 54 000165 56 000166 57 000206 58 000207 60 000210 62 000230 64 000231 65 000260 66 000264 67 000270 70 000307 71 000336 72 000342 74 000350 75 000360 76 000363 77 000364 79 000365 81 000366 82 000367 84 000370 87 000422 ----------------------------------------------------------- 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