Update intro slides
This commit is contained in:
parent
09f2f06750
commit
8c4f058669
@ -1,35 +1,26 @@
|
|||||||
% Compiler Construction
|
% Compiler Construction
|
||||||
% Alex Hirsch
|
% Alex Hirsch
|
||||||
% 8 March 2018
|
% 3 March 2020
|
||||||
|
|
||||||
## `$ whoami`
|
|
||||||
|
|
||||||
**Alex Hirsch**
|
|
||||||
|
|
||||||
- Member of the DPS research group
|
|
||||||
- Worked on the Insieme and AllScale project:
|
|
||||||
- Haskell-based Analysis Framework (MSc Thesis)
|
|
||||||
- General C/C++ tasks
|
|
||||||
- Visualisation / tools
|
|
||||||
- Build system stuff (ノ°Д°)ノ︵ ┻━┻
|
|
||||||
- Doing stuff on <https://github.com/W4RH4WK>
|
|
||||||
|
|
||||||
# This ProSeminar
|
# This ProSeminar
|
||||||
|
|
||||||
## Curriculum
|
## Curriculum
|
||||||
|
|
||||||
> […] development of a compiler for a simple procedural programming language
|
> […] development of a compiler for a simple procedural programming language
|
||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
- **Bachelor Study**
|
- This is a master's course!
|
||||||
|
|
||||||
- Brain
|
- 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++)
|
- Fluent in C (or C++, or Go, or Rust, or Haskell)
|
||||||
- Includes debugger
|
- General programmer mindset
|
||||||
|
- Knowing your tools
|
||||||
|
|
||||||
- Algorithms and data structures
|
- Algorithms and data structures
|
||||||
- Graphs + traversal
|
- Graphs + traversal
|
||||||
@ -37,19 +28,24 @@
|
|||||||
- Operating systems
|
- Operating systems
|
||||||
- Utilising your software stack
|
- Utilising your software stack
|
||||||
|
|
||||||
|
- Assembly (preferably x86)
|
||||||
|
|
||||||
- - -
|
- - -
|
||||||
|
|
||||||
- Software development
|
- Software development
|
||||||
- Version control system
|
- Version control system
|
||||||
- Build systems
|
- Build systems
|
||||||
|
- Testing
|
||||||
|
|
||||||
- Project Management
|
- Project management
|
||||||
- self-organising
|
- Organisation
|
||||||
- team communication
|
- Team communication
|
||||||
|
|
||||||
- - -
|
- - -
|
||||||
|
|
||||||
- Formal languages and automata theory
|
- Formal languages and automata theory
|
||||||
|
- Grammars + transformations
|
||||||
|
- Lexer / parser
|
||||||
|
|
||||||
## Ultimate Goal
|
## Ultimate Goal
|
||||||
|
|
||||||
@ -66,20 +62,25 @@
|
|||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- Working compiler
|
- Working compiler
|
||||||
- More positive than negative QA grades
|
- More positive than negative QA sessions
|
||||||
- Initial submission (additional example input)
|
|
||||||
|
|
||||||
## Optional Milestones
|
## Recommended Schedule
|
||||||
|
|
||||||
- Not graded
|
- March: lexer / parser
|
||||||
- Provide a golden thread
|
- April: semantic checks, start IR generation
|
||||||
- Loosely connected to the lecture
|
- May: finish IR generation, start ASM generation
|
||||||
- Enable you to get my feedback
|
- June: finish ASM generation, CFG generation, polish
|
||||||
|
|
||||||
|
## Submissions
|
||||||
|
|
||||||
|
- End of June: build test submission (optional)
|
||||||
|
- Mid of July: final submission (no extensions)
|
||||||
|
|
||||||
## Teams
|
## Teams
|
||||||
|
|
||||||
- 1-3 people
|
- 1–3 people
|
||||||
- May span across PS groups
|
- May span across PS groups
|
||||||
|
- Send me your team composition via mail within March
|
||||||
|
|
||||||
## Further Details
|
## Further Details
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user