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.github.io/2021/ for lectures, assignment, and project information.
30 min extra
at Thu, Oct 28, 2021 16:21:13
You have 30 min extra to work on the exam.
New tests for disambiguation assignment
at Thu, Oct 28, 2021 14:12:59 updated at Thu, Oct 28, 2021 14:16:00
New tests have been added to the disambiguation assignment. Use the reset button to make them available
Template error in Type Checking question
at Thu, Oct 28, 2021 13:59:39
Due to a copy-paste error, the code template for the Type Checking question contains a syntax error at the top of the file that will prevent your solution from compiling, even if you didn’t change anything.
In order to fix this either manually remove the duplicate
module ... imports ... rulesat the top of the file, or use the “Reset” button on the right next to the submit button. When you use the Reset button, your current code will be added as a comment on the bottom, so you will not lose any progress.
Sorry for the confusion.