Add transcript to intro slides
This commit is contained in:
parent
a478dc051b
commit
c13596c24c
@ -8,6 +8,13 @@
|
|||||||
|
|
||||||
> […] development of a compiler for a simple procedural programming language
|
> […] development of a compiler for a simple procedural programming language
|
||||||
|
|
||||||
|
<aside class="notes">
|
||||||
|
As stated by the curriculum, your task is to build a simple compiler for a small procedural programming language.
|
||||||
|
It's quite hard to fit this goal into the 5 ECTS budget of this module (lecture included), nevertheless I think I found the right trade-offs with the given specification.
|
||||||
|
|
||||||
|
Still, it is highly recommended to work in teams and that you start early - always trying to be ahead of schedule.
|
||||||
|
</aside>
|
||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
- This is a master's course!
|
- This is a master's course!
|
||||||
@ -16,6 +23,15 @@
|
|||||||
If you struggle too much, do this course at a later time.
|
If you struggle too much, do this course at a later time.
|
||||||
You can unregister until the end of April.
|
You can unregister until the end of April.
|
||||||
|
|
||||||
|
<aside class="notes">
|
||||||
|
By now, this course is notorious for requiring a lot of effort.
|
||||||
|
The legends are true; I am indeed expecting a decent level of skill from all of you.
|
||||||
|
This is a master's course after all.
|
||||||
|
|
||||||
|
While I don't care whether you have officially finished your bachelor, you should only take this course if you are certain that you meet the prerequisites.
|
||||||
|
Otherwise, skip it for now and come back to it when you have acquired the necessary knowledge.
|
||||||
|
</aside>
|
||||||
|
|
||||||
- - -
|
- - -
|
||||||
|
|
||||||
- Fluent in C (or C++, or Go, or Rust, or Haskell)
|
- Fluent in C (or C++, or Go, or Rust, or Haskell)
|
||||||
@ -30,6 +46,13 @@ You can unregister until the end of April.
|
|||||||
|
|
||||||
- Assembly (preferably x86)
|
- Assembly (preferably x86)
|
||||||
|
|
||||||
|
<aside class="notes">
|
||||||
|
Since this course is very programming intensive, you need to be fluent in one of these languages.
|
||||||
|
If choose C and think strings are compared using `==` you'll have a very hard time.
|
||||||
|
|
||||||
|
For OS, if you think calling `exec` without `fork` while implementing a library is a good idea, maybe revisit the corresponding lecture would be a good idea.
|
||||||
|
</aside>
|
||||||
|
|
||||||
- - -
|
- - -
|
||||||
|
|
||||||
- Software development
|
- Software development
|
||||||
@ -41,12 +64,21 @@ You can unregister until the end of April.
|
|||||||
- Organisation
|
- Organisation
|
||||||
- Team communication
|
- Team communication
|
||||||
|
|
||||||
|
<aside class="notes">
|
||||||
|
As already mentioned, the schedule is quite tight, hence good organisation and software development skills are paramount.
|
||||||
|
</aside>
|
||||||
|
|
||||||
- - -
|
- - -
|
||||||
|
|
||||||
- Formal languages and automata theory
|
- Formal languages and automata theory
|
||||||
- Grammars + transformations
|
- Grammars + transformations
|
||||||
- Lexer / parser
|
- Lexer / parser
|
||||||
|
|
||||||
|
<aside class="notes">
|
||||||
|
I also recommend doing this course only after having completed FLAT.
|
||||||
|
The lecture and proseminar assumes that you are familiar with the basics of grammars (plus related transformations), lexers, and parsers.
|
||||||
|
</aside>
|
||||||
|
|
||||||
## Ultimate Goal
|
## Ultimate Goal
|
||||||
|
|
||||||
- Building a compiler
|
- Building a compiler
|
||||||
@ -71,6 +103,10 @@ You can unregister until the end of April.
|
|||||||
- May: finish IR generation, start ASM generation
|
- May: finish IR generation, start ASM generation
|
||||||
- June: finish ASM generation, CFG generation, polish
|
- June: finish ASM generation, CFG generation, polish
|
||||||
|
|
||||||
|
<aside class="notes">
|
||||||
|
You are free to deviate from this schedule.
|
||||||
|
</aside>
|
||||||
|
|
||||||
## Submissions
|
## Submissions
|
||||||
|
|
||||||
- End of June: build test submission (optional)
|
- End of June: build test submission (optional)
|
||||||
|
Loading…
Reference in New Issue
Block a user