Teaching purpose compilers: an exercise and its feedback

This paper presents an exercise to teach fundamental compiler construction issues. Four simple compilers, in both source and executable forms, were distributed among the students. The students studied the source codes and the accompanying documents. They performed various experiments with the compilers that included modifying the source codes, reengineering phases and implementing new phases and utilities. The students were enthusiastic about the practical knowledge they gained from the exercise. More than fifty students undertook the exercise and the overall response was quite satisfactory.