Skip to main content

CT - top navigation

  • Learn
  • Piazza
  • DRPS

Breadcrumb

  1. Home

CT: Compiling Techniques

Decorative image for Compiling Techniques

Welcome to Compiling Techniques

Learning Outcomes

On successful completion of this course, you should be able to: 

  1. analyse compilation tasks and to apply standard compilation techniques.
  2. develop, implement and apply modifications to standard compilation techniques and algorithms wherever this is necessary.
  3. understand and implement design decisions in modern compilers.
Course Outline

* Introduction: structure of a compiler 
* Lexical analysis: tokens, regular expressions, Lex 
* Parsing: context-free grammars, predictive and LR parsing 
* Abstract syntax: semantic actions, abstract parse trees 
* Semantic analysis: symbol tables, bindings, type-checking 
* Stack frames: representation and abstraction 
* Intermediate code: representation trees, translation 
* Basic blocks and traces: canonical trees and conditional branches 
* Instruction selection: algorithms for selection, RISC and CISC 
* Liveness analysis: solution of dataflow equations 
* Register allocation: colouring by simplification, coalescing 
* Real assembly language: ARM, MIPS, or RISC-V 
* Advanced Topics may include: automatic parallelisation, popular open-source compilers: GCC, LLVM, MLIR

License
All rights reserved The University of Edinburgh
  • CT: Course Materials
  • CT: Resource List
  • CT: Assessment

Book traversal links for CT: Compiling Techniques

  • CT: Course Materials

Navigation links

  • CT: Course Materials
  • CT: Resource List
  • CT: Assessment
RSS feed

Opencourse privacy & accessibility statements; contact Informatics, ILTS.