diff --git a/slides/.gitignore b/slides/.gitignore new file mode 100644 index 0000000..2d19fc7 --- /dev/null +++ b/slides/.gitignore @@ -0,0 +1 @@ +*.html diff --git a/slides/Makefile b/slides/Makefile new file mode 100644 index 0000000..1972391 --- /dev/null +++ b/slides/Makefile @@ -0,0 +1,14 @@ +SRC = $(wildcard *.md) +HTML = $(SRC:.md=.html) + +.PHONY: all clean + +all: $(HTML) + +clean: + $(RM) $(HTML) + +WD := $(realpath $(dir $(abspath $(lastword $(MAKEFILE_LIST))))) + +# uses https://github.com/W4RH4WK/Dogx +include $(HOME)/git/dogx/template/settings.mk diff --git a/slides/intro_slides.md b/slides/intro_slides.md new file mode 100644 index 0000000..936f06a --- /dev/null +++ b/slides/intro_slides.md @@ -0,0 +1,88 @@ +% 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 + +# This ProSeminar + +## Curriculum + +> […] development of a compiler for a simple procedural programming language + +## Prerequisites + +- **Bachelor Study** + +- Brain + +- - - + +- Fluent in C (or C++) + - Includes debugger + +- Algorithms and data structures + - Graphs + traversal + +- Operating systems + - Utilising your software stack + +- - - + +- Software development + - Version control system + - Build systems + +- Project Management + - self-organising + - team communication + +- - - + +- Formal languages and automata theory + +## 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 grades +- Initial submission (additional example input) + +## Optional Milestones + +- Not graded +- Provide a golden thread +- Loosely connected to the lecture +- Enable you to get my feedback + +## Teams + +- 1-3 people +- May span across PS groups + +## Further Details + +- See course material + +