Integrating modern parallel techniques in the Tiger compiler



Tiger is a language designed as a reference for pedagogical compiler writing. Our C++ implementation of a Tiger compiler takes advantage of well-established practices in program transformation tools. The multi-core era has made parallelization a requirement in any computer science curriculum. As a support for teaching, our compiler has to evolve and make use of modern parallel techniques. This report introduces a solution to distribute work in a task-based concurrency model using Intel Threading Building Blocks (TBB) to decouple the programming from hardware specificities.