home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / PDP-11 / Trees / V6 / usr / man / man1 / fc.1 < prev    next >
Encoding:
Text File  |  1975-06-26  |  5.1 KB  |  237 lines

  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.    Two forms of ``implicit'' statements are recognized:
  53. .bd "implicit integer /i\*-n/",
  54. or
  55. .bd "implicit integer (i\-n)."
  56. .s3
  57. .lp +4 4
  58. 3.    The types
  59. doublecomplex, logical*1,
  60. integer*1, integer*2,
  61. integer*4 (same as integer),
  62. real*4 (real),
  63. and real*8 (double precision)
  64. are supported.
  65. .s3
  66. .lp +4 4
  67. 4.    \fB&\fR as the first character of a line
  68. signals a continuation card.
  69. .s3
  70. .lp +4 4
  71. 5.    \fBc\fR as the first character of a line signals a comment.
  72. .s3
  73. .lp +4 4
  74. 6.    All keywords are recognized in lower case.
  75. .s3
  76. .lp +4 4
  77. 7.    The notion of `column 7' is not implemented.
  78. .s3
  79. .lp +4 4
  80. 8.    G-format input is free form\*-
  81. leading blanks are ignored, the first blank after the start
  82. of the number terminates the field.
  83. .s3
  84. .lp +4 4
  85. 9.    A comma in any numeric or logical input field terminates
  86. the field.
  87. .s3
  88. .lp +4 4
  89. 10.    There is no carriage control on output.
  90. .s3
  91. .lp +4 4
  92. 11.    A sequence of
  93. .it n
  94. characters in double quotes `"' is equivalent to
  95. .it n
  96. .bd h
  97. followed by those characters.
  98. .s3
  99. .lp +4 4
  100. 12.    In
  101. .bd data
  102. statements, a hollerith string may initialize an array
  103. or a sequence of array elements.
  104. .s3
  105. .lp +4 4
  106. 13.    The number of storage units requested by a binary
  107. .bd read
  108. must be identical to the number contained
  109. in the record being read.
  110. .s3
  111. .lp +4 4
  112. 14.    If the first character in an input file is ``#'',
  113. a preprocessor identical to the C preprocessor
  114. is called, which implements ``#define'' and ``#include''
  115. preprocessor statements.
  116. (See the C reference manual for details.)
  117. The preprocessor does not recognize
  118. Hollerith strings written with
  119. \fIn\*|\fBh\fR.
  120. .s3
  121. .i0
  122. In I/O statements, only unit numbers 0-19 are supported.
  123. Unit number
  124. .it n
  125. refers to file
  126. fort\fInn;\fR
  127. (e.g. unit 9 is file `fort09').
  128. For input, the file must exist;
  129. for output, it will be created.
  130. Unit 5 is permanently associated with
  131. the standard input file; unit 6 with the
  132. standard output file.
  133. Also see
  134. .it setfil
  135. (III)
  136. for a way to associate unit numbers with named files.
  137. .sh FILES
  138. .ta 1.5i
  139. .nf
  140. a.out    loaded output
  141. f.tmp[123]    temporary (deleted)
  142. /usr/fort/fc1    compiler proper
  143. /lib/fr0.o    runtime startoff
  144. /lib/filib.a    interpreter library
  145. /lib/libf.a    builtin functions, etc.
  146. /lib/liba.a    system library
  147. .fi
  148. .sh "SEE ALSO"
  149. rc (I), which announces a more pleasant Fortran dialect;
  150. the ANSI standard;
  151. ld (I) for loader flags.
  152. For some subroutines, try
  153. ierror, getarg, setfil (III).
  154. .sh DIAGNOSTICS
  155. Compile-time diagnostics are given in English,
  156. accompanied if possible with the offending
  157. line number and source line with an underscore where the error
  158. occurred.
  159. Runtime diagnostics
  160. are given by number as follows:
  161. .s3
  162. .lp +5 5
  163. 1    invalid log argument
  164. .lp +5 5
  165. 2    bad arg count to amod
  166. .lp +5 5
  167. 3    bad arg count to atan2
  168. .lp +5 5
  169. 4    excessive argument to cabs
  170. .lp +5 5
  171. 5    exp too large in cexp
  172. .lp +5 5
  173. 6    bad arg count to cmplx
  174. .lp +5 5
  175. 7    bad arg count to dim
  176. .lp +5 5
  177. 8    excessive argument to exp
  178. .lp +5 5
  179. 9    bad arg count to idim
  180. .lp +5 5
  181. 10    bad arg count to isign
  182. .lp +5 5
  183. 11    bad arg count to mod
  184. .lp +5 5
  185. 12    bad arg count to sign
  186. .lp +5 5
  187. 13    illegal argument to sqrt
  188. .lp +5 5
  189. 14    assigned/computed goto out of range
  190. .lp +5 5
  191. 15    subscript out of range
  192. .lp +5 5
  193. 16    real**real overflow
  194. .lp +5 5
  195. 17    (negative real)**real
  196. .lp +5 5
  197. 100    illegal I/O unit number
  198. .lp +5 5
  199. 101    inconsistent use of I/O unit
  200. .lp +5 5
  201. 102    cannot create output file
  202. .lp +5 5
  203. 103    cannot open input file
  204. .lp +5 5
  205. 104    EOF on input file
  206. .lp +5 5
  207. 105    illegal character in format
  208. .lp +5 5
  209. 106    format does not begin with (
  210. .lp +5 5
  211. 107    no conversion in format but non-empty list
  212. .lp +5 5
  213. 108    excessive parenthesis depth in format
  214. .lp +5 5
  215. 109    illegal format specification
  216. .lp +5 5
  217. 110    illegal character in input field
  218. .lp +5 5
  219. 111    end of format in hollerith specification
  220. .lp +5 5
  221. 112    bad argument to setfil
  222. .lp +5 5
  223. 120    bad argument to ierror
  224. .lp +5 5
  225. 999    unimplemented input conversion
  226. .i0
  227. .sh BUGS
  228. The following is a list of
  229. those features not yet implemented:
  230. .br
  231. arithmetic statement functions
  232. .br
  233. scale factors on input
  234. .br
  235. .bd Backspace
  236. statement.
  237.