COMPILATION LISTING OF SEGMENT graphic_operator_ Compiled by: Multics PL/I Compiler, Release 27d, of October 11, 1982 Compiled at: Honeywell LISD Phoenix, System M Compiled on: 11/18/82 1639.4 mst Thu Options: optimize map 1 /* *********************************************************** 2* * * 3* * * 4* * Copyright, (C) Honeywell Information Systems Inc., 1981 * 5* * * 6* * * 7* *********************************************************** */ 8 9 /* ****************************************************** 10* * * 11* * * 12* * Copyright (c) 1972 by Massachusetts Institute of * 13* * Technology and Honeywell Information Systems, Inc. * 14* * * 15* * * 16* ****************************************************** */ 17 18 graphic_operator_: go_: procedure; return; 19 20 /* Entry points allow dynamic interaction with a graphic terminal */ 21 /* Originally coded 9/10/73 by Lee J. Scheffler */ 22 /* Modified 08/14/79 by C. D. Tavares for version 7 lsm_ */ 23 /* Last modified 10/14/8 by CDT to know about effectors with trailing 24* zero coordinates unstored. */ 25 26 /* PARAMETERS */ 27 28 dcl ((list_n, new_n, node_n, incr_n) fixed bin (18), /* Node ids */ 29 err_code fixed bin (35), 30 desired_switch pointer, 31 (immediacy_parameter, old_immediacy) bit (1) aligned, 32 index fixed bin, 33 (desired_i_switch, desired_o_switch) pointer, 34 device fixed bin, 35 (xpos, ypos, zpos) float bin, 36 top_n fixed bin (18), 37 path_len fixed bin, 38 path_array (*) fixed bin, 39 no_iter fixed bin, 40 delay float bin, 41 device_used fixed bin) parameter; 42 43 /* AUTOMATIC */ 44 45 dcl (old_n fixed bin (18), 46 return_node fixed bin (18), 47 cur_input_switch pointer initial (null), 48 cur_output_switch pointer initial (null), 49 t_nt bit (1) aligned, /* terminal or non-terminal node */ 50 (etype, incr_type) fixed bin, 51 i fixed bin, 52 inlen fixed bin (21), 53 save_outindex fixed bin initial (outindex), 54 cant_wait bit (1) initial (""b) aligned, 55 (incr_p, effector_p) pointer, 56 nchars fixed bin, 57 lsm_type fixed bin, 58 lsm_curl fixed bin, 59 increment_string char (32), 60 new_node fixed bin (18), 61 new_type fixed bin, 62 float_coords (3) float bin, 63 lb fixed bin, 64 path_array_ptr pointer, 65 effector_type fixed bin, 66 effector_len fixed bin, 67 incr_len fixed bin) automatic; 68 69 /* STATIC */ 70 71 dcl ((graphic_input, graphic_output) pointer initial (null), 72 wgs_p pointer initial (null), 73 buffer_ptr pointer initial (null), 74 sys_area_p pointer initial (null), 75 uninitted bit (1) aligned initial ("1"b), 76 max_string_size fixed bin (21) initial (0), 77 outstring char (512) unaligned, 78 outindex fixed bin initial (1), 79 immediacy bit (1) aligned initial ("1"b), 80 saved_which_ptr pointer initial (null)) static; 81 82 /* ENTRIES */ 83 84 dcl (graphic_code_util_$encode_spi, 85 graphic_code_util_$encode_dpi, 86 graphic_code_util_$encode_uid) entry (dimension (*) fixed bin, fixed bin, pointer), 87 graphic_code_util_$encode_scl entry (dimension (*) float bin, fixed bin, pointer), 88 (graphic_code_util_$decode_spi, 89 graphic_code_util_$decode_dpi, 90 graphic_code_util_$decode_uid) entry (pointer, fixed bin, dimension (*) fixed bin), 91 graphic_code_util_$decode_scl entry (pointer, fixed bin, dimension (*) float bin), 92 get_system_free_area_ ext entry returns (pointer), 93 get_temp_segment_ ext entry (char (*), pointer, fixed bin (35)), 94 cu_$arg_count ext entry returns (fixed bin), 95 graphic_decompiler_ ext entry (char (*), fixed bin (35)) returns (fixed bin (18)); 96 97 /* BASED AND DEFINED */ 98 99 dcl sys_area area based (sys_area_p), 100 dum_array (1) fixed bin based, 101 dum_float_array (1) float bin based, 102 decompile_string char (inlen) based (buffer_ptr), 103 top_n_array (1) fixed bin based (addr (top_n)), 104 path_len_array (1) fixed bin based (addr (path_len)), 105 based_path_array (path_len) fixed bin based, 106 device_used_array (1) fixed bin based (addr (device_used)); 107 108 109 dcl 1 saved_which aligned based (saved_which_ptr), 110 2 saved_top_n fixed bin (18), 111 2 saved_path_len fixed bin, 112 2 saved_path_array (path_len refer (saved_path_len)) fixed bin; 113 114 dcl 1 fixed_effector aligned based, 115 2 effector_code fixed bin, 116 2 element (1000) fixed bin; 117 118 dcl outstring_array (512) char (1) unaligned defined (outstring); 119 120 /* BUILTINS AND CONDITIONS */ 121 122 dcl (addr, lbound, substr, null, dim) builtin; 123 124 dcl cleanup condition; 125 126 /* EXTERNAL STATIC */ 127 128 dcl (graphic_error_table_$inv_node_type, 129 graphic_error_table_$malformed_input, 130 graphic_error_table_$node_mismatch, 131 graphic_error_table_$bad_no_iter, 132 graphic_error_table_$neg_delay, 133 graphic_error_table_$bad_device_type, 134 error_table_$smallarg) fixed bin (35) external; 135 136 dcl sys_info$max_seg_size ext fixed bin (35); 137 1 1 /* --------------- BEGIN include file iox_dcls.incl.pl1 --------------- */ 1 2 1 3 /* Written 05/04/78 by C. D. Tavares */ 1 4 /* Fixed declaration of iox_$find_iocb_n 05/07/80 by R. Holmstedt */ 1 5 1 6 dcl iox_$attach_name entry (char (*), pointer, char (*), pointer, fixed bin (35)), 1 7 iox_$attach_ptr entry (pointer, char (*), pointer, fixed bin (35)), 1 8 iox_$close entry (pointer, fixed bin (35)), 1 9 iox_$control entry (pointer, char (*), pointer, fixed bin (35)), 1 10 iox_$delete_record entry (pointer, fixed bin (35)), 1 11 iox_$destroy_iocb entry (pointer, fixed bin (35)), 1 12 iox_$detach_iocb entry (pointer, fixed bin (35)), 1 13 iox_$err_not_attached entry options (variable), 1 14 iox_$err_not_closed entry options (variable), 1 15 iox_$err_no_operation entry options (variable), 1 16 iox_$err_not_open entry options (variable), 1 17 iox_$find_iocb entry (char (*), pointer, fixed bin (35)), 1 18 iox_$find_iocb_n entry (fixed bin, ptr, fixed bin(35)), 1 19 iox_$get_chars entry (pointer, pointer, fixed bin (21), fixed bin (21), fixed bin (35)), 1 20 iox_$get_line entry (pointer, pointer, fixed bin (21), fixed bin (21), fixed bin (35)), 1 21 iox_$look_iocb entry (char (*), pointer, fixed bin (35)), 1 22 iox_$modes entry (pointer, char (*), char (*), fixed bin (35)), 1 23 iox_$move_attach entry (pointer, pointer, fixed bin (35)), 1 24 iox_$open entry (pointer, fixed bin, bit (1) aligned, fixed bin (35)), 1 25 iox_$position entry (pointer, fixed bin, fixed bin (21), fixed bin (35)), 1 26 iox_$propagate entry (pointer), 1 27 iox_$put_chars entry (pointer, pointer, fixed bin (21), fixed bin (35)), 1 28 iox_$read_key entry (pointer, char (256) varying, fixed bin (21), fixed bin (35)), 1 29 iox_$read_length entry (pointer, fixed bin (21), fixed bin (35)), 1 30 iox_$read_record entry (pointer, pointer, fixed bin (21), fixed bin (21), fixed bin (35)), 1 31 iox_$rewrite_record entry (pointer, pointer, fixed bin (21), fixed bin (35)), 1 32 iox_$seek_key entry (pointer, char (256) varying, fixed bin (21), fixed bin (35)), 1 33 iox_$write_record entry (pointer, pointer, fixed bin (21), fixed bin (35)) ; 1 34 1 35 dcl (iox_$user_output, 1 36 iox_$user_input, 1 37 iox_$user_io, 1 38 iox_$error_output) external static pointer; 1 39 1 40 /* ---------------- END include file iox_dcls.incl.pl1 ---------------- */ 138 139 2 1 /* Begin include file . . . lsm_formats.incl.pl1 */ 2 2 2 3 /* CONSTANTS */ 2 4 2 5 dcl (LSM_version_7 initial (7), /* current version, root is always symtab */ 2 6 LSM_version_6 initial (6)) /* root wasn't automatically symtab */ 2 7 fixed bin static options (constant); 2 8 2 9 dcl 1 lsm_constants aligned static options (constant), 2 10 2 n_types fixed bin initial (9), 2 11 2 types, 2 12 3 indirect_type initial (1), 2 13 3 fixed_type initial (2), 2 14 3 float_type initial (3), 2 15 3 bit_type initial (4), 2 16 3 char_type initial (5), 2 17 3 symtab_type initial (6), 2 18 3 symbol_type initial (7), 2 19 3 list_type initial (8), 2 20 3 array_type initial (9), 2 21 2 data_length_factors (9) initial (1, 1, 1, 36, 4, 1, 1, 1, 1), 2 22 2 max_allocation fixed bin initial (4095), 2 23 2 initial_component_slots fixed bin initial (8); 2 24 2 25 dcl lsm_segptr pointer; 2 26 2 27 dcl 1 lsm aligned based (lsm_segptr), /* declaration of head of lsm_ segment */ 2 28 2 version fixed bin, /* number of lsm_ version that created this seg */ 2 29 2 free fixed bin (18), /* word number of first free word in seg */ 2 30 2 root_symtab fixed bin (18), /* node number of the root symbol table */ 2 31 2 lock bit (36) aligned, 2 32 2 component_slots fixed bin, 2 33 2 components fixed bin, 2 34 2 pad (26) fixed bin (18), 2 35 2 component_ptrs (lsm_constants.initial_component_slots refer (lsm.component_slots)) pointer unaligned; 2 36 2 37 2 38 /* Formats of different node types used by lsm_ */ 2 39 2 40 dcl node_ptr pointer; 2 41 2 42 dcl 1 header aligned based (node_ptr), /* Used in all formats below */ 2 43 2 type fixed bin (6) unsigned unaligned, /* type of node */ 2 44 2 allocated_len fixed bin (12) unsigned unaligned, /* allocated length of data space */ 2 45 2 data_len fixed bin (18) unsigned unaligned; /* current length of data in block */ 2 46 /* (in appropriate units) */ 2 47 2 48 dcl 1 any_node aligned based (node_ptr), /* general node description */ 2 49 2 header like header aligned, 2 50 2 data_space (0 refer (any_node.allocated_len)) bit (36) aligned; 2 51 2 52 dcl 1 indirect_node aligned based (node_ptr), /* internal to lsm_ */ 2 53 2 header like header, 2 54 2 new_node fixed bin (18); /* numberof reallocated node */ 2 55 2 56 dcl 1 fixed_node aligned based (node_ptr), /* array of fixed bin (35) */ 2 57 2 header like header, 2 58 2 element (0 refer (fixed_node.data_len)) fixed bin (35); /* array of values */ 2 59 2 60 dcl 1 float_node aligned based (node_ptr), /* array of float binary (27) */ 2 61 2 header like header, 2 62 2 element (0 refer (float_node.data_len)) float bin (27); 2 63 2 64 dcl 1 bit_node aligned based (node_ptr), /* string of bits */ 2 65 2 header like header, 2 66 2 string bit (0 refer (bit_node.data_len)); /* bit string of max length */ 2 67 2 68 dcl 1 char_node aligned based (node_ptr), /* string of characters */ 2 69 2 header like header, 2 70 2 string char (0 refer (char_node.data_len)) unaligned; /* character string of max length */ 2 71 2 72 dcl 1 symtab_node aligned based (node_ptr), /* symbol table node */ 2 73 2 header like header, 2 74 2 bucket_root (0 : 1 refer (symtab_node.data_len)) fixed bin (18); 2 75 /* actually, it is (0 : data_len - 1), but there's no way to do */ 2 76 /* this with a refer option, and it's invalid not to use refer */ 2 77 2 78 dcl 1 symbol_node aligned based (node_ptr), /* symbol node */ 2 79 2 header like header, 2 80 2 name_node fixed bin (18), /* number of character string node containing symbol name */ 2 81 2 value_node fixed bin (18), /* number of node that is the "value" of this symbol */ 2 82 2 next_node fixed bin (18); /* number of next symbol node in this bucket chain */ 2 83 /* =0 if this is last node o chain */ 2 84 2 85 dcl 1 list_node aligned based (node_ptr), /* non-terminal list node */ 2 86 2 header like header, 2 87 2 node (0 refer (list_node.data_len)) fixed bin (18); /* numbers of nodes comprising this list */ 2 88 2 89 dcl 1 array_node aligned based (node_ptr), /* non-terminal list with terminal properties */ 2 90 2 header like header, 2 91 2 node (0 refer (array_node.data_len)) fixed bin (18); /* numbers of nodes comprising this array */ 2 92 2 93 2 94 /* End include file . . . lsm_formats.incl.pl1 */ 140 141 3 1 /* Begin include file . . . graphic_templates.incl.pl1 */ 3 2 3 3 dcl Symboltable init (34) fixed bin internal static options (constant); 3 4 3 5 dcl effector_length (0:31) fixed bin static options (constant) initial 3 6 (4, 4, 4, 4, 4, (3) 0, 3 7 4, 4, 7, (5) 0, 3 8 2, 2, 2, 2, 4, (3) 0, /* numbers of words taken up by each flavor effector */ 3 9 (8) 0); 3 10 3 11 3 12 /* Structure of graphic effectors */ 3 13 3 14 dcl 1 effector based aligned, 3 15 2 effector_code fixed bin (6), 3 16 2 data (65535) fixed bin (35); 3 17 3 18 dcl 1 floating_effector based aligned, 3 19 2 effector_code fixed bin (6), 3 20 2 data (65535) float bin (27); 3 21 3 22 dcl 1 position_effector based aligned, 3 23 2 effector_code fixed bin (6), 3 24 2 xpos float bin, 3 25 2 ypos float bin, 3 26 2 zpos float bin; 3 27 3 28 dcl 1 scale_effector based aligned, 3 29 2 effector_code fixed bin (6), 3 30 2 xscale float bin, 3 31 2 yscale float bin, 3 32 2 zscale float bin; 3 33 3 34 dcl 1 rotate_effector based aligned, 3 35 2 effector_code fixed bin (6), 3 36 2 xangle float bin, 3 37 2 yangle float bin, 3 38 2 zangle float bin; 3 39 3 40 dcl 1 clipping_effector based aligned, 3 41 2 effector_code fixed bin (6), 3 42 2 delta_left float bin, 3 43 2 delta_right float bin, 3 44 2 delta_bottom float bin, 3 45 2 delta_top float bin, 3 46 2 delta_back float bin, 3 47 2 delta_front float bin; 3 48 3 49 dcl 1 modal_effector based aligned, 3 50 2 effector_code fixed bin (6), 3 51 2 mode fixed bin; 3 52 3 53 dcl 1 color_effector based aligned, 3 54 2 effector_code fixed bin (6), 3 55 2 red_intensity fixed bin, 3 56 2 green_intensity fixed bin, 3 57 2 blue_intensity fixed bin; 3 58 3 59 dcl 1 text_effector based aligned, 3 60 2 alignment fixed bin (8) unaligned, 3 61 2 text char (262140) unaligned; 3 62 3 63 /* End include file ... graphic_templates.incl.pl1 */ 142 143 4 1 /* --------------- BEGIN include file graphic_etypes.incl.pl1 --------------- */ 4 2 4 3 /* Types of position, mode, and other effectors for the 4 4* Multics General Graphic System */ 4 5 4 6 4 7 /* Null code */ 4 8 4 9 dcl (Null initial (-1), 4 10 4 11 /* Position codes */ 4 12 4 13 Setposition initial (0), 4 14 Setpoint initial (1), 4 15 Vector initial (2), 4 16 Shift initial (3), 4 17 Point initial (4), 4 18 4 19 /* Mode codes, with values where appropriate */ 4 20 4 21 Scaling initial (8), 4 22 Rotation initial (9), 4 23 Clipping initial (10), 4 24 4 25 Intensity initial (16), 4 26 Full_intensity initial (7), 4 27 Half_intensity initial (3), 4 28 Invisible initial (0), 4 29 4 30 Linetype initial (17), 4 31 Solid initial (0), 4 32 Dashed initial (1), 4 33 Dotted initial (2), 4 34 Dash_dotted initial (3), 4 35 Long_dashed initial (4), 4 36 4 37 Sensitivity initial (18), 4 38 Sensitive initial (1), 4 39 Insensitive initial (0), 4 40 4 41 Blink initial (19), 4 42 Steady initial (0), 4 43 Blinking initial (1), 4 44 4 45 Color initial (20), 4 46 4 47 Symbol initial (24), 4 48 4 49 /* Text code, with legal alignments */ 4 50 4 51 Text initial (25), 4 52 Upper_left initial (1), 4 53 Upper_center initial (2), 4 54 Upper_right initial (3), 4 55 Left initial (4), 4 56 Center initial (5), 4 57 Right initial (6), 4 58 Lower_left initial (7), 4 59 Lower_center initial (8), 4 60 Lower_right initial (9), 4 61 4 62 /* Datablock code */ 4 63 4 64 Datablock initial (26), 4 65 4 66 /* Structural effector codes */ 4 67 4 68 List initial (32), 4 69 Array initial (33), 4 70 4 71 /* Merge codes for gm_$get_struc and gm_$put_struc */ 4 72 4 73 On_dup_error initial (0), /* allow no name duplications */ 4 74 On_dup_source initial (1), /* on name dup, force move (use source copy) */ 4 75 On_dup_target_then_nulls initial (2), /* on name dup, use target copy, for nondup symbols create null ones */ 4 76 On_dup_target_then_source initial (3), /* on name dup, use target copy, for nondup symbols, use source copy */ 4 77 4 78 /* Device codes for graphic input devices */ 4 79 4 80 Terminal_program initial (0), 4 81 Keyboard initial (1), 4 82 Mouse initial (2), 4 83 Joystick initial (3), 4 84 Tablet_and_pen initial (4), 4 85 Light_pen initial (5), 4 86 Trackball initial (6), 4 87 Any_device initial (63)) /* 63 is equivalent to -1 in SPI */ 4 88 4 89 fixed bin internal static options (constant); 4 90 4 91 /* ---------------- END include file graphic_etypes.incl.pl1 ---------------- */ 144 145 5 1 /* --------------- BEGIN include file graphic_enames.incl.pl1 --------------- */ 5 2 5 3 dcl Element_names (-2:33) char (16) static options (constant) initial 5 4 ("illegal type", "null", "setposition", "setpoint", "vector", "shift", "point", (3) (1) "undefined", 5 5 "scaling", "rotation", "clipping", (5) (1) "undefined", 5 6 "intensity", "linetype", "sensitivity", "blink", "color", (3) (1) "undefined", 5 7 "symbol", "text", "datablock", (5) (1) "undefined", 5 8 "list", "array"); 5 9 5 10 dcl Intensity_names (0:7) char (8) static options (constant) initial 5 11 ("off", "1", "2", "3", "4", "5", "6", "full"); 5 12 5 13 dcl Linetype_names (0:4) char (12) static options (constant) initial 5 14 ("solid", "dashed", "dotted", "dash_dotted", "long_dashed"); 5 15 5 16 dcl Sensitivity_names (0:1) char (12) static options (constant) initial 5 17 ("insensitive", "sensitive"); 5 18 5 19 dcl Blink_names (0:1) char (8) static options (constant) initial 5 20 ("steady", "blinking"); 5 21 5 22 dcl Text_alignments (9) char (16) static options (constant) initial 5 23 ("upper_left", "upper_center", "upper_right", 5 24 "left", "center", "right", 5 25 "lower_left", "lower_center", "lower_right"); 5 26 5 27 dcl Input_device_names (0:63) char (16) static options (constant) initial 5 28 ("terminal_program", "keyboard", "mouse", "joystick", "pen_tablet", 5 29 "lightpen", "trackball", (56)(1)"undefined", "any"); 5 30 5 31 /* ---------------- END include file graphic_enames.incl.pl1 ---------------- */ 146 147 6 1 /* Begin include file ... graphic_comp_specs.incl.pl1 */ 6 2 6 3 /* Table of node lengths, etc., for compilation of graphic structures */ 6 4 6 5 dcl structural_effector_codes (0:35) char (1) unaligned /* refers to struc in graphic_code_dcl.incl.pl1 */ 6 6 defined (Graphic_Code_Structure.Setposition_char); 6 7 6 8 6 9 dcl no_args (0:31) fixed bin static options (constant) /* Number of arguments for each type of effector */ 6 10 initial /* Zero means an indeterminate but computable number */ 6 11 (3 /* setpos */, 3 /* setpt */, 3 /* vector */, 3 /* shift */, 6 12 3 /* point */, (3) -1 /* ILLEGAL */, 6 13 3 /* scale */, 3 /* rotate */, 6 /* clip */, (5) -1 /* ILLEGAL */, 6 14 1 /* intens */, 1 /* linetype */, 1 /* blink */, 1 /* sensitivity */, 6 15 3 /* color */, (3) -1 /* ILLEGAL */, 6 16 0 /* symbol */, 0 /* text */, 0 /* datablk */, (5) -0 /* ILLEGAL */); 6 17 6 18 6 19 dcl arg_types (0:31) fixed bin static options (constant) init /* format of character string for each effector */ 6 20 (3 /* sps SCL */, 3 /* spt SCL */, 3 /* vec SCL */, 3 /* sft SCL */, 6 21 3 /* pnt SCL */, (3) 0 /* ILLEGAL */, 6 22 3 /* scl SCL */, 2 /* rot DPI */, 3 /* clip SCL */, (5) 0 /* ILLEGAL */, 6 23 1 /* int SPI */, 1 /* lin SPI */, 1 /* blk SPI */, 1 /* sns SPI */, 6 24 1 /* color SPI */, (3) 0 /* ILLEGAL */, 6 25 5 /* sym T */, 5 /* text T */, 6 /* data D */, (5) 0 /* ILLEGAL */); 6 26 6 27 6 28 dcl Illegal_char char (1) aligned static init ("U") options (constant); /* Illegal character, "\525" */ 6 29 6 30 6 31 /* Effector argument format types */ 6 32 6 33 dcl 1 arg_formats aligned internal static options (constant), 6 34 2 SPI fixed bin (3) init (1), /* single precision (6 bit) integer */ 6 35 2 DPI fixed bin (3) init (2), /* double precision (12 bit) integer */ 6 36 2 SCL fixed bin (3) init (3), /* scaled fixed point (11,6) binary */ 6 37 2 UI fixed bin (3) init (4), /* unique id (18 bit) integer */ 6 38 2 T fixed bin (3) init (5), /* text (character string) */ 6 39 2 D fixed bin (3) init (6); /* bit string */ 6 40 6 41 6 42 /* Numbers of characters representing an argument, by type */ 6 43 6 44 dcl arg_lengths (6) fixed bin internal static options (constant) init 6 45 (1 /* SPI */, 2 /* DPI */, 3 /* SCL */, 3 /* UI */, 0 /* T */, 0 /* D */); 6 46 6 47 dcl (SPI_arg_length initial (1), 6 48 DPI_arg_length initial (2), 6 49 SCL_arg_length initial (3), 6 50 UI_arg_length initial (3)) fixed bin static options (constant); 6 51 6 52 /* This include file includes graphic_code_dcl.incl.pl1, appearing below. */ 6 53 7 1 /* -------- BEGIN include file graphic_code_dcl.incl.pl1 ---------- */ 7 2 7 3 /* The following structure maintains a nonobvious positional relationship 7 4* with respect to the LSM block types as defined by the graphic compiler. 7 5* It therefore has an intimiate and delicate relationship with certain tables 7 6* defined in graphic_comp_specs.incl.pl1. */ 7 7 7 8 dcl 1 Graphic_Code_Structure aligned static options (constant), 7 9 2 Dynamic_and_structural_effectors aligned, 7 10 3 (Pause_char initial ("$"), 7 11 Reference_char initial ("%"), 7 12 Increment_char initial ("&"), 7 13 Alter_char initial ("'"), 7 14 Node_begin_char initial ("("), 7 15 Node_end_char initial (")"), 7 16 Control_char initial ("*"), 7 17 Display_char initial ("+"), 7 18 Query_char initial (","), 7 19 Erase_char initial ("-"), 7 20 Synchronize_char initial ("."), 7 21 Delete_char initial ("/")) char (1) unaligned, 7 22 2 Graphic_effectors aligned, 7 23 3 (Setposition_char initial ("0"), 7 24 Setpoint_char initial ("1"), 7 25 Vector_char initial ("2"), 7 26 Shift_char initial ("3"), 7 27 Point_char initial ("4")) char (1) unaligned, 7 28 3 Illegal_pad char (3) unaligned initial ((3)"U"), 7 29 2 Mapping_effectors aligned, 7 30 3 (Scaling_char initial ("5"), 7 31 Rotation_char initial ("6"), 7 32 Clipping_char initial ("7")) char (1) unaligned, 7 33 3 Illegal_pad char (5) unaligned initial ((5)"U"), 7 34 2 Mode_effectors aligned, 7 35 3 (Intensity_char initial ("8"), 7 36 Linetype_char initial ("9"), 7 37 Sensitivity_char initial (";"), 7 38 Blinking_char initial (":"), 7 39 Color_char initial ("<")) char (1) unaligned, 7 40 3 Illegal_pad char (3) unaligned initial ((3)"U"), 7 41 2 Special_effectors aligned, 7 42 3 (Symbol_char initial ("="), 7 43 Text_char initial (">"), 7 44 Datablock_char initial ("?")) char (1) unaligned, 7 45 3 Illegal_pad char (9) unaligned initial ((9)"U"); 7 46 7 47 dcl 1 Graphic_Defaults aligned static options (constant), 7 48 2 Mode_defaults aligned, 7 49 3 Intensity_default fixed bin initial (7), 7 50 3 Linetype_default fixed bin initial (0), 7 51 3 Blinking_default fixed bin initial (0), 7 52 3 Sensitivity_default fixed bin initial (0), 7 53 3 Color_default (3) fixed bin initial ((3)16), 7 54 2 Mapping_defaults aligned, 7 55 3 Scaling_default (3) float bin initial ((3)1e0), 7 56 3 Rotation_default (3) fixed bin initial ((3)0), 7 57 3 Clipping_default (3, 2) fixed bin initial ((3) (-2048, 2048)), 7 58 2 Identity_matrix (3, 3) float bin initial (1e0, (3)0e0, 1e0, (3)0e0, 1e0); 7 59 7 60 dcl Graphic_Element_Lengths (32 : 63) aligned static options (constant) initial 7 61 ((4)-1, /* not used */ 7 62 1, /* pause */ 4, /* reference */ 9, /* increment */ 9, /* alter */ 7 63 5, /* node begin */ 1, /* node end */ 4, /* control */ 4, /* display */ 7 64 3, /* query */ 1, /* erase */ 1, /* synchronize */ 4, /* delete */ 7 65 10, /* setposition */ 10, /* setpoint */ 10, /* vector */ 10, /* shift */ 7 66 10, /* point */ 10, /* scaling */ 7, /* rotation */ 13, /* clipping */ 7 67 2, /* intensity */ 2, /* line type */ 2, /* blinking */ 2, /* sensitivity */ 7 68 4, /* color */ 0, /* symbol */ 0, /* text */ 0 /* data */); 7 69 7 70 dcl zero_node_id char (3) static initial ("@@@") options (constant); 7 71 7 72 dcl request_for_status char (1) static aligned initial ("") options (constant); 7 73 7 74 dcl (List_char initial ("@"), 7 75 Array_char initial ("A")) char (1) aligned static options (constant); 7 76 7 77 /* --------- END include file graphic_code_dcl.incl.pl1 ----------- */ 6 54 6 55 6 56 /* End include file ... graphic_comp_specs.incl.pl1 */ 148 149 8 1 /* --------------- BEGIN include file graphic_input_formats.incl.pl1 --------------- */ 8 2 8 3 /* Created by Lee J. Scheffler, Nov. 1973 */ 8 4 /* Last modified by C. D. Tavares 03/26/75 */ 8 5 8 6 /* Character string formats of graphic input data */ 8 7 8 8 8 9 dcl 1 Query_characters aligned internal static, 8 10 2 Where_char char (1) init ("A"), 8 11 2 Which_char char (1) init ("B"), 8 12 2 What_char char (1) init ("C"); 8 13 8 14 dcl 1 where_format unaligned based, /* character string for "where" input */ 8 15 2 node_begin char (1), /* node begin char */ 8 16 2 array_indicator char (1), /* must say "array" */ 8 17 2 mbz char (3), /* node id of 0, in UI format */ 8 18 2 setpos_indicator char (1), /* setposition character */ 8 19 2 xpos char (3), /* x position in SCL format */ 8 20 2 ypos char (3), /* y position in SCL format */ 8 21 2 zpos char (3), /* z position in SCL format */ 8 22 2 node_end char (1), /* node end char */ 8 23 2 newline char (1); 8 24 8 25 dcl 1 which_format unaligned based, /* character string for "which" input */ 8 26 2 node_begin char (1), /* node begin char */ 8 27 2 node_id char (3), /* node # of top level list node */ 8 28 2 depth char (1), /* list structure depth of graphic structure indicated */ 8 29 2 path_array (1000) char (2); /* list indices of successive nodes in structure path */ 8 30 8 31 dcl 1 what_format unaligned based, /* character string for "what" input */ 8 32 2 begin char (1), /* node begin char */ 8 33 2 device_code char (1), /* graphic input device code */ 8 34 2 graphic_structure char (graphic_structure_len), /* the actual graphic structure returned */ 8 35 2 node_end char (1), /* node end char */ 8 36 2 newline char (1); 8 37 8 38 dcl graphic_structure_len fixed bin (24); /* computed length of structure */ 8 39 8 40 /* ---------------- END include file graphic_input_formats.incl.pl1 ---------------- */ 150 151 9 1 /* *************** BEGIN INCLUDE FILE gm_entry_dcls.incl.pl1 *************** */ 9 2 9 3 dcl (graphic_manipulator_$init, 9 4 gm_$init) entry (fixed bin (35)); 9 5 9 6 dcl (graphic_manipulator_$segp, 9 7 gm_$segp) entry (pointer, fixed bin (35)); 9 8 9 9 dcl (graphic_manipulator_$create_position, 9 10 gm_$create_position, 9 11 graphic_manipulator_$cpos, 9 12 gm_$cpos) entry (fixed bin, float bin (27), float bin (27), float bin (27), fixed bin (35)) returns (fixed bin (18)); 9 13 9 14 dcl (graphic_manipulator_$create_mode, 9 15 gm_$create_mode, 9 16 graphic_manipulator_$cmode, 9 17 gm_$cmode) entry (fixed bin, fixed bin, fixed bin (35)) returns (fixed bin (18)); 9 18 9 19 dcl (graphic_manipulator_$create_scale, 9 20 gm_$create_scale, 9 21 graphic_manipulator_$cscale, 9 22 gm_$cscale) entry (float bin (27), float bin (27), float bin (27), fixed bin (35)) returns (fixed bin (18)); 9 23 9 24 dcl (graphic_manipulator_$create_rotation, 9 25 gm_$create_rotation, 9 26 graphic_manipulator_$crot, 9 27 gm_$crot) entry (float bin (27), float bin (27), float bin (27), fixed bin (35)) returns (fixed bin (18)); 9 28 9 29 dcl (graphic_manipulator_$create_clip, 9 30 gm_$create_clip, 9 31 graphic_manipulator_$cclip, 9 32 gm_$cclip) entry (float bin (27), float bin (27), float bin (27), float bin (27), float bin (27), float bin (27), 9 33 fixed bin (35)) returns (fixed bin (18)); 9 34 9 35 dcl (graphic_manipulator_$create_color, 9 36 gm_$create_color, 9 37 graphic_manipulator_$ccolor, 9 38 gm_$ccolor) entry (fixed bin, fixed bin, fixed bin, fixed bin (35)) returns (fixed bin (18)); 9 39 9 40 dcl (graphic_manipulator_$create_text, 9 41 gm_$create_text, 9 42 graphic_manipulator_$ctext, 9 43 gm_$ctext) entry (fixed bin, fixed bin, char (*), fixed bin (35)) returns (fixed bin (18)); 9 44 9 45 dcl (graphic_manipulator_$create_data, 9 46 gm_$create_data, 9 47 graphic_manipulator_$cdata, 9 48 gm_$cdata) entry (fixed bin, bit (*), fixed bin (35)) returns (fixed bin (18)); 9 49 9 50 dcl (graphic_manipulator_$create_list, 9 51 gm_$create_list, 9 52 graphic_manipulator_$clist, 9 53 gm_$clist) entry (fixed bin (18) dimension (*), fixed bin, fixed bin (35)) returns (fixed bin (18)); 9 54 9 55 dcl (graphic_manipulator_$create_array, 9 56 gm_$create_array, 9 57 graphic_manipulator_$carray, 9 58 gm_$carray) entry (fixed bin (18) dimension (*), fixed bin, fixed bin (35)) returns (fixed bin (18)); 9 59 9 60 dcl (graphic_manipulator_$assign_name, 9 61 gm_$assign_name) entry (char (*), fixed bin (18), fixed bin (35)) returns (fixed bin (18)); 9 62 9 63 dcl (graphic_manipulator_$find_structure, 9 64 gm_$find_structure, 9 65 graphic_manipulator_$fstruc, 9 66 gm_$fstruc) entry (char (*), fixed bin (18), fixed bin (35)) returns (fixed bin (18)); 9 67 9 68 dcl (graphic_manipulator_$add_element, 9 69 gm_$add_element) entry (fixed bin (18), fixed bin, fixed bin (18), fixed bin (35)); 9 70 9 71 dcl (graphic_manipulator_$replace_element, 9 72 gm_$replace_element) entry (fixed bin (18), fixed bin, fixed bin (18), fixed bin (35)) returns (fixed bin (18)); 9 73 9 74 dcl (graphic_manipulator_$replace_node, 9 75 gm_$replace_node) entry (fixed bin (18), fixed bin (18), fixed bin (35)); 9 76 9 77 dcl (graphic_manipulator_$remove_symbol, 9 78 gm_$remove_symbol) entry (char (*), fixed bin (35)); 9 79 9 80 dcl (graphic_manipulator_$replicate, 9 81 gm_$replicate) entry (fixed bin (18), fixed bin (35)) returns (fixed bin (18)); 9 82 9 83 dcl (graphic_manipulator_$examine_type, 9 84 gm_$examine_type) entry (fixed bin (18), bit (1) aligned, fixed bin, fixed bin (35)); 9 85 9 86 dcl (graphic_manipulator_$examine_position, 9 87 gm_$examine_position, 9 88 graphic_manipulator_$epos, 9 89 gm_$epos) entry (fixed bin (18), fixed bin, float bin, float bin, float bin, fixed bin (35)); 9 90 9 91 dcl (graphic_manipulator_$examine_mode, 9 92 gm_$examine_mode, 9 93 graphic_manipulator_$emode, 9 94 gm_$emode) entry (fixed bin (18), fixed bin, fixed bin, fixed bin (35)); 9 95 9 96 dcl (graphic_manipulator_$examine_color, 9 97 gm_$examine_color, 9 98 graphic_manipulator_$ecolor, 9 99 gm_$ecolor) entry (fixed bin (18), fixed bin, fixed bin, fixed bin, fixed bin (35)); 9 100 9 101 dcl (graphic_manipulator_$examine_mapping, 9 102 gm_$examine_mapping, 9 103 graphic_manipulator_$emap, 9 104 gm_$emap) entry (fixed bin (18), fixed bin, float bin dimension (*), fixed bin, fixed bin (35)); 9 105 9 106 dcl (graphic_manipulator_$examine_contents, 9 107 gm_$examine_contents) entry (fixed bin (18), fixed bin (18) dimension (*), fixed bin, fixed bin (35)); 9 108 9 109 dcl (graphic_manipulator_$examine_list, 9 110 gm_$examine_list, 9 111 graphic_manipulator_$elist, 9 112 gm_$elist) entry (fixed bin (18), dimension (*) fixed bin (18), fixed bin, fixed bin (35)); 9 113 9 114 dcl (graphic_manipulator_$examine_symtab, 9 115 graphic_manipulator_$esymtab, 9 116 gm_$examine_symtab, 9 117 gm_$esymtab) entry (fixed bin (18) dimension (*), fixed bin, fixed bin (35)); 9 118 9 119 dcl (graphic_manipulator_$examine_symbol, 9 120 gm_$examine_symbol, 9 121 graphic_manipulator_$esymbol, 9 122 gm_$esymbol) entry (fixed bin (18), fixed bin (18), fixed bin, char (*), fixed bin (35)); 9 123 9 124 dcl (graphic_manipulator_$examine_text, 9 125 gm_$examine_text, 9 126 graphic_manipulator_$etext, 9 127 gm_$etext) entry (fixed bin (18), fixed bin, fixed bin, char (*), fixed bin (35)); 9 128 9 129 dcl (graphic_manipulator_$examine_data, 9 130 gm_$examine_data, 9 131 graphic_manipulator_$edata, 9 132 gm_$edata) entry (fixed bin (18), fixed bin, bit (*), fixed bin (35)); 9 133 9 134 dcl (graphic_manipulator_$get_struc, 9 135 gm_$get_struc, 9 136 graphic_manipulator_$gstruc, 9 137 gm_$gstruc) entry (char (*), char (*), char (*), fixed bin, fixed bin (35)); 9 138 9 139 dcl (graphic_manipulator_$put_struc, 9 140 gm_$put_struc, 9 141 graphic_manipulator_$pstruc, 9 142 gm_$pstruc) entry (char (*), char (*), char (*), fixed bin, fixed bin (35)); 9 143 9 144 dcl (graphic_manipulator_$save_file, 9 145 gm_$save_file) entry (char (*), char (*), fixed bin (35)); 9 146 9 147 dcl (graphic_manipulator_$use_file, 9 148 gm_$use_file) entry (char (*), char (*), fixed bin (35)); 9 149 9 150 /* **************** END INCLUDE FILE gm_entry_dcls.incl.pl1 **************** */ 152 153 10 1 /* *************** BEGIN INCLUDE FILE gc_entry_dcls.incl.pl1 *************** */ 10 2 10 3 dcl (graphic_compiler_$tree_ptr, 10 4 gc_$tree_ptr) entry returns (pointer); 10 5 10 6 dcl (graphic_compiler_$return_string, 10 7 gc_$return_string, 10 8 graphic_compiler_$rs, 10 9 gc_$rs) entry (fixed bin (18), pointer, fixed bin, fixed bin (35)); 10 10 10 11 dcl (graphic_compiler_$display_append, 10 12 gc_$display_append, 10 13 graphic_compiler_$da, 10 14 gc_$da) entry (fixed bin (18), fixed bin (35)); 10 15 10 16 dcl (graphic_compiler_$display_append_switch, 10 17 gc_$display_append_switch, 10 18 graphic_compiler_$da_switch, 10 19 gc_$da_switch) entry (fixed bin (18), fixed bin (35), pointer); 10 20 10 21 dcl (graphic_compiler_$display, 10 22 gc_$display, 10 23 graphic_compiler_$d, 10 24 gc_$d) entry (fixed bin (18), fixed bin (35)); 10 25 10 26 dcl (graphic_compiler_$display_switch, 10 27 gc_$display_switch, 10 28 graphic_compiler_$d_switch, 10 29 gc_$d_switch) entry (fixed bin (18), fixed bin (35), pointer); 10 30 10 31 dcl (graphic_compiler_$load, 10 32 gc_$load, 10 33 graphic_compiler_$l, 10 34 gc_$l) entry (fixed bin (18), fixed bin (35)); 10 35 10 36 dcl (graphic_compiler_$load_switch, 10 37 gc_$load_switch, 10 38 graphic_compiler_$l_switch, 10 39 gc_$l_switch) entry (fixed bin (18), fixed bin (35), pointer); 10 40 10 41 dcl (graphic_compiler_$display_name_append, 10 42 gc_$display_name_append, 10 43 graphic_compiler_$dna, 10 44 gc_$dna) entry (char (*), fixed bin (35)); 10 45 10 46 dcl (graphic_compiler_$display_name_append_switch, 10 47 gc_$display_name_append_switch, 10 48 graphic_compiler_$dna_switch, 10 49 gc_$dna_switch) entry (char (*), fixed bin (35), pointer); 10 50 10 51 dcl (graphic_compiler_$display_name, 10 52 gc_$display_name, 10 53 graphic_compiler_$dn, 10 54 gc_$dn) entry (char (*), fixed bin (35)); 10 55 10 56 dcl (graphic_compiler_$display_name_switch, 10 57 gc_$display_name_switch, 10 58 graphic_compiler_$dn_switch, 10 59 gc_$dn_switch) entry (char (*), fixed bin (35), pointer); 10 60 10 61 dcl (graphic_compiler_$load_name, 10 62 gc_$load_name, 10 63 graphic_compiler_$ln, 10 64 gc_$ln) entry (char (*), fixed bin (35)); 10 65 10 66 dcl (graphic_compiler_$load_name_switch, 10 67 gc_$load_name_switch, 10 68 graphic_compiler_$ln_switch, 10 69 gc_$ln_switch) entry (char (*), fixed bin (35), pointer); 10 70 10 71 dcl (graphic_compiler_$prune_tree, 10 72 gc_$prune_tree) entry (fixed bin (35)); 10 73 10 74 /* **************** END INCLUDE FILE gc_entry_dcls.incl.pl1 **************** */ 154 155 11 1 /* --------------- BEGIN include file lsm_entry_dcls.incl.pl1 --------------- */ 11 2 11 3 dcl lsm_$get_blk entry (ptr, fixed bin (18), fixed bin, fixed bin, ptr, fixed bin (35)), 11 4 lsm_$make_blk entry (ptr, fixed bin (18), fixed bin, fixed bin, ptr, fixed bin (35)), 11 5 lsm_$mk_char entry (ptr, char (*), fixed bin (18)), 11 6 lsm_$replace_blk entry (ptr, fixed bin (18), fixed bin (18), fixed bin (35)), 11 7 lsm_$replicate entry (ptr, fixed bin (18), fixed bin (18), fixed bin (35)), 11 8 lsm_$set_blk entry (ptr, fixed bin (18), fixed bin, fixed bin, ptr, fixed bin (35)); 11 9 11 10 dcl lsm_fs_$compact entry (ptr, fixed bin (18), fixed bin (35)), 11 11 lsm_fs_$free entry (ptr, fixed bin (35)), 11 12 lsm_fs_$init entry (ptr, fixed bin (35)), 11 13 lsm_fs_$init_seg entry (ptr, char (*), char (*), fixed bin, fixed bin (35)), 11 14 lsm_fs_$merge_symbol entry (ptr, ptr, fixed bin (18), bit (1), fixed bin, fixed bin (35)), 11 15 lsm_fs_$move_struc entry (ptr, ptr, fixed bin (18), fixed bin (18), fixed bin (35)), 11 16 lsm_fs_$pull entry (ptr, char (*), char (*), fixed bin (35)), 11 17 lsm_fs_$push entry (ptr, char (*), char (*), fixed bin (35)); 11 18 11 19 dcl lsm_sym_$find_table entry (pointer, fixed bin (18), fixed bin (35)), 11 20 lsm_sym_$sym_list entry (ptr, (*) fixed bin (18), fixed bin, fixed bin (35)), 11 21 lsm_sym_$symk entry (ptr, fixed bin, char (*), fixed bin (18), fixed bin (18), fixed bin (35)), 11 22 lsm_sym_$symn entry (ptr, fixed bin, fixed bin (18), fixed bin (18), fixed bin (18), fixed bin (35)); 11 23 11 24 dcl (Find_symbol initial (0), /* op codes for lsm_sym_$symk and lsm_sym_$symn */ 11 25 Find_or_create_symbol initial (1), 11 26 Create_symbol initial (2), 11 27 Delete_symbol initial (3)) fixed bin static options (constant); 11 28 11 29 dcl (Find_seg initial (0), /* Opcodes for lsm_fs_$init_seg */ 11 30 Create_seg initial (1), 11 31 Clear_seg initial (2)) fixed bin static options (constant); 11 32 11 33 /* ---------------- END include file lsm_entry_dcls.incl.pl1 ---------------- */ 156 157 158 setup: procedure; 159 160 /* Internal procedure to get pointer to working graphic segment */ 161 162 call graphic_manipulator_$segp (wgs_p, err_code); /* Get ptr to current working graphic segment */ 163 if err_code ^= 0 then go to non_local_return; 164 165 sys_area_p = get_system_free_area_ (); 166 167 call get_temp_segment_ ("graphic_operator_", buffer_ptr, err_code); 168 if err_code ^= 0 then goto non_local_return; 169 170 max_string_size = sys_info$max_seg_size * 4; 171 172 uninitted = ""b; 173 174 return; 175 end setup; 176 177 non_local_return: 178 outindex = save_outindex; 179 return; 180 181 write_it_out: procedure; 182 183 /* Internal procedure to write out a dynamic effector or order */ 184 185 err_code = 0; 186 if immediacy | cant_wait | outindex > 480 then save_outindex = 1; 187 else return; 188 189 on cleanup outindex, save_outindex = 1; 190 191 if graphic_output = null then do; 192 call iox_$look_iocb ("graphic_output", graphic_output, err_code); 193 if err_code ^= 0 then goto non_local_return; 194 end; 195 196 if cur_output_switch = null then cur_output_switch = graphic_output; 197 198 call iox_$put_chars (cur_output_switch, addr (outstring), 199 outindex - 1, err_code); 200 201 if err_code ^= 0 then go to non_local_return;; 202 203 outindex = 1; 204 205 return; 206 end write_it_out; 207 208 dispatch_switch: entry (err_code, desired_switch); 209 210 cur_output_switch = desired_switch; 211 212 dispatch: entry (err_code); 213 214 cant_wait = "1"b; 215 call write_it_out; 216 return; 217 218 reset: entry; 219 220 outindex = 1; 221 222 if saved_which_ptr ^= null then free saved_which in (sys_area); 223 224 return; 225 226 set_immediacy: entry (immediacy_parameter, old_immediacy, err_code); 227 228 if cu_$arg_count () = 2 then begin; /* old style calling sequence */ 229 230 declare based_code fixed bin (35) based (addr (old_immediacy)); 231 232 call set_immediacy (immediacy_parameter, ""b, based_code); 233 return; 234 end; 235 236 old_immediacy = immediacy; 237 238 immediacy = immediacy_parameter; 239 if immediacy then call write_it_out; 240 241 return; 242 243 replace_element_switch: entry (list_n, index, new_n, err_code, desired_switch) returns (fixed bin (18)); 244 245 cur_output_switch = desired_switch; 246 247 replace_element: entry (list_n, index, new_n, err_code) returns (fixed bin (18)); 248 249 /* Replace the index'th node in "list_n" with node "new_n" */ 250 251 if uninitted then call setup; 252 253 old_n = graphic_manipulator_$replace_element (list_n, index, new_n, err_code); 254 /* Alter the list node in the working graphic seg */ 255 if err_code ^= 0 then return (old_n); 256 257 outstring_array (outindex) = Alter_char; 258 call graphic_code_util_$encode_uid (addr (list_n) -> dum_array, 1, addr (outstring_array (outindex + 1))); 259 /* Stick in node id of list being altered */ 260 outindex = outindex + 1 + arg_lengths (UI); 261 262 call graphic_code_util_$encode_dpi (addr (index) -> dum_array, 1, addr (outstring_array (outindex))); 263 /* Stick in index of list element being replaced */ 264 outindex = outindex + arg_lengths (DPI); 265 266 call graphic_code_util_$encode_uid (addr (new_n) -> dum_array, 1, addr (outstring_array (outindex))); 267 outindex = outindex + arg_lengths (UI); 268 269 call write_it_out; 270 271 return (old_n); /* Give back node # of node replaced */ 272 273 /* --------------------------------------------------------------------------- */ 274 275 /* Delete a node in terminal memory */ 276 277 delete_switch: entry (node_n, err_code, desired_switch); 278 279 cur_output_switch = desired_switch; 280 281 delete: entry (node_n, err_code); 282 283 outstring_array (outindex) = Delete_char; 284 285 simple_common: /* Nodes with just a node # come here */ 286 call graphic_code_util_$encode_uid (addr (node_n) -> dum_array, 1, addr (outstring_array (outindex + 1))); 287 outindex = outindex + 1 + arg_lengths (UI); 288 289 call write_it_out; 290 291 return; 292 293 /* --------------------------------------------------------------------- */ 294 295 /* Display a node already residing in terminal memory */ 296 297 display_switch: entry (node_n, err_code, desired_switch); 298 299 cur_output_switch = desired_switch; 300 301 display: entry (node_n, err_code); 302 303 outstring_array (outindex) = Display_char; 304 go to simple_common; 305 306 /* ----------------------------------------------------------------------- */ 307 308 /* Erase a node currently being displayed */ 309 310 erase_switch: entry (err_code, desired_switch); 311 312 cur_output_switch = desired_switch; 313 314 erase: entry (err_code); 315 316 outstring_array (outindex) = Erase_char; 317 go to simplest_common; 318 319 /* --------------------------------------------------------------------- */ 320 321 /* Cause remote terminal to complete all parallel processing 322* before proceeding with interpretation of the rest of the graphic output */ 323 324 synchronize_switch: entry (err_code, desired_switch); 325 326 cur_output_switch = desired_switch; 327 328 synchronize: entry (err_code); 329 330 outstring_array (outindex) = Synchronize_char; 331 332 simplest_common: /* Common point for all no-argument effectors */ 333 334 outindex = outindex + 1; 335 call write_it_out; 336 return; 337 338 /* ------------------------------------------------------------------------- */ 339 340 /* Cause graphic terminal to continue display, but wait for user to 341* indicate an interaction somehow */ 342 343 pause_switch: entry (err_code, desired_switch); 344 345 cur_output_switch = desired_switch; 346 347 pause: entry (err_code); 348 349 outstring_array (outindex) = Pause_char; 350 outindex = outindex + 1; 351 call write_it_out; 352 353 return; 354 355 /* ------------------------------------------------------------------------ */ 356 357 /* Increment "node_n" "no_iter" times with "delay" seconds (accurate to 1/32) 358* between increments (starting with a delay, using 359* node "incr_n" as a template to supply the increments */ 360 361 increment_switch: entry (node_n, no_iter, delay, incr_n, err_code, desired_switch); 362 363 cur_output_switch = desired_switch; 364 365 increment: entry (node_n, no_iter, delay, incr_n, err_code); 366 367 if uninitted then call setup; 368 if no_iter <= 0 then do; /* Obviously out of range */ 369 err_code = graphic_error_table_$bad_no_iter; 370 return; 371 end; 372 373 if delay < 0e0 then do; 374 err_code = graphic_error_table_$neg_delay; 375 return; 376 end; 377 378 379 call graphic_manipulator_$examine_type (node_n, t_nt, etype, err_code); 380 if err_code ^= 0 then return; 381 if t_nt then do; /* If a non-terminal node, cannot do increment */ 382 inv_type: err_code = graphic_error_table_$inv_node_type; 383 return; 384 end; 385 call graphic_manipulator_$examine_type (incr_n, t_nt, incr_type, err_code); 386 if err_code ^= 0 then return; 387 if t_nt then go to inv_type; 388 389 if etype ^= incr_type 390 then go to inv_type; 391 392 if etype >= Symbol 393 then go to inv_type; 394 395 can_do_increment: 396 call lsm_$get_blk (wgs_p, node_n, effector_type, effector_len, node_ptr, err_code); 397 /* Get pointer to original node */ 398 effector_p = addr (node_ptr -> any_node.data_space); 399 400 call lsm_$get_blk (wgs_p, incr_n, lsm_type, incr_len, node_ptr, err_code); 401 incr_p = addr (node_ptr -> any_node.data_space); 402 403 if incr_len > effector_len then do; /* must grow data space of original effector */ 404 call lsm_$set_blk (wgs_p, node_n, effector_type, incr_len, node_ptr, err_code); 405 /* Get lsm_ to increase block length */ 406 if err_code ^= 0 then return; 407 effector_p = addr (node_ptr -> any_node.data_space); 408 end; 409 410 /* Perform incrementing in working graphic seg */ 411 412 if etype <= Clipping then 413 do i = 1 to incr_len - 1; /* Floating elements */ 414 effector_p -> floating_effector.data (i) = 415 effector_p -> floating_effector.data (i) + incr_p -> floating_effector.data (i) * no_iter; 416 end; 417 418 else do i = 1 to incr_len - 1; /* Fixed elements */ 419 effector_p -> fixed_effector.element (i) = 420 effector_p -> fixed_effector.element (i) + incr_p -> fixed_effector.element (i) * no_iter; 421 end; 422 423 outstring_array (outindex) = Increment_char; 424 call graphic_code_util_$encode_uid (addr (node_n) -> dum_array, 1, addr (outstring_array (outindex + 1))); 425 outindex = outindex + 1 + arg_lengths (UI); 426 427 call graphic_code_util_$encode_dpi (addr (no_iter) -> dum_array, 1, addr (outstring_array (outindex))); 428 outindex = outindex + arg_lengths (DPI); 429 430 call graphic_code_util_$encode_scl (addr (delay) -> dum_float_array, 1, addr (outstring_array (outindex))); 431 outindex = outindex + arg_lengths (SCL); 432 433 434 /* Get graphic_compiler_ to compile the increment node */ 435 436 call graphic_compiler_$return_string (incr_n, addr (increment_string), nchars, err_code); 437 if err_code ^= 0 then return; 438 nchars = nchars - 3 - arg_lengths (UI); /* Strip off list indicator, node begin, node id, node end */ 439 substr (outstring, outindex, nchars) = substr (increment_string, 3 + arg_lengths (UI), nchars); 440 outindex = outindex + nchars; 441 call write_it_out; 442 return; 443 444 /* ------------------------------------------------------------------------ */ 445 446 /* Place position node "node_n" under control of terminal processor interaction with user */ 447 448 control_switch: entry (node_n, err_code, desired_switch); 449 450 cur_output_switch = desired_switch; 451 452 control: entry (node_n, err_code); 453 454 if uninitted then call setup; 455 456 cant_wait = "1"b; 457 458 call graphic_manipulator_$examine_type (node_n, t_nt, etype, err_code); 459 if err_code ^= 0 then return; 460 if t_nt then go to inv_type; /* only terminal nodes */ 461 462 outstring_array (outindex) = Control_char; 463 call graphic_code_util_$encode_uid (addr (node_n) -> dum_array, 1, addr (outstring_array (outindex + 1))); 464 outindex = outindex + 1 + arg_lengths (UI); 465 466 call write_it_out; 467 468 call do_actual_input; 469 if err_code ^= 0 then return; 470 471 new_node = graphic_decompiler_ (decompile_string, err_code); 472 473 call graphic_manipulator_$examine_type (new_node, t_nt, new_type, err_code); 474 if err_code ^= 0 then return; 475 if t_nt then goto inv_type; 476 if etype ^= new_type then do; 477 err_code = graphic_error_table_$node_mismatch; 478 return; 479 end; 480 481 call graphic_manipulator_$replace_node (node_n, new_node, err_code); 482 483 return; 484 485 /* -------------------------------------------------------------------- */ 486 487 do_actual_input: proc; 488 489 if graphic_input = null then do; 490 call iox_$look_iocb ("graphic_input", graphic_input, err_code); 491 if err_code ^= 0 then return; 492 end; 493 494 if cur_input_switch = null then cur_input_switch = graphic_input; 495 496 call iox_$get_line (cur_input_switch, buffer_ptr, max_string_size, inlen, err_code); 497 if err_code ^= 0 then return; 498 499 return; 500 501 end do_actual_input; 502 503 /* -------------------------------------------------------------------- */ 504 505 /* Obtain a where input from the graphic terminal */ 506 507 where_switch: entry (device, xpos, ypos, zpos, err_code, desired_i_switch, desired_o_switch); 508 509 cur_input_switch = desired_i_switch; 510 cur_output_switch = desired_o_switch; 511 512 where: entry (device, xpos, ypos, zpos, err_code); 513 514 call query (Where_char); 515 if err_code ^= 0 then return; 516 517 if buffer_ptr -> where_format.node_begin ^= Node_begin_char then goto bad_input_format; 518 if buffer_ptr -> where_format.array_indicator ^= Array_char then goto bad_input_format; 519 if buffer_ptr -> where_format.mbz ^= zero_node_id then goto bad_input_format; 520 if buffer_ptr -> where_format.setpos_indicator ^= Setposition_char then goto bad_input_format; 521 if buffer_ptr -> where_format.node_end ^= Node_end_char then do; 522 bad_input_format: 523 err_code = graphic_error_table_$malformed_input; 524 return; 525 end; 526 527 call graphic_code_util_$decode_scl (addr (buffer_ptr -> where_format.xpos), 3, float_coords); 528 /* Decode all the positions */ 529 xpos = float_coords (1); 530 ypos = float_coords (2); 531 zpos = float_coords (3); 532 533 return; 534 535 536 /* ------------------------------------------------------------------- */ 537 538 /* Obtain a which input from the graphic terminal */ 539 540 which_switch: entry (device, top_n, path_len, path_array, err_code, desired_i_switch, desired_o_switch); 541 542 cur_input_switch = desired_i_switch; 543 cur_output_switch = desired_o_switch; 544 545 which: entry (device, top_n, path_len, path_array, err_code); 546 547 err_code = 0; 548 549 if saved_which_ptr ^= null then do; /* we have some old which input pending */ 550 551 path_len = saved_path_len; /* tell user depth of pathname */ 552 553 if dim (path_array, 1) >= path_len then do; /* we now have enough room */ 554 top_n = saved_top_n; /* fill all the output args */ 555 addr (path_array) -> based_path_array = saved_path_array; 556 free saved_which in (sys_area); 557 saved_which_ptr = null (); 558 end; 559 560 else err_code = error_table_$smallarg; /* still need more room, guy */ 561 562 return; 563 564 end; 565 566 567 call query (Which_char); /* get some fresh input */ 568 if err_code ^= 0 then return; 569 570 if buffer_ptr -> which_format.node_begin ^= Node_begin_char then goto bad_input_format; 571 572 call graphic_code_util_$decode_uid (addr (buffer_ptr -> which_format.node_id), 1, top_n_array); 573 /* Decode root node # */ 574 575 call graphic_code_util_$decode_spi (addr (buffer_ptr -> which_format.depth), 1, path_len_array); 576 /* Find out how many levels */ 577 578 if path_len <= 0 then return; /* If no levels, return */ 579 580 if path_len > dim (path_array, 1) then do; /* If supplied array is too small */ 581 /* to hold entire tree path... */ 582 err_code = error_table_$smallarg; 583 allocate saved_which in (sys_area); 584 saved_top_n = top_n; 585 path_array_ptr = addr (saved_which.saved_path_array); 586 lb = 1; 587 end; 588 589 else do; 590 path_array_ptr = addr (path_array); 591 lb = lbound (path_array, 1); 592 end; 593 594 call graphic_code_util_$decode_dpi 595 (addr (buffer_ptr -> which_format.path_array), path_len, addr (path_array (lb)) -> based_path_array); 596 /* Decode all the list indices */ 597 598 return; 599 600 /* ------------------------------------------------------------------ */ 601 602 /* Obtain a what input from the graphic terminal */ 603 604 what_switch: entry (device, device_used, err_code, desired_i_switch, desired_o_switch) returns (fixed bin (18)); 605 606 cur_input_switch = desired_i_switch; 607 cur_output_switch = desired_o_switch; 608 609 what: entry (device, device_used, err_code) returns (fixed bin (18)); 610 611 if uninitted then call setup; 612 613 call query (What_char); 614 if err_code ^= 0 then return (0); 615 616 if buffer_ptr -> what_format.begin ^= Node_begin_char then goto bad_input_format; 617 618 graphic_structure_len = inlen - 4; /* subtract out node begin, device code, node end, and newline */ 619 620 call graphic_code_util_$decode_spi (addr (buffer_ptr -> what_format.device_code), 1, device_used_array); 621 622 return_node = graphic_decompiler_ (buffer_ptr -> what_format.graphic_structure, err_code); 623 624 return (return_node); 625 626 /* ------------------------------------------------------------------- */ 627 /* Internal procedure to write a query effector out */ 628 629 query: procedure (query_type); 630 631 dcl query_type char (1) aligned parameter; 632 633 err_code = 0; 634 if uninitted then call setup; 635 cant_wait = "1"b; 636 outstring_array (outindex) = Query_char; 637 outstring_array (outindex + 1) = query_type; 638 639 if device < -1 then goto no_such_device; 640 if device > 63 then goto no_such_device; 641 642 if substr (Input_device_names (device), 1, 8) = "undefine" 643 then do; 644 no_such_device: err_code = graphic_error_table_$bad_device_type; 645 go to non_local_return; 646 end; 647 648 call graphic_code_util_$encode_spi (addr (device) -> dum_array, 1, addr (outstring_array (outindex + 2))); 649 outindex = outindex + 2 + arg_lengths (SPI); 650 651 outstring_array (outindex) = Synchronize_char; 652 outindex = outindex + 1; 653 654 call write_it_out; 655 656 call do_actual_input; 657 return; 658 end query; 659 660 end graphic_operator_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/18/82 1625.4 graphic_operator_.pl1 >dumps>old>recomp>graphic_operator_.pl1 138 1 07/22/80 1335.1 iox_dcls.incl.pl1 >ldd>include>iox_dcls.incl.pl1 140 2 12/17/79 1708.9 lsm_formats.incl.pl1 >ldd>include>lsm_formats.incl.pl1 142 3 03/27/82 0439.2 graphic_templates.incl.pl1 >ldd>include>graphic_templates.incl.pl1 144 4 03/27/82 0439.2 graphic_etypes.incl.pl1 >ldd>include>graphic_etypes.incl.pl1 146 5 03/27/82 0439.3 graphic_enames.incl.pl1 >ldd>include>graphic_enames.incl.pl1 148 6 03/27/82 0439.2 graphic_comp_specs.incl.pl1 >ldd>include>graphic_comp_specs.incl.pl1 6-54 7 03/27/82 0439.2 graphic_code_dcl.incl.pl1 >ldd>include>graphic_code_dcl.incl.pl1 150 8 03/27/82 0439.3 graphic_input_formats.incl.pl1 >ldd>include>graphic_input_formats.incl.pl1 152 9 08/27/75 1700.7 gm_entry_dcls.incl.pl1 >ldd>include>gm_entry_dcls.incl.pl1 154 10 08/13/81 2035.4 gc_entry_dcls.incl.pl1 >ldd>include>gc_entry_dcls.incl.pl1 156 11 03/27/82 0439.3 lsm_entry_dcls.incl.pl1 >ldd>include>lsm_entry_dcls.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. Alter_char 0(27) 000006 constant char(1) initial level 3 packed unaligned dcl 7-8 ref 257 Array_char 004423 constant char(1) initial dcl 7-74 ref 518 Clipping constant fixed bin(17,0) initial dcl 4-9 ref 412 Control_char 1(18) 000006 constant char(1) initial level 3 packed unaligned dcl 7-8 ref 462 DPI 1 000000 constant fixed bin(3,0) initial level 2 dcl 6-33 ref 264 428 Delete_char 2(27) 000006 constant char(1) initial level 3 packed unaligned dcl 7-8 ref 283 Display_char 1(27) 000006 constant char(1) initial level 3 packed unaligned dcl 7-8 ref 303 Dynamic_and_structural_effectors 000006 constant structure level 2 dcl 7-8 Erase_char 2(09) 000006 constant char(1) initial level 3 packed unaligned dcl 7-8 ref 316 Graphic_Code_Structure 000006 constant structure level 1 dcl 7-8 Graphic_effectors 3 000006 constant structure level 2 dcl 7-8 Increment_char 0(18) 000006 constant char(1) initial level 3 packed unaligned dcl 7-8 ref 423 Input_device_names 000031 constant char(16) initial array unaligned dcl 5-27 ref 642 Node_begin_char 1 000006 constant char(1) initial level 3 packed unaligned dcl 7-8 ref 517 570 616 Node_end_char 1(09) 000006 constant char(1) initial level 3 packed unaligned dcl 7-8 ref 521 Pause_char 000006 constant char(1) initial level 3 packed unaligned dcl 7-8 ref 349 Query_char 2 000006 constant char(1) initial level 3 packed unaligned dcl 7-8 ref 636 Query_characters 000230 internal static structure level 1 dcl 8-9 SCL 2 000000 constant fixed bin(3,0) initial level 2 dcl 6-33 ref 431 SPI 000000 constant fixed bin(3,0) initial level 2 dcl 6-33 ref 649 Setposition_char 3 000006 constant char(1) initial level 3 packed unaligned dcl 7-8 ref 520 Symbol constant fixed bin(17,0) initial dcl 4-9 ref 392 Synchronize_char 2(18) 000006 constant char(1) initial level 3 packed unaligned dcl 7-8 ref 330 651 UI 3 000000 constant fixed bin(3,0) initial level 2 dcl 6-33 ref 260 267 287 425 438 439 464 What_char 2 000230 internal static char(1) initial level 2 dcl 8-9 set ref 613* Where_char 000230 internal static char(1) initial level 2 dcl 8-9 set ref 514* Which_char 1 000230 internal static char(1) initial level 2 dcl 8-9 set ref 567* addr builtin function dcl 122 ref 198 198 232 258 258 258 262 262 262 266 266 266 285 285 285 398 401 407 424 424 424 427 427 427 430 430 430 436 436 463 463 463 527 527 555 572 572 572 575 575 575 585 590 594 594 594 620 620 620 648 648 648 any_node based structure level 1 dcl 2-48 arg_formats 000000 constant structure level 1 dcl 6-33 arg_lengths 000023 constant fixed bin(17,0) initial array dcl 6-44 ref 260 264 267 287 425 428 431 438 439 464 649 array_indicator 0(09) based char(1) level 2 packed unaligned dcl 8-14 ref 518 based_code based fixed bin(35,0) dcl 230 set ref 232* based_path_array based fixed bin(17,0) array dcl 99 set ref 555* 594* begin based char(1) level 2 packed unaligned dcl 8-31 ref 616 buffer_ptr 000016 internal static pointer initial dcl 71 set ref 167* 471 496* 517 518 519 520 521 527 527 570 572 572 575 575 594 594 616 620 620 622 cant_wait 000114 automatic bit(1) initial dcl 45 set ref 45* 186 214* 456* 635* cleanup 000000 stack reference condition dcl 124 ref 189 cu_$arg_count 000260 constant entry external dcl 84 ref 228 cur_input_switch 000102 automatic pointer initial dcl 45 set ref 45* 494 494* 496* 509* 542* 606* cur_output_switch 000104 automatic pointer initial dcl 45 set ref 45* 196 196* 198* 210* 245* 279* 299* 312* 326* 345* 363* 450* 510* 543* 607* data 1 based float bin(27) array level 2 dcl 3-18 set ref 414* 414 414 data_space 1 based bit(36) array level 2 dcl 2-48 set ref 398 401 407 decompile_string based char unaligned dcl 99 set ref 471* delay parameter float bin(27) dcl 28 set ref 361 365 373 430 depth 1 based char(1) level 2 packed unaligned dcl 8-25 set ref 575 575 desired_i_switch parameter pointer dcl 28 ref 507 509 540 542 604 606 desired_o_switch parameter pointer dcl 28 ref 507 510 540 543 604 607 desired_switch parameter pointer dcl 28 ref 208 210 243 245 277 279 297 299 310 312 324 326 343 345 361 363 448 450 device parameter fixed bin(17,0) dcl 28 set ref 507 512 540 545 604 609 639 640 642 648 device_code 0(09) based char(1) level 2 packed unaligned dcl 8-31 set ref 620 620 device_used parameter fixed bin(17,0) dcl 28 set ref 604 609 620 device_used_array based fixed bin(17,0) array dcl 99 set ref 620* dim builtin function dcl 122 ref 553 580 dum_array based fixed bin(17,0) array dcl 99 set ref 258* 262* 266* 285* 424* 427* 463* 648* dum_float_array based float bin(27) array dcl 99 set ref 430* effector_len 000145 automatic fixed bin(17,0) dcl 45 set ref 395* 403 effector_p 000120 automatic pointer dcl 45 set ref 398* 407* 414 414 419 419 effector_type 000144 automatic fixed bin(17,0) dcl 45 set ref 395* 404* element 1 based fixed bin(17,0) array level 2 dcl 114 set ref 419* 419 419 err_code parameter fixed bin(35,0) dcl 28 set ref 162* 163 167* 168 185* 192* 193 198* 201 208 212 226 243 247 253* 255 277 281 297 301 310 314 324 328 343 347 361 365 369* 374* 379* 380 382* 385* 386 395* 400* 404* 406 436* 437 448 452 458* 459 469 471* 473* 474 477* 481* 490* 491 496* 497 507 512 515 522* 540 545 547* 560* 568 582* 604 609 614 622* 633* 644* error_table_$smallarg 000300 external static fixed bin(35,0) dcl 128 ref 560 582 etype 000107 automatic fixed bin(17,0) dcl 45 set ref 379* 389 392 412 458* 476 fixed_effector based structure level 1 dcl 114 float_coords 000136 automatic float bin(27) array dcl 45 set ref 527* 529 530 531 floating_effector based structure level 1 dcl 3-18 get_system_free_area_ 000254 constant entry external dcl 84 ref 165 get_temp_segment_ 000256 constant entry external dcl 84 ref 167 graphic_code_util_$decode_dpi 000246 constant entry external dcl 84 ref 594 graphic_code_util_$decode_scl 000252 constant entry external dcl 84 ref 527 graphic_code_util_$decode_spi 000244 constant entry external dcl 84 ref 575 620 graphic_code_util_$decode_uid 000250 constant entry external dcl 84 ref 572 graphic_code_util_$encode_dpi 000236 constant entry external dcl 84 ref 262 427 graphic_code_util_$encode_scl 000242 constant entry external dcl 84 ref 430 graphic_code_util_$encode_spi 000234 constant entry external dcl 84 ref 648 graphic_code_util_$encode_uid 000240 constant entry external dcl 84 ref 258 266 285 424 463 graphic_compiler_$return_string 000322 constant entry external dcl 10-6 ref 436 graphic_decompiler_ 000262 constant entry external dcl 84 ref 471 622 graphic_error_table_$bad_device_type 000276 external static fixed bin(35,0) dcl 128 ref 644 graphic_error_table_$bad_no_iter 000272 external static fixed bin(35,0) dcl 128 ref 369 graphic_error_table_$inv_node_type 000264 external static fixed bin(35,0) dcl 128 ref 382 graphic_error_table_$malformed_input 000266 external static fixed bin(35,0) dcl 128 ref 522 graphic_error_table_$neg_delay 000274 external static fixed bin(35,0) dcl 128 ref 374 graphic_error_table_$node_mismatch 000270 external static fixed bin(35,0) dcl 128 ref 477 graphic_input 000010 internal static pointer initial dcl 71 set ref 489 490* 494 graphic_manipulator_$examine_type 000320 constant entry external dcl 9-83 ref 379 385 458 473 graphic_manipulator_$replace_element 000314 constant entry external dcl 9-71 ref 253 graphic_manipulator_$replace_node 000316 constant entry external dcl 9-74 ref 481 graphic_manipulator_$segp 000312 constant entry external dcl 9-6 ref 162 graphic_output 000012 internal static pointer initial dcl 71 set ref 191 192* 196 graphic_structure 0(18) based char level 2 packed unaligned dcl 8-31 set ref 622* graphic_structure_len 000152 automatic fixed bin(24,0) dcl 8-38 set ref 618* 622 622 header based structure level 1 dcl 2-42 i 000111 automatic fixed bin(17,0) dcl 45 set ref 412* 414 414 414* 418* 419 419 419* immediacy 000225 internal static bit(1) initial dcl 71 set ref 186 236 238* 239 immediacy_parameter parameter bit(1) dcl 28 set ref 226 232* 238 incr_len 000146 automatic fixed bin(17,0) dcl 45 set ref 400* 403 404* 412 418 incr_n parameter fixed bin(18,0) dcl 28 set ref 361 365 385* 400* 436* incr_p 000116 automatic pointer dcl 45 set ref 401* 414 419 incr_type 000110 automatic fixed bin(17,0) dcl 45 set ref 385* 389 increment_string 000124 automatic char(32) unaligned dcl 45 set ref 436 436 439 index parameter fixed bin(17,0) dcl 28 set ref 243 247 253* 262 inlen 000112 automatic fixed bin(21,0) dcl 45 set ref 471 471 496* 618 iox_$get_line 000304 constant entry external dcl 1-6 ref 496 iox_$look_iocb 000306 constant entry external dcl 1-6 ref 192 490 iox_$put_chars 000310 constant entry external dcl 1-6 ref 198 lb 000141 automatic fixed bin(17,0) dcl 45 set ref 586* 591* 594 lbound builtin function dcl 122 ref 591 list_n parameter fixed bin(18,0) dcl 28 set ref 243 247 253* 258 lsm_$get_blk 000324 constant entry external dcl 11-3 ref 395 400 lsm_$set_blk 000326 constant entry external dcl 11-3 ref 404 lsm_type 000123 automatic fixed bin(17,0) dcl 45 set ref 400* max_string_size 000023 internal static fixed bin(21,0) initial dcl 71 set ref 170* 496* mbz 0(18) based char(3) level 2 packed unaligned dcl 8-14 ref 519 nchars 000122 automatic fixed bin(17,0) dcl 45 set ref 436* 438* 438 439 439 440 new_n parameter fixed bin(18,0) dcl 28 set ref 243 247 253* 266 new_node 000134 automatic fixed bin(18,0) dcl 45 set ref 471* 473* 481* new_type 000135 automatic fixed bin(17,0) dcl 45 set ref 473* 476 no_iter parameter fixed bin(17,0) dcl 28 set ref 361 365 368 414 419 427 node_begin based char(1) level 2 in structure "which_format" packed unaligned dcl 8-25 in procedure "go_" ref 570 node_begin based char(1) level 2 in structure "where_format" packed unaligned dcl 8-14 in procedure "go_" ref 517 node_end 3(27) based char(1) level 2 packed unaligned dcl 8-14 ref 521 node_id 0(09) based char(3) level 2 packed unaligned dcl 8-25 set ref 572 572 node_n parameter fixed bin(18,0) dcl 28 set ref 277 281 285 297 301 361 365 379* 395* 404* 424 448 452 458* 463 481* node_ptr 000150 automatic pointer dcl 2-40 set ref 395* 398 400* 401 404* 407 null builtin function dcl 122 ref 45 45 191 196 222 489 494 549 557 old_immediacy parameter bit(1) dcl 28 set ref 226 232 236* old_n 000100 automatic fixed bin(18,0) dcl 45 set ref 253* 255 271 outindex 000224 internal static fixed bin(17,0) initial dcl 71 set ref 45 177* 186 189* 198 203* 220* 257 258 258 260* 260 262 262 264* 264 266 266 267* 267 283 285 285 287* 287 303 316 330 332* 332 349 350* 350 423 424 424 425* 425 427 427 428* 428 430 430 431* 431 439 440* 440 462 463 463 464* 464 636 637 648 648 649* 649 651 652* 652 outstring 000024 internal static char(512) unaligned dcl 71 set ref 198 198 257* 257 258 258 258 258 262 262 262 262 266 266 266 266 283* 283 285 285 285 285 303* 303 316* 316 330* 330 349* 349 423* 423 424 424 424 424 427 427 427 427 430 430 430 430 439* 462* 462 463 463 463 463 636* 636 637* 637 648 648 648 648 651* 651 outstring_array defined char(1) array unaligned dcl 118 set ref 257* 258 258 262 262 266 266 283* 285 285 303* 316* 330* 349* 423* 424 424 427 427 430 430 462* 463 463 636* 637* 648 648 651* path_array 1(09) based char(2) array level 2 in structure "which_format" packed unaligned dcl 8-25 in procedure "go_" set ref 594 594 path_array parameter fixed bin(17,0) array dcl 28 in procedure "go_" set ref 540 545 553 555 580 590 591 594 path_array_ptr 000142 automatic pointer dcl 45 set ref 585* 590* path_len parameter fixed bin(17,0) dcl 28 set ref 540 545 551* 553 555 575 578 580 583 583 594* 594 path_len_array based fixed bin(17,0) array dcl 99 set ref 575* query_type parameter char(1) dcl 631 ref 629 637 return_node 000101 automatic fixed bin(18,0) dcl 45 set ref 622* 624 save_outindex 000113 automatic fixed bin(17,0) initial dcl 45 set ref 45* 177 186* 189* saved_path_array 2 based fixed bin(17,0) array level 2 dcl 109 set ref 555 585 saved_path_len 1 based fixed bin(17,0) level 2 dcl 109 set ref 222 551 555 556 583* saved_top_n based fixed bin(18,0) level 2 dcl 109 set ref 554 584* saved_which based structure level 1 dcl 109 set ref 222 556 583 saved_which_ptr 000226 internal static pointer initial dcl 71 set ref 222 222 549 551 554 555 556 557* 583* 584 585 setpos_indicator 1(09) based char(1) level 2 packed unaligned dcl 8-14 ref 520 substr builtin function dcl 122 set ref 439* 439 642 sys_area based area(1024) dcl 99 ref 222 556 583 sys_area_p 000020 internal static pointer initial dcl 71 set ref 165* 222 556 583 sys_info$max_seg_size 000302 external static fixed bin(35,0) dcl 136 ref 170 t_nt 000106 automatic bit(1) dcl 45 set ref 379* 381 385* 387 458* 460 473* 475 top_n parameter fixed bin(18,0) dcl 28 set ref 540 545 554* 572 584 top_n_array based fixed bin(17,0) array dcl 99 set ref 572* uninitted 000022 internal static bit(1) initial dcl 71 set ref 172* 251 367 454 611 634 wgs_p 000014 internal static pointer initial dcl 71 set ref 162* 395* 400* 404* what_format based structure level 1 packed unaligned dcl 8-31 where_format based structure level 1 packed unaligned dcl 8-14 which_format based structure level 1 packed unaligned dcl 8-25 xpos 1(18) based char(3) level 2 in structure "where_format" packed unaligned dcl 8-14 in procedure "go_" set ref 527 527 xpos parameter float bin(27) dcl 28 in procedure "go_" set ref 507 512 529* ypos parameter float bin(27) dcl 28 set ref 507 512 530* zero_node_id 000022 constant char(3) initial unaligned dcl 7-70 ref 519 zpos parameter float bin(27) dcl 28 set ref 507 512 531* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. Any_device internal static fixed bin(17,0) initial dcl 4-9 Array internal static fixed bin(17,0) initial dcl 4-9 Blink internal static fixed bin(17,0) initial dcl 4-9 Blink_names internal static char(8) initial array unaligned dcl 5-19 Blinking internal static fixed bin(17,0) initial dcl 4-9 Center internal static fixed bin(17,0) initial dcl 4-9 Clear_seg internal static fixed bin(17,0) initial dcl 11-29 Color internal static fixed bin(17,0) initial dcl 4-9 Create_seg internal static fixed bin(17,0) initial dcl 11-29 Create_symbol internal static fixed bin(17,0) initial dcl 11-24 DPI_arg_length internal static fixed bin(17,0) initial dcl 6-47 Dash_dotted internal static fixed bin(17,0) initial dcl 4-9 Dashed internal static fixed bin(17,0) initial dcl 4-9 Datablock internal static fixed bin(17,0) initial dcl 4-9 Delete_symbol internal static fixed bin(17,0) initial dcl 11-24 Dotted internal static fixed bin(17,0) initial dcl 4-9 Element_names internal static char(16) initial array unaligned dcl 5-3 Find_or_create_symbol internal static fixed bin(17,0) initial dcl 11-24 Find_seg internal static fixed bin(17,0) initial dcl 11-29 Find_symbol internal static fixed bin(17,0) initial dcl 11-24 Full_intensity internal static fixed bin(17,0) initial dcl 4-9 Graphic_Defaults internal static structure level 1 dcl 7-47 Graphic_Element_Lengths internal static fixed bin(17,0) initial array dcl 7-60 Half_intensity internal static fixed bin(17,0) initial dcl 4-9 Illegal_char internal static char(1) initial dcl 6-28 Insensitive internal static fixed bin(17,0) initial dcl 4-9 Intensity internal static fixed bin(17,0) initial dcl 4-9 Intensity_names internal static char(8) initial array unaligned dcl 5-10 Invisible internal static fixed bin(17,0) initial dcl 4-9 Joystick internal static fixed bin(17,0) initial dcl 4-9 Keyboard internal static fixed bin(17,0) initial dcl 4-9 LSM_version_6 internal static fixed bin(17,0) initial dcl 2-5 LSM_version_7 internal static fixed bin(17,0) initial dcl 2-5 Left internal static fixed bin(17,0) initial dcl 4-9 Light_pen internal static fixed bin(17,0) initial dcl 4-9 Linetype internal static fixed bin(17,0) initial dcl 4-9 Linetype_names internal static char(12) initial array unaligned dcl 5-13 List internal static fixed bin(17,0) initial dcl 4-9 List_char internal static char(1) initial dcl 7-74 Long_dashed internal static fixed bin(17,0) initial dcl 4-9 Lower_center internal static fixed bin(17,0) initial dcl 4-9 Lower_left internal static fixed bin(17,0) initial dcl 4-9 Lower_right internal static fixed bin(17,0) initial dcl 4-9 Mouse internal static fixed bin(17,0) initial dcl 4-9 Null internal static fixed bin(17,0) initial dcl 4-9 On_dup_error internal static fixed bin(17,0) initial dcl 4-9 On_dup_source internal static fixed bin(17,0) initial dcl 4-9 On_dup_target_then_nulls internal static fixed bin(17,0) initial dcl 4-9 On_dup_target_then_source internal static fixed bin(17,0) initial dcl 4-9 Point internal static fixed bin(17,0) initial dcl 4-9 Right internal static fixed bin(17,0) initial dcl 4-9 Rotation internal static fixed bin(17,0) initial dcl 4-9 SCL_arg_length internal static fixed bin(17,0) initial dcl 6-47 SPI_arg_length internal static fixed bin(17,0) initial dcl 6-47 Scaling internal static fixed bin(17,0) initial dcl 4-9 Sensitive internal static fixed bin(17,0) initial dcl 4-9 Sensitivity internal static fixed bin(17,0) initial dcl 4-9 Sensitivity_names internal static char(12) initial array unaligned dcl 5-16 Setpoint internal static fixed bin(17,0) initial dcl 4-9 Setposition internal static fixed bin(17,0) initial dcl 4-9 Shift internal static fixed bin(17,0) initial dcl 4-9 Solid internal static fixed bin(17,0) initial dcl 4-9 Steady internal static fixed bin(17,0) initial dcl 4-9 Symboltable internal static fixed bin(17,0) initial dcl 3-3 Tablet_and_pen internal static fixed bin(17,0) initial dcl 4-9 Terminal_program internal static fixed bin(17,0) initial dcl 4-9 Text internal static fixed bin(17,0) initial dcl 4-9 Text_alignments internal static char(16) initial array unaligned dcl 5-22 Trackball internal static fixed bin(17,0) initial dcl 4-9 UI_arg_length internal static fixed bin(17,0) initial dcl 6-47 Upper_center internal static fixed bin(17,0) initial dcl 4-9 Upper_left internal static fixed bin(17,0) initial dcl 4-9 Upper_right internal static fixed bin(17,0) initial dcl 4-9 Vector internal static fixed bin(17,0) initial dcl 4-9 arg_types internal static fixed bin(17,0) initial array dcl 6-19 array_node based structure level 1 dcl 2-89 bit_node based structure level 1 dcl 2-64 char_node based structure level 1 dcl 2-68 clipping_effector based structure level 1 dcl 3-40 color_effector based structure level 1 dcl 3-53 effector based structure level 1 dcl 3-14 effector_length internal static fixed bin(17,0) initial array dcl 3-5 fixed_node based structure level 1 dcl 2-56 float_node based structure level 1 dcl 2-60 gc_$d 000000 constant entry external dcl 10-21 gc_$d_switch 000000 constant entry external dcl 10-26 gc_$da 000000 constant entry external dcl 10-11 gc_$da_switch 000000 constant entry external dcl 10-16 gc_$display 000000 constant entry external dcl 10-21 gc_$display_append 000000 constant entry external dcl 10-11 gc_$display_append_switch 000000 constant entry external dcl 10-16 gc_$display_name 000000 constant entry external dcl 10-51 gc_$display_name_append 000000 constant entry external dcl 10-41 gc_$display_name_append_switch 000000 constant entry external dcl 10-46 gc_$display_name_switch 000000 constant entry external dcl 10-56 gc_$display_switch 000000 constant entry external dcl 10-26 gc_$dn 000000 constant entry external dcl 10-51 gc_$dn_switch 000000 constant entry external dcl 10-56 gc_$dna 000000 constant entry external dcl 10-41 gc_$dna_switch 000000 constant entry external dcl 10-46 gc_$l 000000 constant entry external dcl 10-31 gc_$l_switch 000000 constant entry external dcl 10-36 gc_$ln 000000 constant entry external dcl 10-61 gc_$ln_switch 000000 constant entry external dcl 10-66 gc_$load 000000 constant entry external dcl 10-31 gc_$load_name 000000 constant entry external dcl 10-61 gc_$load_name_switch 000000 constant entry external dcl 10-66 gc_$load_switch 000000 constant entry external dcl 10-36 gc_$prune_tree 000000 constant entry external dcl 10-71 gc_$return_string 000000 constant entry external dcl 10-6 gc_$rs 000000 constant entry external dcl 10-6 gc_$tree_ptr 000000 constant entry external dcl 10-3 gm_$add_element 000000 constant entry external dcl 9-68 gm_$assign_name 000000 constant entry external dcl 9-60 gm_$carray 000000 constant entry external dcl 9-55 gm_$cclip 000000 constant entry external dcl 9-29 gm_$ccolor 000000 constant entry external dcl 9-35 gm_$cdata 000000 constant entry external dcl 9-45 gm_$clist 000000 constant entry external dcl 9-50 gm_$cmode 000000 constant entry external dcl 9-14 gm_$cpos 000000 constant entry external dcl 9-9 gm_$create_array 000000 constant entry external dcl 9-55 gm_$create_clip 000000 constant entry external dcl 9-29 gm_$create_color 000000 constant entry external dcl 9-35 gm_$create_data 000000 constant entry external dcl 9-45 gm_$create_list 000000 constant entry external dcl 9-50 gm_$create_mode 000000 constant entry external dcl 9-14 gm_$create_position 000000 constant entry external dcl 9-9 gm_$create_rotation 000000 constant entry external dcl 9-24 gm_$create_scale 000000 constant entry external dcl 9-19 gm_$create_text 000000 constant entry external dcl 9-40 gm_$crot 000000 constant entry external dcl 9-24 gm_$cscale 000000 constant entry external dcl 9-19 gm_$ctext 000000 constant entry external dcl 9-40 gm_$ecolor 000000 constant entry external dcl 9-96 gm_$edata 000000 constant entry external dcl 9-129 gm_$elist 000000 constant entry external dcl 9-109 gm_$emap 000000 constant entry external dcl 9-101 gm_$emode 000000 constant entry external dcl 9-91 gm_$epos 000000 constant entry external dcl 9-86 gm_$esymbol 000000 constant entry external dcl 9-119 gm_$esymtab 000000 constant entry external dcl 9-114 gm_$etext 000000 constant entry external dcl 9-124 gm_$examine_color 000000 constant entry external dcl 9-96 gm_$examine_contents 000000 constant entry external dcl 9-106 gm_$examine_data 000000 constant entry external dcl 9-129 gm_$examine_list 000000 constant entry external dcl 9-109 gm_$examine_mapping 000000 constant entry external dcl 9-101 gm_$examine_mode 000000 constant entry external dcl 9-91 gm_$examine_position 000000 constant entry external dcl 9-86 gm_$examine_symbol 000000 constant entry external dcl 9-119 gm_$examine_symtab 000000 constant entry external dcl 9-114 gm_$examine_text 000000 constant entry external dcl 9-124 gm_$examine_type 000000 constant entry external dcl 9-83 gm_$find_structure 000000 constant entry external dcl 9-63 gm_$fstruc 000000 constant entry external dcl 9-63 gm_$get_struc 000000 constant entry external dcl 9-134 gm_$gstruc 000000 constant entry external dcl 9-134 gm_$init 000000 constant entry external dcl 9-3 gm_$pstruc 000000 constant entry external dcl 9-139 gm_$put_struc 000000 constant entry external dcl 9-139 gm_$remove_symbol 000000 constant entry external dcl 9-77 gm_$replace_element 000000 constant entry external dcl 9-71 gm_$replace_node 000000 constant entry external dcl 9-74 gm_$replicate 000000 constant entry external dcl 9-80 gm_$save_file 000000 constant entry external dcl 9-144 gm_$segp 000000 constant entry external dcl 9-6 gm_$use_file 000000 constant entry external dcl 9-147 graphic_compiler_$d 000000 constant entry external dcl 10-21 graphic_compiler_$d_switch 000000 constant entry external dcl 10-26 graphic_compiler_$da 000000 constant entry external dcl 10-11 graphic_compiler_$da_switch 000000 constant entry external dcl 10-16 graphic_compiler_$display 000000 constant entry external dcl 10-21 graphic_compiler_$display_append 000000 constant entry external dcl 10-11 graphic_compiler_$display_append_switch 000000 constant entry external dcl 10-16 graphic_compiler_$display_name 000000 constant entry external dcl 10-51 graphic_compiler_$display_name_append 000000 constant entry external dcl 10-41 graphic_compiler_$display_name_append_switch 000000 constant entry external dcl 10-46 graphic_compiler_$display_name_switch 000000 constant entry external dcl 10-56 graphic_compiler_$display_switch 000000 constant entry external dcl 10-26 graphic_compiler_$dn 000000 constant entry external dcl 10-51 graphic_compiler_$dn_switch 000000 constant entry external dcl 10-56 graphic_compiler_$dna 000000 constant entry external dcl 10-41 graphic_compiler_$dna_switch 000000 constant entry external dcl 10-46 graphic_compiler_$l 000000 constant entry external dcl 10-31 graphic_compiler_$l_switch 000000 constant entry external dcl 10-36 graphic_compiler_$ln 000000 constant entry external dcl 10-61 graphic_compiler_$ln_switch 000000 constant entry external dcl 10-66 graphic_compiler_$load 000000 constant entry external dcl 10-31 graphic_compiler_$load_name 000000 constant entry external dcl 10-61 graphic_compiler_$load_name_switch 000000 constant entry external dcl 10-66 graphic_compiler_$load_switch 000000 constant entry external dcl 10-36 graphic_compiler_$prune_tree 000000 constant entry external dcl 10-71 graphic_compiler_$rs 000000 constant entry external dcl 10-6 graphic_compiler_$tree_ptr 000000 constant entry external dcl 10-3 graphic_manipulator_$add_element 000000 constant entry external dcl 9-68 graphic_manipulator_$assign_name 000000 constant entry external dcl 9-60 graphic_manipulator_$carray 000000 constant entry external dcl 9-55 graphic_manipulator_$cclip 000000 constant entry external dcl 9-29 graphic_manipulator_$ccolor 000000 constant entry external dcl 9-35 graphic_manipulator_$cdata 000000 constant entry external dcl 9-45 graphic_manipulator_$clist 000000 constant entry external dcl 9-50 graphic_manipulator_$cmode 000000 constant entry external dcl 9-14 graphic_manipulator_$cpos 000000 constant entry external dcl 9-9 graphic_manipulator_$create_array 000000 constant entry external dcl 9-55 graphic_manipulator_$create_clip 000000 constant entry external dcl 9-29 graphic_manipulator_$create_color 000000 constant entry external dcl 9-35 graphic_manipulator_$create_data 000000 constant entry external dcl 9-45 graphic_manipulator_$create_list 000000 constant entry external dcl 9-50 graphic_manipulator_$create_mode 000000 constant entry external dcl 9-14 graphic_manipulator_$create_position 000000 constant entry external dcl 9-9 graphic_manipulator_$create_rotation 000000 constant entry external dcl 9-24 graphic_manipulator_$create_scale 000000 constant entry external dcl 9-19 graphic_manipulator_$create_text 000000 constant entry external dcl 9-40 graphic_manipulator_$crot 000000 constant entry external dcl 9-24 graphic_manipulator_$cscale 000000 constant entry external dcl 9-19 graphic_manipulator_$ctext 000000 constant entry external dcl 9-40 graphic_manipulator_$ecolor 000000 constant entry external dcl 9-96 graphic_manipulator_$edata 000000 constant entry external dcl 9-129 graphic_manipulator_$elist 000000 constant entry external dcl 9-109 graphic_manipulator_$emap 000000 constant entry external dcl 9-101 graphic_manipulator_$emode 000000 constant entry external dcl 9-91 graphic_manipulator_$epos 000000 constant entry external dcl 9-86 graphic_manipulator_$esymbol 000000 constant entry external dcl 9-119 graphic_manipulator_$esymtab 000000 constant entry external dcl 9-114 graphic_manipulator_$etext 000000 constant entry external dcl 9-124 graphic_manipulator_$examine_color 000000 constant entry external dcl 9-96 graphic_manipulator_$examine_contents 000000 constant entry external dcl 9-106 graphic_manipulator_$examine_data 000000 constant entry external dcl 9-129 graphic_manipulator_$examine_list 000000 constant entry external dcl 9-109 graphic_manipulator_$examine_mapping 000000 constant entry external dcl 9-101 graphic_manipulator_$examine_mode 000000 constant entry external dcl 9-91 graphic_manipulator_$examine_position 000000 constant entry external dcl 9-86 graphic_manipulator_$examine_symbol 000000 constant entry external dcl 9-119 graphic_manipulator_$examine_symtab 000000 constant entry external dcl 9-114 graphic_manipulator_$examine_text 000000 constant entry external dcl 9-124 graphic_manipulator_$find_structure 000000 constant entry external dcl 9-63 graphic_manipulator_$fstruc 000000 constant entry external dcl 9-63 graphic_manipulator_$get_struc 000000 constant entry external dcl 9-134 graphic_manipulator_$gstruc 000000 constant entry external dcl 9-134 graphic_manipulator_$init 000000 constant entry external dcl 9-3 graphic_manipulator_$pstruc 000000 constant entry external dcl 9-139 graphic_manipulator_$put_struc 000000 constant entry external dcl 9-139 graphic_manipulator_$remove_symbol 000000 constant entry external dcl 9-77 graphic_manipulator_$replicate 000000 constant entry external dcl 9-80 graphic_manipulator_$save_file 000000 constant entry external dcl 9-144 graphic_manipulator_$use_file 000000 constant entry external dcl 9-147 indirect_node based structure level 1 dcl 2-52 iox_$attach_name 000000 constant entry external dcl 1-6 iox_$attach_ptr 000000 constant entry external dcl 1-6 iox_$close 000000 constant entry external dcl 1-6 iox_$control 000000 constant entry external dcl 1-6 iox_$delete_record 000000 constant entry external dcl 1-6 iox_$destroy_iocb 000000 constant entry external dcl 1-6 iox_$detach_iocb 000000 constant entry external dcl 1-6 iox_$err_no_operation 000000 constant entry external dcl 1-6 iox_$err_not_attached 000000 constant entry external dcl 1-6 iox_$err_not_closed 000000 constant entry external dcl 1-6 iox_$err_not_open 000000 constant entry external dcl 1-6 iox_$error_output external static pointer dcl 1-35 iox_$find_iocb 000000 constant entry external dcl 1-6 iox_$find_iocb_n 000000 constant entry external dcl 1-6 iox_$get_chars 000000 constant entry external dcl 1-6 iox_$modes 000000 constant entry external dcl 1-6 iox_$move_attach 000000 constant entry external dcl 1-6 iox_$open 000000 constant entry external dcl 1-6 iox_$position 000000 constant entry external dcl 1-6 iox_$propagate 000000 constant entry external dcl 1-6 iox_$read_key 000000 constant entry external dcl 1-6 iox_$read_length 000000 constant entry external dcl 1-6 iox_$read_record 000000 constant entry external dcl 1-6 iox_$rewrite_record 000000 constant entry external dcl 1-6 iox_$seek_key 000000 constant entry external dcl 1-6 iox_$user_input external static pointer dcl 1-35 iox_$user_io external static pointer dcl 1-35 iox_$user_output external static pointer dcl 1-35 iox_$write_record 000000 constant entry external dcl 1-6 list_node based structure level 1 dcl 2-85 lsm based structure level 1 dcl 2-27 lsm_$make_blk 000000 constant entry external dcl 11-3 lsm_$mk_char 000000 constant entry external dcl 11-3 lsm_$replace_blk 000000 constant entry external dcl 11-3 lsm_$replicate 000000 constant entry external dcl 11-3 lsm_constants internal static structure level 1 dcl 2-9 lsm_curl automatic fixed bin(17,0) dcl 45 lsm_fs_$compact 000000 constant entry external dcl 11-10 lsm_fs_$free 000000 constant entry external dcl 11-10 lsm_fs_$init 000000 constant entry external dcl 11-10 lsm_fs_$init_seg 000000 constant entry external dcl 11-10 lsm_fs_$merge_symbol 000000 constant entry external dcl 11-10 lsm_fs_$move_struc 000000 constant entry external dcl 11-10 lsm_fs_$pull 000000 constant entry external dcl 11-10 lsm_fs_$push 000000 constant entry external dcl 11-10 lsm_segptr automatic pointer dcl 2-25 lsm_sym_$find_table 000000 constant entry external dcl 11-19 lsm_sym_$sym_list 000000 constant entry external dcl 11-19 lsm_sym_$symk 000000 constant entry external dcl 11-19 lsm_sym_$symn 000000 constant entry external dcl 11-19 modal_effector based structure level 1 dcl 3-49 no_args internal static fixed bin(17,0) initial array dcl 6-9 position_effector based structure level 1 dcl 3-22 request_for_status internal static char(1) initial dcl 7-72 rotate_effector based structure level 1 dcl 3-34 scale_effector based structure level 1 dcl 3-28 structural_effector_codes defined char(1) array unaligned dcl 6-5 symbol_node based structure level 1 dcl 2-78 symtab_node based structure level 1 dcl 2-72 text_effector based structure level 1 dcl 3-59 NAMES DECLARED BY EXPLICIT CONTEXT. bad_input_format 003105 constant label dcl 522 ref 517 518 519 520 570 616 can_do_increment 002075 constant label dcl 395 control 002514 constant entry external dcl 452 control_switch 002471 constant entry external dcl 448 delete 001320 constant entry external dcl 281 delete_switch 001273 constant entry external dcl 277 dispatch 000623 constant entry external dcl 212 dispatch_switch 000577 constant entry external dcl 208 display 001436 constant entry external dcl 301 display_switch 001413 constant entry external dcl 297 do_actual_input 004224 constant entry internal dcl 487 ref 468 656 erase 001504 constant entry external dcl 314 erase_switch 001461 constant entry external dcl 310 go_ 000530 constant entry external dcl 18 graphic_operator_ 000542 constant entry external dcl 18 increment 001723 constant entry external dcl 365 increment_switch 001675 constant entry external dcl 361 inv_type 002024 constant label dcl 382 ref 387 389 392 460 475 no_such_device 004351 constant label dcl 644 ref 639 640 non_local_return 000561 constant label dcl 177 ref 163 168 193 201 645 pause 001633 constant entry external dcl 347 pause_switch 001610 constant entry external dcl 343 query 004313 constant entry internal dcl 629 ref 514 567 613 replace_element 001046 constant entry external dcl 247 replace_element_switch 001017 constant entry external dcl 243 reset 000654 constant entry external dcl 218 set_immediacy 000713 constant entry external dcl 226 ref 232 setup 003771 constant entry internal dcl 158 ref 251 367 454 611 634 simple_common 001340 constant label dcl 285 ref 304 simplest_common 001572 constant label dcl 332 ref 317 synchronize 001552 constant entry external dcl 328 synchronize_switch 001527 constant entry external dcl 324 what 003631 constant entry external dcl 609 what_switch 003575 constant entry external dcl 604 where 003024 constant entry external dcl 512 where_switch 002771 constant entry external dcl 507 which 003224 constant entry external dcl 545 which_switch 003171 constant entry external dcl 540 write_it_out 004054 constant entry internal dcl 181 ref 215 239 269 289 335 351 441 466 654 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 5300 5630 4425 5310 Length 6446 4425 330 602 652 224 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME go_ 242 external procedure is an external procedure. setup internal procedure shares stack frame of external procedure go_. write_it_out 91 internal procedure enables or reverts conditions. on unit on line 189 64 on unit begin block on line 228 begin block shares stack frame of external procedure go_. do_actual_input internal procedure shares stack frame of external procedure go_. query internal procedure shares stack frame of external procedure go_. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 graphic_input go_ 000012 graphic_output go_ 000014 wgs_p go_ 000016 buffer_ptr go_ 000020 sys_area_p go_ 000022 uninitted go_ 000023 max_string_size go_ 000024 outstring go_ 000224 outindex go_ 000225 immediacy go_ 000226 saved_which_ptr go_ 000230 Query_characters go_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME go_ 000100 old_n go_ 000101 return_node go_ 000102 cur_input_switch go_ 000104 cur_output_switch go_ 000106 t_nt go_ 000107 etype go_ 000110 incr_type go_ 000111 i go_ 000112 inlen go_ 000113 save_outindex go_ 000114 cant_wait go_ 000116 incr_p go_ 000120 effector_p go_ 000122 nchars go_ 000123 lsm_type go_ 000124 increment_string go_ 000134 new_node go_ 000135 new_type go_ 000136 float_coords go_ 000141 lb go_ 000142 path_array_ptr go_ 000144 effector_type go_ 000145 effector_len go_ 000146 incr_len go_ 000150 node_ptr go_ 000152 graphic_structure_len go_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. fx1_to_fl2 call_ext_in call_ext_out_desc call_ext_out call_int_this begin_return return tra_ext bound_check_signal signal enable ext_entry ext_entry_desc int_entry alloc_based free_based THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. cu_$arg_count get_system_free_area_ get_temp_segment_ graphic_code_util_$decode_dpi graphic_code_util_$decode_scl graphic_code_util_$decode_spi graphic_code_util_$decode_uid graphic_code_util_$encode_dpi graphic_code_util_$encode_scl graphic_code_util_$encode_spi graphic_code_util_$encode_uid graphic_compiler_$return_string graphic_decompiler_ graphic_manipulator_$examine_type graphic_manipulator_$replace_element graphic_manipulator_$replace_node graphic_manipulator_$segp iox_$get_line iox_$look_iocb iox_$put_chars lsm_$get_blk lsm_$set_blk THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$smallarg graphic_error_table_$bad_device_type graphic_error_table_$bad_no_iter graphic_error_table_$inv_node_type graphic_error_table_$malformed_input graphic_error_table_$neg_delay graphic_error_table_$node_mismatch sys_info$max_seg_size LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 45 000516 18 000527 18 000552 177 000561 179 000564 208 000573 210 000614 212 000617 214 000636 215 000640 216 000644 218 000653 220 000664 222 000667 224 000700 226 000707 228 000726 232 000740 233 000755 236 000766 238 000772 239 000775 241 001002 243 001011 245 001035 247 001040 251 001062 253 001066 255 001106 257 001121 258 001126 260 001154 262 001162 264 001212 266 001216 267 001246 269 001252 271 001256 277 001267 279 001310 281 001313 283 001333 285 001340 287 001370 289 001376 291 001402 297 001411 299 001430 301 001433 303 001451 304 001456 310 001457 312 001476 314 001501 316 001517 317 001524 324 001525 326 001544 328 001547 330 001565 332 001572 335 001573 336 001577 343 001606 345 001625 347 001630 349 001646 350 001653 351 001654 353 001660 361 001667 363 001712 365 001715 367 001736 368 001742 369 001745 370 001750 373 001757 374 001761 375 001764 379 001773 380 002010 381 002021 382 002024 383 002027 385 002036 386 002054 387 002065 389 002070 392 002073 395 002075 398 002117 400 002122 401 002144 403 002147 404 002152 406 002174 407 002205 412 002210 414 002223 416 002232 418 002235 419 002245 421 002255 423 002257 424 002264 425 002312 427 002320 428 002350 430 002354 431 002404 436 002410 437 002427 438 002440 439 002445 440 002453 441 002454 442 002460 448 002467 450 002506 452 002511 454 002527 456 002533 458 002535 459 002553 460 002564 462 002567 463 002574 464 002622 466 002630 468 002634 469 002635 471 002646 473 002672 474 002707 475 002720 476 002723 477 002726 478 002731 481 002740 483 002754 507 002763 509 003010 510 003013 512 003016 514 003037 515 003046 517 003057 518 003065 519 003071 520 003075 521 003101 522 003105 524 003110 527 003117 529 003145 530 003150 531 003152 533 003154 540 003163 542 003210 543 003213 545 003216 547 003237 549 003240 551 003245 553 003251 554 003262 555 003264 556 003310 557 003314 558 003317 560 003320 562 003322 567 003331 568 003337 570 003350 572 003356 575 003405 578 003434 580 003446 582 003457 583 003462 584 003476 585 003500 586 003502 587 003504 590 003505 591 003507 594 003511 598 003560 604 003567 606 003615 607 003620 609 003623 611 003645 613 003651 614 003660 616 003672 618 003700 620 003703 622 003732 624 003760 158 003771 162 003772 163 004003 165 004005 167 004014 168 004043 170 004045 172 004051 174 004052 181 004053 185 004061 186 004063 187 004075 189 004076 191 004120 192 004125 193 004152 196 004160 198 004170 201 004212 203 004220 205 004223 487 004224 489 004225 490 004232 491 004256 494 004261 496 004270 497 004307 499 004312 629 004313 633 004315 634 004316 635 004322 636 004324 637 004331 639 004336 640 004342 642 004344 644 004351 645 004353 648 004354 649 004403 651 004411 652 004414 654 004415 656 004421 657 004422