1 /* START OF: bce_abs_io_data.incl.pl1 * * * * * * * * * * * * * * * * * * * */ 2 /* Stolen and shrunk from abs_io_data by Keith Loepere sometime in '83 */ 3 /* Initial coding: 25 June 79 by J. Spencer Love */ 4 /* login_channel option flag BIM 11/81 */ 5 /* Added this_action and next_action 04/20/82 S. Herbst */ 6 /* Added on_info, goto_statement_(pos len) 01/06/83 S. Herbst */ 7 /* Added output_file.turn_of_ssw 05/16/83 S. Herbst */ 8 /* Added attach.trim_whitespace_sw 06/02/83 S. Herbst */ 9 10 declare abs_data_ptr ptr; 11 12 declare 1 abs_data aligned based (abs_data_ptr), 13 2 ec_data_ptr ptr, /* -> communication area for exec_com */ 14 2 arg_info, /* */ 15 3 ec_name_ptr ptr, /* Ptr to allocated &ec_name string */ 16 3 ec_name_len fixed bin (21), /* Length of allocated &ec_name string */ 17 3 arg_ptr ptr, /* pointer to allocated structure containing args */ 18 3 arg_count fixed bin, /* number of arguments passed */ 19 2 input_string, /* data about input segment or archive component */ 20 3 ptr ptr, /* pointer to input file */ 21 3 len fixed bin (21), /* number of characters in input file */ 22 3 start fixed bin (21), /* initial value for input_pos, set beyond &version, if any */ 23 3 position fixed bin (21), /* current index into input file */ 24 3 limit fixed bin (21), /* farthest point yet reached...begin &label search here */ 25 /* */ 26 2 command_line, /* substructure dealing with tracing command lines */ 27 3 on bit (1), /* 1 to print tracing information */ 28 3 expand fixed bin (2), /* 1 to print unexpanded, 2 expanded, 3 all, 4 both */ 29 2 comment_line like command_line, /* for tracing comments..always unexpanded */ 30 2 control_line like command_line, /* for tracing control lines */ 31 2 input_line like command_line, /* for tracing input lines in &attach mode */ 32 /* */ 33 2 attach, /* */ 34 3 victim_ptr ptr, /* -> IOCB affected by &attach (usually iox_$user_input */ 35 3 target_ptr ptr, /* -> IOCB &attached to (created by exec_com command) */ 36 3 save_ptr ptr, /* -> IOCB used to save previous victim_ptr -> IOCB */ 37 2 allocated_chars_ptr ptr, /* -> allocated buffer for freeing */ 38 2 chars_ptr ptr, /* -> characters in buffer waiting to be returned */ 39 2 else_clause_ptr ptr, /* -> characters in deferred else clause */ 40 2 allocated_chars_len fixed bin (21), /* total length of allocated buffer */ 41 2 chars_len fixed bin (21), /* characters left in buffer to be returned */ 42 2 else_clause_len fixed bin (21), /* length of deferred else clause */ 43 /* */ 44 2 active bit (1), /* 1 indicates get_line is busy, for recursion check */ 45 2 eof bit (1), /* 1 indicates &quit found or no more input */ 46 2 nest_level fixed bin, /* V1: depth of &if-&then-&else nesting */ 47 2 expected_nest_level fixed bin, /* V1: depth that must be reached to resume execution */ 48 /* */ 49 2 goto_statement_pos fixed bin (21), /* position of last &goto stmt, for error msgs */ 50 2 goto_statement_len fixed bin (21), /* length of the &goto stmt */ 51 52 2 if_info aligned, /* &if-&then-&else nesting info */ 53 3 if_sw bit (1), /* ON if inside an &if-&then-&else construct */ 54 3 true_sw bit (1), /* ON after "&if true" */ 55 3 got_then_sw bit (1), /* ON after the &then has been seen */ 56 3 got_else_sw bit (1), /* ON after the &else has been seen */ 57 3 clause_type fixed bin, /* previous &then or &else */ 58 3 skip_sw bit (1), /* ON if skipping a &then or &else clause */ 59 3 skip_block_level fixed bin, /* how many levels of &do we are inside while skipping */ 60 3 prev_if_ptr ptr, /* ptr to if_info (saved) of &if we are nested inside */ 61 3 this_action fixed bin, /* copy of expand_data.this_statement.action */ 62 3 next_action fixed bin, /* copy of expand_data.next_statement.action */ 63 2 labels_ptr ptr, /* hash table ptr for label hash table */ 64 2 work_area_ptr ptr, /* area for args, etc. */ 65 2 work_area_len fixed bin; 66 67 declare abs_data_work_area area (abs_data.work_area_len) based (abs_data.work_area_ptr); 68 69 declare abs_data_version_1 fixed bin static options (constant) initial (1), 70 Work_area_size fixed bin static options (constant) initial (800); 71 72 dcl (UNEXPANDED init (1), EXPANDED init (2), ALL init (3), BOTH init (4)) 73 fixed bin int static options (constant); 74 75 /* END OF: bce_abs_io_data.incl.pl1 * * * * * * * * * * * * * * * * * * * */