Compiler Construction - Singla, Tapodhan; Vashishtha, Varun; Singh, Sumeet (Journal of Advance Research in Computer Science & Engineering (ISSN 2456-3552), 2015)
Compiler construction is a widely used software engineering exercise, but because most students will not be compiler writers, care must be taken to make it relevant in a core curriculum. The course is suitable for advanced undergraduate and beginning graduate students. Auxiliary tools, such as generators and interpreters, often hinder the learning: students have to fight tool idiosyncrasies, mysterious errors, and other poorly educative issues. It is intended both to provide a general knowledge about compiler design and implementation and to serve as a springboard to more advanced courses. Although this paper concentrates on the implementation of a compiler, an outline for an advanced topics course that builds upon the compiler is also presented. We introduce a set of tools especially designed or improved for compiler construction educative projects in C.