| http://desc.ithu.tw/111/2/1040 | |
| 1040編譯器 | 115/04/18 22:09:26 |
|
111學年第二學期東海大學教師授課計劃表 Course Plan of Tunghai University |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 一、課程基本資料 Course Information | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 開課系所 Department |
(日)資工系Department of Computer Science | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 課程名稱 Course Title |
中文 (Chinese) : 編譯器
英文 (English) : Compiler |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 必選修類別 Required/Elective |
必選Required | 先修課程 Prerequisites |
計算機概論/程式語言/系統程式與組合語言 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 學分數 Credits |
0 - 3 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 先修課程說明 Prerequisites instruction |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 課程概述 (系所共同性目標) Course Description |
A compiler is a program that translates programs written in a source language into programs written in a target language. This course introduces the principles, techniques and tools for constructing a compiler. An emphasis is also placed on a programming project that applies the techniques and tools learned from the course to implement a compiler for a small language. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 本課程是否為 英語授課(Taught in English) |
否(No) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 二、教師相關資料 Instruction Information | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 三、課程大綱 Syllabus (本課程大綱教師得依實際教學進度及學生學習情況進行調整) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ■ 課程目標及內涵 (Course Objectives and Contents) At the end of this course, students should be able to: 1. Understand the principles and techniques of automatic program generators. 2. Understand lexical analysis and implement a scanner for a simple language using a scanner generator. 3. Understand syntax analysis and implement a parser for a simple language using a parser generator. 4. Understand semantic analysis and implement an abstract syntax tree constructor for a simple language using a bottom-up translator generator. 5. Understand intermediate code generation and implement a pretty printer for a simple language using a recursive evaluator. 6. Understand code generation and implement a code generator for a simple language using a recursive evaluator. Programming language representation: concrete and abstract syntax, context free grammars. Use of lexer and parser generators. Implementation of expressions and statements in a simple language by postfix code and by simple machine code; simple optimizations. Procedures: value, name and reference parameters, local and non-local variables, static and dynamic binding. Abstract machines and storage management: activation records, static and dynamic chains, stacks and heaps. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ■ 多元教學方式 (Muliti-Teaching Methods) 說明:除了課堂講授與考試測驗之外,本課程在學期中可能會運用到以下哪些教學方式,以期能進一步提升學生學習成效 1.專題研究或實習Special topic or Internship
2.期末報告/策展/發表 Term Paper/ Exhibition/ Presentation
3.配合專業軟體的使用與教學Incorporation with instruction and use of professional software
4.配合使用數位教學平台(tMoodle)、愛學網(iLearn)Incorporation with digital learning platform (Moodle) or with other multimedia instruction
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ■ 主要參考書籍/資料 (Textbooks and References)
(教科書遵守智慧財產權觀念不得非法影印) 書名 Compilers: Principles, Techniques, and Tools 出版社 Addison-Wesley 作者 A. V. Aho, R. Sethi, and J. D. Ullman 出版年 2007 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ■ 本課程是否有使用原文書 是 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
■ 教學進度(Course Schedule) - 18週次(Weeks)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
■ 評分方式 (Grading Policy)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ■ 相關參考書目 (Other Useful Readings)Compilers: Principles, Techniques, and Tools (英语) Alfred Aho (Author), Monica Lam (Author), Ravi Sethi (Author), Jeffrey Ullman (Author) ISBN-13: 978-0321486813 ISBN-10: 0321486811 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
■ 本課程具有如下意涵:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ■ 本課程可做為學生職涯發展之準備 否 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||