BRAC University Institutional Repository

Teaching compiler development to undergraduates using a template based approach

DSpace/Manakin Repository

Show simple item record

dc.contributor.author Islam, Md Zahurul
dc.contributor.author Khan, Mumit
dc.date.accessioned 2010-10-04T05:41:14Z
dc.date.available 2010-10-04T05:41:14Z
dc.date.issued 2005
dc.identifier.uri http://hdl.handle.net/10361/315
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.language.iso en en_US
dc.publisher Center for research on Bangla language processing (CRBLP) 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


Files in this item

Files Size Format View
Teaching compil ... ment to undergraduates.pdf 289.6Kb PDF View/Open or Preview

This item appears in the following Collection(s)

Show simple item record

Policy Guidelines

Search DSpace


Browse

My Account