uibk_703602-Compiler-Constr.../slides/intro_slides.md
2020-02-27 15:40:25 +01:00

90 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

% 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
- 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>