Compiler Technologies and Tools

Compilers are programs which translate. Traditionally this translation is from human readable description to a description that the computer can directly excecute. Nowadays, this translation applies to a broader context, for example a web browser takes a description of how a website should look, and translates this to the actual rendering on a screen. As a result, techniques and tools applied by compilers are often (though invisible to the user) at the core of many programs. We explore such techniques, develop tools to support this translation, and put it all into practice by developing compilers and supporting libraries and tools.