Teaching compilers with python (#87)

Description

Teaching compilers with python

Presented by Dr. Matthieu Amiguet

Why choose Python to teach compilers?

In the University of Applied Sciences ARC, compilers are taught in a relatively short amount of time. Focus is put on the main conceptual ideas, letting aside many technical details. Still, the students are expected to write a full compiler within a few weeks' time.

After trying the traditional C/Lex/Yacc based approach, and a more education- oriented Java/Jaccie solution, we settled on Python and PLY, plus a few enhancements (syntax tree graphical representation, decorator to achieve better code separation).

As a result, the students get a better understanding of the compiler concepts and produce more interesting and creative projects.