EASY(ID:4047/eas011)

Intermediate language 


Intermediate language for the Nanodata QM-1, target for SIMPL-T


Related languages
EASY => SIMPL-Q   Target language for

References:
  • Perry, John G., Flink, Charles W., "A Microprogrammed High Level Language Debug System," Proceedings of the Fifteenth Annual Technical Symposium, National Bureau of Standards, (June 17, 1976) pp. 177-180. view details
  • Perry, John G., Hein, Robert R., "Virtual Machines for a Tactical Environment" view details
          in [IEEE] Conference Digest COMPCON Fall 1976 view details
  • Flink, Charles W., "EASY—an operating system for the QM-1" in Proceedings of the tenth annual workshop on Microprogramming 1977 , Niagara Falls, New York, United States pp: 7 - 14 view details Abstract: The Emulation Aid SYstem is a virtual machine monitor for the Nanodata QM-1 microprogrammable computer. The system is designed to provide the user with an interactive interface for the development and subsequent use of emulations on the QM-1. EASY provides integrated support for: 1) interactive control of multiple, concurrently resident, virtual computers implemented via emulation, 2) input/output from emulations (virtual I/O) to the various real peripherals of the QM-1, and 3) diagnostic displays for debugging of both the emulations and the software running on the emulated computers. EASY is implemented at three distinct levels: the majority of the system software is programmed in a high-level language (SIMPL-Q); this (service) software, in turn, executes on an emulated intermediate language machine (also called EASY); the EASY machine executes as the highest priority task under a microprogrammed operating system kernel (called TASK). Via EASY the user currently has access to several previously developed emulations. EASY is the host system for ongoing emulator development at the Navy's Dahlgren Laboratory. Extract: The System Programming Language SIMPL-Q
    The System Programming Language SIMPL-Q
    One of the first tasks in the design of EASY was the selection of a suitable hlgh-level programming language. The plan was to take a suitable language and extend it by means of the addition of a few new intrinsic functions and procedures. These "system programming" extensions were to include synchronization operators (TRIGGER, WAIT), emulation control (STASK for start task, KTASK for kill task), a clean, table driven I/O interface (SIO), and control over interrupt handling (ARM, DISARM a procedure as an interrupt handler for a given interrupt level)s These extensions were essential to the tasks intended for the systems language, therefore a language had to be selected that would readily accept these extensions. The other key requirements for the language were a) "structured" control for readability and reliability, b) good bit manipulation support (for flexibility in interfacing to varied target emulations), and c) good character string support (for display and command interpreting).
    The SIMPL-T programming language was suggested as a workable base language for several reasons, First, SIMPL-T is the base language in which the SIMPL family of compilers is implemented. Therefore, an extended language based on SIMPL-T would be self-hosting, Secondly, the -T in SIMPL-T stands for transportable. SIMPL-T is the member of the SIMPL family whose compiler is specifically designed to support easy bootstrapping and extension. Third, SIMPL-T supports part word operations addressable to the bit as well as a full complement of character string operations. Finally, SIMPL-T had just been bootstrapped to the CDC 6600-6700 computer system located at the author's facility.
    SIF~L-T supports a basic set of structured
    programming control structures consisting of
    1) IF...THEN...ELSE...END (ELSE clause optional),
    2) WHILE...DO...END (with optional EXIT and EXIT
    l
  • Flink, Charles W., "EASY—The Design and Implementation of an Intermediate Language Machine," Masters Thesis VPI&SU view details
          in [IEEE] Conference Digest COMPCON Fall 1976 view details