/* BEGIN fort_system_constants.incl.pl1 */ /****^ HISTORY COMMENTS: 1) change(86-07-14,BWong), approve(86-07-14,MCR7382), audit(86-07-17,Ginter), install(86-07-28,MR12.0-1105): Fix fortran bug 428. END HISTORY COMMENTS */ /* Created: June 1976, David Levin */ /* Modified: 15 Dec 85, RW - 428: Changed max_char_length from 256 to 512. 22 Jun 84, MM - Install typeless functions support. 17 Jun 83, HH - 383: Added 'process_param_list_op'. 12 Jan 83, HH - Added 'form_VLA_packed_ptr_op'. 05 Oct 82, HH - Added 'units_per_word'. 27 Sep 82, HH - Added 'max_fixed_bin_18', 'max_fixed_bin_24' and 'sys_info$max_seg_size'. Removed 'max_stored_value' and 'min_stored_value'. 24 October 1981, ME Presser - added inquire_op. 20 October 1981, C R Davis - add (read write)_internal_file_op. 11 May 1981, Marshall Presser - added op-codes for .EQV. and .NEQV. 28 April 1981, Marshall Presser - added default_main_entry_point_name 11 March 1981, Marshall Presser - add min_stored_value 8 December 1980, C R Davis - add block_if_op, else_if_op, else_op. 15 January 1980, C R Davis - add bits_per_char. 21 December 1979, Richard A. Barnes - add unrecoverable_errror and max_error_level. 3 November 1979, Richard Barnes - add pointer_node. 17 September 1979, Richard Barnes - add load_preg_op & load_xreg_op 13 September 1979, Paul Smee - add colon and concat token types, change value of EOS_token, remove default_char_size. 31 August 1979, Charlie Davis - change offset units to be consistent with those in runtime symbols. 13 August 1979, Richard Barnes - add cat_op & substr_op 19 July 1979, Richard Barnes - char mode 10 October 1978, Paul Smee - double max_stored_value and bias. 15 June 1978, Paul Smee - add max_num_of_rands 16 November 1977, David Levin - add machine_state_node 12 September 1977, Richard Barnes - new ops for loop optimizer 30 August 1977, David Levin - change bias from 65536 to 131072. 5 July 1977, David Levin - add open_op, close_op, and iostat_op. 28 April 1977, David Levin - add xmit_vector_op in operator list 22 April 1977, David Levin - add max_prec_single, last_assigned_mode 24 February 1977, Gabriel Chang for the optimizer. 23 February 1977, David Levin to change name of count operand. 28 October 1976, David Levin and Gabriel Chang to add 2 new ops and 1 new node type. 2 September 1976, David Levin - add 8 new ops and change name of data_op. */ /* SYSTEM CONSTANTS */ dcl bias init(262144) fixed bin(19) int static options(constant); dcl gap_value init(0) fixed bin int static options(constant); dcl max_fixed_bin_18 init(111111111111111111b) fixed bin (18) static options (constant); dcl max_fixed_bin_24 init(111111111111111111111111b) fixed bin (24) static options (constant); dcl max_num_of_rands init(127) fixed bin int static options(constant); dcl sys_info$max_seg_size fixed bin (18) ext; dcl ( unrecoverable_error init(3), max_error_level init(4)) fixed bin int static options(constant); dcl (main_program init(0), block_data init(1), subroutine init(2), function init(3), chars_per_word init(4), chars_per_dw init(8), bits_per_char init(9), first_auto_loc init(64), max_prec_single init(8)) fixed bin(9) int static options(constant); dcl max_char_length init(512) fixed bin(10) int static options(constant); dcl blank_common_name init("blnk*com") char(8) aligned int static options(constant); declare default_main_entry_point_name char (5) int static options (constant) initial ("main_"); declare unnamed_block_data_subprg_name char (29) int static options (constant) initial ("unnamed block data subprogram"); /* NODE TYPES */ dcl (fill_node init(0), source_node init(1), symbol_node init(2), dimension_node init(3), temporary_node init(4), constant_node init(5), label_node init(6), header_node init(7), char_constant_node init(8), array_ref_node init(9), proc_frame_node init(10), library_node init(11), subprogram_node init(12), arg_desc_node init(13), pointer_node init(14), machine_state_node init(15)) fixed bin(4) aligned internal static options(constant); /* DATA TYPES */ dcl (int_mode init(1), real_mode init(2), dp_mode init(3), cmpx_mode init(4), logical_mode init(5), char_mode init(6), typeless_mode init(7), last_assigned_mode init(7)) fixed bin(4) aligned internal static options(constant); dcl data_type_size(7) init(1,1,2,2,1,0,1) fixed bin int static options(constant); /* OPERAND TYPES */ dcl (variable_type init(1), constant_type init(2), array_ref_type init(3), temp_type init(4), count_type init(5), rel_constant init(6), bif init(7), statement_function init(8), external init(9), entry_type init(10), dummy init(11), error init(12)) fixed bin(4) aligned internal static options(constant); /* OFFSET UNITS */ dcl (word_units init (0), bit_units init (1), char_units init (2), halfword_units init (3)) fixed bin (3) aligned internal static options(constant); dcl units_per_word (0:3) init (1, 36, 4, 2) fixed bin (6) static options (constant); /* TOKEN MASKS */ dcl (is_operand initial("101000000"b), is_operator initial("010000000"b), is_constant initial("001000000"b), is_arith_constant initial("000100000"b)) bit(9) aligned internal static options(constant); /* TOKEN TYPES */ dcl (no_token initial("000000000"b), ident initial("100000000"b), plus initial("010000001"b), minus initial("010000010"b), asterisk initial("010000011"b), slash initial("010000100"b), expon initial("010000101"b), not initial("010000110"b), and initial("010000111"b), or initial("010001000"b), eq initial("010001001"b), ne initial("010001010"b), lt initial("010001011"b), gt initial("010001100"b), le initial("010001101"b), ge initial("010001110"b), assign initial("010001111"b), comma initial("010010000"b), left_parn initial("010010001"b), right_parn initial("010010010"b), apostrophe initial("010010011"b), colon initial("010010100"b), concat initial("010010101"b), substr_left_parn initial("010010110"b), eqv initial("010010111"b), neqv initial("010011000"b), EOS_token initial("010011111"b), char_string initial("001000001"b), logical_const initial("001000010"b), false initial("001000010"b), /* Must be identical to true except low order bit off. */ true initial("001000011"b), /* Must be identical to false except low order bit on. */ label_const initial("001000100"b), octal_const initial("001000101"b), dec_int initial("001100110"b), real_const initial("001100111"b), double_const initial("001101000"b), complex_const initial("001101001"b)) bit(9) aligned internal static options(constant); /* OPERATOR NAMES */ declare (assign_op initial(1), add_op initial(2), sub_op initial(3), mult_op initial(4), div_op initial(5), exponentiation_op initial(6), negate_op initial(7), less_op initial(8), less_or_equal_op initial(9), equal_op initial(10), not_equal_op initial(11), greater_or_equal_op initial(12), greater_op initial(13), or_op initial(14), and_op initial(15), not_op initial(16), jump_op initial(17), jump_logical_op initial(18), jump_arithmetic_op initial(19), jump_computed_op initial(20), jump_assigned_op initial(21), assign_label_op initial(22), read_op initial(23), write_op initial(24), format_op initial(25), end_label_op initial(26), error_label_op initial(27), xmit_scalar_op initial(28), xmit_array_op initial(29), xmit_vector_op initial(30), endfile_op initial(31), rewind_op initial(32), backspace_op initial(33), margin_op initial(34), openfile_op initial(35), closefile_op initial(36), record_number_op initial(37), string_op initial(38), string_length_op initial(39), terminate_op initial(40), return_op initial(41), pause_op initial(42), stop_op initial(43), item_op initial(44), exit_op initial(45), eol_op initial(46), do_op initial(47), builtin_op initial(48), sf_op initial(49), sf_def_op initial(50), subscript_op initial(51), func_ref_op initial(52), block_data_op initial(53), increment_polish_op initial(54), main_op initial(55), func_op initial(56), subr_op initial(57), stat_op initial(58), label_op initial(59), call_op initial(60), chain_op initial(61), endunit_op initial(62), non_executable initial(63), no_op initial(64), form_VLA_packed_ptr_op initial(65), opt_subscript_op initial(66), left_shift_op initial(67), right_shift_op initial(68), store_zero_op initial(69), storage_add_op initial(70), storage_sub_op initial(71), neg_storage_add_op initial(72), storage_add_one_op initial(73), namelist_op initial(74), open_op initial(75), close_op initial(76), iostat_op initial(77), convert_to_int_op initial(78), convert_to_real_op initial(79), convert_to_dp_op initial(80), convert_to_cmpx_op initial(81), read_scalar_op initial(82), read_array_op initial(83), read_vector_op initial(84), write_scalar_op initial(85), write_array_op initial(86), write_vector_op initial(87), jump_true_op initial(88), jump_false_op initial(89), sub_index_op initial(90), loop_end_op initial(91), read_namelist_op initial(92), write_namelist_op initial(93), decode_string_op initial(94), encode_string_op initial(95), cat_op initial(96), substr_op initial(97), load_xreg_op initial(98), load_preg_op initial(99), block_if_op initial(100), else_if_op initial(101), else_op initial(102), equiv_op initial (103), not_equiv_op initial (104), read_internal_file_op initial (105), write_internal_file_op initial (106), inquire_op initial (107), process_param_list_op initial (108), lhs_fld_op initial (109), last_assigned_op initial (109)) fixed bin(18) internal static options(constant); /* END fort_system_constants.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 */