Authorised by Academic Registrar, April 1996
Objectives At the completion of this subject students should know the process of refining specifications into code; know language translation techniques; and be able to use tools like lex and yacc to develop translators.
Synopsis Examination of how to move from a high-level specification to implemented code (called refinement), and language translation techniques which can assist in this endeavour. Review of formal specification languages and their object-oriented extensions. Refining high-level specifications to executable languages: imperative, functional and logic-oriented. Refining object-oriented specifications. Basic concepts in language translation: lexical, syntactic and semantic analysis, type-checking and syntax-directed translation. Translation issues for object-oriented and specification languages. Optimising the translation process. Language prototyping. Translation tools. Software environments used in developing programming languages and tools.
Assessment Assignments: 100%