Babel, an application of extensible compilers

  • Authors:
  • R. S. Scowen

  • Affiliations:
  • National Physical Laboratory, Teddington, Middlesex, England

  • Venue:
  • Proceedings of the international symposium on Extensible languages
  • Year:
  • 1971

Quantified Score

Hi-index 0.00

Visualization

Abstract

The normal approach in providing an extensible programming language seems to be to design and implement a base language which has facilities enabling the programmer to define and use extensions. This paper discusses a solution using an alternative approach in which extensions are made by changing the compiler. Of course, in theory, any compiler can be altered (it is only a computer program); in practice it is probably not so easy since difficulties will arise if the compiler has been designed for one fixed standard language on one particular computer. If a compiler is to be altered, it must possess various properties; there should be no danger of accidentally invalidating an existing program, and it must be clear what changes are required to make a desired extension. It is also desirable that only a small number of changes should be required to make an extension. The method of writing compilers which is described below satisfies these conditions and has been adopted in three different applications:- (1) Babel, a conventional high level programming language. (2) SOAP, a program which documents and edits an ALGOL 60 program. (3) PL516, a high level assembly language for the Honeywell DDP516 computer.