1.6 KiB
1.6 KiB
% 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
Recommended Schedule
- 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
- 1–3 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