COMPILATION LISTING OF SEGMENT format_pl1_error_ Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 08/10/84 0947.1 mst Fri Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* * Copyright (c) 1972 by Massachusetts Institute of * 6* * Technology and Honeywell Information Systems, Inc. * 7* * * 8* *********************************************************** */ 9 10 11 /* Centralize format_pl1 error reporting. 12* 13* Written by Paul Green. 14* Modified by Monte Davidoff. 15**/ 16 /* format: style5 */ 17 format_pl1_error_: 18 procedure (P_temp_segs, P_severity, P_error_string, P_source_ptr); 19 20 declare P_temp_segs (*) pointer; /* (Input) array of temporary segment pointers */ 21 declare P_severity fixed binary (35); 22 /* (Input) severity of the error */ 23 declare P_error_string char (*); /* (Input) error message */ 24 declare P_source_ptr pointer; /* (Input) pointer to where error occured in the source */ 25 26 /* automatic */ 27 28 declare line_length fixed binary (21); 29 declare line_number fixed binary (21); 30 declare line_start fixed binary (21); 31 32 /* based */ 33 34 declare source_string char (global.source_length) 35 based (global.source_ptr); 36 37 /* builtin */ 38 39 declare (divide, index, length, max, null, size, substr) 40 builtin; 41 42 /* internal static */ 43 44 declare NL char (1) internal static 45 options (constant) initial (" 46 "); 47 48 /* entry */ 49 50 declare char_offset_ entry (pointer) 51 returns (fixed binary (21)) reducible; 52 declare ioa_ entry options (variable); 53 1 1 /* BEGIN INCLUDE FILE . . . format_pl1_dcls.incl.pl1 */ 1 2 1 3 /* DESCRIPTION: 1 4* This include file contains common definitions used by the format_pl1 1 5* programs. It defines tokens, statement types, mode types, etc. 1 6**/ 1 7 1 8 /* HISTORY: 1 9*Written by somebody, sometime. 1 10*Modified: 1 11*07/15/84 by R. Michael Tague: Added the statement types: 1 12* percent_abort_statement through percent_warn_statement. Added 1 13* the condition is_macro_whitespace. Added the modes: mode_indbegin, 1 14* mode_indbeginend, mode_indthenbegin, mode_indthenbeginend, 1 15* mode_indprocbody, mode_elsestmt, mode_equalind, and mode_linconind. 1 16* Added style5. 1 17**/ 1 18 1 19 /* format: style5 */ 1 20 1 21 /* automatic */ 1 22 1 23 declare temp_segs (4) pointer; 1 24 1 25 /* based */ 1 26 1 27 /* format_pl1_ places the unit_stack and the declare_stack after the token array */ 1 28 1 29 declare 1 token (divide (sys_info$max_seg_size, 3, 19)) 1 30 aligned based (temp_segs (1)), 1 31 2 string_size fixed binary (21) unaligned, 1 32 2 pad bit (5) unaligned, 1 33 2 type fixed binary (8) unaligned, 1 34 2 string_ptr pointer unaligned, 1 35 2 trailer_index fixed binary (17); 1 36 1 37 declare 1 trailer (divide (sys_info$max_seg_size, 2, 19)) 1 38 aligned based (temp_segs (2)), 1 39 2 string_size fixed binary (21) unaligned, 1 40 2 continued bit (1) unaligned, 1 41 2 pad bit (4) unaligned, 1 42 2 type fixed binary (8) unaligned, 1 43 2 string_ptr pointer unaligned; 1 44 1 45 /* format_pl1_ places the item array and the levels array after the stmt array */ 1 46 1 47 declare 1 global_header aligned based, 1 48 2 source_ptr pointer, 1 49 2 source_length fixed binary (21), 1 50 2 n_tokens fixed binary (17), 1 51 2 n_trailers fixed binary (17), 1 52 2 n_stmts fixed binary (17), 1 53 2 output_length fixed binary (21), 1 54 2 max_severity fixed binary (35), 1 55 2 modes_ptr pointer, 1 56 2 modes_length fixed binary (21), 1 57 2 ca unaligned, 1 58 3 check_comments bit (1), 1 59 3 check_strings bit (1), 1 60 3 force bit (1), 1 61 3 long bit (1), 1 62 3 record_style bit (1), 1 63 3 require_style_comment 1 64 bit (1), 1 65 2 flags unaligned, 1 66 3 include_file bit (1), 1 67 3 rdc_source bit (1), 1 68 3 pad bit (28), 1 69 2 command_line_style aligned like style, 1 70 2 prevailing_style aligned like style, 1 71 2 current_style aligned like style; 1 72 1 73 declare 1 global aligned based (temp_segs (3)), 1 74 2 header aligned like global_header, 1 75 2 stmt ( 1 76 divide (sys_info$max_seg_size 1 77 - size (global_header), 2, 19)), 1 78 3 type fixed binary (8) unaligned, 1 79 3 subtype fixed binary (8) unaligned, 1 80 3 start fixed binary (17) unaligned, 1 81 3 end fixed binary (17) unaligned, 1 82 3 pad bit (18) unaligned; 1 83 1 84 declare output_string char (4 * sys_info$max_seg_size) 1 85 based (temp_segs (4)); 1 86 1 87 /* internal static */ 1 88 1 89 declare command char (10) internal static 1 90 options (constant) initial ("format_pl1"); 1 91 1 92 /* token types */ 1 93 1 94 declare ( 1 95 no_token initial (0), 1 96 invalid_char initial (1), 1 97 identifier initial (2), 1 98 keyword_token initial (3), 1 99 isub initial (4), 1 100 plus initial (5), 1 101 minus initial (6), 1 102 asterisk initial (7), 1 103 slash initial (8), 1 104 expon initial (9), 1 105 not initial (10), 1 106 and initial (11), 1 107 or initial (12), 1 108 cat initial (13), 1 109 eq initial (14), 1 110 ne initial (15), 1 111 lt initial (16), 1 112 gt initial (17), 1 113 le initial (18), 1 114 ge initial (19), 1 115 ngt initial (20), 1 116 nlt initial (21), 1 117 prefix_plus initial (22), 1 118 prefix_minus initial (23), 1 119 assignment initial (24), 1 120 colon initial (25), 1 121 semi_colon initial (26), 1 122 comma initial (27), 1 123 period initial (28), 1 124 arrow initial (29), 1 125 left_parn initial (30), 1 126 right_parn initial (31), 1 127 percent initial (32), 1 128 target_comma initial (33), 1 129 comment_token initial (34), 1 130 nl_vt_np_token initial (35), 1 131 bit_string initial (36), 1 132 char_string initial (37), 1 133 fixed_bin initial (38), 1 134 bin_integer initial (39), 1 135 fixed_dec initial (40), 1 136 dec_integer initial (41), 1 137 float_bin initial (42), 1 138 token_hole_1 initial (43), 1 139 float_dec initial (44), 1 140 token_hole_2 initial (45), 1 141 i_fixed_bin initial (46), 1 142 i_bin_integer initial (47), 1 143 i_fixed_dec initial (48), 1 144 i_dec_integer initial (49), 1 145 i_float_bin initial (50), 1 146 token_hole_3 initial (51), 1 147 i_float_dec initial (52), 1 148 token_hole_4 initial (53) 1 149 ) fixed binary (8) internal static 1 150 options (constant); 1 151 1 152 /* token class limits */ 1 153 1 154 declare ( 1 155 min_delimiter_token initial (5), 1 156 max_delimiter_token initial (35), 1 157 min_constant_token initial (36), 1 158 max_constant_token initial (53), 1 159 min_arithmetic_token initial (38), 1 160 max_arithmetic_token initial (53) 1 161 ) fixed binary (8) internal static 1 162 options (constant); 1 163 1 164 /* arithmetic token type masks */ 1 165 1 166 declare ( 1 167 is_imaginary_constant initial ("1000"b), 1 168 is_float_constant initial ("0100"b), 1 169 is_decimal_constant initial ("0010"b), 1 170 is_integral_constant initial ("0001"b) 1 171 ) bit (4) aligned internal static 1 172 options (constant); 1 173 1 174 /* lexical limits */ 1 175 1 176 declare ( 1 177 max_bit_string_constant initial (253), 1 178 max_char_string_constant 1 179 initial (254), 1 180 max_identifier_length initial (256) 1 181 ) fixed binary internal static options (constant); 1 182 1 183 /* statement types */ 1 184 1 185 declare ( 1 186 unknown_statement initial (0), 1 187 allocate_statement initial (1), 1 188 assignment_statement initial (2), 1 189 begin_statement initial (3), 1 190 call_statement initial (4), 1 191 close_statement initial (5), 1 192 declare_statement initial (6), 1 193 lock_statement initial (7), 1 194 delete_statement initial (8), 1 195 display_statement initial (9), 1 196 do_statement initial (10), 1 197 else_clause initial (11), 1 198 end_statement initial (12), 1 199 entry_statement initial (13), 1 200 exit_statement initial (14), 1 201 format_statement initial (15), 1 202 free_statement initial (16), 1 203 get_statement initial (17), 1 204 goto_statement initial (18), 1 205 if_statement initial (19), 1 206 locate_statement initial (20), 1 207 null_statement initial (21), 1 208 on_statement initial (22), 1 209 open_statement initial (23), 1 210 procedure_statement initial (24), 1 211 put_statement initial (25), 1 212 read_statement initial (26), 1 213 return_statement initial (27), 1 214 revert_statement initial (28), 1 215 rewrite_statement initial (29), 1 216 signal_statement initial (30), 1 217 stop_statement initial (31), 1 218 system_on_unit initial (32), 1 219 unlock_statement initial (33), 1 220 wait_statement initial (34), 1 221 write_statement initial (35), 1 222 default_statement initial (36), 1 223 condition_prefix_list initial (37), 1 224 label_prefix_list initial (38), 1 225 percent_statement initial (39), 1 226 percent_abort_statement initial (40), 1 227 percent_default_statement 1 228 initial (41), 1 229 percent_else_statement initial (42), 1 230 percent_elseif_statement 1 231 initial (43), 1 232 percent_endif_statement initial (44), 1 233 percent_error_statement initial (45), 1 234 percent_if_statement initial (46), 1 235 percent_include_statement 1 236 initial (47), 1 237 percent_page_statement initial (48), 1 238 percent_print_statement initial (49), 1 239 percent_replace_statement 1 240 initial (50), 1 241 percent_set_statement initial (51), 1 242 percent_skip_statement initial (52), 1 243 percent_warn_statement initial (53) 1 244 ) fixed binary (8) internal static 1 245 options (constant); 1 246 1 247 declare is_independent_statement 1 248 (0:53) bit (1) aligned internal static 1 249 options (constant) 1 250 initial ("0"b, (2) (1)"1"b, "0"b, (2) (1)"1"b, 1 251 "0"b, (3) (1)"1"b, (4) (1)"0"b, "1"b, "0"b, 1 252 (8) (1)"1"b, "0"b, (11) (1)"1"b, (18) (1)"0"b); 1 253 1 254 declare is_macro_statement (0:53) bit (1) aligned internal static 1 255 options (constant) 1 256 initial ((39) (1)"0"b, (15) (1)"1"b); 1 257 1 258 declare is_macro_whitespace (0:53) bit (1) aligned internal static 1 259 options (constant) 1 260 initial ((39) (1)"0"b, (3) (1)"1"b, (3) (1)"0"b, 1 261 "1"b, "0"b, (7) (1)"1"b); 1 262 1 263 /* statement subtypes */ 1 264 1 265 declare ( 1 266 subtype_none initial (0), 1 267 subtype_noniterative_do initial (1) 1 268 ) fixed binary (8) internal static 1 269 options (constant); 1 270 1 271 /* style structures and constants */ 1 272 1 273 declare 1 style aligned based, 1 274 2 switches (26) bit (1) unaligned, 1 275 2 pad bit (10) unaligned, 1 276 2 values (10) fixed binary; 1 277 1 278 /* named modes for format_pl1_ */ 1 279 1 280 declare ( 1 281 mode_on defined (global.current_style.switches (1)), 1 282 mode_inddcls defined (global.current_style.switches (2)), 1 283 mode_delnl defined (global.current_style.switches (3)), 1 284 mode_insnl defined (global.current_style.switches (4)), 1 285 mode_indattr defined (global.current_style.switches (5)), 1 286 mode_linecom defined (global.current_style.switches (6)), 1 287 mode_case defined (global.current_style.switches (7)), 1 288 mode_ifthenstmt defined (global.current_style.switches (8)), 1 289 mode_ifthendo defined (global.current_style.switches (9)), 1 290 mode_ifthen defined (global.current_style.switches (10)), 1 291 mode_indthenelse defined (global.current_style.switches (11)), 1 292 mode_indnoniterdo defined (global.current_style.switches (12)), 1 293 mode_indnoniterend defined (global.current_style.switches (13)), 1 294 mode_indcomtxt defined (global.current_style.switches (14)), 1 295 mode_thendo defined (global.current_style.switches (15)), 1 296 mode_inditerdo defined (global.current_style.switches (16)), 1 297 mode_indend defined (global.current_style.switches (17)), 1 298 mode_indproc defined (global.current_style.switches (18)), 1 299 mode_indcom defined (global.current_style.switches (19)), 1 300 mode_indblkcom defined (global.current_style.switches (20)), 1 301 mode_indbegin defined (global.current_style.switches (21)), 1 302 mode_indbeginend defined (global.current_style.switches (22)), 1 303 mode_indthenbegin defined (global.current_style.switches (23)), 1 304 mode_indthenbeginend defined (global.current_style.switches (24)), 1 305 mode_indprocbody defined (global.current_style.switches (25)), 1 306 mode_elsestmt defined (global.current_style.switches (26)) 1 307 ) bit (1); 1 308 1 309 declare ( 1 310 mode_ind defined (global.current_style.values (1)), 1 311 mode_ll defined (global.current_style.values (2)), 1 312 mode_initcol defined (global.current_style.values (3)), 1 313 mode_declareind defined (global.current_style.values (4)), 1 314 mode_dclind defined (global.current_style.values (5)), 1 315 mode_idind defined (global.current_style.values (6)), 1 316 mode_struclvlind defined (global.current_style.values (7)), 1 317 mode_comcol defined (global.current_style.values (8)), 1 318 mode_equalind defined (global.current_style.values (9)), 1 319 mode_lineconind defined (global.current_style.values (10)) 1 320 ) fixed binary; 1 321 1 322 /* mode names */ 1 323 1 324 declare switch_mode_names (26) char (15) internal static 1 325 options (constant) 1 326 initial ("on", "inddcls", "delnl", "insnl", 1 327 "indattr", "linecom", "case", "ifthenstmt", 1 328 "ifthendo", "ifthen", "indthenelse", 1 329 "indnoniterdo", "indnoniterend", "indcomtxt", 1 330 "thendo", "inditerdo", "indend", "indproc", 1 331 "indcom", "indblkcom", "indbegin", 1 332 "indbeginend", "indthenbegin", 1 333 "indthenbeginend", "indprocbody", "elsestmt"); 1 334 1 335 declare switch_antonym_names (26) char (4) internal static 1 336 options (constant) 1 337 initial ("off", (5) (1)"", "tree", (19) (1)""); 1 338 1 339 declare value_mode_names (10) char (12) internal static 1 340 options (constant) 1 341 initial ("ind", "ll", "initcol", "declareind", 1 342 "dclind", "idind", "struclvlind", "comcol", 1 343 "equalind", "lineconind"); 1 344 1 345 /* predefined styles */ 1 346 1 347 /* style1: on,inddcls,^delnl,^insnl,indattr,^linecom,case,^ifthenstmt,^ifthendo,^ifthen,^indthenelse,indnoniterdo, 1 348* ^indnoniterend,^indcomtxt,^thendo,inditerdo,^indend,^indproc,^indcom,indblkcom,indbegin,^indbeginend,indthenbegin,^indthenbeginend,indprocbody,elsestmt,ind5,ll122,initcol6,declareind8, 1 349* dclind8,idind23,struclvlind2,comcol61,equalind0,lineconind5 1 350* style2: style1,delnl,insnl 1 351* style3: style2,^inddcls,declareind10,dclind10,idind20 1 352* style4: style1,^inddcls,^indattr,linecom,ifthendo,^indnoniterdo,indcomtxt,^inditerdo,indproc,^indthenbegin,declareind9,dclind5 1 353* style5: style2,linecom,ifthen,^indnoniterdo,indnoniterend,indcomtxt,^indthenbegin,indthenbeginend,^indprocbody,^elsestmt,ind8,ll80,initcol0,idind24,comcol57,lineconind4 1 354* 1 355* 1 356**/ 1 357 1 358 declare 1 styles (5) aligned internal static options (constant), 1 359 2 switches (26) bit (1) unaligned 1 360 initial ("1"b, "1"b, "0"b, "0"b, "1"b, "0"b, 1 361 "1"b, "0"b, "0"b, "0"b, "0"b, "1"b, "0"b, "0"b, 1 362 "0"b, "1"b, "0"b, "0"b, "0"b, "1"b, "1"b, "0"b, 1 363 "1"b, "0"b, "1"b, "1"b, /* style1 */ 1 364 "1"b, "1"b, "1"b, "1"b, "1"b, "0"b, "1"b, "0"b, 1 365 "0"b, "0"b, "0"b, "1"b, "0"b, "0"b, "0"b, "1"b, 1 366 "0"b, "0"b, "0"b, "1"b, "1"b, "0"b, "1"b, "0"b, 1 367 "1"b, "1"b, /* style2 */ 1 368 "1"b, "0"b, "1"b, "1"b, "1"b, "0"b, "1"b, "0"b, 1 369 "0"b, "0"b, "0"b, "1"b, "0"b, "0"b, "0"b, "1"b, 1 370 "0"b, "0"b, "0"b, "1"b, "1"b, "0"b, "1"b, "0"b, 1 371 "1"b, "1"b, /* style3 */ 1 372 "1"b, "0"b, "0"b, "0"b, "0"b, "1"b, "1"b, "0"b, 1 373 "1"b, "0"b, "0"b, "0"b, "0"b, "1"b, "0"b, "0"b, 1 374 "0"b, "1"b, "0"b, "1"b, "1"b, "0"b, "0"b, "0"b, 1 375 "1"b, "1"b, /* style4 */ 1 376 "1"b, "1"b, "1"b, "1"b, "1"b, "1"b, "1"b, "0"b, 1 377 "0"b, "1"b, "0"b, "0"b, "1"b, "1"b, "0"b, "1"b, 1 378 "0"b, "0"b, "0"b, "1"b, "1"b, "0"b, "0"b, "1"b, 1 379 "0"b, "0"b), /* style5 */ 1 380 2 pad bit (10) unaligned initial ((5) (1)""b), 1 381 2 values (10) fixed binary 1 382 initial (5, 122, 6, 8, 8, 23, 2, 61, 0, 5, 1 383 /* style1 */ 1 384 5, 122, 6, 8, 8, 23, 2, 61, 0, 5, 1 385 /* style2 */ 1 386 5, 122, 6, 10, 10, 20, 2, 61, 0, 5, 1 387 /* style3 */ 1 388 5, 122, 6, 9, 5, 23, 2, 61, 0, 5, 1 389 /* style4 */ 1 390 8, 80, 1, 8, 8, 24, 2, 57, 0, 4); 1 391 /* style5 */ 1 392 1 393 /* control comment constants */ 1 394 1 395 declare control_comment_indicator 1 396 char (7) internal static 1 397 options (constant) initial ("format:"); 1 398 declare mode_separator char (1) internal static 1 399 options (constant) initial (","); 1 400 declare revert_mode char (6) internal static 1 401 options (constant) initial ("revert"); 1 402 declare style_mode char (5) internal static 1 403 options (constant) initial ("style"); 1 404 declare switch_mode_not_indicator 1 405 char (1) internal static 1 406 options (constant) initial ("^"); 1 407 1 408 /* if statement control comments */ 1 409 1 410 declare case_control_comment char (10) internal static 1 411 options (constant) initial ("/* case */"); 1 412 declare tree_control_comment char (10) internal static 1 413 options (constant) initial ("/* tree */"); 1 414 1 415 /* comment indicator constants */ 1 416 1 417 declare comment_indicator_extra_chars 1 418 char (3) internal static 1 419 options (constant) initial ((3)"*"); 1 420 declare comment_indicator_no_indcomtxt 1 421 char (1) internal static 1 422 options (constant) initial ("^"); 1 423 1 424 /* external static */ 1 425 1 426 declare sys_info$max_seg_size fixed binary (19) external static; 1 427 1 428 /* entry */ 1 429 1 430 declare format_pl1_lex_ entry ((*) pointer); 1 431 declare format_pl1_stmt_type_ entry ((*) pointer); 1 432 declare format_pl1_ entry ((*) pointer); 1 433 declare format_pl1_modes_ entry ((*) pointer, char (*), pointer, bit (1), 1 434 bit (1)); 1 435 declare format_pl1_record_style_ 1 436 entry ((*) pointer, fixed binary (21), 1 437 fixed binary); 1 438 declare format_pl1_long_ entry ((*) pointer, pointer); 1 439 declare format_pl1_error_ entry ((*) pointer, fixed binary (35), char (*), 1 440 pointer); 1 441 1 442 /* END INCLUDE FILE . . . format_pl1_dcls.incl.pl1 */ 54 55 56 /* program */ 57 58 temp_segs (*) = P_temp_segs (*); 59 60 global.max_severity = max (global.max_severity, P_severity); 61 62 line_number = 0; 63 64 if P_source_ptr ^= null then 65 begin; 66 declare loop bit (1) aligned; 67 declare source_position fixed binary (21); 68 69 source_position = 70 char_offset_ (P_source_ptr) 71 - char_offset_ (global.source_ptr) + 1; 72 73 line_start = 1; 74 line_length = 0; 75 76 loop = "1"b; 77 do while (loop); 78 line_number = line_number + 1; 79 line_start = line_start + line_length; 80 line_length = 81 index (substr (source_string, line_start), NL); 82 83 loop = line_start + line_length <= source_position 84 & line_length > 0; 85 end; 86 87 if line_length = 0 then 88 line_length = 89 length (substr (source_string, line_start)) + 1; 90 end; 91 92 /* Print the error message. */ 93 94 call ioa_ ("^/^[WARNING^s^;SEVERITY ^d ERROR^]^[^s^; ON LINE ^d^]", 95 P_severity = 1, P_severity, line_number = 0, line_number); 96 97 if P_error_string ^= "" then 98 call ioa_ ("^a", P_error_string); 99 100 if line_number > 0 then 101 call ioa_ ("SOURCE:^-^a", 102 substr (source_string, line_start, line_length - 1)); 103 end format_pl1_error_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 08/10/84 0947.1 format_pl1_error_.pl1 >special_ldd>on>6896>format_pl1_error_.pl1 54 1 08/09/84 1141.5 format_pl1_dcls.incl.pl1 >special_ldd>on>6896>format_pl1_dcls.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. NL constant char(1) initial unaligned dcl 44 ref 80 P_error_string parameter char unaligned dcl 23 set ref 17 97 97* P_severity parameter fixed bin(35,0) dcl 21 set ref 17 60 94 94* P_source_ptr parameter pointer dcl 24 set ref 17 64 69* P_temp_segs parameter pointer array dcl 20 ref 17 58 char_offset_ 000010 constant entry external dcl 50 ref 69 69 global based structure level 1 dcl 1-73 global_header based structure level 1 dcl 1-47 header based structure level 2 dcl 1-73 index builtin function dcl 39 ref 80 ioa_ 000012 constant entry external dcl 52 ref 94 97 100 length builtin function dcl 39 ref 87 line_length 000100 automatic fixed bin(21,0) dcl 28 set ref 74* 79 80* 83 83 87 87* 100 100 line_number 000101 automatic fixed bin(21,0) dcl 29 set ref 62* 78* 78 94 94* 100 line_start 000102 automatic fixed bin(21,0) dcl 30 set ref 73* 79* 79 80 83 87 100 100 loop 000115 automatic bit(1) dcl 66 set ref 76* 77 83* max builtin function dcl 39 ref 60 max_severity 7 based fixed bin(35,0) level 3 dcl 1-73 set ref 60* 60 null builtin function dcl 39 ref 64 source_length 2 based fixed bin(21,0) level 3 dcl 1-73 ref 80 87 100 100 source_position 000116 automatic fixed bin(21,0) dcl 67 set ref 69* 83 source_ptr based pointer level 3 dcl 1-73 set ref 69* 80 87 100 100 source_string based char unaligned dcl 34 ref 80 87 100 100 style based structure level 1 dcl 1-273 substr builtin function dcl 39 ref 80 87 100 100 temp_segs 000104 automatic pointer array dcl 1-23 set ref 58* 60 60 69 80 80 87 87 100 100 100 100 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. allocate_statement internal static fixed bin(8,0) initial dcl 1-185 and internal static fixed bin(8,0) initial dcl 1-94 arrow internal static fixed bin(8,0) initial dcl 1-94 assignment internal static fixed bin(8,0) initial dcl 1-94 assignment_statement internal static fixed bin(8,0) initial dcl 1-185 asterisk internal static fixed bin(8,0) initial dcl 1-94 begin_statement internal static fixed bin(8,0) initial dcl 1-185 bin_integer internal static fixed bin(8,0) initial dcl 1-94 bit_string internal static fixed bin(8,0) initial dcl 1-94 call_statement internal static fixed bin(8,0) initial dcl 1-185 case_control_comment internal static char(10) initial unaligned dcl 1-410 cat internal static fixed bin(8,0) initial dcl 1-94 char_string internal static fixed bin(8,0) initial dcl 1-94 close_statement internal static fixed bin(8,0) initial dcl 1-185 colon internal static fixed bin(8,0) initial dcl 1-94 comma internal static fixed bin(8,0) initial dcl 1-94 command internal static char(10) initial unaligned dcl 1-89 comment_indicator_extra_chars internal static char(3) initial unaligned dcl 1-417 comment_indicator_no_indcomtxt internal static char(1) initial unaligned dcl 1-420 comment_token internal static fixed bin(8,0) initial dcl 1-94 condition_prefix_list internal static fixed bin(8,0) initial dcl 1-185 control_comment_indicator internal static char(7) initial unaligned dcl 1-395 dec_integer internal static fixed bin(8,0) initial dcl 1-94 declare_statement internal static fixed bin(8,0) initial dcl 1-185 default_statement internal static fixed bin(8,0) initial dcl 1-185 delete_statement internal static fixed bin(8,0) initial dcl 1-185 display_statement internal static fixed bin(8,0) initial dcl 1-185 divide builtin function dcl 39 do_statement internal static fixed bin(8,0) initial dcl 1-185 else_clause internal static fixed bin(8,0) initial dcl 1-185 end_statement internal static fixed bin(8,0) initial dcl 1-185 entry_statement internal static fixed bin(8,0) initial dcl 1-185 eq internal static fixed bin(8,0) initial dcl 1-94 exit_statement internal static fixed bin(8,0) initial dcl 1-185 expon internal static fixed bin(8,0) initial dcl 1-94 fixed_bin internal static fixed bin(8,0) initial dcl 1-94 fixed_dec internal static fixed bin(8,0) initial dcl 1-94 float_bin internal static fixed bin(8,0) initial dcl 1-94 float_dec internal static fixed bin(8,0) initial dcl 1-94 format_pl1_ 000000 constant entry external dcl 1-432 format_pl1_error_ 000000 constant entry external dcl 1-439 format_pl1_lex_ 000000 constant entry external dcl 1-430 format_pl1_long_ 000000 constant entry external dcl 1-438 format_pl1_modes_ 000000 constant entry external dcl 1-433 format_pl1_record_style_ 000000 constant entry external dcl 1-435 format_pl1_stmt_type_ 000000 constant entry external dcl 1-431 format_statement internal static fixed bin(8,0) initial dcl 1-185 free_statement internal static fixed bin(8,0) initial dcl 1-185 ge internal static fixed bin(8,0) initial dcl 1-94 get_statement internal static fixed bin(8,0) initial dcl 1-185 goto_statement internal static fixed bin(8,0) initial dcl 1-185 gt internal static fixed bin(8,0) initial dcl 1-94 i_bin_integer internal static fixed bin(8,0) initial dcl 1-94 i_dec_integer internal static fixed bin(8,0) initial dcl 1-94 i_fixed_bin internal static fixed bin(8,0) initial dcl 1-94 i_fixed_dec internal static fixed bin(8,0) initial dcl 1-94 i_float_bin internal static fixed bin(8,0) initial dcl 1-94 i_float_dec internal static fixed bin(8,0) initial dcl 1-94 identifier internal static fixed bin(8,0) initial dcl 1-94 if_statement internal static fixed bin(8,0) initial dcl 1-185 invalid_char internal static fixed bin(8,0) initial dcl 1-94 is_decimal_constant internal static bit(4) initial dcl 1-166 is_float_constant internal static bit(4) initial dcl 1-166 is_imaginary_constant internal static bit(4) initial dcl 1-166 is_independent_statement internal static bit(1) initial array dcl 1-247 is_integral_constant internal static bit(4) initial dcl 1-166 is_macro_statement internal static bit(1) initial array dcl 1-254 is_macro_whitespace internal static bit(1) initial array dcl 1-258 isub internal static fixed bin(8,0) initial dcl 1-94 keyword_token internal static fixed bin(8,0) initial dcl 1-94 label_prefix_list internal static fixed bin(8,0) initial dcl 1-185 le internal static fixed bin(8,0) initial dcl 1-94 left_parn internal static fixed bin(8,0) initial dcl 1-94 locate_statement internal static fixed bin(8,0) initial dcl 1-185 lock_statement internal static fixed bin(8,0) initial dcl 1-185 lt internal static fixed bin(8,0) initial dcl 1-94 max_arithmetic_token internal static fixed bin(8,0) initial dcl 1-154 max_bit_string_constant internal static fixed bin(17,0) initial dcl 1-176 max_char_string_constant internal static fixed bin(17,0) initial dcl 1-176 max_constant_token internal static fixed bin(8,0) initial dcl 1-154 max_delimiter_token internal static fixed bin(8,0) initial dcl 1-154 max_identifier_length internal static fixed bin(17,0) initial dcl 1-176 min_arithmetic_token internal static fixed bin(8,0) initial dcl 1-154 min_constant_token internal static fixed bin(8,0) initial dcl 1-154 min_delimiter_token internal static fixed bin(8,0) initial dcl 1-154 minus internal static fixed bin(8,0) initial dcl 1-94 mode_case defined bit(1) unaligned dcl 1-280 mode_comcol defined fixed bin(17,0) dcl 1-309 mode_dclind defined fixed bin(17,0) dcl 1-309 mode_declareind defined fixed bin(17,0) dcl 1-309 mode_delnl defined bit(1) unaligned dcl 1-280 mode_elsestmt defined bit(1) unaligned dcl 1-280 mode_equalind defined fixed bin(17,0) dcl 1-309 mode_idind defined fixed bin(17,0) dcl 1-309 mode_ifthen defined bit(1) unaligned dcl 1-280 mode_ifthendo defined bit(1) unaligned dcl 1-280 mode_ifthenstmt defined bit(1) unaligned dcl 1-280 mode_ind defined fixed bin(17,0) dcl 1-309 mode_indattr defined bit(1) unaligned dcl 1-280 mode_indbegin defined bit(1) unaligned dcl 1-280 mode_indbeginend defined bit(1) unaligned dcl 1-280 mode_indblkcom defined bit(1) unaligned dcl 1-280 mode_indcom defined bit(1) unaligned dcl 1-280 mode_indcomtxt defined bit(1) unaligned dcl 1-280 mode_inddcls defined bit(1) unaligned dcl 1-280 mode_indend defined bit(1) unaligned dcl 1-280 mode_inditerdo defined bit(1) unaligned dcl 1-280 mode_indnoniterdo defined bit(1) unaligned dcl 1-280 mode_indnoniterend defined bit(1) unaligned dcl 1-280 mode_indproc defined bit(1) unaligned dcl 1-280 mode_indprocbody defined bit(1) unaligned dcl 1-280 mode_indthenbegin defined bit(1) unaligned dcl 1-280 mode_indthenbeginend defined bit(1) unaligned dcl 1-280 mode_indthenelse defined bit(1) unaligned dcl 1-280 mode_initcol defined fixed bin(17,0) dcl 1-309 mode_insnl defined bit(1) unaligned dcl 1-280 mode_linecom defined bit(1) unaligned dcl 1-280 mode_lineconind defined fixed bin(17,0) dcl 1-309 mode_ll defined fixed bin(17,0) dcl 1-309 mode_on defined bit(1) unaligned dcl 1-280 mode_separator internal static char(1) initial unaligned dcl 1-398 mode_struclvlind defined fixed bin(17,0) dcl 1-309 mode_thendo defined bit(1) unaligned dcl 1-280 ne internal static fixed bin(8,0) initial dcl 1-94 ngt internal static fixed bin(8,0) initial dcl 1-94 nl_vt_np_token internal static fixed bin(8,0) initial dcl 1-94 nlt internal static fixed bin(8,0) initial dcl 1-94 no_token internal static fixed bin(8,0) initial dcl 1-94 not internal static fixed bin(8,0) initial dcl 1-94 null_statement internal static fixed bin(8,0) initial dcl 1-185 on_statement internal static fixed bin(8,0) initial dcl 1-185 open_statement internal static fixed bin(8,0) initial dcl 1-185 or internal static fixed bin(8,0) initial dcl 1-94 output_string based char unaligned dcl 1-84 percent internal static fixed bin(8,0) initial dcl 1-94 percent_abort_statement internal static fixed bin(8,0) initial dcl 1-185 percent_default_statement internal static fixed bin(8,0) initial dcl 1-185 percent_else_statement internal static fixed bin(8,0) initial dcl 1-185 percent_elseif_statement internal static fixed bin(8,0) initial dcl 1-185 percent_endif_statement internal static fixed bin(8,0) initial dcl 1-185 percent_error_statement internal static fixed bin(8,0) initial dcl 1-185 percent_if_statement internal static fixed bin(8,0) initial dcl 1-185 percent_include_statement internal static fixed bin(8,0) initial dcl 1-185 percent_page_statement internal static fixed bin(8,0) initial dcl 1-185 percent_print_statement internal static fixed bin(8,0) initial dcl 1-185 percent_replace_statement internal static fixed bin(8,0) initial dcl 1-185 percent_set_statement internal static fixed bin(8,0) initial dcl 1-185 percent_skip_statement internal static fixed bin(8,0) initial dcl 1-185 percent_statement internal static fixed bin(8,0) initial dcl 1-185 percent_warn_statement internal static fixed bin(8,0) initial dcl 1-185 period internal static fixed bin(8,0) initial dcl 1-94 plus internal static fixed bin(8,0) initial dcl 1-94 prefix_minus internal static fixed bin(8,0) initial dcl 1-94 prefix_plus internal static fixed bin(8,0) initial dcl 1-94 procedure_statement internal static fixed bin(8,0) initial dcl 1-185 put_statement internal static fixed bin(8,0) initial dcl 1-185 read_statement internal static fixed bin(8,0) initial dcl 1-185 return_statement internal static fixed bin(8,0) initial dcl 1-185 revert_mode internal static char(6) initial unaligned dcl 1-400 revert_statement internal static fixed bin(8,0) initial dcl 1-185 rewrite_statement internal static fixed bin(8,0) initial dcl 1-185 right_parn internal static fixed bin(8,0) initial dcl 1-94 semi_colon internal static fixed bin(8,0) initial dcl 1-94 signal_statement internal static fixed bin(8,0) initial dcl 1-185 size builtin function dcl 39 slash internal static fixed bin(8,0) initial dcl 1-94 stop_statement internal static fixed bin(8,0) initial dcl 1-185 style_mode internal static char(5) initial unaligned dcl 1-402 styles internal static structure array level 1 dcl 1-358 subtype_none internal static fixed bin(8,0) initial dcl 1-265 subtype_noniterative_do internal static fixed bin(8,0) initial dcl 1-265 switch_antonym_names internal static char(4) initial array unaligned dcl 1-335 switch_mode_names internal static char(15) initial array unaligned dcl 1-324 switch_mode_not_indicator internal static char(1) initial unaligned dcl 1-404 sys_info$max_seg_size external static fixed bin(19,0) dcl 1-426 system_on_unit internal static fixed bin(8,0) initial dcl 1-185 target_comma internal static fixed bin(8,0) initial dcl 1-94 token based structure array level 1 dcl 1-29 token_hole_1 internal static fixed bin(8,0) initial dcl 1-94 token_hole_2 internal static fixed bin(8,0) initial dcl 1-94 token_hole_3 internal static fixed bin(8,0) initial dcl 1-94 token_hole_4 internal static fixed bin(8,0) initial dcl 1-94 trailer based structure array level 1 dcl 1-37 tree_control_comment internal static char(10) initial unaligned dcl 1-412 unknown_statement internal static fixed bin(8,0) initial dcl 1-185 unlock_statement internal static fixed bin(8,0) initial dcl 1-185 value_mode_names internal static char(12) initial array unaligned dcl 1-339 wait_statement internal static fixed bin(8,0) initial dcl 1-185 write_statement internal static fixed bin(8,0) initial dcl 1-185 NAME DECLARED BY EXPLICIT CONTEXT. format_pl1_error_ 000046 constant entry external dcl 17 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 442 456 377 452 Length 650 377 14 155 42 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME format_pl1_error_ 130 external procedure is an external procedure. begin block on line 64 begin block shares stack frame of external procedure format_pl1_error_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME format_pl1_error_ 000100 line_length format_pl1_error_ 000101 line_number format_pl1_error_ 000102 line_start format_pl1_error_ 000104 temp_segs format_pl1_error_ 000115 loop begin block on line 64 000116 source_position begin block on line 64 THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_g_a r_e_as r_le_a alloc_cs call_ext_out_desc call_ext_out return bound_check_signal shorten_stack ext_entry_desc THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. char_offset_ ioa_ NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 17 000041 58 000061 60 000125 62 000133 64 000134 69 000140 73 000167 74 000171 76 000172 77 000174 78 000176 79 000177 80 000201 83 000222 85 000231 87 000232 94 000244 97 000307 100 000336 103 000375 ----------------------------------------------------------- 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