• Login
    • Library Home
    View Item 
    •   BracU IR
    • Centre for Research on Bangla Language Processing (CRBLP)
    • Conference Papers (Centre for Research on Bangla Language Processing)
    • View Item
    •   BracU IR
    • Centre for Research on Bangla Language Processing (CRBLP)
    • Conference Papers (Centre for Research on Bangla Language Processing)
    • View Item
    JavaScript is disabled for your browser. Some features of this site may not work without it.

    Teaching compiler development to undergraduates using a template based approach

    Thumbnail
    View/Open
    Teaching compiler development to undergraduates.pdf (282.8Kb)
    Date
    2005
    Publisher
    BRAC University
    Author
    Islam, Md Zahurul
    Khan, Mumit
    Metadata
    Show full item record
    URI
    http://hdl.handle.net/10361/315
    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).
    Keywords
    Code generator; Compiler design; Lexical analysis; Optimization; Semantic analysis; Syntax; Analysis
     
    Description
    Includes bibliographical references (page 6-7).
    Department
    Center for Research on Bangla Language Processing (CRBLP), BRAC University
    Collections
    • Conference Papers (Centre for Research on Bangla Language Processing)

    Copyright © 2008-2019 Ayesha Abed Library, Brac University 
    Contact Us | Send Feedback
     

     

    Policy Guidelines

    • BracU Policy
    • Publisher Policy

    Browse

    All of BracU Institutional RepositoryCommunities & CollectionsBy Issue DateAuthorsTitlesSubjectsThis CollectionBy Issue DateAuthorsTitlesSubjects

    My Account

    LoginRegister

    Statistics

    View Usage Statistics

    Copyright © 2008-2019 Ayesha Abed Library, Brac University 
    Contact Us | Send Feedback