The mobile programming system: STAGE2

@article{Waite1970TheMP,
  title={The mobile programming system: STAGE2},
  author={William M. Waite},
  journal={Commun. ACM},
  year={1970},
  volume={13},
  pages={415-421}
}
  • W. Waite
  • Published 1 July 1970
  • Computer Science
  • Commun. ACM
STAGE2 is the second level of a bootstrap sequence which is easily implemented on any computer. It is a flexible, powerful macro processor designed specifically as a tool for constructing machine-independent software. In this paper the features provided by STAGE2 are summarized, and the implementation techniques which have made it possible to have STAGE2 running on a new machine with less than one man-week of effort are discussed. The approach has been successful on over 15 machines of widely… 
A software development system based on a macroprocessor
TLDR
The macroprocessor has been planned to work in a conversational environment and to this purpose a set of utilities has been inserted to aid the editing and the debugging of the macrodefinitions.
The mobile programming system, Janus
TLDR
The principles upon which Janus is based are presented, and it is shown that it is suited to a wide range of source languages and target computers.
Levels of language for portable software
TLDR
The relative merits of pitching this language at a high level or a low level is discussed, and some comparative results are presented.
Minicomputer software development using a maxicomputer
TLDR
This paper examines some of the problems of developing software for minicomputers (or microcomputers), and practical solutions to these problems are described both generally and by a specific example.
Minicomputer software development using a maxicomputer
TLDR
This paper examines some of the problems of developing software for minicomputers (or microcomputers), and practical solutions to these problems are described both generally and by a specific example.
A portable diagnostic facility for SNOBOL4
TLDR
The nature of the facility, its use, and some results of using it for language implementation and development of SNOBOL4 are described.
Portable and Adaptable Compilers
To say that a program is “portable” implies that it is a relatively easy and straight forward task to move it from one machine to another; if the effort to move the program is considerably less than
Software extensibility and portability with macro processors
TLDR
Using the ideas developed in the first part, the topics of software extensibility and software portability are introduced, and some methods of achieving extensible or portable software systems by the use of macros are discussed.
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 16 REFERENCES
A base for a mobile programming system
TLDR
An algorithm for a macro processor which has been used as the base of an implementation, by bootstrapping, of processors for programming languages is described and experience with programming languages whose implementation is based on this algorithm indicates that such a language can be transferred to a new machine in less than one man-week without using the old machine.
Machine independent software
TLDR
This paper describes a system developed at the University of Colorado which has been implemented on 8 different machines, with efforts ranging from 1 man-day to 2 man-week, and feels that these techniques offer a possible solution to the "software crisis" which is plaguing the computer industry today.
A language independent macro processor
A macro processor is described which can be used with almost any source language. It provides all features normally associated with a macro facility, plus the ability to make arbitrary
Description of FORMAT, a text-processing program
TLDR
Good performance, totally free-form input, very flexible formatting capabilities including up to eight columns per page, automatic capitalization, aids for index construction, and a minimum of nontext items.
Report on Input-Output Procedures for ALGOL 60
Delete Replace by': "Influence of scopes. If a switch designator occurs outside the scope of a label in the switch list, and an evalu!stion of this switch designator selects this label, then a
Peephole optimization
Redundant instructions may be discarded during the final stage of compilation by using a simple optimizing technique called peephole optimization. The method is described and examples are given.
Object code optimization
TLDR
Methods of analyzing the control flow and data flow of programs during compilation are applied to transforming the program to improve object time efficiency and implementation of these and other optimizations in OS/360 FORTRAN H are described.
Index Register Allocation
A procedure for index register allocation is described. The rules of this procedure are shown to yield an optimal allocation for “straight line” programs.
Algorithms: Algorithm 335: a set of basic input-output procedures
TLDR
A basic set of input-output procedures is defined aiming at quality and flexibility, and the Berkeley style of providing information on the form of output using prior calls of procedures such as real format is defined.
Building a Mobile Programming System
...
1
2
...