|
|
1.1 ! root 1: .th FC I 8/20/73 ! 2: .sh NAME ! 3: fc \*- fortran compiler ! 4: .sh SYNOPSIS ! 5: .bd fc ! 6: [ ! 7: .bd \*-c ! 8: ] sfile1.f ... ofile1 ... ! 9: .sh DESCRIPTION ! 10: .it Fc ! 11: is the UNIX Fortran compiler. ! 12: It accepts three types of arguments: ! 13: .s3 ! 14: Arguments whose names end with `.f' are assumed to be ! 15: Fortran source program units; they are compiled, and ! 16: the object program is left on the file sfile1.o (i.e. ! 17: the file whose name is that of the source with `.o' substituted ! 18: for `.f'). ! 19: .s3 ! 20: Other arguments (except for ! 21: \fB\*-c\fR) ! 22: are assumed ! 23: to be either loader flags, or ! 24: object programs, typically produced by an earlier ! 25: .it fc ! 26: run, ! 27: or perhaps libraries of Fortran-compatible routines. ! 28: These programs, together with the results of any ! 29: compilations specified, are loaded (in the order ! 30: given) to produce an executable program with name ! 31: .bd a.out. ! 32: .s3 ! 33: The ! 34: .bd \*-c ! 35: argument suppresses the loading phase, as does ! 36: any syntax error in any of the routines being compiled. ! 37: .s3 ! 38: The following is a list ! 39: of differences between ! 40: .it fc ! 41: and ANSI standard Fortran (also see the BUGS section): ! 42: .s3 ! 43: .lp +4 4 ! 44: 1. Arbitrary combination of types is allowed ! 45: in expressions. Not all combinations are expected to ! 46: be supported at runtime. ! 47: All of the normal ! 48: conversions involving integer, real, double ! 49: precision and complex are allowed. ! 50: .s3 ! 51: .lp +4 4 ! 52: 2. DEC's \fBimplicit\fR statement is recognized. ! 53: E.g.: ! 54: .bd "implicit integer /i\*-n/". ! 55: .s3 ! 56: .lp +4 4 ! 57: 3. The types ! 58: doublecomplex, logical*1, ! 59: integer*1, integer*2 and real*8 (double precision) ! 60: are supported. ! 61: .s3 ! 62: .lp +4 4 ! 63: 4. \fB&\fR as the first character of a line ! 64: signals a continuation card. ! 65: .s3 ! 66: .lp +4 4 ! 67: 5. \fBc\fR as the first character of a line signals a comment. ! 68: .s3 ! 69: .lp +4 4 ! 70: 6. All keywords are recognized in lower case. ! 71: .s3 ! 72: .lp +4 4 ! 73: 7. The notion of `column 7' is not implemented. ! 74: .s3 ! 75: .lp +4 4 ! 76: 8. G-format input is free form\*- ! 77: leading blanks are ignored, the first blank after the start ! 78: of the number terminates the field. ! 79: .s3 ! 80: .lp +4 4 ! 81: 9. A comma in any numeric or logical input field terminates ! 82: the field. ! 83: .s3 ! 84: .lp +4 4 ! 85: 10. There is no carriage control on output. ! 86: .s3 ! 87: .lp +4 4 ! 88: 11. A sequence of ! 89: .it n ! 90: characters in double quotes `"' is equivalent to ! 91: .it n ! 92: .bd h ! 93: followed by those characters. ! 94: .s3 ! 95: .lp +4 4 ! 96: 12. In ! 97: .bd data ! 98: statements, a hollerith string may initialize an array ! 99: or a sequence of array elements. ! 100: .s3 ! 101: .lp +4 4 ! 102: 13. The number of storage units requested by a binary ! 103: .bd read ! 104: must be identical to the number contained ! 105: in the record being read. ! 106: .s3 ! 107: .i0 ! 108: In I/O statements, only unit numbers 0-19 are supported. ! 109: Unit number ! 110: .it n ! 111: refers to file ! 112: fort\fInn;\fR ! 113: (e.g. unit 9 is file `fort09'). ! 114: For input, the file must exist; ! 115: for output, it will be created. ! 116: Unit 5 is permanently associated with ! 117: the standard input file; unit 6 with the ! 118: standard output file. ! 119: Also see ! 120: .it setfil ! 121: (III) ! 122: for a way to associate unit numbers with named files. ! 123: .sh FILES ! 124: .ta 1.5i ! 125: file.f input file ! 126: .nf ! 127: a.out loaded output ! 128: f.tmp[123] temporary (deleted) ! 129: /usr/fort/fc1 compiler proper ! 130: /lib/fr0.o runtime startoff ! 131: /lib/filib.a interpreter library ! 132: /lib/libf.a builtin functions, etc. ! 133: /lib/liba.a system library ! 134: .fi ! 135: .sh "SEE ALSO" ! 136: ANSI standard, ! 137: ld(I) for loader flags ! 138: .br ! 139: Also see the writeups on the precious few ! 140: non-standard Fortran subroutines, ! 141: ierror and setfil (III) ! 142: .sh DIAGNOSTICS ! 143: Compile-time diagnostics are given in English, ! 144: accompanied if possible with the offending ! 145: line number and source line with an underscore where the error ! 146: occurred. ! 147: Runtime diagnostics ! 148: are given by number as follows: ! 149: .s3 ! 150: .lp +5 5 ! 151: 1 invalid log argument ! 152: .lp +5 5 ! 153: 2 bad arg count to amod ! 154: .lp +5 5 ! 155: 3 bad arg count to atan2 ! 156: .lp +5 5 ! 157: 4 excessive argument to cabs ! 158: .lp +5 5 ! 159: 5 exp too large in cexp ! 160: .lp +5 5 ! 161: 6 bad arg count to cmplx ! 162: .lp +5 5 ! 163: 7 bad arg count to dim ! 164: .lp +5 5 ! 165: 8 excessive argument to exp ! 166: .lp +5 5 ! 167: 9 bad arg count to idim ! 168: .lp +5 5 ! 169: 10 bad arg count to isign ! 170: .lp +5 5 ! 171: 11 bad arg count to mod ! 172: .lp +5 5 ! 173: 12 bad arg count to sign ! 174: .lp +5 5 ! 175: 13 illegal argument to sqrt ! 176: .lp +5 5 ! 177: 14 assigned/computed goto out of range ! 178: .lp +5 5 ! 179: 15 subscript out of range ! 180: .lp +5 5 ! 181: 16 real**real overflow ! 182: .lp +5 5 ! 183: 17 (negative real)**real ! 184: .s3 ! 185: .lp +5 5 ! 186: 100 illegal I/O unit number ! 187: .lp +5 5 ! 188: 101 inconsistent use of I/O unit ! 189: .lp +5 5 ! 190: 102 cannot create output file ! 191: .lp +5 5 ! 192: 103 cannot open input file ! 193: .lp +5 5 ! 194: 104 EOF on input file ! 195: .lp +5 5 ! 196: 105 illegal character in format ! 197: .lp +5 5 ! 198: 106 format does not begin with ( ! 199: .lp +5 5 ! 200: 107 no conversion in format but non-empty list ! 201: .lp +5 5 ! 202: 108 excessive parenthesis depth in format ! 203: .lp +5 5 ! 204: 109 illegal format specification ! 205: .lp +5 5 ! 206: 110 illegal character in input field ! 207: .lp +5 5 ! 208: 111 end of format in hollerith specification ! 209: .lp +5 5 ! 210: 999 unimplemented input conversion ! 211: .i0 ! 212: Any of these errors can be caught by the program; ! 213: see ! 214: .it ierror ! 215: (III). ! 216: .sh BUGS ! 217: The following is a list of ! 218: those features not yet implemented: ! 219: .s3 ! 220: .br ! 221: arithmetic statement functions ! 222: .br ! 223: scale factors on input ! 224: .s3 ! 225: .bd Backspace ! 226: statement.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.