/* BEGIN INCLUDE FILE -- abs_io_expand.incl.pl1 -- 07/07/80 S. Herbst */ /* Added label_search_values 10/06/82 S. Herbst */ /* Added next_begin_pos 04/29/83 S. Herbst */ /* Added trace_lines.by_control_arg 03/20/84 S. Herbst */ dcl expand_data_ptr ptr; /* In comments, (Input), (Output) and (I/O) refer to how abs_io_expand_ sees the item. */ dcl 1 expand_data aligned based (expand_data_ptr), 2 version fixed bin, /* = 1 */ 2 abs_data_ptr ptr, /* ptr back to abs_data for this invocation of ec */ 2 expand_data_ptr ptr, /* ptr to data maintained by abs_io_expand_ */ 2 next_expand_data_ptr ptr, /* ptr to this structure for next &proc or &fcn */ 2 last_expand_data_ptr ptr, /* ptr to this structure for outer proc or fcn */ 2 area_ptr ptr, /* ptr to area in which to allocate args */ 2 input_pos fixed bin (21), /* current character position in input file (I/O) */ 2 caller_buffer_info, 3 caller_buffer_ptr ptr, /* caller's buffer for returned line (Input) */ 3 caller_buffer_len fixed bin (21), /* character size of buffer (Input) */ 3 caller_actual_len fixed bin (21), /* number of chars returned (Output) */ 2 allocated_buffer_info, 3 allocated_ptr ptr, /* ptr to expand_'s allocated rest-of-line (I/O) */ 3 allocated_len fixed bin (21), /* length of rest-of-line (I/O) */ 3 allocated_buffer_len fixed bin (21), /* original allocated size (Output) */ 2 trace_lines, /* tracing info for command or input lines */ 3 by_control_arg bit (1) unaligned, /* ON if trace mode was specified by ec control arg */ 3 on bit (1) unaligned, /* ON to trace at all */ 3 expand fixed bin (3) unaligned, /* 1=unexpanded, 2=expanded, 3=all, 4=both */ 3 pad1 bit (66) unaligned, /* pad to double word */ 3 iocb ptr, /* IOCB to put trace on */ 3 prefix char (32) varying, /* prefix for &trace tracing, eg. "COMMAND: " */ 3 pad2 bit (36), 2 predicate_values, 3 is_absin bit (1), /* &is_absin, ON if absentee (Input) */ 3 is_af bit (1), /* &is_af, ON if ec active function (Input) */ 3 is_input bit (1), /* &is_input_line, ON if input line */ 3 pad bit (33), 2 first_loop_ptr ptr, /* ptr to first iteration loop activation (I/O) */ 2 first_block_ptr ptr, /* ptr to first &do block (I/O) */ 2 label_search_values, 3 searching_for char (200), /* label being searched for ($skip) */ 3 (next_begin_pos, /* position of next &begin */ next_do_pos, /* position of next &do */ next_end_pos, /* position of next &end */ next_label_pos, /* position of next &label */ next_quote_pos, /* position of next &" */ next_comment_pos) fixed bin (21), /* position of next &- */ 2 expander_output, /* returned by abs_io_expand_ after parsing */ 3 this_statement, 4 pos fixed bin (21), /* beginning of current (parsed) statement */ 4 len fixed bin (21), /* length of entire statement */ 4 keyword_len fixed bin (21), /* length of just the keyword portion */ 4 action fixed bin, /* semantic number of this keyword */ 3 semant_info, 4 semantics fixed bin, /* additional information for the code that implements */ 4 modifier fixed bin, /* and more info for certain ones */ 4 flag fixed bin, /* what can I say? */ 3 arg_info, 4 arg_ptr ptr, /* ptr to single arg if keyword takes only one (Output) */ 4 arg_len fixed bin (21), /* length of single arg (Output) */ 4 parsed_args_ptr ptr, /* points to parsed_args structure if >1 args (Output) */ 3 next_statement like expand_data.this_statement, /* next statement info (look-ahead) (Output) */ 3 expanded_sw bit (1), /* ON if expand_ had to expand label stmt (Output) */ 3 error_msg char (168) aligned; /* diagnosis if abs_io_expand returns code ^= 0 */ dcl parsed_args_count fixed bin; dcl parsed_args_ptr ptr; dcl 1 parsed_args aligned based (parsed_args_ptr), 2 count fixed bin, /* number of arguments */ 2 array (parsed_args_count refer (parsed_args.count)), 3 ptr ptr unaligned, /* ptr to the argument */ 3 len fixed bin (21), /* length of the argument */ 3 quote_count fixed bin, /* number of internal quote chars (for allocating &r) */ 3 flags bit (36) aligned; /* reserved for specific types of args */ dcl expand_data_version_2 fixed bin int static options (constant) init (2); /* END INCLUDE FILE abs_io_expand.incl.pl1 */ */ ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group Bull including Bull HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell Bull Inc., Groupe Bull and Bull HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, Bull or Bull HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by Bull HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved */