The PL/EXUS language and virtual machine

  • Authors:
  • Gary A. Sitton;Thomas A. Kendrick;A. Gil Carrick

  • Affiliations:
  • Texas Institute for Rehabilitation and Research;Baylor College of Medicine;Four-Phase Systems, Inc.

  • Venue:
  • HLLCA '73 Proceedings of a symposium on High-level-language computer architecture
  • Year:
  • 1973

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper describes a high level general purpose language which evolved from another high level systems programming language. As well, the compiler, pseudocode, and virtual machine are discussed in some detail. The new language is a powerful PL/1 dialect, as is its parent language, XPL1. PL/EXUS (Programming Language/Extended XPL Users' Superset), was created to satisfy a particular set of needs. A highly machine independent, mobile, compact, and powerful programming system was needed for implementation of programs to manipulate medical record data on modestly configured minicomputers. The primary extensions to XPL were semantic and dictated the structure of a host virtual machine. Because of the number of different data types and implicit mixed mode conversion rules, the virtual machine has a tagged data architecture. This results in a small instruction set of under 64 operators and thus enables powerful, implicit, run time instruction interpretation. The PL/EXUS virtual machine has a basic eight bit word size. Its virtual memory capabilities require only a fraction of the program and data to be in real memory at a time. The ability to specify storage space for most data types results in parsimonious space allocation in spite of the presence of tag words (one eight-bit byte per identifier or constant). Some instructions were specifically created to allow the compiler to "peep-hole" (i.e., locally) optimize generated pseudocode programs. The compiler itself is written in XPL, which permits self-compilation and makes possible its execution on the virtual machine or a simulated (interpretive) version of it.