Compilers translate the source code of programs in a high-level programming language into executable (virtual) machine code. Nowadays, compilers are typically integrated into development environments providing features like syntax highlighting, content assistance, live error reporting, and continuous target code generation.
This course studies the architecture of compilers and interactive programming environments and the concepts and techniques underlying the components of that architecture. For each of the components of a compiler we study the formal theory underlying the language aspect that it covers, declarative specification languages to define compiler components, and the techniques for their implementation. The concepts and techniques are illustrated by application to small languages or language fragments.
See https://tudelft-cs4200-2020.github.io/ for lectures, assignment, and project information.
Extension of exam with 30 minutes
at Fri, Jan 29, 2021 16:15:13
Due to the confusion with the RISC-V assignment, the end time for the exam is extended with 30 min to 17:15.
Fib should be recursive
at Fri, Jan 29, 2021 14:56:16
Note that the implementation of the fibonacci function should be recursive, to exercise the calling convention.
New RISC-V assignment
at Fri, Jan 29, 2021 14:08:57
We replaced the second RISC-V assignment. The new one should be correct and easier. Apologies for the confusion.