From 8c4f0586690a6af125d73795624d51ef7ae8bb86 Mon Sep 17 00:00:00 2001 From: Alex Hirsch Date: Sat, 22 Feb 2020 14:59:37 +0100 Subject: [PATCH] Update intro slides --- slides/intro_slides.md | 59 +++++++++++++++++++++--------------------- 1 file changed, 30 insertions(+), 29 deletions(-) diff --git a/slides/intro_slides.md b/slides/intro_slides.md index 936f06a..ea27098 100644 --- a/slides/intro_slides.md +++ b/slides/intro_slides.md @@ -1,35 +1,26 @@ % Compiler Construction % Alex Hirsch -% 8 March 2018 - -## `$ 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 +% 3 March 2020 # This ProSeminar ## Curriculum -> […] development of a compiler for a simple procedural programming language +> […] development of a compiler for a simple procedural programming language ## Prerequisites -- **Bachelor Study** - +- 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++) - - Includes debugger +- Fluent in C (or C++, or Go, or Rust, or Haskell) + - General programmer mindset + - Knowing your tools - Algorithms and data structures - Graphs + traversal @@ -37,19 +28,24 @@ - Operating systems - Utilising your software stack +- Assembly (preferably x86) + - - - - Software development - Version control system - Build systems + - Testing -- Project Management - - self-organising - - team communication +- Project management + - Organisation + - Team communication - - - - Formal languages and automata theory + - Grammars + transformations + - Lexer / parser ## Ultimate Goal @@ -66,20 +62,25 @@ ## Requirements - Working compiler -- More positive than negative QA grades -- Initial submission (additional example input) +- More positive than negative QA sessions -## Optional Milestones +## Recommended Schedule -- Not graded -- Provide a golden thread -- Loosely connected to the lecture -- Enable you to get my feedback +- 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 +- 1–3 people - May span across PS groups +- Send me your team composition via mail within March ## Further Details