The University of Sheffield
Department of Computer Science

Michael Jones Undergraduate Dissertation 2000/01

"Build Your Own Object-orientated Language"

Supervised by A.Simons

Abstract

Each programming language is based on a formal theory of some kind. Unfortunately, no single theory encapsulates the object oriented paradigm fully and hence each language is subject to certain flaws pertaining to the theory it is based on.

Once the theory that the language is to be based on is decided the surface syntax of the language needs to be designed. This can be as flexible as the designer requires it to be but must obey the rules defined in the theory.

Once the surface syntax is designed a compiler needs to be written. This takes a piece of source code and checks it to see if it syntactically correct. If the program is valid according to the syntax it is then checked for semantic errors. These are the errors pertaining to whether the code, although syntactically correct, contains any errors relating to the meaning of the code.

Once the code is syntactically and semantically correct the compiler must then generate the code into a language that can be run by the target system.

This dissertation is concerned with the processes and design issues that are involved with the design of an object oriented language and the implementation of a compiler to use the language.