Abstract
We assess the impact over a three-year period, of the macro-pre-processor MORTRAN, and one of the languages it processes. We confine our assessment to SLAC and Stanford since, although MORTRAN has been widely distributed in the United States and to a lesser extent in Europe, we have no personal knowledge of its impact elsewhere. The impact is attributed to three factors: (1) portability, (2) compatibility (with existing FORTRAN libraries), and (3) extensibility, which is sub-divided into (a) extension of control structures, and (6) extension of data structures. We divide the impact into an "initial" impact which we relate to control structure extensions, and a "secondary" impact which we relate to data structure extensions. MORTRAN is currently being used at SLAC to process large production programs, some of which exceed ten thousand lines of MORTRAN source code.
- Strong, J., et al., "The Problem of Programming Communication with Changing Machine: A Proposed Solution,"
Comm. ACM , V. 1, No. 8, (Aug., 1958). Google ScholarDigital Library - McIlroy, M., "Macro Instruction Extensions of Compiler Languages,"
Comm. ACM V. 3, No. 4, 1965. Google ScholarDigital Library - Brown, P.,
Macro Processors and Techniques for Portable Software , John Wiley, New York, 1974. Google ScholarDigital Library - Campbell-Kelly, M.,
An Introduction to Macros , Macdonald, New York, 1973.Google Scholar - Wegner, P.,
Programming Languages, Information Structures, and Machine Organization , McGraw-Hill, 1968. Google ScholarDigital Library - Waite, W.,
Implementing Software for Non-Numeric Applications , Prentice-Hall, 1973.Google Scholar - Strachey, C., "A general-purpose Macrogenerator,"
Computer Journal , Vol. 8 pp. 225--41. Oct. 1964.Google ScholarCross Ref - Ryder, B., "The PFORT Verifier,"
Software-Practice and Experience , Vol. 4, 1974.Google Scholar - Cook, A., "A User's Guide to MORTRAN,"
Stanford Linear Accelerator Center, Computation Research Group Technical Memo No. 150 , 1973.Google Scholar - Cook, A. and Shustek, L., "A User's Guide to MORTRAN2," Stanford Linear Accelerator Center,
Computation Research Group Technical Memo No. 165 , 1975.Google Scholar Workshop on FORTRAN Preprocessors for Numerical Software , Pasadena, Calif. Nov. 1974.Google Scholar- Cook, A., and Shustek, L., "MORTRAN2, A Macro-based Structured FORTRAN Extension,"
Conference Digest of IEEE Spring '75 Compcon .Google Scholar - Knuth, D., and Zahn, C., "Ill-Chosen Use of Event,"
Comm. ACM , Vol. 8, No. 6, (June, 1975).Google Scholar - Knuth, D., "Structured Programming with the GOTO Statement,"
Computing Surveys , Vol. 6, No. 4 (1974). Google ScholarDigital Library - Zahn, C., "A Control Statement for Natural Top-down Structured Programming,"
Proc. of a Programming Symp. , Springer-Verlag, Berlin (1974). Google ScholarDigital Library - Brooks, F.,
The Mythical Man-Month , Addison-Wesley, 1975. Google ScholarDigital Library - Sites, R.,
Algol-W Reference Manual , Stanford Computer Science Department, Stanford University. Google ScholarDigital Library - Dahl, O., et al,
Structured Programming , Academic Press, 1972. Google ScholarDigital Library
Recommendations
Extensible control structures
Proceeding of ACM SIGPLAN - SIGOPS interface meeting on Programming languages - operating systemsA considerable amount of programming language research has been directed towards the development of extensible languages. Typically, these languages allow data type extensions, in which new data types are constructed in terms of built-in or previously ...
Reliable and automatic composition of language extensions to C: the ableC extensible language framework
This paper describes an extensible language framework, ableC, that allows programmers to import new, domain-specific, independently-developed language features into their programming language, in this case C. Most importantly, this framework ensures ...
Extensible control structures
A considerable amount of programming language research has been directed towards the development of extensible languages. Typically, these languages allow data type extensions, in which new data types are constructed in terms of built-in or previously ...
Comments