Compiler Technologies and Tools

formula on Compiler Technology

Compilers are programs which translate. Traditionally such translation is done from human readable and understandable descriptions of how a computer should solve a problem to a corresponding description which can be executed directly on a computer to actually compute the solution for the problem.

Nowadays translation applies to a much wider 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. Techniques and tools applied by compilers therefore are often at the core of many programs, even though this may not be visible from the outside. We explores such techniques, develops tools to support translation techniques, and put these into practice by developing compilers and supporting libraries and tools.

Scheme on the representative structure of compilers
Schematic representative structure of compilers

Within the grand scheme of compiler technologies and tools, we work on a several different (but inter-connected) research questions:

Jurriaan Hage  
  • Program Analysis
  • Compiler Construction


Wouter Swierstra  
  • Dependently Typed Programming (Agda, Coq)
  • Version Control Systems


Atze Dijkstra  
  • UHC
  • Compiler Construction
  • (Advanced) Functional Programming