- Student Records
Programme & Unit Catalogues

Department of Computer Science, Unit Catalogue 2011/12


CM30171: Advanced compilers

Click here for further information Credits: 6
Click here for further information Level: Honours (FHEQ level 6)
Click here for further information Period: Semester 1
Click here for further information Assessment: CW 75%, EX 25%
Click here for further information Supplementary Assessment: CM30171 Mandatory Extra Work (where allowed by programme regulations)
Click here for further information Requisites: Before taking this unit you must take CM20214
Click here for further information Description: Aims:
To acquire an appreciation of the suitability of different techniques for the analysis of and representations for programming languages, followed by the various means to interpret them. To demonstrate the impact that computer architecture is having on compiler design. To explore trends in hardware development, and examine techniques for efficient use of machine resources.

Learning Outcomes:
1. To be able to choose suitable techniques for lexing, parsing, type analysis, intermediate representation, transformation and interpretation given the properties of the language to be implemented.
2. To be able to describe the philosophy of RISC and CISC architectures.
3. Knowledge of at least one technique for register allocation, and one technique for instruction scheduling.
4. The ability to write a simple code generator.

Skills:
Problem solving (T/F, A).

Content:
Construction of lexical analysers, recursive descent parsing, construction of LR parser tables, type checking, polymorphic type synthesis, abstract interpretation, storage management, byte-code interpreters, code-threaded interpreters, partial evaluation, staging transformations.
Description of several state-of-the-art chip designs. The implications for compilers of RISC architectures. Register allocation algorithms (colouring, DAGS, scheduling). Global data-flow analysis. Pipelines and instruction scheduling; delayed branches and loads. Multiple instruction issue. VLIW and the Bulldog compiler. Harvard architecture and Caches. Benchmarking.
Click here for further informationProgramme availability:

CM30171 is Optional on the following programmes:

Department of Computer Science
  • USCM-AFB01 : BSc Computing (Full-time) - Year 3
  • USCM-AKB01 : BSc Computing (Full-time with Thick Sandwich Placement) - Year 4
  • USCM-AFB06 : BSc (hons) Computer Science (Full-time) - Year 3
  • USCM-AKB07 : BSc (hons) Computer Science (Full-time with Thick Sandwich Placement) - Year 4
  • USCM-AKB19 : BSc (hons) Computer Science (incl. ab initio Japanese Language & with Industrial Placement) (Full-time with Thick Sandwich Placement) - Year 4
  • USCM-AKB18 : BSc (hons) Computer Science (incl. ab initio Mandarin Chinese Lang & with Industrial Placement) (Full-time with Thick Sandwich Placement) - Year 4
  • USCM-AFB19 : BSc (hons) Computer Science (including ab initio Japanese Language) (Full-time) - Year 3
  • USCM-AFB18 : BSc (hons) Computer Science (including ab initio Mandarin Chinese Language) (Full-time) - Year 3
  • USCM-AFB09 : BSc (hons) Computer Science with Business (Full-time) - Year 3
  • USCM-AKB10 : BSc (hons) Computer Science with Business (Full-time with Thick Sandwich Placement) - Year 4
  • USCM-AAB10 : BSc (hons) Computer Science with Business with Study Year Abroad (Full-time with Study Year Abroad) - Year 4
  • USCM-AKB15 : BSc (hons) Computer Science with French Language (with Industrial Placement) (Full-time with Thick Sandwich Placement) - Year 4
  • USCM-AAB15 : BSc (hons) Computer Science with French Language (with Study Year Abroad) (Full-time with Study Year Abroad) - Year 4
  • USCM-AKB16 : BSc (hons) Computer Science with German Language (with Industrial Placement) (Full-time with Thick Sandwich Placement) - Year 4
  • USCM-AAB16 : BSc (hons) Computer Science with German Language (with Study Year Abroad) (Full-time with Study Year Abroad) - Year 4
  • USCM-AKB17 : BSc (hons) Computer Science with Spanish Language (with Industrial Placement) (Full-time with Thick Sandwich Placement) - Year 4
  • USCM-AAB17 : BSc (hons) Computer Science with Spanish Language (with Study Year Abroad) (Full-time with Study Year Abroad) - Year 4
  • USCM-AAB07 : BSc (hons) Computer Science with Study Year Abroad (Full-time with Study Year Abroad) - Year 4
  • USCM-AFM01 : MComp (hons) Computer Science (Full-time) - Year 3
  • USCM-AKM02 : MComp (hons) Computer Science (Full-time with Thick Sandwich Placement) - Year 4
  • USCM-AAM02 : MComp (hons) Computer Science with Study Year Abroad (Full-time with Study Year Abroad) - Year 4

NB. Programmes and units are subject to change at any time, in accordance with normal University procedures.