05/31/80 New FORTRAN Conversions This info segment provides a list of syntactic differences between the input formats of the old FORTRAN compiler and the new one. If the source program compiles without errors, but the program does not run as expected, refer to new_fortran_differences.gi.info or new_fortran_extensions.gi.info for a list of semantic differences between the compilers. Card-image format is the same for both compilers and is described fully in the ANSI standard for the FORTRAN language. The old compiler allows some syntactic extensions when card-image format is used. The free-form format accepted by each compiler is very different. Free-form Differences: The new compiler requires that the first non-blank character on a continuation line be an ampersand character (&). The old compiler has no continuation requirements, as its parsers determined from the context when a statement was completely parsed. 1. If a percent character (%) immediately precedes a newline character, the old compiler ignores both characters. For the new compiler, the percent sign must be deleted and an ampersand placed on the continuation line. 2. The old compiler allows statements to be continued implicitly, however, finding all occurances of implicit continuation is a tiresome task. There are some simple tests that should find most cases. Lines that end with "(", "+", "-", "*", "^", and "," are obviously continued onto the next line. An ampersand character must be placed at the beginning of the continuation line. Note -- "/" is omitted because a data statement always ends with one. Lines the begin with ")", "+", "-", "*", "/", "^", ",", quote ("), or apostrophe (') are continuation lines. An ampersand should precede the actual first character. The new compiler requires that the first non-blank character of a continuation line be an ampersand character (&). The user is free to insert any number of blanks or tabs before the ampersand. 3. The new compiler requires that all statement labels be declared at the beginning of a line. The old compiler allows statement labels to be declared immediately following a newline character or a semicolon. 4. The new compiler does not allow a semicolon to appear on an end line. General Differences: 1. The new compiler does not allow character strings delimited by a quote character (") to contain any quote characters. Character strings delimited by an apostrophe character (') cannot contain any apostrophe characters. [This difference has been removed. Quote characters may be inserted in character strings delimited with quote characters by doubling the quotes in the string. This is also true for apostrophes in strings delimited by apostrophes.] 2. The new compiler does not allow double precision octal constants. All octal constants are assumed to describe a 36 bit word. If an octal constant contains more than 12 digits, the rightmost 12 digits are used. [This difference has been removed. Double precision octal constants may be used with double precision and complex data.] 3. The new compiler does not allow signed octal constants. 4. The new compiler treats all real constants without a double precision exponent as single precision. The old compiler converts single precision constants to double precision if the constant appears in the text with more than nine digits. [This difference has been removed.] 5. The old compiler allows the user to skip over array elements within a data statement by allowing the user to not specify a value. For example-- data array /1, 2, , 4, 2* / This form is not allowed by the new compiler. 6. Statement ordering for each program unit is as follows: block data, subroutine, or function statement implicit statement declarative statements statement function definitions executable statements end line Each section, except the end line, is optional. Format and data statements can appear anywhere in the program unit after the implicit statement and before the end line. Comment lines may appear anywhere before the end line. Card-image: 1. The old compiler allows short forms for the logical values .true. and .false. (.t. and .f.). The new compiler does not. 2. The new compiler does not allow the semicolon character (;) within card-image source segments. Notes: Card-image format is dangerous to use in an interactive environment because text editing could result in a line that contained more than 72 text characters. It is therefore advisable to convert all card-image format source segments to free-form format. A simple conversion consists of: - delete columns 73 through 80, - all initial lines have a blank in column 6, - all continuation lines have blanks in columns one through five - all continuation lines have an ampersand in column 6, - if desired, convert all letters not within character string constants to their lowercase form. ----------------------------------------------------------- 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