uibk_703602-Compiler-Constr.../slides/intro_slides.md
2020-02-29 12:43:22 +01:00

3.3 KiB
Raw Blame History

% Compiler Construction % Alex Hirsch % 3 March 2020

This ProSeminar

Curriculum

[…] development of a compiler for a simple procedural programming language

Prerequisites

  • This is a master's course!
  • Brain

If you struggle too much, do this course at a later time. You can unregister until the end of April.


  • 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

In the Lab

  • QA sessions
  • I'll be present for questions
  • You can work on your compiler

Requirements

  • Working compiler
  • More positive than negative QA sessions
  • March: lexer / parser
  • April: semantic checks, start IR generation
  • May: finish IR generation, start ASM generation
  • June: finish ASM generation, CFG generation, polish

Submissions

  • End of June: build test submission (optional)
  • Mid of July: final submission (no extensions)

Teams

  • 13 people
  • May span across PS groups
  • Send me your team composition via mail within March

Further Details

  • See course material

https://git.uibk.ac.at/c7031162/703602-Compiler-Construction