Show simple item record

Files in this item

Thumbnail

Item metadata

dc.contributor.advisorCole, A. J. (Alfred John)
dc.contributor.authorMorrison, Ronald
dc.coverage.spatial163 p.en_US
dc.date.accessioned2018-05-17T16:09:20Z
dc.date.available2018-05-17T16:09:20Z
dc.date.issued1979
dc.identifier.urihttps://hdl.handle.net/10023/13385
dc.description.abstractThe thesis outlines the major problems in the design of high level programming languages. The complexity of these languages has caused the user problems in intellectual manageability. Part of this complexity is caused by lack of generality which also causes loss of power. The maxim of power through simplicity, simplicity through generality is established. To achieve this simplicity a number of ground rules, the principle of abstraction, the principle of correspondence and the principle of data type completeness are discussed and used to form a methodology for programming language design. The methodology is then put into practice and the language S-algol is designed as the first member of a family of languages. The second part of the thesis describes the implementation of the S-algol language. In particular a simple and effective method of compiler construction based on the technique of recursive descent is developed. The method uses a hierarchy of abstractions which are implemented as layers to define the compiler. The simplicity and success of the technique depends on the structuring of the layers and the choice of abstractions. The compiler is itself written in S-algol. An abstract machine to support the S-algol language is then proposed and implemented. This machine, the S-code machine, has two stacks and a heap with a garbage collector and a unique method of procedure entry and exit. A detailed description of the S-code machine for the PDP11 computer is given in the Appendices. The thesis then describes the measurement tools used to aid the implementer and the user. The results of improvements in efficiency when these tools are used on the compiler itself are discussed. Finally, the research is evaluated and a discussion of how it may be extended is given.en_US
dc.language.isoenen_US
dc.publisherUniversity of St Andrews
dc.subject.lccQA76.1A6M7
dc.subject.lcshElectronic data processingen
dc.titleOn the development of Algolen_US
dc.typeThesisen_US
dc.type.qualificationlevelDoctoralen_US
dc.type.qualificationnamePhD Doctor of Philosophyen_US
dc.publisher.institutionThe University of St Andrewsen_US


This item appears in the following Collection(s)

Show simple item record