% Compiler Construction % Alex Hirsch % 5 March 2021 # This Proseminar ## Curriculum > […] development of a compiler for a simple, procedural programming language ## Prerequisites - This is a master's course! - Brain - - - - Fluent in C (or C++, or Go, or Rust, or Haskell) - General programmer mindset - Knowing your tools - Algorithms and data structures - Graphs + traversal - Operating systems - Utilising your software stack - Assembly (preferably x86) - - - - Software development - Version control system - Build systems - Testing - Project management - Organisation - Team communication - - - - Formal languages and automata theory - Grammars + transformations - Lexer / parser ## Ultimate Goal - Building a compiler - Specification provided - Evaluation scheme provided ## Requirements - Working compiler ## Recommended Schedule - See README ## Submissions - End of June: build test submission (optional) - Mid of July: final submission (no extensions) ## Teams - 1–3 people - May span across PS groups - Send me your team composition via mail within March ## Further Details - See course material