Incremental compilation at a remote terminal
White, Richard Wayne
Page, Edward W.
Master of Science
Incremental compilation is a very effective software development technique. It has been successfully implemented in several existing compilers and time sharing systems. The idea of placing an incremental compiler at a remote terminal is discussed in this thesis. This thesis develops the structural guidelines necessary for a system design which separates the compiler software physically from the execution hardware. The remote terminal, while having the responsibility of supporting incremental compilation, must also handle editing and syntax checking. The mainframe computer will be used to support the execution of the intermediate compiled code generated by the remote terminal. This paper presents the techniques for using an interpreter, resident in the mainframe, to link the remote compiler with the execution process. General interpreter software design is considered first, then a particular interpreter written for Dartmouth BASIC is presented along with a description of the communication link for the remote terminal to mainframe hookup. In order to evaluate the system design, several performance criterion like user productivity, response time, programming cost are defined. These measures of performance relate to the most effective method of using existing computer facilities with relatively inexpensive software and hardware modifications. This thesis considers the effect of remote incremental compilation on the total programmer-computer interactive system. The advantages of the design are outlined and weighed against the cost of modifying the present computer systems. Finally, the language processing of BASIC in an interpretive environment is illustrated in detail. The concept of remote incremental compilation is a realistic and effective improvement in the field of interactive program development. The software simulation of the BASIC interpreter has shown that the proposed design can be feasibly supported by the mainframe computer.