BRAC University Institutional Repository

Teaching compiler development to undergraduates using a template based approach

Show simple item record Islam, Md Zahurul Khan, Mumit 2010-10-04T05:41:14Z 2010-10-04T05:41:14Z 2005 2005
dc.description Includes bibliographical references (page 6-7).
dc.description.abstract Compiler Design remains one of the most dreaded courses in any undergraduate Computer Science curriculum, due in part to the complexity and the breadth of the material covered in a typical 14-15 week semester time frame. The situation is further complicated by the fact that most undergraduates have never implemented a large enough software package that is needed for a working compiler, and to do so in such a short time span is a challenge indeed. This necessitates changes in the way we teach compilers, and specifically in ways we set up the project for the Compiler Design course at the undergraduate level. We describe a template based method for teaching compiler design and implementation to the undergraduates, where the students fill in the blanks in a set of templates for each phase of the compiler, starting from the lexical scanner to the code generator. Compilers for new languages can be implemented by modifying only the parts necessary to implement the syntax and the semantics of the language, leaving much of the remaining environment as is. The students not only learn how to design the various phases of the compiler, but also learn the software design and engineering techniques for implementing large software systems. In this paper, we describe a compiler teaching methodology that implements a full working compiler for an imperative C-like programming language with backend code generators for MIPS, Java Virtual Machine (JVM) and Microsoft’s .NET Common Language Runtime (CLR). en_US
dc.description.statementofresponsibility Md. Zahurul Islam
dc.description.statementofresponsibility Mumit Khan
dc.format.extent 7 pages
dc.language.iso en en_US
dc.publisher BRAC University en_US
dc.subject Code generator en_US
dc.subject Compiler design en_US
dc.subject Lexical analysis en_US
dc.subject Optimization en_US
dc.subject Semantic analysis en_US
dc.subject Syntax en_US
dc.subject Analysis en_US
dc.title Teaching compiler development to undergraduates using a template based approach en_US
dc.type Article en_US
dc.contributor.department Center for Research on Bangla Language Processing (CRBLP), BRAC University

Files in this item

This item appears in the following Collection(s)

Show simple item record

Policy Guidelines

Search BRACU Repository

Advanced Search


My Account