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.