A contribution to the development of ALGOL
Communications of the ACM
ALGOL Bulletin
Algol-60 Implementation
A brief look at extension programming before and now
ACM SIGPLAN Notices
Hi-index | 0.00 |
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.