CSE3322

Programming languages and implementation

6 points - Two 1-hour lectures per week - Second semester - Clayton - Prerequisites: CSC2030 or CSE2303, CSC2040 or CSE2304, and CSC2050 or CSE2305 and one of Lisp programming (CSC2940/CSC3940 or CSE2394/CSE3394) or Prolog programming (CSC2930/ CSC3930 or CSE2393/CSE3393) or equivalent - Prohibitions: CFR3160, CSC3220, CSE2207, SFT2207, SFT3207

Objectives On completion of the subject students will understand the features, implementation techniques, formal systems and software packages important in the specification and implementation of programming languages. They will have knowledge of the requirements, language features and suitability of various programming paradigms and languages in terms of problem solving, translation, execution and computer architecture.

Synopsis This subject covers the four main programming language paradigms: imperative, functional, logic and object-oriented. Example languages and their applications will be discussed. The implementation of programming languages by means of interpreters and translators will be discussed. This will include parsing techniques, compiler construction and implementation techniques for language features which are paradigm specific. There will be practical work involving one or more realistic language implementations.

Assessment Examination (3 hours): 70% - Practical work: 30%

Prescribed texts

Wilhelm R and Maurer D Compiler design Addison-Wesley 1995

Back to the 1999 Science Handbook