Teaching compiler development to undergraduates using a template based approach
Includes bibliographical references (page 6-7).
المؤلفون الرئيسيون: | , |
---|---|
مؤلفون آخرون: | |
التنسيق: | مقال |
اللغة: | English |
منشور في: |
BRAC University
2010
|
الموضوعات: | |
الوصول للمادة أونلاين: | http://hdl.handle.net/10361/315 |
id |
10361-315 |
---|---|
record_format |
dspace |
spelling |
10361-3152019-09-29T05:27:09Z Teaching compiler development to undergraduates using a template based approach Islam, Md Zahurul Khan, Mumit Center for Research on Bangla Language Processing (CRBLP), BRAC University Code generator Compiler design Lexical analysis Optimization Semantic analysis Syntax Analysis Includes bibliographical references (page 6-7). 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). Md. Zahurul Islam Mumit Khan 2010-10-04T05:41:14Z 2010-10-04T05:41:14Z 2005 2005 Article http://hdl.handle.net/10361/315 en 7 pages application/pdf BRAC University |
institution |
Brac University |
collection |
Institutional Repository |
language |
English |
topic |
Code generator Compiler design Lexical analysis Optimization Semantic analysis Syntax Analysis |
spellingShingle |
Code generator Compiler design Lexical analysis Optimization Semantic analysis Syntax Analysis Islam, Md Zahurul Khan, Mumit Teaching compiler development to undergraduates using a template based approach |
description |
Includes bibliographical references (page 6-7). |
author2 |
Center for Research on Bangla Language Processing (CRBLP), BRAC University |
author_facet |
Center for Research on Bangla Language Processing (CRBLP), BRAC University Islam, Md Zahurul Khan, Mumit |
format |
Article |
author |
Islam, Md Zahurul Khan, Mumit |
author_sort |
Islam, Md Zahurul |
title |
Teaching compiler development to undergraduates using a template based approach |
title_short |
Teaching compiler development to undergraduates using a template based approach |
title_full |
Teaching compiler development to undergraduates using a template based approach |
title_fullStr |
Teaching compiler development to undergraduates using a template based approach |
title_full_unstemmed |
Teaching compiler development to undergraduates using a template based approach |
title_sort |
teaching compiler development to undergraduates using a template based approach |
publisher |
BRAC University |
publishDate |
2010 |
url |
http://hdl.handle.net/10361/315 |
work_keys_str_mv |
AT islammdzahurul teachingcompilerdevelopmenttoundergraduatesusingatemplatebasedapproach AT khanmumit teachingcompilerdevelopmenttoundergraduatesusingatemplatebasedapproach |
_version_ |
1814307835088994304 |