Show simple item record

dc.contributor.authorIslam, Md Zahurul
dc.contributor.authorKhan, Mumit
dc.date.accessioned2010-10-04T05:41:14Z
dc.date.available2010-10-04T05:41:14Z
dc.date.copyright2005
dc.date.issued2005
dc.identifier.urihttp://hdl.handle.net/10361/315
dc.descriptionIncludes bibliographical references (page 6-7).
dc.description.abstractCompiler 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.statementofresponsibilityMd. Zahurul Islam
dc.description.statementofresponsibilityMumit Khan
dc.format.extent7 pages
dc.language.isoenen_US
dc.publisherBRAC Universityen_US
dc.subjectCode generatoren_US
dc.subjectCompiler designen_US
dc.subjectLexical analysisen_US
dc.subjectOptimizationen_US
dc.subjectSemantic analysisen_US
dc.subjectSyntaxen_US
dc.subjectAnalysisen_US
dc.titleTeaching compiler development to undergraduates using a template based approachen_US
dc.typeArticleen_US
dc.contributor.departmentCenter for Research on Bangla Language Processing (CRBLP), BRAC University


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record