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