教學大綱表 (99學年度 第2學期)
請遵守智慧財產權,勿使用非法影印教科書,避免觸法。
課程名稱
Course Title
(中文) 編譯程式設計概論
(英文) Introduction To Compiler Design
開課單位
Departments
資訊工程學系
課程代碼
Course No.
I3260
授課教師
Instructor
葉慶隆
學分數
Credit
3.0 必/選修
core required/optional
必修 開課年級
Level
大三
先修科目或先備能力(Course Pre-requisites):
課程概述與目標(Course Overview and Goals): How to design and implement a compiler.
Discover basic ideas for constructing translators for wide variety of languages and machines.
Applying the techniques for constructing compilers to other domains of computer science
教科書(Textbook) A. V. Aho, M. S. Lam, D. Sethi and J. D. Ullman, Compilers: Principles, Techniques, & Tools, 2nd ed., Addison-Wesley, 2007.
課程大綱 Syllabus 分配時數 (小時) 備註
Notes
單元主題
Unit topic
內容綱要
Content summary
講授 示範 習作 其他
Introduction to compiler Language Processors
The Structure of a Compiler
The Evolution of Programming Languages
The Science of Building a Compiler
Applications of Compiler Technology
Programming Language Basics
3 0 0 0  
A Simple Syntax-Directed Translator Introduction
Syntax Definition
Syntax-Directed Translation
Parsing
A Translator for Simple Expressions
Lexical Analysis
Symbol Tables
Intermediate Code Generation
6 0 0 0  
Lexical Analysis Introduction
Input buffering
Specification of tokens
Recognition of tokens
The lexical analyzer generator Lex
Finite automata
From regular expressions to automata
Design of a lexical analyzer generator
6 0 0 0  
Syntax Analysis Introduction
Context-Free Grammar
Writing a Grammar
Top-Down Parsing
Bottom-Up Parsing
Introduction to LR Parsing: Simple LR
More Powerful LR Parsers
Using Ambiguous Grammars
Parser Generators
12 0 0 0  
Syntax-Directed Translation Syntax-Directed Definitions
Evaluation Orders for SDD's
Applications of Syntax-Directed Translation
Syntax-Directed Translation Schemes
9 0 0 0  
Intermediate-Code Generation Variants of Syntax Trees
Three-Address Code
Types and Declarations
Translation of Expressions
6 0 0 0  
Run-Time Environment Storage organization
Stack allocation of space
Access to nonlocal data on the stack
Heap management
Introduction to grabage collection
6 0 0 0  
Code Generation Issue in the Design of a Code Generator
The Target Language
Addresses in the Target Code
basic Blocks and Flow Graphs
A Simple Code Generator
Register Allocation and Assignment
Instruction Selection by Tree Rewriting
6 0 0 0  


教學要點概述:
1.自編教材 Handout by Instructor:
□ 1-1.簡報 Slids
□ 1-2.影音教材 Videos
□ 1-3.教具 Teaching Aids
□ 1-4.教科書 Textbook
□ 1-5.其他 Other
□ 2.自編評量工具/量表 Educational Assessment
□ 3.教科書作者提供 Textbook

教學方法:■ 課堂講授 Lecturing   ■ 投影片   ■ 實作  
評量方法: 平時成績:20%   期中考:40%   期末考:20%   其他:20% (專題製作20%)

教學資源(Teaching Resources):
□ 教材電子檔(Soft Copy of the Handout or the Textbook)
□ 課程網站(Website)
扣考規定:https://curri.ttu.edu.tw/p/412-1033-1254.php