06/01/80 New FORTRAN Extensions This segment describes features of the New Fortran compiler that are extensions over old_fortran. 1. The new compiler allows complex variables to be used as subscripts. The integer part of the real portion of the complex number is used. 2. An asterisk (*) or uppercase letter c can be used to specify a comment line. Previously available only with the -card control argument. 3. All variables are initialized to 0 if not otherwise specified. This action can be supressed if desired with the %global statement; see fort_options.gi.info for details. 4. All combinations of arithmetic operands to the exponentiation operator are allowed. The result is of the higher of the modes used. 5. The ^ character can be used as the exponentiation operator. Previously available only with the -card control argument. 6. Equivalence statements can be mixed with other declarative statements. The info segment new_fortran_conversions.gi.info contains a table showing the statement ordering expected by the new compiler. 7. Several program units (main program, subroutine, block data, function) can be combined to form a single source segment. The main program, if present, must be first in the source segment. 8. All mode statements may include an optional length specification given in characters. It is ignored for all but real and character data. For real data, a length greater than 7 indicates double precision. 9. The save statement has been added to the language. The save statement is used to declare variables to be of the static storage class. Save statements and automatic statements may not both appear in a single program unit. 10. The parameter statement has been added to the language to define named constants. This statement allows the programmer to define and use named constants anywhere in the program, except as statement labels or in format specifications. Previously available only with the -card control argument. 11. File number 0 is associated with the terminal. This is the file number used for all implied unit input/output statements. The I/O switch user_input is used for input and the switch user_output is used for output. In the Multics environment, file05 and file06 are still directed to the terminal if if they are not attached by the user. 12. The input statement has been added to the language as a read with an implied unit of 0. 13. Two new format specifications have been added to the language. S-format is used to strip off line numbers from input records; :-format is used to terminate processing an input list if no more elements are provided. 14. Several new vfile_ file types are supported. In particular, the FORTRAN I/O system will attempt to use any existing file if it is compatible with the type of FORTRAN input/output directed at it. Thus, a sequential operation could be used to open a keyed or blocked file. A direct access operation could be used to open either a blocked file or a keyed file. One limitation is that formatted requests are not permitted on vfile_ sequential files. 15. A character constant may be used instead of a format statement number in input or output statements. 16. The labels in an arithmetic if statement are optional. If a missing label is called for, the flow of control "falls through" to the next statement. The commas must be present. Previously available only with the -card control argument. 17. The new built-in functions, acos, asin, dacos, dasin, log, log10, dtan, and tan, have been added to the language. 18. The ! character can be used to indicate a comment. Anything following the ! character on the same line is treated as a comment. 19. The input source may be line-numbered. Card-image format source cannot be line-numbered. The -line_numbers control argument is used to specify that the source segment contains line numbers. 20. The label arguments passed to a subroutine may appear in any argument position. Similarly, label parameters can appear in any parameter position. In fact, only one label parameter is required in a subroutine or entry statement that expects label arguments. 21. The open and close statements have been added to the language. Refer to the Fortran User's Guide, Order No. CC70. 22. An optimizer is available with the new_fortran compiler. 23. $-format is accepted for terminal files. $-format prevents the newline character from following the output line, like ioa_$nnl does. Notes on Future Extensions: 1. Character expressions will be added to the language. This includes the concatenate and substring operations. 2. Double precision complex data will be added to the language. 3. The -long_profile control argument will be added to the fortran command. ----------------------------------------------------------- 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