1 11/26/80  fortran_77.gi.info
 2 
 3 The FORTRAN 77 language is defined by the American National Standard
 4 X3.9-1978.  This new standard for the FORTRAN language contains
 5 several significant additions to the previous standard (ANSI
 6 X3.9-1966).  Among them are:
 7 
 8 - character string expressions, including substrings and concatenation
 9 - an IF-THEN-ELSE construct permitting "structured" FORTRAN programs
10 - programmer-specified lower bounds for arrays
11 - direct access input/output
12 - list directed input/output
13 - DO loops whose range may be executed zero times
14 
15 For the most part, the new features of FORTRAN 77 are upward
16 compatible with the existing Multics FORTRAN language.  Some in fact
17 already exist in Multics FORTRAN, and others exist but with a
18 different syntax.  There are several aspects of FORTRAN 77, however,
19 that are incompatible with the existing Multics FORTRAN language.
20 
21 
22 FORTRAN 77 on Multics:
23 FORTRAN 77 is being implemented on Multics by extending the current
24 Multics FORTRAN compiler.  The ultimate goal of the FORTRAN 77 effort
25 on Multics is to produce a compiler which accepts standard-conforming
26 FORTRAN 77 programs, which continues to accept existing Multics
27 FORTRAN programs with no modification, and which attempts to smooth
28 the transition from 1966 FORTRAN to FORTRAN 77.
29 
30 
31 In an effort to meet this goal, two new options have been introduced -
32 ansi66 and ansi77.  Any particular program unit is compiled with one
33 of these options in effect.  Program units compiled under the ansi66
34 option will be interpreted as they have been interpreted by Multics
35 FORTRAN in the past.  Program units compiled under the ansi77 option
36 will be interpreted according to the FORTRAN 77 standard wherever it
37 differs from the existing Multics FORTRAN language.
38 
39 
40 It is important to note that the ansi66/ansi77 distinction does not
41 affect all new features of FORTRAN 77; nor does it affect all features
42 of Multics FORTRAN that are extensions to the 1966 standard.  Instead,
43 the ansi66/ansi77 distinction serves only to control the
44 interpretation of constructs that have different, incompatible
45 meanings (or implementations) in Multics FORTRAN and FORTRAN 77.
46 
47 
48 As many features from Multics FORTRAN and from FORTRAN 77 as possible
49 will be available under BOTH the ansi66 and ansi77 options.  The
50 benefit of this approach is twofold.  First, this will allow existing
51 programs to use some of the new features in FORTRAN 77 without full
52 conversion to FORTRAN 77.  Second, this will allow programs to be
53 easily converted to FORTRAN 77; only the particular constructs that
54 are incompatible need be changed.
55 
56 
57 FORTRAN 77 availability:
58 The full FORTRAN 77 language will be made available in two stages.
59 The first stage, which has been completed, includes support of a full
60 character data type, and introduces the ansi66/ansi77 distinction.
61 The second stage, which is scheduled to be completed in the MR9
62 timeframe, will include the remaining features of FORTRAN 77.
63 
64 
65 Caveat - incompatible changes:
66 Because FORTRAN 77 is being implemented on Multics in two stages,
67 additional incompatibilities may be introduced under control of the
68 ansi77 option.  Unfortunately, it is impossible to enumerate all such
69 incompatibilities at this time.  Users are urged to exercise caution
70 when compiling programs under the ansi77 option, keeping in mind that
71 future incompatible changes are possible.
72 
73 
74 Further information:
75 For further information on the ansi66 and ansi77 options, see
76 fortran.new_features.info and fort_options.gi.info.  For more specific
77 information on the differences between the ansi66 and ansi77
78 languages, see fortran_77.differences.info.  For suggested conversion
79 procedures, see fortran_77.conversions.info.