Principles
of compilers
15-05-12
©TS. Hà Chí Trung, Khoa CNTT - HVKTQS 1
GING V I Ê N : T S . H À C H Í T R U N G
B M Ô N : K H M T
K H O A C N T T , H V K T Q S
Đ T : 0 1 6 8 . 5 5 8 . 2 1 . 0 2
E M A I L : H C T 2 0 0 9 @ Y A H O O . C O M
Giới thiệu chung
sở môn Chương trình dịch:
thuyết automata ngôn ngữ hình thức;
Cấu trúc dữ liệu giải thuật;
Lập trình (C, C#...)
Tiêu chuẩn đánh giá sinh viên:
Báo cáo đề tài;
Chuyên cần, thường xuyên, thi hết môn;
15-05-12
©TS. Hà Chí Trung, Khoa CNTT - HVKTQS 2
Giới thiệu chung
3
Tài liệu tham khảo:
1. Bài giảng của giảng viên;
2. A.V. Aho, M. Lam, R. Sethi, J.D.Ullman. Compilers: Principles,
Technique and Tools, 2nd Edition Addison-Wesley, 2007.
3. A.W. Appel. Modern Compiler Implementation in C
Cambrige University Press, 2004.
4. S. Muchnick. Advanced Compiler Design and
Implementation. Morgan-Kaufmann Publishers, 2007.
5. K. Cooper, L. Torczon. Engineering a Compiler. - Morgan-
Kaufman Publishers, 2005.
6. Phạm Hồng Nguyên. Giáo trình chương trình dịch 2nd
Edition, NXB ĐHQG Nội, 2009.
15-05-12
©TS. Hà Chí Trung, Khoa CNTT - HVKTQS
Bài 1. Giới thiệu về chương trình dịch
1.1. Khái niệm về compiler
1.2. Vị trí của compiler trong LPS
1.3. Các giai đoạn làm việc của compiler
1.3.1. Phân tích từ vựng (lexical analysis)
1.3.2. Phân tích cú pháp (syntax analysis)
1.3.3. Phân tích ngữ nghĩa (semantic analysis)
1.3.4. Sinh mã trung gian (ICG)
1.3.5. Tối ưu mã (code optimition)
1.3.6. Sinh mã đích (code generation)
1.4. Vấn đề quản lý bảng ký tự
1.5. Xử lý lỗi biên dịch
15-05-12
4
©TS. Hà Chí Trung, Khoa CNTT - HVKTQS
Bài 1. Giới thiệu về chương trình dịch
1.1. Khái niệm về compiler
1.2. Vị trí của compiler trong LPS
1.3. Các giai đoạn làm việc của compiler
1.3.1. Phân tích từ vựng (lexical analysis)
1.3.2. Phân tích cú pháp (syntax analysis)
1.3.3. Phân tích ngữ nghĩa (semantic analysis)
1.3.4. Sinh mã trung gian (ICG)
1.3.5. Tối ưu mã (code optimition)
1.3.6. Sinh mã đích (code generation)
1.4. Vấn đề quản lý bảng ký tự
1.5. Xử lý lỗi biên dịch
15-05-12
5
©TS. Hà Chí Trung, Khoa CNTT - HVKTQS