COMPILATION LISTING OF SEGMENT graphics_editor Compiled by: Multics PL/I Compiler, Release 27d, of October 11, 1982 Compiled at: Honeywell LCPD Phoenix, System M Compiled on: 03/28/83 1401.5 mst Mon Options: optimize map 1 /* ****************************************************** 2* * * 3* * * 4* * Copyright (c) 1972 by Massachusetts Institute of * 5* * Technology and Honeywell Information Systems, Inc. * 6* * * 7* * * 8* ****************************************************** */ 9 10 graphics_editor: graphic_editor: ge: proc; 11 12 /* This procedure is an interactive editor which allows a user to construct, edit, modify, store, 13* retrieve, and display graphic entities. 14* Written about January 1975 by C. D. Tavares 15* Modified 07/14/75 by CDT to make put and get behave better. 16* Modified 08/08/75 by CDT to insert a return so that "remove" wouldn't run into "macro", 17* to make explicit allocations into implicits, to add "replay -all". 18* Modified 10/15/75 by CDT to add star processing to list command, make quit command 19* check for anything else on command line, to presort commands and system symbols, and to make remove try to 20* remove macros if it doesn't find a symbol of that name. 21* Modified 06/25/76 by CDT to add system macros (circle, arc...) 22* Modified 12/78 by CDT to add varying_text and vtext_type. 23* Modified 08/20/79 by CDT to add "." request. 24* Modified December 1982 by C. Hornig to add "increment" and "synchronize" requests. 25**/ 26 27 dcl fatal bit (1) aligned; /* if on, we will exit on any error */ 28 29 dcl p pointer; 30 31 /* Commands and system symbols should always be kept in alphabetical order in the following 32* structures. This makes the job of the list command much easier. */ 33 34 /* NOTE: The structuring of commands, system symbols, symbols, and macros are EXACTLY THE SAME as far as structuring 35* of each element (1 or 2 varying strings interspersed with fixed bin). This correspondence should 36* not be changed without the changer taking a hard look at list_proc (internam proc) which treats 37* them all largely the same. */ 38 39 dcl 1 command_list aligned static options (constant), 40 2 n_commands fixed bin initial (21), 41 2 each_command (21) aligned, 42 3 commands (2) char (32) varying initial 43 ( /* index vector */ 44 "alter", "al", /* 1 19 */ 45 "display", "di", /* 2 1 */ 46 "execute", "exec", /* 3 3 */ 47 "get", "get", /* 4 10 */ 48 "help", "?", /* 5 16 */ 49 "increment", "inc", /* 6 20 */ 50 "input", "input", /* 7 13 */ 51 "list", "ls", /* 8 2 */ 52 "macro", "macro", /* 9 7 */ 53 "put", "put", /* 10 11 */ 54 "quit", "q", /* 11 14 */ 55 "read", "read", /* 12 12 */ 56 "remove", "remove", /* 13 6 */ 57 "replay", "replay", /* 14 5 */ 58 "restart", "restart", /* 15 15 */ 59 "save", "save", /* 16 9 */ 60 "show", "show", /* 17 4 */ 61 "synchronize", "sync", /* 18 21 */ 62 "use", "use", /* 19 8 */ 63 "vtext_type", "vtype", /* 20 17 */ 64 ".", "."), /* 21 18 */ 65 3 command_vector fixed bin initial 66 (19, 1, 3, 10, 16, 20, 13, 2, 7, 11, 14, 12, 6, 5, 15, 9, 4, 21, 8, 17, 18); 67 68 dcl 1 system_symbol_list aligned static options (constant), 69 2 n_system_symbols fixed bin initial (17), 70 2 each_system_symbol (17) aligned, 71 3 system_symbols (2) char (32) varying initial 72 ( /* index vector */ 73 "array", "array", /* 1 8 */ 74 "blink", "blk", /* 2 12 */ 75 "color", "color", /* 3 17 */ 76 "datablock", "data", /* 4 16 */ 77 "intensity", "int", /* 5 10 */ 78 "linetype", "lin", /* 6 11 */ 79 "list", "list", /* 7 9 */ 80 "null", "null", /* 8 6 */ 81 "point", "pnt", /* 9 5 */ 82 "rotation", "rot", /* 10 14 */ 83 "scaling", "scl", /* 11 15 */ 84 "sensitivity", "sns", /* 12 13 */ 85 "setpoint", "spt", /* 13 2 */ 86 "setposition", "sps", /* 14 1 */ 87 "shift", "sft", /* 15 4 */ 88 "text", "text", /* 16 7 */ 89 "vector", "vec"), /* 17 3 */ 90 91 3 system_symbol_vector fixed bin initial 92 (8, 12, 17, 16, 10, 11, 9, 6, 5, 14, 15, 13, 2, 1, 4, 7, 3); 93 94 dcl 1 system_macro_list aligned static options (constant), 95 2 n_system_macros fixed bin initial (6), 96 2 each_system_macro (6) aligned, 97 3 system_macros (2) char (32) varying initial 98 ( /* index vector */ 99 "arc", "arc", /* 1 1 */ 100 "box", "box", /* 2 2 */ 101 "circle", "crc", /* 3 3 */ 102 "ellipse", "ellipse", /* 4 4 */ 103 "polygon", "polygon", /* 5 5 */ 104 "varying_text", "vtext"), /* 6 6 */ 105 106 3 system_macro_vector fixed bin initial 107 (1, 2, 3, 4, 5, 6); 108 109 dcl char_count fixed bin (21), 110 input_ptr pointer; 111 112 dcl input_dir char (168), 113 input_entry char (32), 114 temp_string char (168), 115 prog_dir char (168), 116 prog_ent char (32), 117 me_bc fixed bin (24), 118 me_ptr pointer, 119 library_description char (64), 120 my_date_time char (24), 121 mode fixed bin; 122 123 dcl 1 search_libraries (2) static options (constant), 124 2 dir char (168) initial (">unbundled", ">exl>graphics_system"), 125 2 description char (64) initial ("Installed", "Experimental"); 126 127 dcl (ioa_, com_err_, com_err_$suppress_name) ext entry options (variable); 128 129 dcl hcs_$initiate_count ext entry (char (*), char (*), char (*), fixed bin (35), fixed bin, pointer, fixed bin (35)), 130 hcs_$initiate ext entry (char (*), char (*), char (*), fixed bin, fixed bin, pointer, fixed bin (35)), 131 hcs_$terminate_noname ext entry (pointer, fixed bin (35)), 132 hcs_$fs_get_path_name ext entry (pointer, char (*), fixed bin, char (*), fixed bin (35)), 133 hcs_$status_mins ext entry (pointer, fixed bin, fixed bin (24), fixed bin (35)), 134 hcs_$fs_get_mode ext entry (pointer, fixed bin, fixed bin (35)), 135 date_time_ ext entry (fixed bin (71), char (*)), 136 object_info_$display ext entry (pointer, fixed bin (24), pointer, fixed bin (35)); 137 138 dcl error_table_$moderr ext fixed bin (35); 139 140 dcl 1 definitive_environment aligned, 141 2 stack_p pointer, 142 2 command_p pointer, 143 2 system_symbol_p pointer, 144 2 system_macro_p pointer, 145 2 sym_p pointer, 146 2 mac_p pointer, 147 2 areap pointer, 148 2 at_ptr pointer, 149 2 error_message char (100) varying, 150 2 external_char_table aligned, 151 3 dirname char (168) unaligned, 152 3 ename char (32) unaligned, 153 2 default_char_table aligned like external_char_table, 154 2 cur_char_table aligned like external_char_table; 155 156 dcl environment_ptr pointer; 157 158 dcl (i, file_count) fixed bin, 159 bc fixed bin (35); 160 161 dcl (program_interrupt, 162 cleanup) condition; 163 164 dcl expand_pathname_ ext entry (char (*), char (*), char (*), fixed bin (35)), 165 expand_pathname_$add_suffix ext entry (char (*), char (*), char (*), char (*), fixed bin (35)); 166 167 dcl cu_$arg_count ext entry (fixed bin), 168 cu_$arg_ptr ext entry (fixed bin, pointer, fixed bin, fixed bin (35)), 169 ap pointer, 170 al fixed bin, 171 arg based (ap) char (al), 172 code fixed bin (35); 173 174 dcl get_temp_segment_ ext entry (char (*), pointer, fixed bin (35)), 175 release_temp_segment_ ext entry (char (*), pointer, fixed bin (35)), 176 get_pdir_ ext entry returns (char (168)), 177 area_ ext entry (fixed bin (35), pointer); 178 179 dcl token char (200) varying, /* active token from command line */ 180 input_line char (200) varying, /* for peek_rest_of_line */ 181 (addr, baseno, baseptr, before, codeptr, dim, hbound, index, length, null, search, size, substr, verify) builtin, 182 (ge_parse_$push_string, ge_parse_$push_string_and_terminate) ext entry (pointer, fixed bin (21)), 183 ge_parse_$init ext entry, 184 ge_parse_$get_rest_of_line ext entry (char (*) varying), 185 ge_parse_$peek_rest_of_line ext entry (char (*) varying), 186 ge_parse_$get_token ext entry (char (*) varying, fixed bin, fixed bin), 187 type fixed bin, 188 ge_parse_$backup ext entry; 189 190 dcl default_pgs_dir char (168) initial (""), 191 default_pgs_entry char (32) initial (""); 192 1 1 /* ---------------- BEGIN include file ge_data_structures.incl.pl1 ---------------- */ 1 2 1 3 dcl my_area area (261120) based (areap); 1 4 1 5 dcl (max_frames, max_symbols, max_macros, cur_elements) fixed bin; 1 6 1 7 dcl 1 symbols aligned based (sym_p), 1 8 2 n_symbols initial (0) fixed bin, 1 9 2 cur_max_symbols fixed bin, 1 10 2 symbol (max_symbols refer (cur_max_symbols)) aligned, 1 11 3 name char (32) varying, 1 12 3 node_value fixed bin (18); 1 13 1 14 dcl 1 macros aligned based (mac_p), 1 15 2 n_macros initial (0) fixed bin, 1 16 2 cur_max_macros fixed bin, 1 17 2 macro (max_macros refer (cur_max_macros)) aligned like symbols.symbol; 1 18 1 19 dcl tuple_p pointer; 1 20 1 21 dcl 1 tuple aligned based (tuple_p), 1 22 2 n_elements fixed bin, 1 23 2 element (cur_elements refer (n_elements)) aligned, 1 24 3 name char (32) varying, 1 25 3 type fixed bin, 1 26 3 lvalue fixed bin (18), 1 27 3 offset fixed bin, 1 28 3 rvalue fixed bin (18), 1 29 3 table_idx fixed bin; 1 30 1 31 dcl 1 assembly_tuple aligned based (at_ptr), 1 32 2 element (4094) like tuple.element aligned; 1 33 1 34 dcl 1 stack aligned based (stack_p), 1 35 2 level fixed bin, 1 36 2 cur_max_frames fixed bin, 1 37 2 tuple_ptr (max_frames refer (cur_max_frames)) pointer; 1 38 1 39 /* ----------------- END include file ge_data_structures.incl.pl1 ----------------- */ 193 194 2 1 /* --------------- BEGIN include file ge_token_types.incl.pl1 --------------- */ 2 2 2 3 dcl (Illegal initial (-2), 2 4 Undefined initial (-1), 2 5 Name initial (1), 2 6 Break initial (2), 2 7 Number initial (3)) fixed bin static; 2 8 2 9 /* ---------------- END include file ge_token_types.incl.pl1 ---------------- */ 195 196 3 1 /* --------------- BEGIN include file gch_entry_dcls.incl.pl1 --------------- */ 3 2 3 3 dcl graphic_chars_$init ext entry, 3 4 graphic_chars_ ext entry (char (*), fixed bin, float bin, float bin, fixed bin (35)) returns (fixed bin (18)), 3 5 graphic_chars_$set_table ext entry (char (*), char (*), fixed bin (35)), 3 6 graphic_chars_$get_table ext entry (char (*), char (*)), 3 7 (graphic_chars_$long, 3 8 graphic_chars_$long_tb) ext entry 3 9 (char (*), fixed bin, float bin, float bin, float bin, float bin, fixed bin (35)) returns (fixed bin (18)); 3 10 3 11 /* ---------------- END include file gch_entry_dcls.incl.pl1 ---------------- */ 197 198 4 1 /* BEGIN INCLUDE FILE ... object_info.incl.pl1 4 2*coded February 8, 1972 by Michael J. Spier */ 4 3 /* modified May 26, 1972 by M. Weaver */ 4 4 /* modified 15 April, 1975 by M. Weaver */ 4 5 4 6 declare 1 object_info aligned based, /* structure containing object info based, returned by object_info_ */ 4 7 2 version_number fixed bin, /* version number of current structure format (=2) */ 4 8 2 textp pointer, /* pointer to beginning of text section */ 4 9 2 defp pointer, /* pointer to beginning of definition section */ 4 10 2 linkp pointer, /* pointer to beginning of linkage section */ 4 11 2 statp pointer, /* pointer to beginning of static section */ 4 12 2 symbp pointer, /* pointer to beginning of symbol section */ 4 13 2 bmapp pointer, /* pointer to beginning of break map (may be null) */ 4 14 2 tlng fixed bin, /* length in words of text section */ 4 15 2 dlng fixed bin, /* length in words of definition section */ 4 16 2 llng fixed bin, /* length in words of linkage section */ 4 17 2 ilng fixed bin, /* length in words of static section */ 4 18 2 slng fixed bin, /* length in words of symbol section */ 4 19 2 blng fixed bin, /* length in words of break map */ 4 20 2 format, /* word containing bit flags about object type */ 4 21 3 old_format bit(1) unaligned, /* on if segment isn't in new format, i.e. has old style object map */ 4 22 3 bound bit(1) unaligned, /* on if segment is bound */ 4 23 3 relocatable bit(1) unaligned, /* on if seg has relocation info in its first symbol block */ 4 24 3 procedure bit(1) unaligned, /* on if segment is an executable object program */ 4 25 3 standard bit(1) unaligned, /* on if seg is in standard format (more than just standard map) */ 4 26 3 gate bit(1) unaligned, /* on if segment is a gate */ 4 27 3 separate_static bit(1) unaligned, /* on if static not in linkage */ 4 28 3 links_in_text bit(1) unaligned, /* on if there are threaded links in text */ 4 29 3 perprocess_static bit (1) unaligned, /* on if static is not to be per run unit */ 4 30 3 pad bit(27) unaligned, 4 31 2 entry_bound fixed bin, /* entry bound if segment is a gate */ 4 32 2 textlinkp pointer, /* ptr to first link in text */ 4 33 4 34 /* LIMIT OF BRIEF STRUCTURE */ 4 35 4 36 2 compiler char(8) aligned, /* name of processor which generated segment */ 4 37 2 compile_time fixed bin(71), /* clock reading of date/time object was generated */ 4 38 2 userid char(32) aligned, /* standard Multics id of creator of object segment */ 4 39 2 cvers aligned, /* generator version name in printable char string form */ 4 40 3 offset bit(18) unaligned, /* offset of name in words relative to base of symbol section */ 4 41 3 length bit(18) unaligned, /* length of name in characters */ 4 42 2 comment aligned, /* printable comment concerning generator or generation of segment */ 4 43 3 offset bit(18) unaligned, /* offset of comment in words relative to base of symbol section */ 4 44 3 length bit(18) unaligned, /* length of comment in characters */ 4 45 2 source_map fixed bin, /* offset, relative to base of symbol section, of source map structure */ 4 46 4 47 /* LIMIT OF DISPLAY STRUCTURE */ 4 48 4 49 2 rel_text pointer, /* pointer to text section relocation info */ 4 50 2 rel_def pointer, /* pointer to definition section relocation info */ 4 51 2 rel_link pointer, /* pointer to linkage section relocation info */ 4 52 2 rel_static pointer, /* pointer to static section relocation info */ 4 53 2 rel_symbol pointer, /* pointer to symbol section relocation info */ 4 54 2 text_boundary fixed bin, /* specifies mod of text section base boundary */ 4 55 2 static_boundary fixed bin, /* specifies mod of internal static base boundary */ 4 56 /* currently not used by system */ 4 57 2 default_truncate fixed bin, /* offset rel to symbp for binder to automatically trunc. symb sect. */ 4 58 2 optional_truncate fixed bin; /* offset rel to symbp for binder to optionally trunc. symb sect. */ 4 59 4 60 declare object_info_version_2 fixed bin int static init(2); 4 61 4 62 /* END INCLUDE FILE ... object_info.incl.pl1 */ 199 200 dcl 1 oi like object_info aligned automatic; 201 202 fatal = "1"b; /* any errors now, we will exit */ 203 204 call get_temp_segment_ ("graphics_editor", areap, code); 205 if areap = null then call crump (code, "While creating temp seg."); 206 207 call area_ (261120, areap); 208 209 call ge_parse_$init; 210 211 call cu_$arg_count (file_count); /* get number of input files to parse */ 212 213 if file_count > 0 then do i = file_count to 1 by -1; /* push the files */ 214 call cu_$arg_ptr (i, ap, al, code); /* get arg */ 215 call expand_pathname_$add_suffix (arg, "ge", input_dir, input_entry, code); /* make abs. pathname */ 216 if code ^= 0 then call crump (code, arg); /* oops */ 217 call hcs_$initiate_count (input_dir, input_entry, "", bc, 0, input_ptr, code); 218 if input_ptr = null then call crump (code, "^a>^a"); 219 char_count = bc / 9; 220 call hcs_$fs_get_mode (input_ptr, mode, code); 221 if code ^= 0 then call crump (code, "^a>^a"); 222 if mode < 1000b then call crump (error_table_$moderr, "^a>^a"); 223 call ge_parse_$push_string_and_terminate (input_ptr, char_count); 224 end; 225 226 else call ge_parse_$push_string (null, 0); /* force it to say "Edit." */ 227 228 call graphic_manipulator_$init (code); 229 if code ^= 0 then call crump (code, "Initializing working graphic segment."); 230 call graphic_chars_$init; 231 call graphic_chars_$get_table (external_char_table.dirname, external_char_table.ename); 232 default_char_table = external_char_table; 233 cur_char_table = external_char_table; 234 235 environment_ptr = addr (definitive_environment); 236 237 max_macros = 10; 238 allocate macros in (my_area); 239 240 max_symbols = 50; 241 allocate symbols in (my_area); 242 243 cur_elements = 4093; 244 allocate assembly_tuple in (my_area); 245 246 max_frames = 50; 247 allocate stack in (my_area); 248 stack.level = 0; 249 250 system_symbol_p = addr (system_symbol_list); 251 system_macro_p = addr (system_macro_list); 252 command_p = addr (command_list); 253 254 on program_interrupt begin; 255 call ge_parse_$init; /* clean out pending file reads */ 256 call ge_parse_$push_string (null, 0); /* Force it to say "Edit." */ 257 goto listener_loop; 258 end; 259 260 on cleanup call cleanerup; 261 262 fatal = ""b; 263 264 listener_loop: 265 do while ("1"b); /* forever */ 266 do stack.level = stack.level to 1 by -1; 267 free stack (level).tuple_ptr -> tuple in (my_area); 268 end; 269 code = 0; 270 call comline_eval; /* evaluate command line */ 271 end; 272 273 returner: 274 call cleanerup; 275 return; 276 277 cleanerup: proc; 278 279 call release_temp_segment_ ("graphics_editor", areap, code); 280 281 call graphic_chars_$set_table (external_char_table.dirname, external_char_table.ename, code); 282 283 end cleanerup; 284 285 comline_eval: proc; 286 287 dcl (i, j) fixed bin; 288 289 290 dcl ge_eval_$tuple_evaluator ext entry (pointer, fixed bin (35)), 291 ge_interpret_$show ext entry (pointer, fixed bin (35)), 292 ge_interpret_$replay ext entry (pointer, fixed bin (35)); 293 294 call ge_parse_$get_token (token, type, stack.level); /* test to see if this is a command */ 295 if token = ";" then return; 296 297 do j = 2 to 1 by -1; /* short name more probable match */ 298 do i = 1 to n_commands; 299 if token = commands (i, j) then goto command_label (command_vector (i)); 300 end; 301 end; 302 303 /* it is not a command; must be an assignment */ 304 305 call ge_parse_$backup; 306 307 call ge_parse_$peek_rest_of_line (input_line); 308 if index (input_line, "=") = 0 then call crump (code, "Not a command."); 309 310 call ge_eval_$tuple_evaluator (environment_ptr, code); 311 if code ^= 0 then call complain; 312 return; 313 314 /* dispatch table for commands */ 315 316 command_label (1): /* display */ 317 318 call ge_eval_$tuple_evaluator (environment_ptr, code); 319 if code ^= 0 then call complain; 320 321 tuple_p = stack.tuple_ptr (1); 322 323 do i = 1 to tuple.n_elements; 324 if i = 1 then call graphic_compiler_$display (tuple.rvalue (1), code); 325 else call graphic_compiler_$display_append (tuple.rvalue (i), code); 326 if code ^= 0 then call crump (code, "While displaying."); 327 end; 328 329 return; 330 331 command_label (2): /* list */ 332 333 dcl (commands_bit, symbols_bit, system_symbols_bit, macros_bit, default_bit) bit (1) aligned; 334 335 dcl arg_array (50) char (32), 336 arg_matched (50) bit (1), 337 arg_count fixed bin; 338 339 dcl max_list_length fixed bin; 340 341 dcl check_star_name_$entry ext entry (char (*), fixed bin (35)), 342 match_star_name_ ext entry (char (*) aligned, char (*), fixed bin (35)); 343 344 dcl k fixed bin; 345 346 arg_count = 0; /* initialize random variables */ 347 commands_bit, symbols_bit, macros_bit, system_symbols_bit = ""b; 348 call ge_parse_$get_rest_of_line (input_line); /* parse the arguments as a big chunk */ 349 350 do while (input_line ^= ""); /* knock off tokens using space and tab as only separators */ 351 352 i = verify (input_line, " "); /* strip tabs and spaces */ 353 if i > 0 354 then input_line = substr (input_line, i); 355 i = search (input_line, " ;"); /* search for next tab, space, or semi */ 356 if i > 0 then do; /* get one token */ 357 token = substr (input_line, 1, i-1); 358 input_line = substr (input_line, i+1); 359 end; 360 else do; /* rest of line is one token */ 361 token = input_line; 362 input_line = ""; 363 end; 364 365 if token = ";" then; /* ignore and loop again */ 366 else if token = "-all" | token = "-a" 367 then commands_bit, symbols_bit, macros_bit, system_symbols_bit = "1"b; 368 else if token = "-symbols" | token = "-sym" then symbols_bit = "1"b; 369 else if token = "-system" | token = "-sys" then system_symbols_bit = "1"b; 370 else if token = "-commands" | token = "-com" then commands_bit = "1"b; 371 else if token = "-macros" | token = "-mc" then macros_bit = "1"b; 372 else if substr (token, 1, 1) = "-" /* some unknown option */ 373 then call crump (0, "Bad option to list: " || token); 374 375 /* if we are here, it is a "starname". */ 376 377 else do; 378 arg_count = arg_count + 1; 379 if arg_count > hbound (arg_array, 1) then call crump (0, "Too many arguments to list command."); 380 arg_array (arg_count) = token; 381 call check_star_name_$entry (arg_array (arg_count), code); /* is star syntax ok? */ 382 if code > 3 then call crump (code, arg_array (arg_count)); /* no */ 383 end; 384 385 end; 386 387 default_bit = ^ (commands_bit | symbols_bit | system_symbols_bit | macros_bit); 388 /* on IFF no options explicitly specified */ 389 390 if arg_count = 0 then do; 391 arg_array (1) = "**"; /* use default of "everything" */ 392 arg_count = 1; 393 end; 394 395 if commands_bit 396 then call list_proc ("command", addr (commands (1, 1)), dim (commands, 1), 2, ""b, ""b, ""b); 397 398 if system_symbols_bit 399 then do; 400 call list_proc ("system symbol", addr (system_symbols (1, 1)), dim (system_symbols, 1), 2, ""b, ""b, ""b); 401 call list_proc ("system macro", addr (system_macros (1, 1)), dim (system_macros, 1), 2, ""b, ""b, ""b); 402 end; 403 404 if (symbols_bit | default_bit) 405 then call list_proc ("symbol", addr (symbol (1)), n_symbols, 1, "1"b, "1"b, "0"b); 406 407 if (macros_bit | default_bit) 408 then call list_proc ("macro", addr (macro (1)), n_macros, 1, "1"b, "1"b, default_bit); 409 410 call ioa_ (""); 411 return; 412 413 414 list_proc: procedure (item_name, item_ptr, n_items, n_subitems, sort_necessary, print_pgs, ignore_nomatch); 415 416 dcl (item_name char (*), 417 item_ptr pointer, 418 (n_items, n_subitems) fixed bin, 419 (sort_necessary, print_pgs, ignore_nomatch) bit (1) aligned) parameter; 420 421 dcl 1 based_item aligned based (item_ptr), 422 2 xxx (n_items), 423 3 string (n_subitems) char (32) varying, 424 3 pad fixed bin; 425 426 dcl suffix char (1); 427 428 dcl based_chitem char (32) varying based, 429 based_charray (2) char (32) varying based; 430 431 dcl sort_items_$varying_char ext entry (pointer); 432 433 dcl 1 sort_structure aligned, 434 2 useful_names fixed bin (24), 435 2 sort_ptrs (n_items) pointer unaligned; 436 437 /* This list procedure acts in what looks like an inefficient way. It runs down the symbols to be listed 438* and checks ALL the starnames against EACH ONE, continuing even after a match is found. This is 439* done because we want to keep a record of which starnames have been satisfied and which haven't. 440* This way, if a symbol satisfies more than one starname, both starnames earn brownie points 441* for winning. */ 442 443 useful_names = 0; /* to start out */ 444 arg_matched = ""b; 445 446 do i = 1 to n_items; /* search down table to match names */ 447 found = ""b; 448 do j = 1 to arg_count; /* match each name against ALL starnames */ 449 do k = 1 to n_subitems; /* catches aliases of sys. symbs. and commands */ 450 call match_star_name_ ((based_item.string (i, k)), arg_array (j), code); 451 if code = 0 then do; /* it matched! */ 452 arg_matched (j) = "1"b; /* give this starname an OK */ 453 if ^found then do; /* add name to the list to be sorted */ 454 found = "1"b; 455 useful_names = useful_names + 1; 456 sort_ptrs (useful_names) = addr (based_item.string (i, 1)); 457 end; 458 end; 459 end; 460 end; 461 end; 462 463 if useful_names = 0 /* nothing at all matched */ 464 then if ^ignore_nomatch 465 then call ioa_ ("^/No ^as selected.", item_name); 466 467 else; /* do nothing; we were in default case, and looking for macros. */ 468 469 else do; 470 if useful_names = 1 then suffix = ""; 471 else suffix = "s"; 472 473 if print_pgs & (substr (default_pgs_dir, 1, 4) ^= "") 474 then call ioa_ ("^/^d ^a^a in ^a.pgs:^/", useful_names, 475 item_name, suffix, before (default_pgs_entry, ".pgs")); 476 else call ioa_ ("^/^d ^a^a:^/", useful_names, item_name, suffix); 477 478 if sort_necessary /* if not presorted list */ 479 then call sort_items_$varying_char (addr (sort_structure)); 480 481 found = ""b; 482 do j = 1 to arg_count; /* print out starnames that didn't match anything */ 483 if ^arg_matched (j) then do; 484 call com_err_$suppress_name (0, "graphics_editor", "(^a not found)", arg_array (j)); 485 found = "1"b; 486 end; 487 end; 488 489 if found then call com_err_$suppress_name (0, "graphics_editor", " "); 490 /* only way to get a blank line out of it! */ 491 492 do i = 1 to useful_names; /* list them */ 493 if n_subitems = 2 then do; 494 if sort_ptrs (i) -> based_charray (1) ^= sort_ptrs (i) -> based_charray (2) then 495 call ioa_ ("^5x^14a (^a)", sort_ptrs (i) -> based_charray (1), 496 sort_ptrs (i) -> based_charray (2)); 497 else call ioa_ ("^5x^14a", sort_ptrs (i) -> based_charray (1)); 498 end; 499 500 else call ioa_ ("^5x^a", sort_ptrs (i) -> based_chitem); 501 end; 502 end; 503 504 return; 505 506 end list_proc; 507 508 509 command_label (3): /* exec */ 510 511 dcl cu_$cp ext entry (pointer, fixed bin, fixed bin), 512 varying_command_line char (132) varying; 513 514 call ge_parse_$get_rest_of_line (varying_command_line); 515 516 begin; 517 518 dcl command_line char (length (varying_command_line)) aligned; 519 520 command_line = varying_command_line; 521 522 call cu_$cp (addr (command_line), length (varying_command_line), 0); 523 end; 524 525 call ge_parse_$push_string (null, 0); /* get an "Edit" to appear when all done */ 526 return; 527 528 command_label (4): /* show */ 529 530 call ge_eval_$tuple_evaluator (environment_ptr, code); 531 if code ^= 0 then call complain; 532 533 call ge_interpret_$show (environment_ptr, code); 534 if code ^= 0 then call complain; 535 536 return; 537 538 command_label (5): /* replay */ 539 540 call ge_parse_$peek_rest_of_line (input_line); 541 542 if input_line = "-all" | input_line = "-a" /* dump ALL symbols */ 543 then begin; 544 545 dcl v_all_names varying char (n_symbols * 34 + 2); 546 dcl all_names char (n_symbols * 34 + 2); 547 548 call ge_parse_$get_rest_of_line (""); /* flush it without flushing EVERYTHING */ 549 550 v_all_names = ""; 551 552 do i = 1 to n_symbols; 553 v_all_names = v_all_names || symbols.name (i) || ", "; /* build line */ 554 end; 555 556 if length (v_all_names) = 0 then call crump (0, "No defined symbols exist."); 557 else all_names = substr (v_all_names, 1, length (v_all_names) - 2) || ";"; 558 559 call ge_parse_$push_string (addr (all_names), length (all_names)); 560 561 call ge_eval_$tuple_evaluator (environment_ptr, code); 562 /* This done inside block so that storage for the */ 563 /* just-pushed string is still valid during evaluation */ 564 end; 565 566 else call ge_eval_$tuple_evaluator (environment_ptr, code); 567 if code ^= 0 then call complain; 568 569 call ge_interpret_$replay (environment_ptr, code); 570 if code ^= 0 then call complain; 571 return; 572 573 command_label (6): /* remove */ 574 575 dcl found bit (1) aligned; 576 577 found = ""b; 578 579 call ge_parse_$get_token (token, type, stack.level); 580 if token = ";" then call crump (0, "No arguments to remove."); 581 582 do while (token ^= ";"); 583 584 found = ""b; 585 586 do i = 1 to n_symbols while (^found); 587 588 if symbol (i).name = token then do; 589 do j = i to n_symbols - 1; 590 symbol (j) = symbol (j+1); 591 end; 592 593 n_symbols = n_symbols - 1; 594 595 call graphic_manipulator_$remove_symbol ((token), code); 596 if code ^= 0 then call com_err_$suppress_name (code, "graphics_editor", token); 597 found = "1"b; 598 end; 599 end; 600 601 if ^found then do i = 1 to n_macros while (^found); 602 603 if macro (i).name = token then do; 604 do j = i to n_macros - 1; 605 macro (j) = macro (j+1); 606 end; 607 608 n_macros = n_macros - 1; 609 610 call graphic_manipulator_$remove_symbol ("!macro_" || token, code); 611 if code ^= 0 then call com_err_$suppress_name (code, "graphics_editor", token); 612 found = "1"b; 613 end; 614 end; 615 616 if ^found then call com_err_$suppress_name (0, "graphics_editor", """^a"" not found.", token); 617 618 call ge_parse_$get_token (token, type, stack.level); 619 end; 620 621 return; 622 623 command_label (7): /* macro */ 624 625 dcl macro_name char (32), 626 arg_node (21) fixed bin (18), 627 macro_node fixed bin (18), 628 macro_arg (20) char (32) varying; 629 630 dcl temp_p pointer; 631 632 dcl (ge_interpret_$show_macro, 633 ge_interpret_$replay_macro) ext entry (pointer, fixed bin (35)); 634 5 1 /* --------------- BEGIN include file ge_macro_info.incl.pl1 --------------- */ 5 2 5 3 dcl 1 macro_info based, 5 4 2 n_args fixed bin, 5 5 2 x (n_macro_args refer (macro_info.n_args)), 5 6 3 argument char (32) varying, 5 7 3 replacement char (1020) varying; 5 8 5 9 dcl replacement_string_size fixed bin static initial (1020) options (constant); 5 10 5 11 dcl 1 based_varying_string aligned based, 5 12 2 somelength fixed bin (35), 5 13 2 string char (0 refer (somelength)) aligned; 5 14 5 15 dcl n_macro_args fixed bin; 5 16 5 17 dcl macro_def char (200) varying; 5 18 5 19 dcl macro_info_p pointer; 5 20 5 21 dcl based_macro_bits bit (macro_bits_l) based (macro_bits_p), 5 22 macro_bits_p pointer, 5 23 macro_bits_l fixed bin; 5 24 5 25 dcl based_macro_arg char (32) based; 5 26 5 27 /* ---------------- END include file ge_macro_info.incl.pl1 ---------------- */ 635 636 637 call ge_parse_$get_token (token, type, stack.level); 638 639 if token = "show" then do; 640 call ge_interpret_$show_macro (environment_ptr, code); 641 if code ^= 0 then call complain; 642 return; 643 end; 644 645 if token = "replay" then do; 646 call ge_interpret_$replay_macro (environment_ptr, code); 647 if code ^= 0 then call complain; 648 return; 649 end; 650 651 /* If we are here, this is a macro assignment. */ 652 do i = 1 to n_system_symbols while (token ^= system_symbols (i, 1) & token ^= system_symbols (i, 2)); 653 end; 654 655 if i <= n_system_symbols then call crump (0, token || " is a system symbol."); 656 657 do i = 1 to n_system_macros while (token ^= system_macros (i, 1) & token ^= system_macros (i, 2)); 658 end; 659 660 if i <= n_system_macros then call crump (0, token || " is a system macro."); 661 662 do i = 1 to n_symbols while (token ^= symbol.name (i)); 663 end; 664 665 if i <= n_symbols then call crump (0, token || " has been previously defined as a symbol."); 666 667 macro_name = token; 668 669 call ge_parse_$get_token (token, type, stack.level); 670 671 do i = 1 to 20 while (type = Name); 672 macro_arg (i) = token; 673 call ge_parse_$get_token (token, type, stack.level); 674 end; 675 676 if i > 20 then call crump (0, "Too many args to macro " || macro_name); 677 678 if token ^= "=" then call crump (0, token || " encountered instead of ""="" in macro " || macro_name); 679 680 n_macro_args = i - 1; 681 682 macro_bits_l = size (macro_arg (1)) * 36; 683 do i = 1 to n_macro_args; 684 macro_bits_p = addr (macro_arg (i)); 685 arg_node (i) = graphic_manipulator_$create_data (macro_bits_l, based_macro_bits, code); 686 if code ^= 0 then 687 internal_macro_error: call crump (code, "While assembling macro."); 688 end; 689 690 call ge_parse_$get_rest_of_line (macro_def); 691 macro_bits_p = addr (macro_def); 692 macro_bits_l = size (macro_def) * 36; 693 694 arg_node (i) = graphic_manipulator_$create_data (macro_bits_l, based_macro_bits, code); 695 if code ^= 0 then goto internal_macro_error; 696 697 do i = 1 to n_macros while (macro.name (i) ^= macro_name); 698 end; 699 700 if i > n_macros then n_macros = i; 701 702 if n_macros > cur_max_macros then do; 703 max_macros = cur_max_macros + 30; 704 temp_p = mac_p; 705 allocate macros in (my_area); 706 707 do j = 1 to temp_p -> n_macros - 1; 708 mac_p -> macros.macro (j) = temp_p -> macros.macro (j); 709 end; 710 711 mac_p -> n_macros = temp_p -> n_macros; 712 713 free temp_p -> macros in (my_area); 714 715 end; 716 717 macro.name (i) = macro_name; 718 macro_name = "!macro_" || macro_name; 719 720 macro_node = graphic_manipulator_$create_array (arg_node, n_macro_args + 1, code); 721 if code ^= 0 then goto internal_macro_error; 722 723 macro.node_value (i) = graphic_manipulator_$assign_name (macro_name, macro_node, code); 724 if code ^= 0 then goto internal_macro_error; 725 726 return; 727 728 729 command_label (8): /* use */ 730 731 dcl node_array (1000) fixed bin (18), 732 varying_pathname char (168) varying; 733 734 call get_save_use_path ("use."); 735 736 /* ---------------------------------- */ 737 738 get_save_use_path: proc (myname); 739 740 dcl myname char (*); 741 742 call ge_parse_$get_rest_of_line (varying_pathname); 743 temp_string = varying_pathname; 744 if temp_string = "" 745 then if default_pgs_dir = "" 746 then call crump (0, "No file name supplied for " || myname); 747 748 else return; /* use defaults we already have */ 749 750 call expand_pathname_ (temp_string, default_pgs_dir, default_pgs_entry, code); 751 if code ^= 0 then do; 752 default_pgs_dir, default_pgs_entry = ""; 753 call crump (code, temp_string); 754 end; 755 756 return; 757 end get_save_use_path; 758 759 /* ---------------------------------- */ 760 761 call graphic_manipulator_$use_file (default_pgs_dir, default_pgs_entry, code); 762 if code ^= 0 then do; 763 default_pgs_dir, default_pgs_entry = ""; 764 call crump (code, "Attempting to use PGS."); 765 end; 766 767 n_symbols = 0; 768 769 call pick_up_symbols; 770 771 /* ---------------------------------- */ 772 773 pick_up_symbols: proc; 774 775 dcl (i, j, k) fixed bin; 776 777 call graphic_manipulator_$examine_symtab (node_array, i, code); 778 if code ^= 0 then call crump (code, "Examining symbol table"); 779 780 if i + 30 > cur_max_symbols then do; 781 free sym_p -> symbols in (my_area); 782 max_symbols = i + 50; 783 allocate symbols in (my_area); 784 end; 785 786 if i + 20 > cur_max_macros then do; 787 free mac_p -> macros in (my_area); 788 max_macros = i + 30; 789 allocate macros in (my_area); 790 end; 791 792 793 n_symbols, n_macros = 0; 794 795 do k = 1 to i; 796 call graphic_manipulator_$examine_symbol (node_array (k), 0, 797 j, temp_string, code); 798 if code ^= 0 then call crump (code, "While examining some symbol"); 799 if substr (temp_string, 1, 7) = "!macro_" then do; 800 n_macros = n_macros + 1; 801 macro (n_macros).name = substr (temp_string, 8, j-7); 802 macro (n_macros).node_value = node_array (k); 803 end; 804 805 else if substr (temp_string, 1, 10) = "!sysmacro." then; /* do nothing, system macro */ 806 807 else do; 808 n_symbols = n_symbols + 1; 809 symbols.node_value (n_symbols) = node_array (k); 810 symbols.name (n_symbols) = substr (temp_string, 1, j); 811 end; 812 end; 813 814 end pick_up_symbols; 815 816 /* ---------------------------------- */ 817 818 return; 819 820 821 command_label (9): /* save */ 822 823 call get_save_use_path ("save."); 824 825 call graphic_manipulator_$save_file (default_pgs_dir, default_pgs_entry, code); 826 if code ^= 0 then do; 827 default_pgs_dir, default_pgs_entry = ""; 828 call crump (code, "Saving into PGS."); 829 end; 830 831 return; 832 833 command_label (10): /* get */ 834 835 dcl merge_code fixed bin, 836 error_table_$noentry ext fixed bin (35); 837 838 dcl put_and_get_dirname char (168), 839 put_and_get_entryname char (32); 840 841 call parse_get_put_options ("get."); 842 843 /* ---------------------------------- */ 844 845 parse_get_put_options: proc (myname); 846 847 dcl varying_pname char (168) varying, 848 error_table_$badopt ext fixed bin (35), 849 myname char (*) parameter; 850 851 merge_code = On_dup_error; 852 853 put_and_get_dirname = default_pgs_dir; /* set up put/get PGS defaults */ 854 put_and_get_entryname = default_pgs_entry; 855 856 do i = 1 to 2; 857 call ge_parse_$get_token (token, type, stack.level); 858 859 if token = "-" then do; /* is an option */ 860 call ge_parse_$get_token (token, type, stack.level); 861 if token = "safe" then merge_code = On_dup_error; 862 else if token = "force" then merge_code = On_dup_source; 863 else if token = "replace_only" then merge_code = On_dup_target_then_nulls; 864 else if token = "rpo" then merge_code = On_dup_target_then_nulls; 865 else if token = "replace_all" then merge_code = On_dup_target_then_source; 866 else if token = "rpa" then merge_code = On_dup_target_then_source; 867 else call crump (error_table_$badopt, "-" || token); 868 end; 869 870 else if substr (token, 1, 1) = "(" then do; /* is a pathname */ 871 varying_pname = ""; 872 873 call ge_parse_$get_token (token, type, stack.level); 874 875 do while (token ^= ")"); 876 varying_pname = varying_pname || token; 877 call ge_parse_$get_token (token, type, stack.level); 878 end; 879 880 call expand_pathname_ (substr (varying_pname, 1), 881 put_and_get_dirname, put_and_get_entryname, code); 882 if code ^= 0 then call crump (code, (varying_pname)); 883 884 end; 885 886 else do; 887 call ge_parse_$backup; /* must have been a symbol */ 888 i = 3; /* kill looping */ 889 end; 890 891 end; 892 893 return; 894 end parse_get_put_options; 895 896 /* ---------------------------------- */ 897 898 899 call ge_parse_$get_token (token, type, stack.level); 900 901 if token = ";" then call crump (0, "No symbols to get."); 902 903 do while (token ^= ";"); 904 905 found = ""b; 906 907 do i = 1 to 2 while (^found); /* try symbol first, then as macro */ 908 call graphic_manipulator_$get_struc (put_and_get_dirname, put_and_get_entryname, 909 (token), merge_code, code); 910 if code = 0 then found = "1"b; /* found symbol */ 911 912 else if code = error_table_$noentry 913 then call crump (code, "Segment " || put_and_get_entryname); 914 915 else if code = graphic_error_table_$lsm_sym_search 916 then token = "!macro_" || token; /* add the macro prefix, try again */ 917 918 else call crump (code, "Getting symbol """ || token || """."); 919 end; 920 921 if ^found then call com_err_$suppress_name (code, "graphics_editor", "Getting symbol ""^a"".", substr (token, 15)); 922 923 call ge_parse_$get_token (token, type, stack.level); 924 end; 925 926 call pick_up_symbols; 927 928 return; 929 930 command_label (11): /* put */ 931 932 dcl graphic_error_table_$lsm_sym_search fixed bin (35) external; 933 934 call parse_get_put_options ("put."); 935 936 call ge_parse_$get_token (token, type, stack.level); 937 938 if token = ";" then call crump (0, "No symbols to put."); 939 940 do while (token ^= ";"); 941 942 found = ""b; 943 944 do i = 1 to 2 while (^found); /* try symbol first, then as macro */ 945 call graphic_manipulator_$put_struc (put_and_get_dirname, put_and_get_entryname, 946 (token), merge_code, code); 947 if code = 0 then found = "1"b; 948 949 else if code = graphic_error_table_$lsm_sym_search 950 then token = "!macro_" || token; /* Add the macro prefix, try again */ 951 952 else call crump (code, "Putting symbol """ || token || """."); 953 end; 954 955 if ^found then call com_err_$suppress_name (code, "graphics_editor", "Putting symbol ""^a"".", substr (token, 15)); 956 957 call ge_parse_$get_token (token, type, stack.level); 958 end; 959 960 return; 961 962 963 command_label (13): /* input */ 964 965 dcl device_type fixed bin, 966 input_node fixed bin (18); 967 968 device_type = Any_device; 969 970 call ge_parse_$get_token (token, type, stack.level); 971 972 if token = ";" then call crump (0, "No arguments to input."); 973 974 do while (token ^= ";"); 975 976 if token = "(" then do; /* parse device name */ 977 978 call ge_parse_$get_token (token, type, stack.level); 979 980 if type ^= Name then 981 not_an_input_device: call crump (0, "Not an input device name: " || token); 982 983 if token = "undefined" /* joker */ then goto not_an_input_device; 984 985 do device_type = 1 to 63 while (Input_device_names (device_type) ^= token); 986 end; 987 988 if device_type > 63 then goto not_an_input_device; 989 990 call ge_parse_$get_token (token, type, stack.level); 991 if token ^= ")" then call crump (0, "No "")"" before " || token); 992 993 call ge_parse_$get_token (token, type, stack.level); 994 end; 995 996 else if type = Name 997 then do while (type = Name); 998 999 input_node = graphic_operator_$what (device_type, 0, code); 1000 if code ^= 0 then call com_err_$suppress_name (code, "graphics_editor", "Input for ^a", token); 1001 1002 else do; 1003 input_node = graphic_manipulator_$assign_name ((token), (input_node), code); 1004 if code ^= 0 then call crump (code, "Internal error creating " || token); 1005 1006 do i = 1 to n_symbols while (symbol (i).name ^= token); 1007 end; 1008 1009 if i > n_symbols then n_symbols = i; 1010 1011 if i > cur_max_symbols then do; 1012 temp_p = sym_p; /* prepare to extend symbol area */ 1013 max_symbols = cur_max_symbols + 50; 1014 allocate symbols in (my_area); 1015 1016 do j = 1 to temp_p -> n_symbols; 1017 sym_p -> symbol (j) = temp_p -> symbol (j); 1018 end; 1019 1020 sym_p -> n_symbols = temp_p -> n_symbols; 1021 1022 free temp_p -> symbols in (my_area); 1023 end; 1024 1025 symbol (i).name = token; 1026 symbol (i).node_value = input_node; 1027 end; 1028 1029 call ge_parse_$get_token (token, type, stack.level); 1030 end; 1031 1032 else call crump (0, "Misplaced token: " || token); 1033 1034 end; 1035 return; 1036 1037 command_label (12): /* read */ 1038 1039 call ge_parse_$get_rest_of_line (varying_pathname); 1040 temp_string = varying_pathname; 1041 if temp_string = "" then call crump (0, "No file name supplied for read."); 1042 1043 call expand_pathname_$add_suffix (temp_string, "ge", input_dir, input_entry, code); 1044 if code ^= 0 then call crump (code, temp_string); 1045 1046 call hcs_$initiate_count (input_dir, input_entry, "", bc, 0, input_ptr, code); 1047 if input_ptr = null then call crump (code, "^a>^a"); 1048 char_count = bc / 9; 1049 call hcs_$fs_get_mode (input_ptr, mode, code); 1050 if code ^= 0 then call crump (code, "^a>^a"); 1051 if mode < 1000b then call crump (error_table_$moderr, "^a>^a"); 1052 call ge_parse_$push_string_and_terminate (input_ptr, char_count); 1053 return; 1054 1055 1056 command_label (14): /* quit */ 1057 call ge_parse_$get_token (token, type, stack.level); 1058 if token ^= ";" then call crump (0, "Text follows ""quit"" request; request ignored."); 1059 goto returner; 1060 1061 command_label (15): /* restart */ 1062 1063 call ge_parse_$init; /* clear out any old reads or input lines */ 1064 call ge_parse_$push_string (null, 0); /* force it to say "Edit." */ 1065 default_pgs_dir, default_pgs_entry = ""; 1066 n_macros, n_symbols = 0; 1067 call graphic_manipulator_$init (code); 1068 if code ^= 0 then call crump (code, "While re-initializing."); 1069 call graphic_chars_$init; 1070 call graphic_chars_$set_table (external_char_table.dirname, external_char_table.ename, code); 1071 if code ^= 0 then call crump (code, "Resetting the default graphic char table."); 1072 default_char_table = external_char_table; 1073 cur_char_table = external_char_table; 1074 return; 1075 1076 command_label (16): /* help */ 1077 1078 call ioa_ ("Available commands may be listed with ""list -commands"". 1079 Available graphic entities may be listed with ""list -all"". 1080 See the description of graphics_editor in the Graphic Reference Manual, 1081 or type ""exec help graphics_editor"".^/"); /* That's what the GRM is for. */ 1082 1083 return; 1084 1085 1086 command_label (17): /* vtext_type */ 1087 1088 call ge_parse_$get_rest_of_line (varying_pathname); 1089 temp_string = varying_pathname; 1090 if temp_string = "" then do; 1091 call ioa_ ("Current graphic character table is ^a.", default_char_table.ename); 1092 return; 1093 end; 1094 1095 if search (temp_string, "<>") > 0 then do; 1096 call expand_pathname_ (temp_string, input_dir, input_entry, code); 1097 if code ^= 0 then call crump (code, temp_string); 1098 end; 1099 1100 else do; 1101 input_dir = ""; 1102 input_entry = temp_string; 1103 end; 1104 1105 call graphic_chars_$set_table (input_dir, input_entry, code); 1106 if code ^= 0 then call crump (code, input_entry); 1107 1108 call graphic_chars_$get_table (cur_char_table.dirname, cur_char_table.ename); 1109 default_char_table = cur_char_table; 1110 return; 1111 1112 command_label (18): /* "." */ 1113 1114 me_ptr = baseptr (baseno (codeptr (command_label (18)))); 1115 /* get pointer to base of my own segment */ 1116 1117 library_description = ""; 1118 1119 do i = 1 to dim (search_libraries, 1) while (library_description = ""); 1120 call hcs_$initiate (search_libraries (i).dir, "graphics_editor", "", 0, 0, p, code); 1121 if p ^= null then do; 1122 if p = me_ptr then library_description = search_libraries.description (i); 1123 call hcs_$terminate_noname (p, 0); 1124 end; 1125 end; 1126 1127 if library_description = "" then do; 1128 call hcs_$fs_get_path_name (me_ptr, prog_dir, 0, prog_ent, code); 1129 if code ^= 0 then call crump (code, "Determining pathname of this version of graphics_editor."); 1130 1131 call ioa_ ("graphics_editor; ^a>^a (private version)", 1132 prog_dir, prog_ent); 1133 end; 1134 1135 else do; 1136 oi.version_number = object_info_version_2; 1137 1138 call hcs_$status_mins (me_ptr, 0, me_bc, code); 1139 if code = 0 then 1140 call object_info_$display (me_ptr, me_bc, addr (oi), code); 1141 if code ^= 0 then call crump (code, "Determining version of graphics_editor."); 1142 1143 call date_time_ (oi.compile_time, my_date_time); 1144 1145 call ioa_ ("graphics_editor; ^a version of ^a.", library_description, 1146 my_date_time); 1147 end; 1148 return; 1149 1150 command_label(19): /* "alter" */ 1151 1152 call crump (0, "alter not implemented."); 1153 1154 command_label(20): /* "increment" */ 1155 1156 begin; 1157 dcl inc_rv fixed bin (18); 1158 dcl inc_ct fixed bin; 1159 dcl incr_int float bin; 1160 1161 call ge_parse_$get_token(token, type, stack.level); 1162 if type ^= Number then call crump(0, "Repetition count missing."); 1163 inc_ct = fixed(token); 1164 1165 call ge_parse_$get_token(token, type, stack.level); 1166 if type ^= Number then call crump(0, "Repetition delay missing."); 1167 incr_int = float(token); 1168 1169 call ge_eval_$tuple_evaluator(environment_ptr, code); 1170 if code ^= 0 then call complain; 1171 1172 call graphic_operator_$increment(stack.tuple_ptr(1) -> tuple.rvalue(1), inc_ct, incr_int, stack.tuple_ptr(1) -> tuple.rvalue (2), code); 1173 if code ^= 0 then call crump(code, "While incrementing."); 1174 end; 1175 return; 1176 1177 command_label(21): /* "synchronize" */ 1178 1179 call graphic_operator_$synchronize(code); 1180 if code ^= 0 then call crump(code, "While synchronizing."); 1181 return; 1182 1183 end comline_eval; 1184 1185 crump: proc (err_code, reason); /* to bleep; perchance to scream. */ 1186 1187 dcl err_code fixed bin (35), 1188 reason char (*); 1189 1190 dcl ge_parse_$flush_rest_of_line ext entry; 1191 1192 if fatal then do; 1193 call com_err_ (err_code, "graphics_editor", reason, input_dir, input_entry); 1194 goto returner; /* Wave bye-bye */ 1195 end; 1196 1197 call ge_parse_$flush_rest_of_line; 1198 1199 call com_err_$suppress_name (err_code, "graphics_editor", reason, input_dir, input_entry); 1200 1201 goto listener_loop; /* try it all over again */ 1202 1203 complain: entry; 1204 1205 if code = -1 then code = 0; 1206 call com_err_$suppress_name (code, "graphics_editor", "^a", 1207 definitive_environment.error_message); 1208 1209 call ge_parse_$flush_rest_of_line; 1210 1211 goto listener_loop; 1212 1213 end crump; 1214 1215 1216 6 1 /* *************** BEGIN INCLUDE FILE gm_entry_dcls.incl.pl1 *************** */ 6 2 6 3 dcl (graphic_manipulator_$init, 6 4 gm_$init) entry (fixed bin (35)); 6 5 6 6 dcl (graphic_manipulator_$segp, 6 7 gm_$segp) entry (pointer, fixed bin (35)); 6 8 6 9 dcl (graphic_manipulator_$create_position, 6 10 gm_$create_position, 6 11 graphic_manipulator_$cpos, 6 12 gm_$cpos) entry (fixed bin, float bin (27), float bin (27), float bin (27), fixed bin (35)) returns (fixed bin (18)); 6 13 6 14 dcl (graphic_manipulator_$create_mode, 6 15 gm_$create_mode, 6 16 graphic_manipulator_$cmode, 6 17 gm_$cmode) entry (fixed bin, fixed bin, fixed bin (35)) returns (fixed bin (18)); 6 18 6 19 dcl (graphic_manipulator_$create_scale, 6 20 gm_$create_scale, 6 21 graphic_manipulator_$cscale, 6 22 gm_$cscale) entry (float bin (27), float bin (27), float bin (27), fixed bin (35)) returns (fixed bin (18)); 6 23 6 24 dcl (graphic_manipulator_$create_rotation, 6 25 gm_$create_rotation, 6 26 graphic_manipulator_$crot, 6 27 gm_$crot) entry (float bin (27), float bin (27), float bin (27), fixed bin (35)) returns (fixed bin (18)); 6 28 6 29 dcl (graphic_manipulator_$create_clip, 6 30 gm_$create_clip, 6 31 graphic_manipulator_$cclip, 6 32 gm_$cclip) entry (float bin (27), float bin (27), float bin (27), float bin (27), float bin (27), float bin (27), 6 33 fixed bin (35)) returns (fixed bin (18)); 6 34 6 35 dcl (graphic_manipulator_$create_color, 6 36 gm_$create_color, 6 37 graphic_manipulator_$ccolor, 6 38 gm_$ccolor) entry (fixed bin, fixed bin, fixed bin, fixed bin (35)) returns (fixed bin (18)); 6 39 6 40 dcl (graphic_manipulator_$create_text, 6 41 gm_$create_text, 6 42 graphic_manipulator_$ctext, 6 43 gm_$ctext) entry (fixed bin, fixed bin, char (*), fixed bin (35)) returns (fixed bin (18)); 6 44 6 45 dcl (graphic_manipulator_$create_data, 6 46 gm_$create_data, 6 47 graphic_manipulator_$cdata, 6 48 gm_$cdata) entry (fixed bin, bit (*), fixed bin (35)) returns (fixed bin (18)); 6 49 6 50 dcl (graphic_manipulator_$create_list, 6 51 gm_$create_list, 6 52 graphic_manipulator_$clist, 6 53 gm_$clist) entry (fixed bin (18) dimension (*), fixed bin, fixed bin (35)) returns (fixed bin (18)); 6 54 6 55 dcl (graphic_manipulator_$create_array, 6 56 gm_$create_array, 6 57 graphic_manipulator_$carray, 6 58 gm_$carray) entry (fixed bin (18) dimension (*), fixed bin, fixed bin (35)) returns (fixed bin (18)); 6 59 6 60 dcl (graphic_manipulator_$assign_name, 6 61 gm_$assign_name) entry (char (*), fixed bin (18), fixed bin (35)) returns (fixed bin (18)); 6 62 6 63 dcl (graphic_manipulator_$find_structure, 6 64 gm_$find_structure, 6 65 graphic_manipulator_$fstruc, 6 66 gm_$fstruc) entry (char (*), fixed bin (18), fixed bin (35)) returns (fixed bin (18)); 6 67 6 68 dcl (graphic_manipulator_$add_element, 6 69 gm_$add_element) entry (fixed bin (18), fixed bin, fixed bin (18), fixed bin (35)); 6 70 6 71 dcl (graphic_manipulator_$replace_element, 6 72 gm_$replace_element) entry (fixed bin (18), fixed bin, fixed bin (18), fixed bin (35)) returns (fixed bin (18)); 6 73 6 74 dcl (graphic_manipulator_$replace_node, 6 75 gm_$replace_node) entry (fixed bin (18), fixed bin (18), fixed bin (35)); 6 76 6 77 dcl (graphic_manipulator_$remove_symbol, 6 78 gm_$remove_symbol) entry (char (*), fixed bin (35)); 6 79 6 80 dcl (graphic_manipulator_$replicate, 6 81 gm_$replicate) entry (fixed bin (18), fixed bin (35)) returns (fixed bin (18)); 6 82 6 83 dcl (graphic_manipulator_$examine_type, 6 84 gm_$examine_type) entry (fixed bin (18), bit (1) aligned, fixed bin, fixed bin (35)); 6 85 6 86 dcl (graphic_manipulator_$examine_position, 6 87 gm_$examine_position, 6 88 graphic_manipulator_$epos, 6 89 gm_$epos) entry (fixed bin (18), fixed bin, float bin, float bin, float bin, fixed bin (35)); 6 90 6 91 dcl (graphic_manipulator_$examine_mode, 6 92 gm_$examine_mode, 6 93 graphic_manipulator_$emode, 6 94 gm_$emode) entry (fixed bin (18), fixed bin, fixed bin, fixed bin (35)); 6 95 6 96 dcl (graphic_manipulator_$examine_color, 6 97 gm_$examine_color, 6 98 graphic_manipulator_$ecolor, 6 99 gm_$ecolor) entry (fixed bin (18), fixed bin, fixed bin, fixed bin, fixed bin (35)); 6 100 6 101 dcl (graphic_manipulator_$examine_mapping, 6 102 gm_$examine_mapping, 6 103 graphic_manipulator_$emap, 6 104 gm_$emap) entry (fixed bin (18), fixed bin, float bin dimension (*), fixed bin, fixed bin (35)); 6 105 6 106 dcl (graphic_manipulator_$examine_contents, 6 107 gm_$examine_contents) entry (fixed bin (18), fixed bin (18) dimension (*), fixed bin, fixed bin (35)); 6 108 6 109 dcl (graphic_manipulator_$examine_list, 6 110 gm_$examine_list, 6 111 graphic_manipulator_$elist, 6 112 gm_$elist) entry (fixed bin (18), dimension (*) fixed bin (18), fixed bin, fixed bin (35)); 6 113 6 114 dcl (graphic_manipulator_$examine_symtab, 6 115 graphic_manipulator_$esymtab, 6 116 gm_$examine_symtab, 6 117 gm_$esymtab) entry (fixed bin (18) dimension (*), fixed bin, fixed bin (35)); 6 118 6 119 dcl (graphic_manipulator_$examine_symbol, 6 120 gm_$examine_symbol, 6 121 graphic_manipulator_$esymbol, 6 122 gm_$esymbol) entry (fixed bin (18), fixed bin (18), fixed bin, char (*), fixed bin (35)); 6 123 6 124 dcl (graphic_manipulator_$examine_text, 6 125 gm_$examine_text, 6 126 graphic_manipulator_$etext, 6 127 gm_$etext) entry (fixed bin (18), fixed bin, fixed bin, char (*), fixed bin (35)); 6 128 6 129 dcl (graphic_manipulator_$examine_data, 6 130 gm_$examine_data, 6 131 graphic_manipulator_$edata, 6 132 gm_$edata) entry (fixed bin (18), fixed bin, bit (*), fixed bin (35)); 6 133 6 134 dcl (graphic_manipulator_$get_struc, 6 135 gm_$get_struc, 6 136 graphic_manipulator_$gstruc, 6 137 gm_$gstruc) entry (char (*), char (*), char (*), fixed bin, fixed bin (35)); 6 138 6 139 dcl (graphic_manipulator_$put_struc, 6 140 gm_$put_struc, 6 141 graphic_manipulator_$pstruc, 6 142 gm_$pstruc) entry (char (*), char (*), char (*), fixed bin, fixed bin (35)); 6 143 6 144 dcl (graphic_manipulator_$save_file, 6 145 gm_$save_file) entry (char (*), char (*), fixed bin (35)); 6 146 6 147 dcl (graphic_manipulator_$use_file, 6 148 gm_$use_file) entry (char (*), char (*), fixed bin (35)); 6 149 6 150 /* **************** END INCLUDE FILE gm_entry_dcls.incl.pl1 **************** */ 1217 1218 7 1 /* *************** BEGIN INCLUDE FILE gc_entry_dcls.incl.pl1 *************** */ 7 2 7 3 dcl (graphic_compiler_$tree_ptr, 7 4 gc_$tree_ptr) entry returns (pointer); 7 5 7 6 dcl (graphic_compiler_$return_string, 7 7 gc_$return_string, 7 8 graphic_compiler_$rs, 7 9 gc_$rs) entry (fixed bin (18), pointer, fixed bin, fixed bin (35)); 7 10 7 11 dcl (graphic_compiler_$display_append, 7 12 gc_$display_append, 7 13 graphic_compiler_$da, 7 14 gc_$da) entry (fixed bin (18), fixed bin (35)); 7 15 7 16 dcl (graphic_compiler_$display_append_switch, 7 17 gc_$display_append_switch, 7 18 graphic_compiler_$da_switch, 7 19 gc_$da_switch) entry (fixed bin (18), fixed bin (35), pointer); 7 20 7 21 dcl (graphic_compiler_$display, 7 22 gc_$display, 7 23 graphic_compiler_$d, 7 24 gc_$d) entry (fixed bin (18), fixed bin (35)); 7 25 7 26 dcl (graphic_compiler_$display_switch, 7 27 gc_$display_switch, 7 28 graphic_compiler_$d_switch, 7 29 gc_$d_switch) entry (fixed bin (18), fixed bin (35), pointer); 7 30 7 31 dcl (graphic_compiler_$load, 7 32 gc_$load, 7 33 graphic_compiler_$l, 7 34 gc_$l) entry (fixed bin (18), fixed bin (35)); 7 35 7 36 dcl (graphic_compiler_$load_switch, 7 37 gc_$load_switch, 7 38 graphic_compiler_$l_switch, 7 39 gc_$l_switch) entry (fixed bin (18), fixed bin (35), pointer); 7 40 7 41 dcl (graphic_compiler_$display_name_append, 7 42 gc_$display_name_append, 7 43 graphic_compiler_$dna, 7 44 gc_$dna) entry (char (*), fixed bin (35)); 7 45 7 46 dcl (graphic_compiler_$display_name_append_switch, 7 47 gc_$display_name_append_switch, 7 48 graphic_compiler_$dna_switch, 7 49 gc_$dna_switch) entry (char (*), fixed bin (35), pointer); 7 50 7 51 dcl (graphic_compiler_$display_name, 7 52 gc_$display_name, 7 53 graphic_compiler_$dn, 7 54 gc_$dn) entry (char (*), fixed bin (35)); 7 55 7 56 dcl (graphic_compiler_$display_name_switch, 7 57 gc_$display_name_switch, 7 58 graphic_compiler_$dn_switch, 7 59 gc_$dn_switch) entry (char (*), fixed bin (35), pointer); 7 60 7 61 dcl (graphic_compiler_$load_name, 7 62 gc_$load_name, 7 63 graphic_compiler_$ln, 7 64 gc_$ln) entry (char (*), fixed bin (35)); 7 65 7 66 dcl (graphic_compiler_$load_name_switch, 7 67 gc_$load_name_switch, 7 68 graphic_compiler_$ln_switch, 7 69 gc_$ln_switch) entry (char (*), fixed bin (35), pointer); 7 70 7 71 dcl (graphic_compiler_$prune_tree, 7 72 gc_$prune_tree) entry (fixed bin (35)); 7 73 7 74 /* **************** END INCLUDE FILE gc_entry_dcls.incl.pl1 **************** */ 1219 1220 8 1 /* *************** BEGIN INCLUDE FILE go_entry_dcls.incl.pl1 *************** */ 8 2 8 3 dcl (graphic_operator_$dispatch, 8 4 go_$dispatch) entry (fixed bin (35)); 8 5 8 6 dcl (graphic_operator_$dispatch_switch, 8 7 go_$dispatch_switch) entry (fixed bin (35), pointer); 8 8 8 9 dcl (graphic_operator_$reset, 8 10 go_$reset) entry; 8 11 8 12 dcl (graphic_operator_$set_immediacy, 8 13 go_$set_immediacy) entry (bit (1) aligned, bit (1) aligned, fixed bin (35)); 8 14 8 15 dcl (graphic_operator_$replace_element, 8 16 go_$replace_element) entry (fixed bin (18), fixed bin, fixed bin (18), fixed bin (35)) returns (fixed bin (18)); 8 17 8 18 dcl (graphic_operator_$replace_element_switch, 8 19 go_$replace_element_switch) entry (fixed bin (18), fixed bin, fixed bin (18), fixed bin (35), pointer) returns (fixed bin (18)); 8 20 8 21 dcl (graphic_operator_$delete, 8 22 go_$delete) entry (fixed bin (18), fixed bin (35)); 8 23 8 24 dcl (graphic_operator_$delete_switch, 8 25 go_$delete_switch) entry (fixed bin (18), fixed bin (35), pointer); 8 26 8 27 dcl (graphic_operator_$display, 8 28 go_$display) entry (fixed bin (18), fixed bin (35)); 8 29 8 30 dcl (graphic_operator_$display_switch, 8 31 go_$display_switch) entry (fixed bin (18), fixed bin (35), pointer); 8 32 8 33 dcl (graphic_operator_$erase, 8 34 go_$erase) entry (fixed bin (35)); 8 35 8 36 dcl (graphic_operator_$erase_switch, 8 37 go_$erase_switch) entry (fixed bin (35), pointer); 8 38 8 39 dcl (graphic_operator_$synchronize, 8 40 go_$synchronize) entry (fixed bin (35)); 8 41 8 42 dcl (graphic_operator_$synchronize_switch, 8 43 go_$synchronize_switch) entry (fixed bin (35), pointer); 8 44 8 45 dcl (graphic_operator_$pause, 8 46 go_$pause) entry (fixed bin (35)); 8 47 8 48 dcl (graphic_operator_$pause_switch, 8 49 go_$pause_switch) entry (fixed bin (35), pointer); 8 50 8 51 dcl (graphic_operator_$increment, 8 52 go_$increment) entry (fixed bin (18), fixed bin, float bin, fixed bin (18), fixed bin (35)); 8 53 8 54 dcl (graphic_operator_$increment_switch, 8 55 go_$increment_switch) entry (fixed bin (18), fixed bin, float bin, fixed bin (18), fixed bin (35), pointer); 8 56 8 57 dcl (graphic_operator_$control, 8 58 go_$control) entry (fixed bin (18), fixed bin (35)); 8 59 8 60 dcl (graphic_operator_$control_switch, 8 61 go_$control_switch) entry (fixed bin (18), fixed bin (35), pointer); 8 62 8 63 dcl (graphic_operator_$where, 8 64 go_$where) entry (fixed bin, float bin, float bin, float bin, fixed bin (35)); 8 65 8 66 dcl (graphic_operator_$where_switch, 8 67 go_$where_switch) entry (fixed bin, float bin, float bin, float bin, fixed bin (35), pointer, pointer); 8 68 8 69 dcl (graphic_operator_$which, 8 70 go_$which) entry (fixed bin, fixed bin (18), fixed bin, fixed bin dimension (*), fixed bin (35)); 8 71 8 72 dcl (graphic_operator_$which_switch, 8 73 go_$which_switch) entry (fixed bin, fixed bin (18), fixed bin, fixed bin dimension (*), fixed bin (35), pointer, pointer); 8 74 8 75 dcl (graphic_operator_$what, 8 76 go_$what) entry (fixed bin, fixed bin, fixed bin (35)) returns (fixed bin (18)); 8 77 8 78 dcl (graphic_operator_$what_switch, 8 79 go_$what_switch) entry (fixed bin, fixed bin, fixed bin (35), pointer, pointer) returns (fixed bin (18)); 8 80 8 81 /* **************** END INCLUDE FILE go_entry_dcls.incl.pl1 **************** */ 1221 1222 9 1 /* --------------- BEGIN include file graphic_etypes.incl.pl1 --------------- */ 9 2 9 3 /* Types of position, mode, and other effectors for the 9 4* Multics General Graphic System */ 9 5 9 6 9 7 /* Null code */ 9 8 9 9 dcl (Null initial (-1), 9 10 9 11 /* Position codes */ 9 12 9 13 Setposition initial (0), 9 14 Setpoint initial (1), 9 15 Vector initial (2), 9 16 Shift initial (3), 9 17 Point initial (4), 9 18 9 19 /* Mode codes, with values where appropriate */ 9 20 9 21 Scaling initial (8), 9 22 Rotation initial (9), 9 23 Clipping initial (10), 9 24 9 25 Intensity initial (16), 9 26 Full_intensity initial (7), 9 27 Half_intensity initial (3), 9 28 Invisible initial (0), 9 29 9 30 Linetype initial (17), 9 31 Solid initial (0), 9 32 Dashed initial (1), 9 33 Dotted initial (2), 9 34 Dash_dotted initial (3), 9 35 Long_dashed initial (4), 9 36 9 37 Sensitivity initial (18), 9 38 Sensitive initial (1), 9 39 Insensitive initial (0), 9 40 9 41 Blink initial (19), 9 42 Steady initial (0), 9 43 Blinking initial (1), 9 44 9 45 Color initial (20), 9 46 9 47 Symbol initial (24), 9 48 9 49 /* Text code, with legal alignments */ 9 50 9 51 Text initial (25), 9 52 Upper_left initial (1), 9 53 Upper_center initial (2), 9 54 Upper_right initial (3), 9 55 Left initial (4), 9 56 Center initial (5), 9 57 Right initial (6), 9 58 Lower_left initial (7), 9 59 Lower_center initial (8), 9 60 Lower_right initial (9), 9 61 9 62 /* Datablock code */ 9 63 9 64 Datablock initial (26), 9 65 9 66 /* Structural effector codes */ 9 67 9 68 List initial (32), 9 69 Array initial (33), 9 70 9 71 /* Merge codes for gm_$get_struc and gm_$put_struc */ 9 72 9 73 On_dup_error initial (0), /* allow no name duplications */ 9 74 On_dup_source initial (1), /* on name dup, force move (use source copy) */ 9 75 On_dup_target_then_nulls initial (2), /* on name dup, use target copy, for nondup symbols create null ones */ 9 76 On_dup_target_then_source initial (3), /* on name dup, use target copy, for nondup symbols, use source copy */ 9 77 9 78 /* Device codes for graphic input devices */ 9 79 9 80 Terminal_program initial (0), 9 81 Keyboard initial (1), 9 82 Mouse initial (2), 9 83 Joystick initial (3), 9 84 Tablet_and_pen initial (4), 9 85 Light_pen initial (5), 9 86 Trackball initial (6), 9 87 Any_device initial (63)) /* 63 is equivalent to -1 in SPI */ 9 88 9 89 fixed bin internal static options (constant); 9 90 9 91 /* ---------------- END include file graphic_etypes.incl.pl1 ---------------- */ 1223 1224 10 1 /* --------------- BEGIN include file graphic_enames.incl.pl1 --------------- */ 10 2 10 3 dcl Element_names (-2:33) char (16) static options (constant) initial 10 4 ("illegal type", "null", "setposition", "setpoint", "vector", "shift", "point", (3) (1) "undefined", 10 5 "scaling", "rotation", "clipping", (5) (1) "undefined", 10 6 "intensity", "linetype", "sensitivity", "blink", "color", (3) (1) "undefined", 10 7 "symbol", "text", "datablock", (5) (1) "undefined", 10 8 "list", "array"); 10 9 10 10 dcl Intensity_names (0:7) char (8) static options (constant) initial 10 11 ("off", "1", "2", "3", "4", "5", "6", "full"); 10 12 10 13 dcl Linetype_names (0:4) char (12) static options (constant) initial 10 14 ("solid", "dashed", "dotted", "dash_dotted", "long_dashed"); 10 15 10 16 dcl Sensitivity_names (0:1) char (12) static options (constant) initial 10 17 ("insensitive", "sensitive"); 10 18 10 19 dcl Blink_names (0:1) char (8) static options (constant) initial 10 20 ("steady", "blinking"); 10 21 10 22 dcl Text_alignments (9) char (16) static options (constant) initial 10 23 ("upper_left", "upper_center", "upper_right", 10 24 "left", "center", "right", 10 25 "lower_left", "lower_center", "lower_right"); 10 26 10 27 dcl Input_device_names (0:63) char (16) static options (constant) initial 10 28 ("terminal_program", "keyboard", "mouse", "joystick", "pen_tablet", 10 29 "lightpen", "trackball", (56)(1)"undefined", "any"); 10 30 10 31 /* ---------------- END include file graphic_enames.incl.pl1 ---------------- */ 1225 1226 1227 end graphics_editor; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 03/28/83 1359.1 graphics_editor.pl1 >special_ldd>on>03/28/83-gej>graphics_editor.pl1 193 1 08/27/75 1700.7 ge_data_structures.incl.pl1 >ldd>include>ge_data_structures.incl.pl1 195 2 08/27/75 1700.7 ge_token_types.incl.pl1 >ldd>include>ge_token_types.incl.pl1 197 3 12/17/79 1709.0 gch_entry_dcls.incl.pl1 >ldd>include>gch_entry_dcls.incl.pl1 199 4 08/05/77 1022.5 object_info.incl.pl1 >ldd>include>object_info.incl.pl1 635 5 11/02/77 1738.4 ge_macro_info.incl.pl1 >ldd>include>ge_macro_info.incl.pl1 1217 6 08/27/75 1700.7 gm_entry_dcls.incl.pl1 >ldd>include>gm_entry_dcls.incl.pl1 1219 7 08/13/81 2035.4 gc_entry_dcls.incl.pl1 >ldd>include>gc_entry_dcls.incl.pl1 1221 8 11/02/77 1737.5 go_entry_dcls.incl.pl1 >ldd>include>go_entry_dcls.incl.pl1 1223 9 03/27/82 0439.2 graphic_etypes.incl.pl1 >ldd>include>graphic_etypes.incl.pl1 1225 10 03/27/82 0439.3 graphic_enames.incl.pl1 >ldd>include>graphic_enames.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. Any_device constant fixed bin(17,0) initial dcl 9-9 ref 968 Input_device_names 001720 constant char(16) initial array unaligned dcl 10-27 ref 985 Name constant fixed bin(17,0) initial dcl 2-3 ref 671 980 996 996 Number constant fixed bin(17,0) initial dcl 2-3 ref 1162 1166 On_dup_error constant fixed bin(17,0) initial dcl 9-9 ref 851 861 On_dup_source constant fixed bin(17,0) initial dcl 9-9 ref 862 On_dup_target_then_nulls constant fixed bin(17,0) initial dcl 9-9 ref 863 864 On_dup_target_then_source constant fixed bin(17,0) initial dcl 9-9 ref 865 866 addr builtin function dcl 179 ref 235 250 251 252 395 395 400 400 401 401 404 404 407 407 456 478 478 522 522 559 559 684 691 1139 1139 al 000706 automatic fixed bin(17,0) dcl 167 set ref 214* 215 215 216 216 all_names 000100 automatic char unaligned dcl 546 set ref 557* 559 559 559 559 ap 000704 automatic pointer dcl 167 set ref 214* 215 216 area_ 000054 constant entry external dcl 174 ref 207 areap 14 000362 automatic pointer level 2 dcl 140 set ref 204* 205 207* 238 241 244 247 267 279* 705 713 781 783 787 789 1014 1022 arg based char unaligned dcl 167 set ref 215* 216* arg_array 001255 automatic char(32) array unaligned dcl 335 set ref 379 380* 381* 382* 391* 450* 484* arg_count 002100 automatic fixed bin(17,0) dcl 335 set ref 346* 378* 378 379 380 381 382 390 392* 448 482 arg_matched 002076 automatic bit(1) array unaligned dcl 335 set ref 444* 452* 483 arg_node 002155 automatic fixed bin(18,0) array dcl 623 set ref 685* 694* 720* assembly_tuple based structure level 1 dcl 1-31 ref 244 at_ptr 16 000362 automatic pointer level 2 dcl 140 set ref 244* based_charray based varying char(32) array dcl 428 set ref 494 494 494* 494* 497* based_chitem based varying char(32) dcl 428 set ref 500* based_item based structure level 1 dcl 421 based_macro_bits based bit unaligned dcl 5-21 set ref 685* 694* baseno builtin function dcl 179 ref 1112 baseptr builtin function dcl 179 ref 1112 bc 000666 automatic fixed bin(35,0) dcl 158 set ref 217* 219 1046* 1048 before builtin function dcl 179 ref 473 473 char_count 000104 automatic fixed bin(21,0) dcl 109 set ref 219* 223* 1048* 1052* check_star_name_$entry 000150 constant entry external dcl 341 ref 381 cleanup 000676 stack reference condition dcl 161 ref 260 code 000707 automatic fixed bin(35,0) dcl 167 set ref 204* 205* 214* 215* 216 216* 217* 218* 220* 221 221* 228* 229 229* 269* 279* 281* 308* 310* 311 316* 319 324* 325* 326 326* 381* 382 382* 450* 451 528* 531 533* 534 561* 566* 567 569* 570 595* 596 596* 610* 611 611* 640* 641 646* 647 685* 686 686* 694* 695 720* 721 723* 724 750* 751 753* 761* 762 764* 777* 778 778* 796* 798 798* 825* 826 828* 880* 882 882* 908* 910 912 912* 915 918* 921* 945* 947 949 952* 955* 999* 1000 1000* 1003* 1004 1004* 1043* 1044 1044* 1046* 1047* 1049* 1050 1050* 1067* 1068 1068* 1070* 1071 1071* 1096* 1097 1097* 1105* 1106 1106* 1120* 1128* 1129 1129* 1138* 1139 1139* 1141 1141* 1169* 1170 1172* 1173 1173* 1177* 1180 1180* 1205 1205* 1206* codeptr builtin function dcl 179 ref 1112 com_err_ 000012 constant entry external dcl 127 ref 1193 com_err_$suppress_name 000014 constant entry external dcl 127 ref 484 489 596 611 616 921 955 1000 1199 1206 command_line 000100 automatic char dcl 518 set ref 520* 522 522 command_list 000000 constant structure level 1 dcl 39 set ref 252 command_p 2 000362 automatic pointer level 2 dcl 140 set ref 252* command_vector 23 000000 constant fixed bin(17,0) initial array level 3 dcl 39 set ref 299 commands 1 000000 constant varying char(32) initial array level 3 dcl 39 set ref 299 395 395 395 395 commands_bit 001250 automatic bit(1) dcl 331 set ref 347* 366* 370* 387 395 compile_time 32 001150 automatic fixed bin(71,0) level 2 dcl 200 set ref 1143* cu_$arg_count 000044 constant entry external dcl 167 ref 211 cu_$arg_ptr 000046 constant entry external dcl 167 ref 214 cu_$cp 000154 constant entry external dcl 509 ref 522 cur_char_table 216 000362 automatic structure level 2 dcl 140 set ref 233* 1073* 1109 cur_elements 001144 automatic fixed bin(17,0) dcl 1-5 set ref 243* cur_max_frames 1 based fixed bin(17,0) level 2 dcl 1-34 set ref 247* cur_max_macros 1 based fixed bin(17,0) level 2 dcl 1-14 set ref 238* 702 703 705* 713 786 787 789* cur_max_symbols 1 based fixed bin(17,0) level 2 dcl 1-7 set ref 241* 780 781 783* 1011 1013 1014* 1022 date_time_ 000032 constant entry external dcl 129 ref 1143 default_bit 001254 automatic bit(1) dcl 331 set ref 387* 404 407 407* default_char_table 134 000362 automatic structure level 2 dcl 140 set ref 232* 1072* 1109* default_pgs_dir 001057 automatic char(168) initial unaligned dcl 190 set ref 190* 473 744 750* 752* 761* 763* 825* 827* 853 1065* default_pgs_entry 001131 automatic char(32) initial unaligned dcl 190 set ref 190* 473 473 750* 752* 761* 763* 825* 827* 854 1065* definitive_environment 000362 automatic structure level 1 dcl 140 set ref 235 description 52 001507 constant char(64) initial array level 2 packed unaligned dcl 123 ref 1122 device_type 004667 automatic fixed bin(17,0) dcl 963 set ref 968* 985* 985* 988 999* dim builtin function dcl 179 ref 395 395 400 400 401 401 1119 dir 001507 constant char(168) initial array level 2 packed unaligned dcl 123 set ref 1120* dirname 52 000362 automatic char(168) level 3 in structure "definitive_environment" packed unaligned dcl 140 in procedure "ge" set ref 231* 281* 1070* dirname 216 000362 automatic char(168) level 3 in structure "definitive_environment" packed unaligned dcl 140 in procedure "ge" set ref 1108* each_command 1 000000 constant structure array level 2 dcl 39 each_system_macro 1 001324 constant structure array level 2 dcl 94 each_system_symbol 1 000620 constant structure array level 2 dcl 68 element 1 based structure array level 2 dcl 1-21 ename 206 000362 automatic char(32) level 3 in structure "definitive_environment" packed unaligned dcl 140 in procedure "ge" set ref 1091* ename 270 000362 automatic char(32) level 3 in structure "definitive_environment" packed unaligned dcl 140 in procedure "ge" set ref 1108* ename 124 000362 automatic char(32) level 3 in structure "definitive_environment" packed unaligned dcl 140 in procedure "ge" set ref 231* 281* 1070* environment_ptr 000662 automatic pointer dcl 156 set ref 235* 310* 316* 528* 533* 561* 566* 569* 640* 646* 1169* err_code parameter fixed bin(35,0) dcl 1187 set ref 1185 1193* 1199* error_message 20 000362 automatic varying char(100) level 2 dcl 140 set ref 1206* error_table_$badopt 000170 external static fixed bin(35,0) dcl 847 set ref 867* error_table_$moderr 000036 external static fixed bin(35,0) dcl 138 set ref 222* 1051* error_table_$noentry 000162 external static fixed bin(35,0) dcl 833 ref 912 expand_pathname_ 000040 constant entry external dcl 164 ref 750 880 1096 expand_pathname_$add_suffix 000042 constant entry external dcl 164 ref 215 1043 external_char_table 52 000362 automatic structure level 2 dcl 140 set ref 232 233 1072 1073 fatal 000100 automatic bit(1) dcl 27 set ref 202* 262* 1192 file_count 000665 automatic fixed bin(17,0) dcl 158 set ref 211* 213 213 found 002144 automatic bit(1) dcl 573 set ref 447* 453 454* 481* 485* 489 577* 584* 586 597* 601 601 612* 616 905* 907 910* 921 942* 944 947* 955 ge_eval_$tuple_evaluator 000142 constant entry external dcl 290 ref 310 316 528 561 566 1169 ge_interpret_$replay 000146 constant entry external dcl 290 ref 569 ge_interpret_$replay_macro 000160 constant entry external dcl 632 ref 646 ge_interpret_$show 000144 constant entry external dcl 290 ref 533 ge_interpret_$show_macro 000156 constant entry external dcl 632 ref 640 ge_parse_$backup 000072 constant entry external dcl 179 ref 305 887 ge_parse_$flush_rest_of_line 000172 constant entry external dcl 1190 ref 1197 1209 ge_parse_$get_rest_of_line 000064 constant entry external dcl 179 ref 348 514 548 690 742 1037 1086 ge_parse_$get_token 000070 constant entry external dcl 179 ref 294 579 618 637 669 673 857 860 873 877 899 923 936 957 970 978 990 993 1029 1056 1161 1165 ge_parse_$init 000062 constant entry external dcl 179 ref 209 255 1061 ge_parse_$peek_rest_of_line 000066 constant entry external dcl 179 ref 307 538 ge_parse_$push_string 000056 constant entry external dcl 179 ref 226 256 525 559 1064 ge_parse_$push_string_and_terminate 000060 constant entry external dcl 179 ref 223 1052 get_temp_segment_ 000050 constant entry external dcl 174 ref 204 graphic_chars_$get_table 000100 constant entry external dcl 3-3 ref 231 1108 graphic_chars_$init 000074 constant entry external dcl 3-3 ref 230 1069 graphic_chars_$set_table 000076 constant entry external dcl 3-3 ref 281 1070 1105 graphic_compiler_$display 000132 constant entry external dcl 7-21 ref 324 graphic_compiler_$display_append 000130 constant entry external dcl 7-11 ref 325 graphic_error_table_$lsm_sym_search 000164 external static fixed bin(35,0) dcl 930 ref 915 949 graphic_manipulator_$assign_name 000110 constant entry external dcl 6-60 ref 723 1003 graphic_manipulator_$create_array 000106 constant entry external dcl 6-55 ref 720 graphic_manipulator_$create_data 000104 constant entry external dcl 6-45 ref 685 694 graphic_manipulator_$examine_symbol 000116 constant entry external dcl 6-119 ref 796 graphic_manipulator_$examine_symtab 000114 constant entry external dcl 6-114 ref 777 graphic_manipulator_$get_struc 000120 constant entry external dcl 6-134 ref 908 graphic_manipulator_$init 000102 constant entry external dcl 6-3 ref 228 1067 graphic_manipulator_$put_struc 000122 constant entry external dcl 6-139 ref 945 graphic_manipulator_$remove_symbol 000112 constant entry external dcl 6-77 ref 595 610 graphic_manipulator_$save_file 000124 constant entry external dcl 6-144 ref 825 graphic_manipulator_$use_file 000126 constant entry external dcl 6-147 ref 761 graphic_operator_$increment 000136 constant entry external dcl 8-51 ref 1172 graphic_operator_$synchronize 000134 constant entry external dcl 8-39 ref 1177 graphic_operator_$what 000140 constant entry external dcl 8-75 ref 999 hbound builtin function dcl 179 ref 379 hcs_$fs_get_mode 000030 constant entry external dcl 129 ref 220 1049 hcs_$fs_get_path_name 000024 constant entry external dcl 129 ref 1128 hcs_$initiate 000020 constant entry external dcl 129 ref 1120 hcs_$initiate_count 000016 constant entry external dcl 129 ref 217 1046 hcs_$status_mins 000026 constant entry external dcl 129 ref 1138 hcs_$terminate_noname 000022 constant entry external dcl 129 ref 1123 i 001246 automatic fixed bin(17,0) dcl 287 in procedure "comline_eval" set ref 298* 299 299* 323* 324 325* 352* 353 353 355* 356 357 358 446* 450 456* 492* 494 494 494 494 497 500* 552* 553* 586* 588 589* 601* 603 604* 652* 652 652* 655 657* 657 657* 660 662* 662* 665 671* 672* 676 680 683* 684 685* 694 697* 697* 700 700 717 723 856* 888* 907* 944* 1006* 1006* 1009 1009 1011 1025 1026 1119* 1120 1122* i 004724 automatic fixed bin(17,0) dcl 775 in procedure "pick_up_symbols" set ref 777* 780 782 786 788 795 i 000664 automatic fixed bin(17,0) dcl 158 in procedure "ge" set ref 213* 214* ignore_nomatch parameter bit(1) dcl 416 ref 414 463 inc_ct 005011 automatic fixed bin(17,0) dcl 1158 set ref 1163* 1172* incr_int 005012 automatic float bin(27) dcl 1159 set ref 1167* 1172* index builtin function dcl 179 ref 308 input_dir 000110 automatic char(168) unaligned dcl 112 set ref 215* 217* 1043* 1046* 1096* 1101* 1105* 1193* 1199* input_entry 000162 automatic char(32) unaligned dcl 112 set ref 215* 217* 1043* 1046* 1096* 1102* 1105* 1106* 1193* 1199* input_line 000773 automatic varying char(200) dcl 179 set ref 307* 308 348* 350 352 353* 353 355 357 358* 358 361 362* 538* 542 542 input_node 004670 automatic fixed bin(18,0) dcl 963 set ref 999* 1003* 1003 1026 input_ptr 000106 automatic pointer dcl 109 set ref 217* 218 220* 223* 1046* 1047 1049* 1052* ioa_ 000010 constant entry external dcl 127 ref 410 463 473 476 494 497 500 1076 1091 1131 1145 item_name parameter char unaligned dcl 416 set ref 414 463* 473* 476* item_ptr parameter pointer dcl 416 ref 414 450 456 j 004725 automatic fixed bin(17,0) dcl 775 in procedure "pick_up_symbols" set ref 796* 801 810 j 001247 automatic fixed bin(17,0) dcl 287 in procedure "comline_eval" set ref 297* 299* 448* 450 452* 482* 483 484* 589* 590 590* 604* 605 605* 707* 708 708* 1016* 1017 1017* k 002101 automatic fixed bin(17,0) dcl 344 in procedure "comline_eval" set ref 449* 450* k 004726 automatic fixed bin(17,0) dcl 775 in procedure "pick_up_symbols" set ref 795* 796 802 809* length builtin function dcl 179 ref 518 522 522 556 557 559 559 level based fixed bin(17,0) level 2 dcl 1-34 set ref 248* 266* 266* 267* 294* 579* 618* 637* 669* 673* 857* 860* 873* 877* 899* 923* 936* 957* 970* 978* 990* 993* 1029* 1056* 1161* 1165* library_description 000332 automatic char(64) unaligned dcl 112 set ref 1117* 1119 1122* 1127 1145* mac_p 12 000362 automatic pointer level 2 dcl 140 set ref 238* 407 407 407 601 603 604 605 605 608 608 697 697 700 700 702 702 703 704 705* 708 711 717 723 786 787 789* 793 800 800 801 801 802 802 1066 macro 2 based structure array level 2 dcl 1-14 set ref 407 407 605* 605 708* 708 macro_arg 002203 automatic varying char(32) array dcl 623 set ref 672* 682 684 macro_bits_l 002560 automatic fixed bin(17,0) dcl 5-21 set ref 682* 685* 685 685 692* 694* 694 694 macro_bits_p 002556 automatic pointer dcl 5-21 set ref 684* 685 691* 694 macro_def 002473 automatic varying char(200) dcl 5-17 set ref 690* 691 692 macro_name 002145 automatic char(32) unaligned dcl 623 set ref 667* 676 678 697 717 718* 718 723* macro_node 002202 automatic fixed bin(18,0) dcl 623 set ref 720* 723* macros based structure level 1 dcl 1-14 set ref 238 705 713 787 789 macros_bit 001253 automatic bit(1) dcl 331 set ref 347* 366* 371* 387 407 match_star_name_ 000152 constant entry external dcl 341 ref 450 max_frames 001141 automatic fixed bin(17,0) dcl 1-5 set ref 246* 247 247 max_macros 001143 automatic fixed bin(17,0) dcl 1-5 set ref 237* 238 238 703* 705 705 788* 789 789 max_symbols 001142 automatic fixed bin(17,0) dcl 1-5 set ref 240* 241 241 782* 783 783 1013* 1014 1014 me_bc 000326 automatic fixed bin(24,0) dcl 112 set ref 1138* 1139* me_ptr 000330 automatic pointer dcl 112 set ref 1112* 1122 1128* 1138* 1139* merge_code 004604 automatic fixed bin(17,0) dcl 833 set ref 851* 861* 862* 863* 864* 865* 866* 908* 945* mode 000360 automatic fixed bin(17,0) dcl 112 set ref 220* 222 1049* 1051 my_area based area(261120) dcl 1-3 ref 238 241 244 247 267 705 713 781 783 787 789 1014 1022 my_date_time 000352 automatic char(24) unaligned dcl 112 set ref 1143* 1145* myname parameter char unaligned dcl 847 in procedure "parse_get_put_options" ref 845 myname parameter char unaligned dcl 740 in procedure "get_save_use_path" ref 738 744 n_commands 000000 constant fixed bin(17,0) initial level 2 dcl 39 set ref 298 n_elements based fixed bin(17,0) level 2 dcl 1-21 ref 267 323 n_items parameter fixed bin(17,0) dcl 416 ref 414 433 446 n_macro_args 002472 automatic fixed bin(17,0) dcl 5-15 set ref 680* 683 720 n_macros based fixed bin(17,0) initial level 2 dcl 1-14 set ref 238* 407* 601 604 608* 608 697 700 700* 702 705* 707 711* 711 789* 793* 800* 800 801 802 1066* n_subitems parameter fixed bin(17,0) dcl 416 ref 414 449 450 450 456 456 493 n_symbols based fixed bin(17,0) initial level 2 dcl 1-7 set ref 241* 404* 545 546 552 586 589 593* 593 662 665 767* 783* 793* 808* 808 809 810 1006 1009 1009* 1014* 1016 1020* 1020 1066* n_system_macros 001324 constant fixed bin(17,0) initial level 2 dcl 94 set ref 657 660 n_system_symbols 000620 constant fixed bin(17,0) initial level 2 dcl 68 set ref 652 655 name 2 based varying char(32) array level 3 in structure "macros" dcl 1-14 in procedure "ge" set ref 603 697 717* 801* name 2 based varying char(32) array level 3 in structure "symbols" dcl 1-7 in procedure "ge" set ref 553 588 662 810* 1006 1025* node_array 002561 automatic fixed bin(18,0) array dcl 729 set ref 777* 796* 802 809 node_value 13 based fixed bin(18,0) array level 3 in structure "macros" dcl 1-14 in procedure "ge" set ref 723* 802* node_value 13 based fixed bin(18,0) array level 3 in structure "symbols" dcl 1-7 in procedure "ge" set ref 809* 1026* null builtin function dcl 179 ref 205 218 226 226 256 256 525 525 1047 1064 1064 1121 object_info based structure level 1 dcl 4-6 object_info_$display 000034 constant entry external dcl 129 ref 1139 object_info_version_2 constant fixed bin(17,0) initial dcl 4-60 ref 1136 oi 001150 automatic structure level 1 dcl 200 set ref 1139 1139 p 000102 automatic pointer dcl 29 set ref 1120* 1121 1122 1123* print_pgs parameter bit(1) dcl 416 ref 414 473 prog_dir 000244 automatic char(168) unaligned dcl 112 set ref 1128* 1131* prog_ent 000316 automatic char(32) unaligned dcl 112 set ref 1128* 1131* program_interrupt 000670 stack reference condition dcl 161 ref 254 put_and_get_dirname 004605 automatic char(168) unaligned dcl 838 set ref 853* 880* 908* 945* put_and_get_entryname 004657 automatic char(32) unaligned dcl 838 set ref 854* 880* 908* 912 945* reason parameter char unaligned dcl 1187 set ref 1185 1193* 1199* release_temp_segment_ 000052 constant entry external dcl 174 ref 279 rvalue 15 based fixed bin(18,0) array level 3 dcl 1-21 set ref 324* 325* 1172* 1172* search builtin function dcl 179 ref 355 1095 search_libraries 001507 constant structure array level 1 packed unaligned dcl 123 set ref 1119 size builtin function dcl 179 ref 682 692 sort_items_$varying_char 000166 constant entry external dcl 431 ref 478 sort_necessary parameter bit(1) dcl 416 ref 414 478 sort_ptrs 1 000101 automatic pointer array level 2 packed unaligned dcl 433 set ref 456* 494 494 494 494 497 500 sort_structure 000101 automatic structure level 1 dcl 433 set ref 478 478 stack based structure level 1 dcl 1-34 set ref 247 stack_p 000362 automatic pointer level 2 dcl 140 set ref 247* 248 266 266 267 267 294 321 579 618 637 669 673 857 860 873 877 899 923 936 957 970 978 990 993 1029 1056 1161 1165 1172 1172 string based varying char(32) array level 3 dcl 421 set ref 450 456 substr builtin function dcl 179 ref 353 357 358 372 473 557 799 801 805 810 870 880 880 921 921 955 955 suffix 000100 automatic char(1) unaligned dcl 426 set ref 470* 471* 473* 476* sym_p 10 000362 automatic pointer level 2 dcl 140 set ref 241* 404 404 404 545 546 552 553 586 588 589 590 590 593 593 662 662 665 767 780 781 783* 793 808 808 809 809 810 810 1006 1006 1009 1009 1011 1012 1013 1014* 1017 1020 1025 1026 1066 symbol 2 based structure array level 2 dcl 1-7 set ref 404 404 590* 590 1017* 1017 symbols based structure level 1 dcl 1-7 set ref 241 781 783 1014 1022 symbols_bit 001251 automatic bit(1) dcl 331 set ref 347* 366* 368* 387 404 system_macro_list 001324 constant structure level 1 dcl 94 set ref 251 system_macro_p 6 000362 automatic pointer level 2 dcl 140 set ref 251* system_macros 1 001324 constant varying char(32) initial array level 3 dcl 94 set ref 401 401 401 401 657 657 system_symbol_list 000620 constant structure level 1 dcl 68 set ref 250 system_symbol_p 4 000362 automatic pointer level 2 dcl 140 set ref 250* system_symbols 1 000620 constant varying char(32) initial array level 3 dcl 68 set ref 400 400 400 400 652 652 system_symbols_bit 001252 automatic bit(1) dcl 331 set ref 347* 366* 369* 387 398 temp_p 002470 automatic pointer dcl 630 set ref 704* 707 708 711 713 1012* 1016 1017 1020 1022 temp_string 000172 automatic char(168) unaligned dcl 112 set ref 743* 744 750* 753* 796* 799 801 805 810 1040* 1041 1043* 1044* 1089* 1090 1095 1096* 1097* 1102 token 000710 automatic varying char(200) dcl 179 set ref 294* 295 299 357* 361* 365 366 366 368 368 369 369 370 370 371 371 372 372 380 579* 580 582 588 595 596* 603 610 611* 616* 618* 637* 639 645 652 652 655 657 657 660 662 665 667 669* 672 673* 678 678 857* 859 860* 861 862 863 864 865 866 867 870 873* 875 876 877* 899* 901 903 908 915* 915 918 921 921 923* 936* 938 940 945 949* 949 952 955 955 957* 970* 972 974 976 978* 980 983 985 990* 991 991 993* 1000* 1003 1004 1006 1025 1029* 1032 1056* 1058 1161* 1163 1165* 1167 tuple based structure level 1 dcl 1-21 set ref 267 tuple_p 001146 automatic pointer dcl 1-19 set ref 321* 323 324 325 tuple_ptr 2 based pointer array level 2 dcl 1-34 ref 267 321 1172 1172 type 001056 automatic fixed bin(17,0) dcl 179 set ref 294* 579* 618* 637* 669* 671 673* 857* 860* 873* 877* 899* 923* 936* 957* 970* 978* 980 990* 993* 996 996 1029* 1056* 1161* 1162 1165* 1166 useful_names 000101 automatic fixed bin(24,0) level 2 dcl 433 set ref 443* 455* 455 456 463 470 473* 476* 492 v_all_names 000100 automatic varying char dcl 545 set ref 550* 553* 553 556 557 557 varying_command_line 002102 automatic varying char(132) dcl 509 set ref 514* 518 520 522 522 varying_pathname 004531 automatic varying char(168) dcl 729 set ref 742* 743 1037* 1040 1086* 1089 varying_pname 004736 automatic varying char(168) dcl 847 set ref 871* 876* 876 880 880 882 verify builtin function dcl 179 ref 352 version_number 001150 automatic fixed bin(17,0) level 2 dcl 200 set ref 1136* xxx based structure array level 2 dcl 421 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. Array internal static fixed bin(17,0) initial dcl 9-9 Blink internal static fixed bin(17,0) initial dcl 9-9 Blink_names internal static char(8) initial array unaligned dcl 10-19 Blinking internal static fixed bin(17,0) initial dcl 9-9 Break internal static fixed bin(17,0) initial dcl 2-3 Center internal static fixed bin(17,0) initial dcl 9-9 Clipping internal static fixed bin(17,0) initial dcl 9-9 Color internal static fixed bin(17,0) initial dcl 9-9 Dash_dotted internal static fixed bin(17,0) initial dcl 9-9 Dashed internal static fixed bin(17,0) initial dcl 9-9 Datablock internal static fixed bin(17,0) initial dcl 9-9 Dotted internal static fixed bin(17,0) initial dcl 9-9 Element_names internal static char(16) initial array unaligned dcl 10-3 Full_intensity internal static fixed bin(17,0) initial dcl 9-9 Half_intensity internal static fixed bin(17,0) initial dcl 9-9 Illegal internal static fixed bin(17,0) initial dcl 2-3 Insensitive internal static fixed bin(17,0) initial dcl 9-9 Intensity internal static fixed bin(17,0) initial dcl 9-9 Intensity_names internal static char(8) initial array unaligned dcl 10-10 Invisible internal static fixed bin(17,0) initial dcl 9-9 Joystick internal static fixed bin(17,0) initial dcl 9-9 Keyboard internal static fixed bin(17,0) initial dcl 9-9 Left internal static fixed bin(17,0) initial dcl 9-9 Light_pen internal static fixed bin(17,0) initial dcl 9-9 Linetype internal static fixed bin(17,0) initial dcl 9-9 Linetype_names internal static char(12) initial array unaligned dcl 10-13 List internal static fixed bin(17,0) initial dcl 9-9 Long_dashed internal static fixed bin(17,0) initial dcl 9-9 Lower_center internal static fixed bin(17,0) initial dcl 9-9 Lower_left internal static fixed bin(17,0) initial dcl 9-9 Lower_right internal static fixed bin(17,0) initial dcl 9-9 Mouse internal static fixed bin(17,0) initial dcl 9-9 Null internal static fixed bin(17,0) initial dcl 9-9 Point internal static fixed bin(17,0) initial dcl 9-9 Right internal static fixed bin(17,0) initial dcl 9-9 Rotation internal static fixed bin(17,0) initial dcl 9-9 Scaling internal static fixed bin(17,0) initial dcl 9-9 Sensitive internal static fixed bin(17,0) initial dcl 9-9 Sensitivity internal static fixed bin(17,0) initial dcl 9-9 Sensitivity_names internal static char(12) initial array unaligned dcl 10-16 Setpoint internal static fixed bin(17,0) initial dcl 9-9 Setposition internal static fixed bin(17,0) initial dcl 9-9 Shift internal static fixed bin(17,0) initial dcl 9-9 Solid internal static fixed bin(17,0) initial dcl 9-9 Steady internal static fixed bin(17,0) initial dcl 9-9 Symbol internal static fixed bin(17,0) initial dcl 9-9 Tablet_and_pen internal static fixed bin(17,0) initial dcl 9-9 Terminal_program internal static fixed bin(17,0) initial dcl 9-9 Text internal static fixed bin(17,0) initial dcl 9-9 Text_alignments internal static char(16) initial array unaligned dcl 10-22 Trackball internal static fixed bin(17,0) initial dcl 9-9 Undefined internal static fixed bin(17,0) initial dcl 2-3 Upper_center internal static fixed bin(17,0) initial dcl 9-9 Upper_left internal static fixed bin(17,0) initial dcl 9-9 Upper_right internal static fixed bin(17,0) initial dcl 9-9 Vector internal static fixed bin(17,0) initial dcl 9-9 based_macro_arg based char(32) unaligned dcl 5-25 based_varying_string based structure level 1 dcl 5-11 gc_$d 000000 constant entry external dcl 7-21 gc_$d_switch 000000 constant entry external dcl 7-26 gc_$da 000000 constant entry external dcl 7-11 gc_$da_switch 000000 constant entry external dcl 7-16 gc_$display 000000 constant entry external dcl 7-21 gc_$display_append 000000 constant entry external dcl 7-11 gc_$display_append_switch 000000 constant entry external dcl 7-16 gc_$display_name 000000 constant entry external dcl 7-51 gc_$display_name_append 000000 constant entry external dcl 7-41 gc_$display_name_append_switch 000000 constant entry external dcl 7-46 gc_$display_name_switch 000000 constant entry external dcl 7-56 gc_$display_switch 000000 constant entry external dcl 7-26 gc_$dn 000000 constant entry external dcl 7-51 gc_$dn_switch 000000 constant entry external dcl 7-56 gc_$dna 000000 constant entry external dcl 7-41 gc_$dna_switch 000000 constant entry external dcl 7-46 gc_$l 000000 constant entry external dcl 7-31 gc_$l_switch 000000 constant entry external dcl 7-36 gc_$ln 000000 constant entry external dcl 7-61 gc_$ln_switch 000000 constant entry external dcl 7-66 gc_$load 000000 constant entry external dcl 7-31 gc_$load_name 000000 constant entry external dcl 7-61 gc_$load_name_switch 000000 constant entry external dcl 7-66 gc_$load_switch 000000 constant entry external dcl 7-36 gc_$prune_tree 000000 constant entry external dcl 7-71 gc_$return_string 000000 constant entry external dcl 7-6 gc_$rs 000000 constant entry external dcl 7-6 gc_$tree_ptr 000000 constant entry external dcl 7-3 get_pdir_ 000000 constant entry external dcl 174 gm_$add_element 000000 constant entry external dcl 6-68 gm_$assign_name 000000 constant entry external dcl 6-60 gm_$carray 000000 constant entry external dcl 6-55 gm_$cclip 000000 constant entry external dcl 6-29 gm_$ccolor 000000 constant entry external dcl 6-35 gm_$cdata 000000 constant entry external dcl 6-45 gm_$clist 000000 constant entry external dcl 6-50 gm_$cmode 000000 constant entry external dcl 6-14 gm_$cpos 000000 constant entry external dcl 6-9 gm_$create_array 000000 constant entry external dcl 6-55 gm_$create_clip 000000 constant entry external dcl 6-29 gm_$create_color 000000 constant entry external dcl 6-35 gm_$create_data 000000 constant entry external dcl 6-45 gm_$create_list 000000 constant entry external dcl 6-50 gm_$create_mode 000000 constant entry external dcl 6-14 gm_$create_position 000000 constant entry external dcl 6-9 gm_$create_rotation 000000 constant entry external dcl 6-24 gm_$create_scale 000000 constant entry external dcl 6-19 gm_$create_text 000000 constant entry external dcl 6-40 gm_$crot 000000 constant entry external dcl 6-24 gm_$cscale 000000 constant entry external dcl 6-19 gm_$ctext 000000 constant entry external dcl 6-40 gm_$ecolor 000000 constant entry external dcl 6-96 gm_$edata 000000 constant entry external dcl 6-129 gm_$elist 000000 constant entry external dcl 6-109 gm_$emap 000000 constant entry external dcl 6-101 gm_$emode 000000 constant entry external dcl 6-91 gm_$epos 000000 constant entry external dcl 6-86 gm_$esymbol 000000 constant entry external dcl 6-119 gm_$esymtab 000000 constant entry external dcl 6-114 gm_$etext 000000 constant entry external dcl 6-124 gm_$examine_color 000000 constant entry external dcl 6-96 gm_$examine_contents 000000 constant entry external dcl 6-106 gm_$examine_data 000000 constant entry external dcl 6-129 gm_$examine_list 000000 constant entry external dcl 6-109 gm_$examine_mapping 000000 constant entry external dcl 6-101 gm_$examine_mode 000000 constant entry external dcl 6-91 gm_$examine_position 000000 constant entry external dcl 6-86 gm_$examine_symbol 000000 constant entry external dcl 6-119 gm_$examine_symtab 000000 constant entry external dcl 6-114 gm_$examine_text 000000 constant entry external dcl 6-124 gm_$examine_type 000000 constant entry external dcl 6-83 gm_$find_structure 000000 constant entry external dcl 6-63 gm_$fstruc 000000 constant entry external dcl 6-63 gm_$get_struc 000000 constant entry external dcl 6-134 gm_$gstruc 000000 constant entry external dcl 6-134 gm_$init 000000 constant entry external dcl 6-3 gm_$pstruc 000000 constant entry external dcl 6-139 gm_$put_struc 000000 constant entry external dcl 6-139 gm_$remove_symbol 000000 constant entry external dcl 6-77 gm_$replace_element 000000 constant entry external dcl 6-71 gm_$replace_node 000000 constant entry external dcl 6-74 gm_$replicate 000000 constant entry external dcl 6-80 gm_$save_file 000000 constant entry external dcl 6-144 gm_$segp 000000 constant entry external dcl 6-6 gm_$use_file 000000 constant entry external dcl 6-147 go_$control 000000 constant entry external dcl 8-57 go_$control_switch 000000 constant entry external dcl 8-60 go_$delete 000000 constant entry external dcl 8-21 go_$delete_switch 000000 constant entry external dcl 8-24 go_$dispatch 000000 constant entry external dcl 8-3 go_$dispatch_switch 000000 constant entry external dcl 8-6 go_$display 000000 constant entry external dcl 8-27 go_$display_switch 000000 constant entry external dcl 8-30 go_$erase 000000 constant entry external dcl 8-33 go_$erase_switch 000000 constant entry external dcl 8-36 go_$increment 000000 constant entry external dcl 8-51 go_$increment_switch 000000 constant entry external dcl 8-54 go_$pause 000000 constant entry external dcl 8-45 go_$pause_switch 000000 constant entry external dcl 8-48 go_$replace_element 000000 constant entry external dcl 8-15 go_$replace_element_switch 000000 constant entry external dcl 8-18 go_$reset 000000 constant entry external dcl 8-9 go_$set_immediacy 000000 constant entry external dcl 8-12 go_$synchronize 000000 constant entry external dcl 8-39 go_$synchronize_switch 000000 constant entry external dcl 8-42 go_$what 000000 constant entry external dcl 8-75 go_$what_switch 000000 constant entry external dcl 8-78 go_$where 000000 constant entry external dcl 8-63 go_$where_switch 000000 constant entry external dcl 8-66 go_$which 000000 constant entry external dcl 8-69 go_$which_switch 000000 constant entry external dcl 8-72 graphic_chars_ 000000 constant entry external dcl 3-3 graphic_chars_$long 000000 constant entry external dcl 3-3 graphic_chars_$long_tb 000000 constant entry external dcl 3-3 graphic_compiler_$d 000000 constant entry external dcl 7-21 graphic_compiler_$d_switch 000000 constant entry external dcl 7-26 graphic_compiler_$da 000000 constant entry external dcl 7-11 graphic_compiler_$da_switch 000000 constant entry external dcl 7-16 graphic_compiler_$display_append_switch 000000 constant entry external dcl 7-16 graphic_compiler_$display_name 000000 constant entry external dcl 7-51 graphic_compiler_$display_name_append 000000 constant entry external dcl 7-41 graphic_compiler_$display_name_append_switch 000000 constant entry external dcl 7-46 graphic_compiler_$display_name_switch 000000 constant entry external dcl 7-56 graphic_compiler_$display_switch 000000 constant entry external dcl 7-26 graphic_compiler_$dn 000000 constant entry external dcl 7-51 graphic_compiler_$dn_switch 000000 constant entry external dcl 7-56 graphic_compiler_$dna 000000 constant entry external dcl 7-41 graphic_compiler_$dna_switch 000000 constant entry external dcl 7-46 graphic_compiler_$l 000000 constant entry external dcl 7-31 graphic_compiler_$l_switch 000000 constant entry external dcl 7-36 graphic_compiler_$ln 000000 constant entry external dcl 7-61 graphic_compiler_$ln_switch 000000 constant entry external dcl 7-66 graphic_compiler_$load 000000 constant entry external dcl 7-31 graphic_compiler_$load_name 000000 constant entry external dcl 7-61 graphic_compiler_$load_name_switch 000000 constant entry external dcl 7-66 graphic_compiler_$load_switch 000000 constant entry external dcl 7-36 graphic_compiler_$prune_tree 000000 constant entry external dcl 7-71 graphic_compiler_$return_string 000000 constant entry external dcl 7-6 graphic_compiler_$rs 000000 constant entry external dcl 7-6 graphic_compiler_$tree_ptr 000000 constant entry external dcl 7-3 graphic_manipulator_$add_element 000000 constant entry external dcl 6-68 graphic_manipulator_$carray 000000 constant entry external dcl 6-55 graphic_manipulator_$cclip 000000 constant entry external dcl 6-29 graphic_manipulator_$ccolor 000000 constant entry external dcl 6-35 graphic_manipulator_$cdata 000000 constant entry external dcl 6-45 graphic_manipulator_$clist 000000 constant entry external dcl 6-50 graphic_manipulator_$cmode 000000 constant entry external dcl 6-14 graphic_manipulator_$cpos 000000 constant entry external dcl 6-9 graphic_manipulator_$create_clip 000000 constant entry external dcl 6-29 graphic_manipulator_$create_color 000000 constant entry external dcl 6-35 graphic_manipulator_$create_list 000000 constant entry external dcl 6-50 graphic_manipulator_$create_mode 000000 constant entry external dcl 6-14 graphic_manipulator_$create_position 000000 constant entry external dcl 6-9 graphic_manipulator_$create_rotation 000000 constant entry external dcl 6-24 graphic_manipulator_$create_scale 000000 constant entry external dcl 6-19 graphic_manipulator_$create_text 000000 constant entry external dcl 6-40 graphic_manipulator_$crot 000000 constant entry external dcl 6-24 graphic_manipulator_$cscale 000000 constant entry external dcl 6-19 graphic_manipulator_$ctext 000000 constant entry external dcl 6-40 graphic_manipulator_$ecolor 000000 constant entry external dcl 6-96 graphic_manipulator_$edata 000000 constant entry external dcl 6-129 graphic_manipulator_$elist 000000 constant entry external dcl 6-109 graphic_manipulator_$emap 000000 constant entry external dcl 6-101 graphic_manipulator_$emode 000000 constant entry external dcl 6-91 graphic_manipulator_$epos 000000 constant entry external dcl 6-86 graphic_manipulator_$esymbol 000000 constant entry external dcl 6-119 graphic_manipulator_$esymtab 000000 constant entry external dcl 6-114 graphic_manipulator_$etext 000000 constant entry external dcl 6-124 graphic_manipulator_$examine_color 000000 constant entry external dcl 6-96 graphic_manipulator_$examine_contents 000000 constant entry external dcl 6-106 graphic_manipulator_$examine_data 000000 constant entry external dcl 6-129 graphic_manipulator_$examine_list 000000 constant entry external dcl 6-109 graphic_manipulator_$examine_mapping 000000 constant entry external dcl 6-101 graphic_manipulator_$examine_mode 000000 constant entry external dcl 6-91 graphic_manipulator_$examine_position 000000 constant entry external dcl 6-86 graphic_manipulator_$examine_text 000000 constant entry external dcl 6-124 graphic_manipulator_$examine_type 000000 constant entry external dcl 6-83 graphic_manipulator_$find_structure 000000 constant entry external dcl 6-63 graphic_manipulator_$fstruc 000000 constant entry external dcl 6-63 graphic_manipulator_$gstruc 000000 constant entry external dcl 6-134 graphic_manipulator_$pstruc 000000 constant entry external dcl 6-139 graphic_manipulator_$replace_element 000000 constant entry external dcl 6-71 graphic_manipulator_$replace_node 000000 constant entry external dcl 6-74 graphic_manipulator_$replicate 000000 constant entry external dcl 6-80 graphic_manipulator_$segp 000000 constant entry external dcl 6-6 graphic_operator_$control 000000 constant entry external dcl 8-57 graphic_operator_$control_switch 000000 constant entry external dcl 8-60 graphic_operator_$delete 000000 constant entry external dcl 8-21 graphic_operator_$delete_switch 000000 constant entry external dcl 8-24 graphic_operator_$dispatch 000000 constant entry external dcl 8-3 graphic_operator_$dispatch_switch 000000 constant entry external dcl 8-6 graphic_operator_$display 000000 constant entry external dcl 8-27 graphic_operator_$display_switch 000000 constant entry external dcl 8-30 graphic_operator_$erase 000000 constant entry external dcl 8-33 graphic_operator_$erase_switch 000000 constant entry external dcl 8-36 graphic_operator_$increment_switch 000000 constant entry external dcl 8-54 graphic_operator_$pause 000000 constant entry external dcl 8-45 graphic_operator_$pause_switch 000000 constant entry external dcl 8-48 graphic_operator_$replace_element 000000 constant entry external dcl 8-15 graphic_operator_$replace_element_switch 000000 constant entry external dcl 8-18 graphic_operator_$reset 000000 constant entry external dcl 8-9 graphic_operator_$set_immediacy 000000 constant entry external dcl 8-12 graphic_operator_$synchronize_switch 000000 constant entry external dcl 8-42 graphic_operator_$what_switch 000000 constant entry external dcl 8-78 graphic_operator_$where 000000 constant entry external dcl 8-63 graphic_operator_$where_switch 000000 constant entry external dcl 8-66 graphic_operator_$which 000000 constant entry external dcl 8-69 graphic_operator_$which_switch 000000 constant entry external dcl 8-72 inc_rv automatic fixed bin(18,0) dcl 1157 macro_info based structure level 1 unaligned dcl 5-3 macro_info_p automatic pointer dcl 5-19 max_list_length automatic fixed bin(17,0) dcl 339 replacement_string_size internal static fixed bin(17,0) initial dcl 5-9 NAMES DECLARED BY EXPLICIT CONTEXT. cleanerup 004264 constant entry internal dcl 277 ref 260 273 comline_eval 004343 constant entry internal dcl 285 ref 270 command_label 001673 constant label array(21) dcl 316 ref 299 1112 complain 015552 constant entry internal dcl 1203 ref 311 319 531 534 567 570 641 647 1170 crump 015420 constant entry internal dcl 1185 ref 205 216 218 221 222 229 308 326 372 379 382 556 580 655 660 665 676 678 686 744 753 764 778 798 828 867 882 901 912 918 938 952 972 980 991 1004 1032 1041 1044 1047 1050 1051 1058 1068 1071 1097 1106 1129 1141 1150 1162 1166 1173 1180 ge 003345 constant entry external dcl 10 get_save_use_path 014366 constant entry internal dcl 738 ref 734 821 graphic_editor 003355 constant entry external dcl 10 graphics_editor 003365 constant entry external dcl 10 internal_macro_error 007466 constant label dcl 686 ref 695 721 724 list_proc 013520 constant entry internal dcl 414 ref 395 400 401 404 407 listener_loop 004230 constant label dcl 264 ref 257 1201 1211 not_an_input_device 011153 constant label dcl 980 ref 983 988 parse_get_put_options 015023 constant entry internal dcl 845 ref 841 934 pick_up_symbols 014534 constant entry internal dcl 773 ref 769 926 returner 004256 constant label dcl 273 ref 1059 1194 NAMES DECLARED BY CONTEXT OR IMPLICATION. fixed builtin function ref 1163 float builtin function ref 1167 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 17424 17620 16461 17434 Length 20420 16461 174 563 742 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME ge 3272 external procedure is an external procedure. on unit on line 254 74 on unit on unit on line 260 64 on unit cleanerup 82 internal procedure is called by several nonquick procedures. comline_eval internal procedure shares stack frame of external procedure ge. list_proc 128 internal procedure uses auto adjustable storage. begin block on line 516 80 begin block uses auto adjustable storage. begin block on line 542 104 begin block uses auto adjustable storage. get_save_use_path internal procedure shares stack frame of external procedure ge. pick_up_symbols internal procedure shares stack frame of external procedure ge. parse_get_put_options internal procedure shares stack frame of external procedure ge. begin block on line 1154 begin block shares stack frame of external procedure ge. crump 92 internal procedure is called during a stack extension. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME begin block on line 516 000100 command_line begin block on line 516 begin block on line 542 000100 all_names begin block on line 542 000100 v_all_names begin block on line 542 ge 000100 fatal ge 000102 p ge 000104 char_count ge 000106 input_ptr ge 000110 input_dir ge 000162 input_entry ge 000172 temp_string ge 000244 prog_dir ge 000316 prog_ent ge 000326 me_bc ge 000330 me_ptr ge 000332 library_description ge 000352 my_date_time ge 000360 mode ge 000362 definitive_environment ge 000662 environment_ptr ge 000664 i ge 000665 file_count ge 000666 bc ge 000704 ap ge 000706 al ge 000707 code ge 000710 token ge 000773 input_line ge 001056 type ge 001057 default_pgs_dir ge 001131 default_pgs_entry ge 001141 max_frames ge 001142 max_symbols ge 001143 max_macros ge 001144 cur_elements ge 001146 tuple_p ge 001150 oi ge 001246 i comline_eval 001247 j comline_eval 001250 commands_bit comline_eval 001251 symbols_bit comline_eval 001252 system_symbols_bit comline_eval 001253 macros_bit comline_eval 001254 default_bit comline_eval 001255 arg_array comline_eval 002076 arg_matched comline_eval 002100 arg_count comline_eval 002101 k comline_eval 002102 varying_command_line comline_eval 002144 found comline_eval 002145 macro_name comline_eval 002155 arg_node comline_eval 002202 macro_node comline_eval 002203 macro_arg comline_eval 002470 temp_p comline_eval 002472 n_macro_args comline_eval 002473 macro_def comline_eval 002556 macro_bits_p comline_eval 002560 macro_bits_l comline_eval 002561 node_array comline_eval 004531 varying_pathname comline_eval 004604 merge_code comline_eval 004605 put_and_get_dirname comline_eval 004657 put_and_get_entryname comline_eval 004667 device_type comline_eval 004670 input_node comline_eval 004724 i pick_up_symbols 004725 j pick_up_symbols 004726 k pick_up_symbols 004736 varying_pname parse_get_put_options 005011 inc_ct begin block on line 1154 005012 incr_int begin block on line 1154 list_proc 000100 suffix list_proc 000101 sort_structure list_proc THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_cs cat_realloc_cs enter_begin leave_begin call_ext_out_desc call_ext_out call_int_this_desc call_int_this call_int_other_desc call_int_other return tra_ext alloc_auto_adj enable shorten_stack ext_entry int_entry int_entry_desc trunc_fx2 set_cs_eis real_to_real_rd any_to_any_rd any_to_any_tr divide_fx1 alloc_based free_based index_before_cs THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. area_ check_star_name_$entry com_err_ com_err_$suppress_name cu_$arg_count cu_$arg_ptr cu_$cp date_time_ expand_pathname_ expand_pathname_$add_suffix ge_eval_$tuple_evaluator ge_interpret_$replay ge_interpret_$replay_macro ge_interpret_$show ge_interpret_$show_macro ge_parse_$backup ge_parse_$flush_rest_of_line ge_parse_$get_rest_of_line ge_parse_$get_token ge_parse_$init ge_parse_$peek_rest_of_line ge_parse_$push_string ge_parse_$push_string_and_terminate get_temp_segment_ graphic_chars_$get_table graphic_chars_$init graphic_chars_$set_table graphic_compiler_$display graphic_compiler_$display_append graphic_manipulator_$assign_name graphic_manipulator_$create_array graphic_manipulator_$create_data graphic_manipulator_$examine_symbol graphic_manipulator_$examine_symtab graphic_manipulator_$get_struc graphic_manipulator_$init graphic_manipulator_$put_struc graphic_manipulator_$remove_symbol graphic_manipulator_$save_file graphic_manipulator_$use_file graphic_operator_$increment graphic_operator_$synchronize graphic_operator_$what hcs_$fs_get_mode hcs_$fs_get_path_name hcs_$initiate hcs_$initiate_count hcs_$status_mins hcs_$terminate_noname ioa_ match_star_name_ object_info_$display release_temp_segment_ sort_items_$varying_char THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$badopt error_table_$moderr error_table_$noentry graphic_error_table_$lsm_sym_search LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 190 003334 10 003344 202 003373 204 003375 205 003424 207 003452 209 003465 211 003472 213 003501 214 003507 215 003524 216 003562 217 003603 218 003644 219 003666 220 003675 221 003710 222 003730 223 003752 224 003763 226 003767 228 004003 229 004012 230 004033 231 004040 232 004055 233 004060 235 004063 237 004065 238 004067 240 004101 241 004103 243 004115 244 004117 246 004124 247 004126 248 004137 250 004140 251 004142 252 004144 254 004146 255 004162 256 004166 257 004202 260 004205 262 004227 266 004230 267 004237 268 004250 269 004253 270 004254 271 004255 273 004256 275 004262 277 004263 279 004271 281 004320 283 004342 285 004343 294 004344 295 004364 297 004372 298 004377 299 004406 300 004425 301 004427 305 004432 307 004437 308 004450 310 004504 311 004515 312 004523 316 004524 319 004535 321 004543 323 004546 324 004555 325 004572 326 004605 327 004631 329 004633 346 004634 347 004635 348 004641 350 004652 352 004657 353 004672 355 004707 356 004722 357 004723 358 004733 359 004745 361 004746 362 004753 365 004754 366 004762 368 005002 369 005017 370 005034 371 005051 372 005066 377 005125 378 005126 379 005127 380 005152 381 005161 382 005177 385 005217 387 005220 390 005226 391 005230 392 005233 395 005235 398 005310 400 005312 401 005367 404 005443 407 005521 410 005575 411 005606 514 005607 516 005620 518 005623 520 005633 522 005640 523 005660 525 005661 526 005675 528 005676 531 005707 533 005715 534 005726 536 005734 538 005735 542 005746 545 005763 546 005777 548 006007 550 006021 552 006022 553 006033 554 006074 556 006077 557 006123 559 006144 561 006162 564 006174 542 006175 566 006176 567 006207 569 006215 570 006226 571 006234 577 006235 579 006236 580 006256 582 006306 584 006313 586 006314 588 006325 589 006336 590 006346 591 006356 593 006360 595 006362 596 006407 597 006441 599 006443 601 006445 603 006460 604 006471 605 006501 606 006511 608 006513 610 006515 611 006547 612 006601 614 006603 616 006605 618 006650 619 006670 621 006671 637 006672 639 006712 640 006717 641 006730 642 006736 645 006737 646 006744 647 006755 648 006763 652 006764 653 007012 655 007014 657 007052 658 007101 660 007103 662 007141 663 007162 665 007164 667 007222 669 007227 671 007247 672 007257 673 007273 674 007313 676 007315 678 007343 680 007413 682 007417 683 007421 684 007430 685 007433 686 007464 688 007510 690 007512 691 007523 692 007525 694 007527 695 007557 697 007561 698 007600 700 007602 702 007606 703 007612 704 007615 705 007616 707 007630 708 007640 709 007650 711 007652 713 007654 717 007662 718 007674 720 007707 721 007741 723 007743 724 007771 726 007773 734 007774 761 010001 762 010022 763 010024 764 010032 767 010054 769 010055 818 010056 821 010057 825 010064 826 010105 827 010107 828 010115 831 010137 841 010140 899 010145 901 010165 903 010215 905 010222 907 010223 908 010232 910 010273 912 010301 915 010327 918 010353 919 010415 921 010420 923 010471 924 010512 926 010513 928 010514 934 010515 936 010522 938 010542 940 010572 942 010577 944 010600 945 010607 947 010650 949 010656 952 010703 953 010745 955 010750 957 011021 958 011042 960 011043 968 011044 970 011046 972 011066 974 011116 976 011123 978 011130 980 011150 983 011205 985 011213 986 011227 988 011231 990 011234 991 011254 993 011313 994 011334 996 011335 999 011343 1000 011361 1003 011424 1004 011462 1006 011516 1007 011537 1009 011541 1011 011545 1012 011550 1013 011551 1014 011554 1016 011566 1017 011575 1018 011605 1020 011607 1022 011611 1025 011617 1026 011634 1029 011636 1030 011656 1032 011660 1034 011712 1035 011714 1037 011715 1040 011726 1041 011732 1043 011756 1044 012010 1046 012026 1047 012067 1048 012111 1049 012120 1050 012133 1051 012153 1052 012175 1053 012206 1056 012207 1058 012227 1059 012254 1061 012255 1064 012262 1065 012276 1066 012304 1067 012306 1068 012315 1069 012341 1070 012346 1071 012367 1072 012410 1073 012413 1074 012416 1076 012417 1083 012433 1086 012434 1089 012445 1090 012451 1091 012455 1092 012475 1095 012476 1096 012510 1097 012534 1098 012552 1101 012553 1102 012556 1105 012561 1106 012602 1108 012620 1109 012635 1110 012640 1112 012641 1117 012650 1119 012653 1120 012664 1121 012737 1122 012743 1123 012754 1125 012766 1127 012770 1128 012774 1129 013026 1131 013047 1133 013073 1136 013074 1138 013076 1139 013114 1141 013135 1143 013156 1145 013173 1148 013217 1150 013220 1161 013243 1162 013263 1163 013306 1165 013321 1166 013341 1167 013364 1169 013404 1170 013415 1172 013423 1173 013444 1175 013465 1177 013466 1180 013475 1181 013516 414 013517 433 013533 443 013540 444 013541 446 013554 447 013565 448 013566 449 013576 450 013607 451 013661 452 013665 453 013671 454 013673 455 013675 456 013676 459 013713 460 013715 461 013717 463 013721 467 013753 470 013754 471 013761 473 013763 476 014052 478 014105 481 014122 482 014124 483 014134 484 014140 485 014204 487 014207 489 014211 492 014245 493 014256 494 014262 497 014321 498 014340 500 014341 501 014362 504 014365 738 014366 742 014377 743 014410 744 014414 748 014461 750 014463 751 014507 752 014511 753 014517 756 014533 773 014534 777 014535 778 014556 780 014602 781 014607 782 014614 783 014617 786 014631 787 014636 788 014643 789 014646 793 014660 795 014662 796 014671 798 014722 799 014743 800 014747 801 014750 802 014766 803 014771 805 014772 808 014777 809 015000 810 015007 812 015020 814 015022 845 015023 851 015034 853 015036 854 015041 856 015044 857 015051 859 015071 860 015076 861 015116 862 015126 863 015136 864 015146 865 015156 866 015166 867 015176 868 015230 870 015232 871 015236 873 015237 875 015257 876 015264 877 015276 878 015316 880 015317 882 015354 884 015403 887 015405 888 015412 891 015414 893 015416 1185 015417 1192 015433 1193 015436 1194 015475 1197 015500 1199 015504 1201 015546 1203 015551 1205 015557 1206 015564 1209 015621 1211 015626 ----------------------------------------------------------- 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