Design considerations for an assembler

Assemblers have been proposed as general purpose manufacturing devices, able to build a wide range of useful products as well as copies of themselves. If such systems are to be built they must first be designed; and before they can be designed in detail we need to know at the system level what major subsystems are needed, what functions they perform, and how they interact with each other. This paper attempts to fill this need and describes the subsystems and components required for a relatively `simple' assembler.