Lesson plan

Mortran

Mortran (More Fortran) is an extension of the Fortran programming language used for scientific computation. It introduces syntax changes, including the use of semicolons to end statements, in order to improve readability and flexibility. Mortran code is macro-processed into Fortran code for compilation. Example: IF I.NE.J > Note that Mortran, like many preprocessors, does not make a complete analysis of the Fortran source and, like many preprocessors, may not always make its assumptions/requirements explicit. Consider, for example, Mortran multiple assignment. From the Mortran User Guide: / I, A(I,K), J / = SQRT(X/2.0); produces the following FORTRAN statements: I = SQRT(X/2.0) A(I,K) = SQRT(X/2.0) J = SQRT(X/2.0) In this example, the produced Fortran implements the multiple assignment correctly only if X is not aliased to I or to A(I,K), assuming the multiple assignment semantics are left to right. The MORTRAN2 processor is written in ANSI standard Fortran 66, with the only extension the ability to assign and compare character data stored in INTEGER variables. The SKOL programming language, written by Charles Zahn in the mid-1970s, was implemented with MORTRAN macros. SKOL supported advanced features including his situation case statement, and ALGOL-W-like structured data records and references.

Back to article

Article summary

Mortran (More Fortran) is an extension of the Fortran programming language used for scientific computation. It introduces syntax changes, including the use of semicolons to end statements, in order to improve readability and flexibility. Mortran code is macro-processed into Fortran code for compilation. Example: IF I.NE.J > Note that Mortran, like many preprocessors, does not make a complete analysis of the Fortran source and, like many preprocessors, may not always make its assumptions/requirements explicit. Consider, for example, Mortran multiple assignment. From the Mortran User Guide: / I, A(I,K), J / = SQRT(X/2.0); produces the following FORTRAN statements: I = SQRT(X/2.0) A(I,K) = SQRT(X/2.0) J = SQRT(X/2.0) In this example, the produced Fortran implements the multiple assignment correctly only if X is not aliased to I or to A(I,K), assuming the multiple assignment semantics are left to right. The MORTRAN2 processor is written in ANSI standard Fortran 66, with the only extension the ability to assign and compare character data stored in INTEGER variables. The SKOL programming language, written by Charles Zahn in the mid-1970s, was implemented with MORTRAN macros. SKOL supported advanced features including his situation case statement, and ALGOL-W-like structured data records and references.

Key claims

No claims recorded.

Discussion questions

  1. Summarise the article in your own words. Which single claim would you verify first, and why?
  2. Which claim in this article is most likely to be revised as the sources update? How would you check its current status?
  3. If two sources disagreed about one of these facts, what would you need in order to trust one over the other?

Bibliography

No sources recorded.

Key claims and bibliography are generated from the same tracked claims and sources as the article page.