Module Descriptors
COMPILING TECHNIQUES
COCS60387
Key Facts
Faculty of Computing, Engineering and Sciences
Level 6
0 credits
Contact
Leader: Martin Slade
Hours of Study
Scheduled Learning and Teaching Activities: 30
Independent Study Hours:
Total Learning Hours: 30
Assessment
  • PORTFOLIO weighted at 100%
Module Details
Module Indicative Content
History and evolution of language processing

Formal language theory:
Regular languages and finite state automata
Context free languages and push down automata
LL(k), LR(0) and LR(1) grammars
BNF and Syntax diagrams

Overview of language processing - compilers, interpreters, etc.
Phases of compilation.
Lexical analysis. Tokens.
Syntax analysis (parsing) - bottom-up and bottom-down. Parse tree.
Semantic analysis and symbol tables, scope and type checking.
Error handling.
Run-time organisation.
Simple code generation. Intermediate code. Virtual machines.
Specific issues in compilation of object oriented languages.
Introduction to compiler generator tools e.g. Lex, Yacc, ANTLR.
Overview of interpretation and differences between compilation and interpretation.
Module Additional Assessment Details
Portfolio of class exercises 100%

Students will submit a selection of the class exercises for final assessment. Word length of portfolio will not exceed 3000 words.
Module Learning Strategies
A combination of lectures and practical/tutorial work, supported by independent study. The class contact hours will be intensive and may fit in to a variety of timescales from 1 week to 1 month.

In total:
(1:n) 16; (1:20) 14
Module Texts
Appel, A.W. Modern Compiler Implementation in Java, Cambridge University Press, 2000, ISBN: 978-81-7596-072-5
Linz, P., An Introduction to Formal Languages and Automata, 3rd revised edition, Jones and Bartlett Publishers, 2011, ISBN: 978-1449615529
Watt, D. A. & D. F. Brown, Programming Language Processors in Java, Prentice Hall, 2000, ISBN: 0-13-025786-9
Module Resources
Lab with Java environment
Module Special Admissions Requirements
Must be part of the programme of study agreed with EMA Ales