Syllabus for
"Compiler Construction Principle and Implementation Techniques"
"编译程序构造原理与实现技术"教学大纲
Dr. Ying JIN
College of Computer Science and Technology
Jilin University
July, 2007
The syllabus for the course "Compiler Construction Principle and Implementation Techniques" is given in this document, the contents include:
Prerequisite
General Information
Objectives
Main Contents
Grading
Suggested Projects
Calendar for the first term of 2007-2008
Prerequisite (前提课程)
High-level Programming Languages (PASCAL, C)
Assembly Language
Data Structure
Algorithm Design
Computer Architecture
General Information
Credit (学分): 4
Hours(学时): 64
Class format: lectures + problem sets + exams + Projects
The lectures, problem sets and exams will be structured around compiler construction principle and implementation techniques. The instructor will introduce materials at class-time, some problems will be assigned for students as after-class assignments, and final examination will be taken at the end of the term. In addition, several projects will be suggested for practices.
Textbook:
Since bilingual teaching method will be used for this course, we are suggesting several optional textbooks for the course both in English and in Chinese.
[1] Aho, Alfred V., Ravi Sethi, and Jeffrey Ullman. Compilers: Principles, Techniques and Tools. Reading, MA: Addison-Wesley, 1986. ISBN: 0201100886.
[2] Appel, Andrew W. Modern Compiler Implementation in Java. Cambridge, UK: Cambridge University Press, 1997. ISBN: 0521583888.
[3] Kenneth C. Louden. Compiler Construction: Principles and Practice. PWS Publishing Company, 1997. IBSN 0-534-3972-4.
[4] 金成植,金英. 《编译程序构造原理与实现技术》.高等教育出版社. 2007.6.
[5] 刘磊等.《编译原理及实现技术》. 机械工业出版社. 2005.
Objectives
Compilers convert programs in "high level" languages to semantically equivalent machine code. Hence they constitute the bridge between hardware and software. Understanding how compilers work is essential for a deep understanding of the syntax of programming languages, efficiency and memory considerations of the available control structures and data types, issues in separate compilation, differences between programming languages, and the implications of processor architectures. The techniques of analysis and generation as used in compilers are useful to a much broader class of problems like parsing command lines or search queries, analyzing or generating mark-up languages.
下一页