Abstract: | This paper reports on the design and development of a high level language, Malus, for use in implementing a time-sharing system. Emphasized are the ways that the language and its compiler accommodate the specialized requirements of systems programming and programmers. Among these are the need to generate highly efficient object code, to allow inter-programmer communication by program self-documentation, and to define and organize system tables and data. In addition, the Malus compiler is highly modular; thus the language may be modified or augmented in response to user needs unforeseen during langauge design. Systems programs cannot be machine independent and Malus allows explicit control of emitted code when an application requires particular efficiency or use of privileged instructions. There is also a facility allowing nested redefinition of identifiers. Efficient storage management and data access is effected by the availability of based structures, a register storage class and built-in functions to facilitate their use. Malus is evaluated both in terms of some general criteria for systems implementation languages and by an appraisal of user reactions. While this assessment shows a few areas where the language might be improved, it is felt that Malus is a valuable and effective tool for systems implementation. |