THIS FILE IS DAMAGED COMPILATION LISTING OF SEGMENT decevl_ Compiled by: Multics PL/I Compiler, Release 31a, of October 12, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 10/24/88 1544.1 mst Mon Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1988 * 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 /****^ HISTORY COMMENTS: 15* 1) change(86-09-03,Oke), approve(86-09-03,MCR7543), audit(86-09-30,JRGray), 16* install(86-10-08,MR12.0-1180): 17* Extend decimal input 18* processing to permit 1 or 2 word values. User explicitly requests 19* double precision integer decimal input by using a "L" suffix. 20* Previously only single word values were generated, with no detected 21* errors. Permits double-word decimal literals to be generated. Needed 22* by the C compiler. 23* END HISTORY COMMENTS */ 24 25 /* Evaluate decimal literal field, return results and break. 26* 27* Fixed and real constants may be single or double precision. Decevl is 28* called from pass1 and pass2 (for dec pseudo-op) and by litevl (for 29* literals). The parameter type is used by litevl in case of du or dl 30* modifier requiring a truncation of results. Note that according to bsa 31* standards, fields may be separated by commas or blanks. Machine language 32* subroutines are used to manipulate the double precision words. 33* 34* Last modified: 35* by RHG on 22 sept 1970 to handle multi-line ascii literals properly 36* Last modified: 37* by BLW on 8 Sept 1973 to use accurate conversion routines. Machine 38* language subroutine is no longer used to manipulate double precision 39* words. decevl_ was converted to version 2 pl1 with minimum changes 40* needed. 41* Modified 7 July 1980 by M. N. Davidoff to issue "E" diagnostic instead of raising size, also cleaned it up some. 42**/ 43 /* format: style2 */ 44 decevl_: 45 procedure (rslts, type) returns (fixed bin (35)); 46 47 declare rslts (10) fixed bin (35); 48 declare type fixed bin (26); 49 50 /* automatic */ 51 52 declare 1 attr, 53 2 binary bit (1), 54 2 double bit (1), 55 2 float bit (1); 56 declare binpt fixed bin (26); 57 declare buffer char (64); 58 declare double bit (1) aligned; 59 declare first bit (1) aligned; 60 declare next_sw bit (1) aligned; 61 declare prec fixed bin (35); 62 declare saw_point bit (1) aligned; 63 declare scale fixed bin (26); 64 declare 1 x_structure aligned, /* NOTE: x must start on an even boundary. */ 65 2 pad1_for_alignment fixed bin (71), 66 2 x (3) fixed bin (26); 67 declare xp fixed bin (26); 68 69 /* based */ 70 71 declare 1 brk_overlay aligned based (addr (brk (2))), 72 2 skip char (3) unal, 73 2 ch char (1) unal; 74 declare 1 number aligned based (addr (buffer)), 75 2 sign char (1) unal, 76 2 digit (prec) char (1) unal, 77 2 skip bit (1) unal, 78 2 exponent fixed bin (7) unal; 79 80 /* builtin */ 81 82 declare (addr, byte, divide, length, max, min, rank, string, substr, unspec) 83 builtin; 84 85 /* condition */ 86 87 declare (overflow, size) condition; 88 89 /* external static */ 90 91 declare eb_data_$iasc fixed bin (35) external static; 92 declare eb_data_$iflt fixed bin (35) external static; 93 declare eb_data_$ifxd fixed bin (35) external static; 94 declare eb_data_$iint fixed bin (35) external static; 95 96 /* entry */ 97 98 declare assign_ entry (ptr, fixed bin, fixed bin (35), ptr, fixed bin, fixed bin (35)); 99 declare inputs_$ascii_literal entry; 100 declare inputs_$next entry; 101 declare inputs_$nxtnb entry; 102 1 1 /* Begin include file varcom.incl.pl1. */ 1 2 /* RHG added new variables 9/7/70. */ 1 3 /* RFM added new cells for new object segment format and first-reference trap, 27 March 1972. */ 1 4 /* RFM added include file stuff, then cross referencer stuff, 23 July 1972. */ 1 5 /* Last modified on 07/23/72 at 04:19:25 by R F Mabee. */ 1 6 1 7 declare 1 eb_data_$varcom external aligned, 1 8 2 (brk(2), nbrk(2), sym(8), dsym(8),old_locsym, pc, spc, tpc, 1 9 pclst, p2pcl, old_ndpcls, tvorg, tvcnt, tvlth, litorg, 1 10 litc, deforg, defc, defcnt, stkc, lnkc, lnkno, 1 11 litlst, old_ndltls, lnklst, old_ndlkls, explst, blklst, namlst, 1 12 trplst, xdflst, tvlst, begin_line, tpass1, tpass2, tpostp, 1 13 tinhib, tmmode, txonly, tmm2, txo2, tprot, tcall, 1 14 tmvdef, tpulnk, tfatal, calrho, lreter, passwd, binlin, 1 15 nboxes, box(0:210), myfil, mynam, myblk, mylnk, tpost1 ) fixed bin (26) , 1 16 2 source_printed bit(1) aligned, 1 17 2 (ndpcls, ndltls, ndlkls, ndtvls) ptr, 1 18 2 (basno, value, admod, b29, iaddr, symlnk ) fixed bin (26), 1 19 2 (itxtmod, ilnkmod, entrieslc, include_file_list, include_index, 1 20 first_ref_trap_proc_linkno, first_ref_trap_arg_linkno, 1 21 text_section_length) fixed binary (26), 1 22 2 (include_info_stack, include_name_list_base, include_name_list_top) pointer, 1 23 2 symbol_tree_rel fixed binary (26); 1 24 1 25 /* End of the include file varcom.incl.pl1. */ 103 2 1 2 2 /* Last modified by EBush on 2/5/81 to add prnta */ 2 3 2 4 2 5 declare 1 eb_data_$erflgs ext aligned, 2 6 2 flgvec (36) fixed bin (17) aligned ; 2 7 2 8 2 9 declare 1 eb_data_$erflgs_overlay ext aligned, /* overlays the FLGVEC */ 2 10 2 (prnte, prntf, prntm, prntn, prnto, prntp, 2 11 prntr, prnts, prntt, prntu, prntx, prntb, 2 12 prntc, prntd, prnta, prnt5, prnt6, prnt7, 2 13 tstsw(18) ) fixed bin (17) aligned ; 2 14 2 15 104 3 1 3 2 3 3 3 4 /* include file for CODTAB */ 3 5 3 6 declare 1 eb_data_$codtab ext aligned, 3 7 2 ( inul, isoh, istx, ietx, ieot, ienq, iack, ibel, 3 8 ibs, iht, inl, ivt, iff, icr, irrs, ibrs, 3 9 idle, irht, ihlf, irvt, ihlr, inak, isyn, ietb, 3 10 ican, iem, iss, iesc, ifs, igs, irs, ius, 3 11 isp, ixclm, iquot, ilb, idolr, ipcnt, iampr, iapos, 3 12 ilpar, irpar, istar, iplus, icomma, iminus, ipoint, islash, 3 13 inum, inum_pad(9), icol, isc, ilpb, iequal, irpb, iques, iat, 3 14 ilet, ilet_pad(25), ilsb, irslsh, irsb, icflx, iulin, igrv, illet,illet_pad(25), 3 15 ilbrc, ivlin, irbrc, itldf, idel ) fixed bin (17) ; 3 16 /* NA on June 26, 1970 at 1344 for padded arrays */ 105 4 1 /* BEGIN INCLUDE FILE ... std_descriptor_types.incl.pl1 */ 4 2 4 3 4 4 /****^ HISTORY COMMENTS: 4 5* 1) change(86-09-05,JMAthane), approve(86-09-05,MCR7525), 4 6* audit(86-09-11,Martinson), install(86-11-12,MR12.0-1208): 4 7* Added pascal_string_type_dtype descriptor type. Its number is 87. 4 8* Objects of this type are PASCAL string types. 4 9* 2) change(88-09-20,WAAnderson), approve(88-09-20,MCR7952), 4 10* audit(88-09-30,JRGray), install(88-10-24,MR12.2-1184): 4 11* Added the new C types. 4 12* END HISTORY COMMENTS */ 4 13 4 14 /* This include file defines mnemonic names for the Multics 4 15* standard descriptor types, using both pl1 and cobol terminology. 4 16* PG 780613 4 17* JRD 790530 4 18* JRD 791016 4 19* MBW 810731 4 20* TGO 830614 Add hex types. 4 21* Modified June 83 JMAthane to add PASCAL data types 4 22* TGO 840120 Add float dec extended and generic, float binary generic 4 23**/ 4 24 4 25 dcl (real_fix_bin_1_dtype init (1), 4 26 real_fix_bin_2_dtype init (2), 4 27 real_flt_bin_1_dtype init (3), 4 28 real_flt_bin_2_dtype init (4), 4 29 cplx_fix_bin_1_dtype init (5), 4 30 cplx_fix_bin_2_dtype init (6), 4 31 cplx_flt_bin_1_dtype init (7), 4 32 cplx_flt_bin_2_dtype init (8), 4 33 real_fix_dec_9bit_ls_dtype init (9), 4 34 real_flt_dec_9bit_dtype init (10), 4 35 cplx_fix_dec_9bit_ls_dtype init (11), 4 36 cplx_flt_dec_9bit_dtype init (12), 4 37 pointer_dtype init (13), 4 38 offset_dtype init (14), 4 39 label_dtype init (15), 4 40 entry_dtype init (16), 4 41 structure_dtype init (17), 4 42 area_dtype init (18), 4 43 bit_dtype init (19), 4 44 varying_bit_dtype init (20), 4 45 char_dtype init (21), 4 46 varying_char_dtype init (22), 4 47 file_dtype init (23), 4 48 real_fix_dec_9bit_ls_overp_dtype init (29), 4 49 real_fix_dec_9bit_ts_overp_dtype init (30), 4 50 real_fix_bin_1_uns_dtype init (33), 4 51 real_fix_bin_2_uns_dtype init (34), 4 52 real_fix_dec_9bit_uns_dtype init (35), 4 53 real_fix_dec_9bit_ts_dtype init (36), 4 54 real_fix_dec_4bit_uns_dtype init (38), /* digit-aligned */ 4 55 real_fix_dec_4bit_ts_dtype init (39), /* byte-aligned */ 4 56 real_fix_dec_4bit_bytealigned_uns_dtype init (40), /* COBOL */ 4 57 real_fix_dec_4bit_ls_dtype init (41), /* digit-aligned */ 4 58 real_flt_dec_4bit_dtype init (42), /* digit-aligned */ 4 59 real_fix_dec_4bit_bytealigned_ls_dtype init (43), 4 60 real_flt_dec_4bit_bytealigned_dtype init (44), 4 61 cplx_fix_dec_4bit_bytealigned_ls_dtype init (45), 4 62 cplx_flt_dec_4bit_bytealigned_dtype init (46), 4 63 real_flt_hex_1_dtype init (47), 4 64 real_flt_hex_2_dtype init (48), 4 65 cplx_flt_hex_1_dtype init (49), 4 66 cplx_flt_hex_2_dtype init (50), 4 67 c_typeref_dtype init (54), 4 68 c_enum_dtype init (55), 4 69 c_enum_const_dtype init (56), 4 70 c_union_dtype init (57), 4 71 algol68_straight_dtype init (59), 4 72 algol68_format_dtype init (60), 4 73 algol68_array_descriptor_dtype init (61), 4 74 algol68_union_dtype init (62), 4 75 4 76 cobol_comp_6_dtype init (1), 4 77 cobol_comp_7_dtype init (1), 4 78 cobol_display_ls_dtype init (9), 4 79 cobol_structure_dtype init (17), 4 80 cobol_char_string_dtype init (21), 4 81 cobol_display_ls_overp_dtype init (29), 4 82 cobol_display_ts_overp_dtype init (30), 4 83 cobol_display_uns_dtype init (35), 4 84 cobol_display_ts_dtype init (36), 4 85 cobol_comp_8_uns_dtype init (38), /* digit aligned */ 4 86 cobol_comp_5_ts_dtype init (39), /* byte aligned */ 4 87 cobol_comp_5_uns_dtype init (40), 4 88 cobol_comp_8_ls_dtype init (41), /* digit aligned */ 4 89 real_flt_dec_extended_dtype init (81), /* 9-bit exponent */ 4 90 cplx_flt_dec_extended_dtype init (82), /* 9-bit exponent */ 4 91 real_flt_dec_generic_dtype init (83), /* generic float decimal */ 4 92 cplx_flt_dec_generic_dtype init (84), 4 93 real_flt_bin_generic_dtype init (85), /* generic float binary */ 4 94 cplx_flt_bin_generic_dtype init (86)) fixed bin internal static options (constant); 4 95 4 96 dcl (ft_integer_dtype init (1), 4 97 ft_real_dtype init (3), 4 98 ft_double_dtype init (4), 4 99 ft_complex_dtype init (7), 4 100 ft_complex_double_dtype init (8), 4 101 ft_external_dtype init (16), 4 102 ft_logical_dtype init (19), 4 103 ft_char_dtype init (21), 4 104 ft_hex_real_dtype init (47), 4 105 ft_hex_double_dtype init (48), 4 106 ft_hex_complex_dtype init (49), 4 107 ft_hex_complex_double_dtype init (50) 4 108 ) fixed bin internal static options (constant); 4 109 4 110 dcl (algol68_short_int_dtype init (1), 4 111 algol68_int_dtype init (1), 4 112 algol68_long_int_dtype init (2), 4 113 algol68_real_dtype init (3), 4 114 algol68_long_real_dtype init (4), 4 115 algol68_compl_dtype init (7), 4 116 algol68_long_compl_dtype init (8), 4 117 algol68_bits_dtype init (19), 4 118 algol68_bool_dtype init (19), 4 119 algol68_char_dtype init (21), 4 120 algol68_byte_dtype init (21), 4 121 algol68_struct_struct_char_dtype init (22), 4 122 algol68_struct_struct_bool_dtype init (20) 4 123 ) fixed bin internal static options (constant); 4 124 4 125 dcl (label_constant_runtime_dtype init (24), 4 126 int_entry_runtime_dtype init (25), 4 127 ext_entry_runtime_dtype init (26), 4 128 ext_procedure_runtime_dtype init (27), 4 129 picture_runtime_dtype init (63) 4 130 ) fixed bin internal static options (constant); 4 131 4 132 dcl (pascal_integer_dtype init (1), 4 133 pascal_real_dtype init (4), 4 134 pascal_label_dtype init (24), 4 135 pascal_internal_procedure_dtype init (25), 4 136 pascal_exportable_procedure_dtype init (26), 4 137 pascal_imported_procedure_dtype init (27), 4 138 pascal_typed_pointer_type_dtype init (64), 4 139 pascal_char_dtype init (65), 4 140 pascal_boolean_dtype init (66), 4 141 pascal_record_file_type_dtype init (67), 4 142 pascal_record_type_dtype init (68), 4 143 pascal_set_dtype init (69), 4 144 pascal_enumerated_type_dtype init (70), 4 145 pascal_enumerated_type_element_dtype init (71), 4 146 pascal_enumerated_type_instance_dtype init (72), 4 147 pascal_user_defined_type_dtype init (73), 4 148 pascal_user_defined_type_instance_dtype init (74), 4 149 pascal_text_file_dtype init (75), 4 150 pascal_procedure_type_dtype init (76), 4 151 pascal_variable_formal_parameter_dtype init (77), 4 152 pascal_value_formal_parameter_dtype init (78), 4 153 pascal_entry_formal_parameter_dtype init (79), 4 154 pascal_parameter_procedure_dtype init (80), 4 155 pascal_string_type_dtype init (87)) fixed bin int static options (constant); 4 156 4 157 4 158 /* END INCLUDE FILE ... std_descriptor_types.incl.pl1 */ 106 107 108 /* program */ 109 110 double = ""b; /* Assume single prec int */ 111 xp = 0; 112 saw_point = "0"b; 113 string (attr) = ""b; 114 first = "1"b; 115 prec = 0; 116 scale = 0; 117 binpt = 71; 118 number.sign = "+"; 119 120 on overflow, size goto return_from_size; 121 122 /* main loop for collecting digits, check for sign, point, and a, b, d, or e 123* fields following number. */ 124 125 do while ("1"b); 126 next_sw = "1"b; 127 128 if brk (1) = inum 129 then do; 130 if attr.float 131 then scale = scale + 1; 132 133 prec = prec + 1; 134 number.digit (prec) = ch; 135 end; 136 137 else if brk (1) = ipoint 138 then do; 139 saw_point = "1"b; 140 attr.float = "1"b; 141 end; 142 143 else if brk (1) = iminus 144 then number.sign = "-"; 145 146 else if brk (1) = iplus 147 then ; 148 149 else 150 label_220: 151 if brk (1) = ilet 152 then begin; 153 declare char char (1) aligned; 154 155 /* letter encountered, evaluate b, d, or e field. */ 156 157 char = byte (brk (2)); 158 159 if char = "a" & ^attr.binary & ^attr.float & number.sign ^= "-" 160 then begin; 161 declare chars char (32); 162 declare i fixed bin; 163 declare word_count fixed bin; 164 165 declare char_array (8) char (4) defined (chars); 166 167 /* ascii literal, pack characters into rslts and return count. */ 168 169 call assign_ (addr (x (1)), 2 * real_fix_bin_2_dtype, 71, addr (buffer), 170 2 * real_fix_dec_9bit_ls_dtype, prec); 171 172 type = eb_data_$iasc; 173 x (2) = min (x (2), length (chars)); 174 word_count = max (divide (x (2) + 3, 4, 17), 1); 175 unspec (chars) = ""b; 176 177 do i = 1 to x (2); 178 call inputs_$ascii_literal; 179 substr (chars, i, 1) = byte (brk (2)); 180 end; 181 182 do i = 1 to word_count; 183 unspec (rslts (i)) = unspec (char_array (i)); 184 end; 185 186 call inputs_$next; 187 188 return (word_count); 189 end; 190 191 else if char = "b" & ^attr.binary 192 then do; 193 attr.binary = "1"b; 194 binpt = evaluate_integer_field (); 195 end; 196 197 else if char = "L" & ^double 198 then do; 199 call inputs_$next; 200 double = "1"b; 201 end; 202 else do; 203 if char = "d" 204 then attr.double = "1"b; 205 206 else if char ^= "e" 207 then prnte = 1; /* TRUE */ 208 209 attr.float = "1"b; 210 xp = evaluate_integer_field (); 211 end; 212 213 goto label_220; 214 end; 215 216 else if ^first 217 then do; 218 219 /* end of field, convert number to proper format, set type, return results and 220* break, and set value to number of words. */ 221 222 if ^attr.binary & ^attr.float 223 then do; 224 type = eb_data_$iint; 225 call assign_ (addr (x (1)), 2 * real_fix_bin_2_dtype, 71, addr (buffer), 226 2 * real_fix_dec_9bit_ls_dtype, prec); 227 228 /* if requested precision double then we supply two words. */ 229 230 if double then do; 231 rslts (1) = x (1); 232 rslts (2) = x (2); 233 return (2); 234 end; 235 236 /* Original assumption - return just a single word. */ 237 238 rslts (1) = x (2); 239 240 return (1); 241 end; 242 243 number.exponent = xp - scale; 244 245 if attr.binary 246 then do; 247 type = eb_data_$ifxd; 248 249 if prnte ^= 1 250 then call assign_ (addr (x (1)), 2 * real_fix_bin_2_dtype, (71 - binpt) * 1f18b + 71, 251 addr (buffer), 2 * real_flt_dec_9bit_dtype, prec); 252 end; 253 254 else do; 255 type = eb_data_$iflt; 256 call assign_ (addr (x (1)), 2 * real_flt_bin_2_dtype, 63, addr (buffer), 257 2 * real_flt_dec_9bit_dtype, prec); 258 end; 259 260 rslts (1) = x (1); 261 rslts (2) = x (2); 262 263 if attr.double 264 then return (2); 265 else return (1); 266 end; 267 268 else do; 269 call inputs_$nxtnb; 270 next_sw = "0"b; 271 end; 272 273 if next_sw 274 then call inputs_$next; 275 276 first = "0"b; 277 end; 278 279 /* A size condition occured. This was probably in assign_, but could have 280* been in evaluate_integer_field. Just return something so the rest of the 281* program will get parsed. If the size condition occured in the call to 282* assign_ in the ascii literal, or during evaluate_integer_field, the current 283* input character is not advanced passed this literal so other syntax errors 284* on the input line may result. */ 285 286 return_from_size: 287 prnte = 1; /* TRUE */ 288 type = eb_data_$iint; 289 rslts (1) = 0; 290 291 return (1); 292 293 evaluate_integer_field: 294 procedure returns (fixed bin (26)); 295 296 declare int fixed bin (26); 297 declare sign fixed bin; 298 299 sign = 1; 300 int = 0; 301 first = "0"b; 302 303 call inputs_$next; 304 do while (brk (1) = iplus | brk (1) = iminus | brk (1) = inum); 305 if brk (1) = iminus 306 then sign = -1; 307 308 else if brk (1) = inum 309 then int = 10 * int + brk (2) - rank ("0"); 310 311 call inputs_$next; 312 end; 313 314 return (sign * int); 315 end evaluate_integer_field; 316 317 end decevl_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/24/88 1358.5 decevl_.pl1 >special_ldd>install>MR12.2-1184>decevl_.pl1 103 1 10/21/74 1242.9 varcom.incl.pl1 >ldd>include>varcom.incl.pl1 104 2 07/17/81 1911.5 erflgs.incl.pl1 >ldd>include>erflgs.incl.pl1 105 3 05/06/74 1741.0 codtab.incl.pl1 >ldd>include>codtab.incl.pl1 106 4 10/24/88 1336.9 std_descriptor_types.incl.pl1 >special_ldd>install>MR12.2-1184>std_descriptor_types.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 82 ref 118 134 134 143 159 169 169 169 169 225 225 225 225 243 249 249 249 249 256 256 256 256 assign_ 000020 constant entry external dcl 98 ref 169 225 249 256 attr 000100 automatic structure level 1 packed packed unaligned dcl 52 set ref 113* binary 000100 automatic bit(1) level 2 packed packed unaligned dcl 52 set ref 159 191 193* 222 245 binpt Tʪrpv root_01 root_02 root_03 root_04 tr01 bull01 bull02 bull03 bull04 bull05 pub_01 pub_02 pub_03 pub_04 pub_05 pub_06 pub_07 pub_08  inum 60 000034 external static fixed bin(17,0) level 2 dcl 3-6 ref 128 304 308 iplus 53 000034 external static fixed bin(17,0) level 2 dcl 3-6 ref 146 304 ipoint 56 000034 external static fixed bin(17,0) level 2 dcl 3-6 ref 137 length builtin function dcl 82 ref 173 max builtin function dcl 82 ref 174 min builtin function dcl 82 ref 173 next_sw 000124 automatic bit(1) dcl 60 set ref 126* 270* 273 number based structure level 1 dcl 74 overflow 000136 stack reference condition dcl 87 ref 120 prec 000125 automatic fixed bin(35,0) dcl 61 set ref 115* 133* 133 134 169* 225* 243 249* 256* prnte 000032 external static fixed bin(17,0) level 2 dcl 2-9 set ref 206* 249 286* rank builtin function dcl 82 ref 308 real_fix_bin_2_dtype constant fixed bin(17,0) initial dcl 4-25 ref 169 225 249 real_fix_dec_9bit_ls_dtype constant fixed bin(17,0) initial dcl 4-25 ref 169 225 real_flt_bin_2_dtype constant fixed bin(17,0) initial dcl 4-25 ref 256 real_flt_dec_9bit_dtype constant fixed bin(17,0) initial dcl 4-25 ref 249 256 rslts parameter fixed bin(35,0) array dcl 47 set ref 44 183* 231* 232* 238* 260* 261* 289* saw_point 000126 automatic bit(1) dcl 62 set ref 112* 139* scale 000127 automatic fixed bin(26,0) dcl 63 set ref 116* 130* 130 243 sign based char(1) level 2 in structure "number" packed packed unaligned dcl 74 in procedure "decevl_" set ref 118* 143* 159 sign 000177 automatic fixed bin(17,0) dcl 297 in procedure "evaluate_integer_field" set ref 299* 305* 314 size 000144 stack reference condition dcl 87 ref 120 string builtin function dcl 82 set ref 113* substr builtin function dcl 82 set ref 179* type parameter fixed bin(26,0) dcl 48 set ref 44 172* 224* 247* 255* 288* unspec builtin function dcl 82 set ref 175* 183* 183 word_count 000164 automatic fixed bin(17,0) dcl 163 set ref 174* 182 188 x 2 000130 automatic fixed bin(26,0) array level 2 dcl 64 set ref 169 169 173* 173 174 177 225 225 231 232 238 249 249 256 256 260 261 x_structure 000130 automatic structure level 1 dcl 64 xp 000135 automatic fixed bin(26,0) dcl 67 set ref 111* 210* 243 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. algol68_array_descriptor_dtype internal static fixed bin(17,0) initial dcl 4-25 algol68_bits_dtype internal static fixed bin(17,0) initial dcl 4-110 algol68_bool_dtype internal static fixed bin(17,0) initial dcl 4-110 algol68_byte_dtype internal static fixed bin(17,0) initial dcl 4-110 algol68_char_dtype internal static fixed bin(17,0) initial dcl 4-110 algol68_compl_dtype internal static fixed bin(17,0) initial dcl 4-110 algol68_format_dtype internal static fixed bin(17,0) initial dcl 4-25 algol68_int_dtype internal static fixed bin(17,0) initial dcl 4-110 algol68_long_compl_dtype internal static fixed bin(17,0) initial dcl 4-110 algol68_long_int_dtype internal static fixed bin(17,0) initial dcl 4-110 algol68_long_real_dtype internal static fixed bin(17,0) initial dcl 4-110 algol68_real_dtype internal static fixed bin(17,0) initial dcl 4-110 algol68_short_int_dtype internal static fixed bin(17,0) initial dcl 4-110 algol68_straight_dtype internal static fixed bin(17,0) initial dcl 4-25 algol68_struct_struct_bool_dtype internal static fixed bin(17,0) initial dcl 4-110 algol68_struct_struct_char_dtype internal static fixed bin(17,0) initial dcl 4-110 algol68_union_dtype internal static fixed bin(17,0) initial dcl 4-25 area_dtype internal static fixed bin(17,0) initial dcl 4-25 bit_dtype internal static fixed bin(17,0) initial dcl 4-25 c_enum_const_dtype internal static fixed bin(17,0) initial dcl 4-25 c_enum_dtype internal static fixed bin(17,0) initial dcl 4-25 c_typeref_dtype internal static fixed bin(17,0) initial dcl 4-25 c_union_dtype internal static fixed bin(17,0) initial dcl 4-25 char_dtype internal static fixed bin(17,0) initial dcl 4-25 cobol_char_string_dtype internal static fixed bin(17,0) initial dcl 4-25 cobol_comp_5_ts_dtype internal static fixed bin(17,0) initial dcl 4-25 cobol_comp_5_uns_dtype internal static fixed bin(17,0) initial dcl 4-25 cobol_comp_6_dtype internal static fixed bin(17,0) initial dcl 4-25 cobol_comp_7_dtype internal static fixed bin(17,0) initial dcl 4-25 cobol_comp_8_ls_dtype internal static fixed bin(17,0) initial dcl 4-25 cobol_comp_8_uns_dtype internal static fixed bin(17,0) initial dcl 4-25 cobol_display_ls_dtype internal static fixed bin(17,0) initial dcl 4-25 cobol_display_ls_overp_dtype internal static fixed bin(17,0) initial dcl 4-25 cobol_display_ts_dtype internal static fixed bin(17,0) initial dcl 4-25 cobol_display_ts_overp_dtype internal static fixed bin(17,0) initial dcl 4-25 cobol_display_uns_dtype internal static fixed bin(17,0) initial dcl 4-25 cobol_structure_dtype internal static fixed bin(17,0) initial dcl 4-25 cplx_fix_bin_1_dtype internal static fixed bin(17,0) initial dcl 4-25 cplx_fix_bin_2_dtype internal static fixed bin(17,0) initial dcl 4-25 cplx_fix_dec_4bit_bytealigned_ls_dtype internal static fixed bin(17,0) initial dcl 4-25 cplx_fix_dec_9bit_ls_dtype internal static fixed bin(17,0) initial dcl 4-25 cplx_flt_bin_1_dtype internal static fixed bin(17,0) initial dcl 4-25 cplx_flt_bin_2_dtype internal static fixed bin(17,0) initial dcl 4-25 cplx_flt_bin_generic_dtype internal static fixed bin(17,0) initial dcl 4-25 cplx_flt_dec_4bit_bytealigned_dtype internal static fixed bin(17,0) initial dcl 4-25 cplx_flt_dec_9bit_dtype internal static fixed bin(17,0) initial dcl 4-25 cplx_flt_dec_extended_dtype internal static fixed bin(17,0) initial dcl 4-25 cplx_flt_dec_generic_dtype internal static fixed bin(17,0) initial dcl 4-25 cplx_flt_hex_1_dtype internal static fixed bin(17,0) initial dcl 4-25 cplx_flt_hex_2_dtype internal static fixed bin(17,0) initial dcl 4-25 eb_data_$erflgs external static structure level 1 dcl 2-5 entry_dtype internal static fixed bin(17,0) initial dcl 4-25 ext_entry_runtime_dtype internal static fixed bin(17,0) initial dcl 4-125 ext_procedure_runtime_dtype internal static fixed bin(17,0) initial dcl 4-125 file_dtype internal static fixed bin(17,0) initial dcl 4-25 ft_char_dtype internal static fixed bin(17,0) initial dcl 4-96 ft_complex_double_dtype internal static fixed bin(17,0) initial dcl 4-96 ft_complex_dtype internal static fixed bin(17,0) initial dcl 4-96 ft_double_dtype internal static fixed bin(17,0) initial dcl 4-96 ft_external_dtype internal static fixed bin(17,0) initial dcl 4-96 ft_hex_complex_double_dtype internal static fixed bin(17,0) initial dcl 4-96 ft_hex_complex_dtype internal static fixed bin(17,0) initial dcl 4-96 ft_hex_double_dtype internal static fixed bin(17,0) initial dcl 4-96 ft_hex_real_dtype internal static fixed bin(17,0) initial dcl 4-96 ft_integer_dtype internal static fixed bin(17,0) initial dcl 4-96 ft_logical_dtype internal static fixed bin(17,0) initial dcl 4-96 ft_real_dtype internal static fixed bin(17,0) initial dcl 4-96 int_entry_runtime_dtype internal static fixed bin(17,0) initial dcl 4-125 label_constant_runtime_dtype internal static fixed bin(17,0) initial dcl 4-125 label_dtype internal static fixed bin(17,0) initial dcl 4-25 offset_dtype internal static fixed bin(17,0) initial dcl 4-25 pascal_boolean_dtype internal static fixed bin(17,0) initial dcl 4-132 pascal_char_dtype internal static fixed bin(17,0) initial dcl 4-132 pascal_entry_formal_parameter_dtype internal static fixed bin(17,0) initial dcl 4-132 pascal_enumerated_type_dtype internal static fixed bin(17,0) initial dcl 4-132 pascal_enumerated_type_element_dtype internal static fixed bin(17,0) initial dcl 4-132 pascal_enumerated_type_instance_dtype internal static fixed bin(17,0) initial dcl 4-132 pascal_exportable_procedure_dtype internal static fixed bin(17,0) initial dcl 4-132 pascal_imported_procedure_dtype internal static fixed bin(17,0) initial dcl 4-132 pascal_integer_dtype internal static fixed bin(17,0) initial dcl 4-132 pascal_internal_procedure_dtype internal static fixed bin(17,0) initial dcl 4-132 pascal_label_dtype internal static fixed bin(17,0) initial dcl 4-132 pascal_parameter_procedure_dtype internal static fixed bin(17,0) initial dcl 4-132 pascal_procedure_type_dtype internal static fixed bin(17,0) initial dcl 4-132 pascal_real_dtype internal static fixed bin(17,0) initial dcl 4-132 pascal_record_file_type_dtype internal static fixeTtAVpub_05 6 242 130 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME decevl_ 173 external procedure is an external procedure. on unit on line 120 64 on unit begin block on line 149 begin block shares stack frame of external procedure decevl_. begin block on line 159 begin block shares stack frame of external procedure decevl_. evaluate_integer_field internal procedure shares stack frame of external procedure decevl_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME decevl_ 000100 attr decevl_ 000101 binpt decevl_ 000102 buffer decevl_ 000122 double decevl_ 000123 first decevl_ 000124 next_sw decevl_ 000125 prec decevl_ 000126 saw_point decevl_ 000127 scale decevl_ 000130 x_structure decevl_ 000135 xp decevl_ 000152 char begin block on line 149 000153 chars begin block on line 159 000163 i begin block on line 159 000164 word_count begin block on line 159 000176 int evaluate_integer_field 000177 sign evaluate_integer_field THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out begin_return_mac return_mac tra_ext_1 enable_op ext_entry int_entry trunc_fx2 THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. assign_ inputs_$ascii_literal inputs_$next inputs_$nxtnb THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. eb_data_$codtab eb_data_$erflgs_overlay eb_data_$iasc eb_data_$iflt eb_data_$ifxd eb_data_$iint eb_data_$varcom LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 44 000012 110 000023 111 000024 112 000025 113 000026 114 000030 115 000032 116 000033 117 000034 118 000036 120 000040 126 000064 128 000066 130 000073 133 000077 134 000103 135 000107 137 000110 139 000112 140 000113 141 000115 143 000116 146 000123 149 000126 157 000133 159 000140 169 000157 172 000212 173 000216 174 000223 175 000231 177 000234 178 000243 179 000250 180 000261 182 000263 183 000273 184 000277 186 000301 188 000306 159 000313 191 000314 193 000321 194 000323 195 000325 197 000326 199 000333 200 000337 201 000341 203 000342 206 000350 209 000354 210 000356 213 000360 149 000361 216 000362 222 000364 224 000373 225 000376 230 000430 231 000432 232 000435 233 000440 238 000443 240 000446 243 000451 245 000466 247 000470 249 000473 252 000535 255 000536 256 000541 260 000573 261 000576 263 000601 265 000607 269 000612 270 000616 273 000617 276 000626 277 000627 286 000630 288 000633 289 000636 291 000637 293 000642 299 000644 300 000646 301 000647 303 000650 304 000655 305 000667 308 000674 311 000713 312 000717 314 000720 ----------------------------------------------------------- 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