syllabus

syllabus - ECE 495S Introduction to Compilers and...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
ECE 495S Introduction to Compilers and Translation Engineering Updated 10/28/09, 11:52 am Fall 2009 Instructor Prof. Sam Midkiff Telephone 49-43440 Email smidkiff@purdue.edu Office EE334A Office Hours T 10:30 – 11:30, Th 2 - 3, and by appointment Secretary Jill Comer, EE339 TA Lin Yuan TA office hours Monday 3pm – 4:30pm, Wed. 7pm – 8:30pm Office hours in ENAD 302 Course Web Page http://www.ecn.purdue.edu/~smidkiff/ece468f09 Course news group purdue.class.ece468 In the event of a major campus emergency, course requirements, deadlines and grading percentages (described below) are subject to changes that may be necessitated by a revised semester calendar or other circumstances. In such an event, information will be provided through the course web page. Prerequisites : Proficiency in C, C++, Java, or another programming language is necessary. Some knowledge of assembly language and computer architecture is helpful, but not necessary. In particular, much of your success in the programming project will depend on your programming ability: although this class demands a great deal of programming, I will not teach programming! Former students have commented that the programming in this class is easier when using a high-level language like Java, C++ or Python that has built-in or library support for complex data structures such as hashtables. Nevertheless, the majority of students work the project using C. Text: Fischer and LeBlanc, Crafting a Compiler with C , Benjamin/Cummings, 1991 ISBN 0-805302166-7. Course notes and research papers will be used to supplement the
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
text. All necessary material beyond the textbook will be made available as handouts or .pdf files. Some Additional References ( do not purchase ): 1. Cooper and Torczon, Engineering a Compiler, Morgan Kaufmann 2. Muchnick, Advanced Compiler Design and Implementation, Morgan Kaufmann ISBN 1-55860-320-4 3. Aho, Sethi and Ullman, Compilers: Principles, Techniques and Tools, 1986 (the “Dragon Book”) Description: This course presents the material needed to design and implement a compiler for computer programs. Basic material on compiler/translation theory is presented, as well as a discussion of software tools that have automated this process. Use of these tools will aid in completing the project. The principles behind compiler optimization techniques are introduced, and some specific compiler optimization techniques are discussed. Students will implement a full compiler for a simple programming language. Course Outcomes (of interest only to undergraduates) : A student who successfully fulfills the course requirements will have demonstrated: i. An understanding of the terminology, representation and use of formal languages and grammars; ii. An understanding of the terminology and techniques of lexical analysis, parsing, semantic processing, code generation; and iii. An ability to design and implement a compiler, translator or interpreter for a
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 8

syllabus - ECE 495S Introduction to Compilers and...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online