Bài giảng Chương trình dịch: Phần 1 - ĐH Sư phạm kỹ thuật Nam Định
Số trang: 75
Loại file: pdf
Dung lượng: 754.97 KB
Lượt xem: 15
Lượt tải: 0
Xem trước 8 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng Chương trình dịch: Phần 1 cung cấp cho người học những kiến thức như: Các khái niệm, kiển thức cơ bản về chương trình dịch. Môi trường của chương trình dịch. Các giai đoạn của chương trình dịch. Nhóm các giai đoạn của chương trình dịch. Các đặc trưng cơ bản của ngôn ngữ lập trình bậc cao.
Nội dung trích xuất từ tài liệu:
Bài giảng Chương trình dịch: Phần 1 - ĐH Sư phạm kỹ thuật Nam Định Môc lôc LỜI NÓI ĐẦU ............................................................................................................ 7 Chƣơng 1. TỔNG QUAN VỀ CHƢƠNG TRÌNH DỊCH .......................................... 9 1.1. Mở đầu ............................................................................................................ 9 1.2. Chƣơng trình dịch ......................................................................................... 11 1.2.1. Các khái niệm ........................................................................................ 11 1.2.2. Mô hình phân tích - tổng hợp của một chƣơng trình dịch ..................... 12 1.2.3. Môi trƣờng của chƣơng trình dịch ......................................................... 13 1.3. Phân tích chƣơng trình nguồn ...................................................................... 14 1.3.1. Phân tích từ vựng (Lexical Analysis) .................................................... 14 1.3.2. Phân tích cú pháp (Syntax Analysis) ..................................................... 16 1.3.3. Phân tích ngữ nghĩa (Semantic Analysis) .............................................. 17 1.4. Các giai đoạn của chƣơng trình dịch ............................................................. 18 1.4.1. Quản lý bảng ký hiệu ............................................................................. 19 1.4.2. Xử lý lỗi ................................................................................................. 19 1.4.3. Các giai đoạn phân tích .......................................................................... 20 1.4.4. Sinh mã trung gian ................................................................................. 20 1.4.5. Tối ƣu mã ............................................................................................... 21 1.4.6. Sinh mã đích .......................................................................................... 21 1.5. Nhóm các giai đoạn ....................................................................................... 21 1.5.1. Kỳ đầu (Front End) ................................................................................ 22 1.5.2. Kỳ sau (Back End) ................................................................................. 22 1.6. Các đặc trƣng của ngôn ngữ lập trình bậc cao .............................................. 22 1.6.1. Từ vựng .................................................................................................. 22 1.6.2. Cú pháp .................................................................................................. 23 1.6.3. Ngữ nghĩa ............................................................................................... 23 CÂU HỎI VÀ BÀI TẬP CHƢƠNG 1 ..................................................................... 24 Chƣơng 2. PHÂN TÍCH TỪ VỰNG ........................................................................ 25 2.1. Nhắc lại một số kiến thức về văn phạm – ngôn ngữ - Automat.................... 25 2.1.1. Một số khái niệm cơ sở .......................................................................... 25 2.1.2. Biểu diễn ngôn ngữ ................................................................................ 26 2.1.3. Văn phạm ............................................................................................... 27 2.1.4. Văn phạm phi ngữ cảnh ......................................................................... 28 1 2.1.5. Biểu thức chính quy (Regular Expression)............................................ 29 2.1.6. Automat hữu hạn đơn định .................................................................... 31 2.1.7. Automat hữu hạn không đơn định - NFA (Nondeterministic Finite Automata) ........................................................................................................ 31 2.1.8. Automat hữu hạn không đơn định với ε-dịch chuyển (NFAε) .............. 32 2.2. Giai đoạn phân tích từ vựng ......................................................................... 34 2.2.1. Thẻ từ, mẫu từ vựng và trị từ vựng (từ vị)............................................. 35 2.2.2. Nhận biết thẻ từ (token) ......................................................................... 40 2.3. Kỹ thuật đọc chƣơng trình nguồn ................................................................. 43 2.3.1. Cặp bộ đệm (Buffer Pairs) ..................................................................... 43 2.3.2. Khóa cầm canh (Sentinel) ..................................................................... 44 2.4. Kỹ thuật sử dụng Automat để phân tích từ vựng .......................................... 45 2.4.1. Giải thuật sử dụng DFA ......................................................................... 45 2.4.2. Giải thuật sử dụng NFA ......................................................................... 48 2.4.3. Giải thuật sử dụng NFA ....................................................................... 49 2.5. Kỹ thuật biến đổi Automat ............................................................................ 50 2.6. Giải thuật Thomson ....................................................................................... 61 CÂU HỎI VÀ BÀI TẬP CHƢƠNG 2 ..................................................................... 66 Chƣơng 3. PHÂN TÍCH CÚ PHÁP ......................................................................... 76 3.1. Giai đoạn phân tích cú pháp ................................................................... ...
Nội dung trích xuất từ tài liệu:
Bài giảng Chương trình dịch: Phần 1 - ĐH Sư phạm kỹ thuật Nam Định Môc lôc LỜI NÓI ĐẦU ............................................................................................................ 7 Chƣơng 1. TỔNG QUAN VỀ CHƢƠNG TRÌNH DỊCH .......................................... 9 1.1. Mở đầu ............................................................................................................ 9 1.2. Chƣơng trình dịch ......................................................................................... 11 1.2.1. Các khái niệm ........................................................................................ 11 1.2.2. Mô hình phân tích - tổng hợp của một chƣơng trình dịch ..................... 12 1.2.3. Môi trƣờng của chƣơng trình dịch ......................................................... 13 1.3. Phân tích chƣơng trình nguồn ...................................................................... 14 1.3.1. Phân tích từ vựng (Lexical Analysis) .................................................... 14 1.3.2. Phân tích cú pháp (Syntax Analysis) ..................................................... 16 1.3.3. Phân tích ngữ nghĩa (Semantic Analysis) .............................................. 17 1.4. Các giai đoạn của chƣơng trình dịch ............................................................. 18 1.4.1. Quản lý bảng ký hiệu ............................................................................. 19 1.4.2. Xử lý lỗi ................................................................................................. 19 1.4.3. Các giai đoạn phân tích .......................................................................... 20 1.4.4. Sinh mã trung gian ................................................................................. 20 1.4.5. Tối ƣu mã ............................................................................................... 21 1.4.6. Sinh mã đích .......................................................................................... 21 1.5. Nhóm các giai đoạn ....................................................................................... 21 1.5.1. Kỳ đầu (Front End) ................................................................................ 22 1.5.2. Kỳ sau (Back End) ................................................................................. 22 1.6. Các đặc trƣng của ngôn ngữ lập trình bậc cao .............................................. 22 1.6.1. Từ vựng .................................................................................................. 22 1.6.2. Cú pháp .................................................................................................. 23 1.6.3. Ngữ nghĩa ............................................................................................... 23 CÂU HỎI VÀ BÀI TẬP CHƢƠNG 1 ..................................................................... 24 Chƣơng 2. PHÂN TÍCH TỪ VỰNG ........................................................................ 25 2.1. Nhắc lại một số kiến thức về văn phạm – ngôn ngữ - Automat.................... 25 2.1.1. Một số khái niệm cơ sở .......................................................................... 25 2.1.2. Biểu diễn ngôn ngữ ................................................................................ 26 2.1.3. Văn phạm ............................................................................................... 27 2.1.4. Văn phạm phi ngữ cảnh ......................................................................... 28 1 2.1.5. Biểu thức chính quy (Regular Expression)............................................ 29 2.1.6. Automat hữu hạn đơn định .................................................................... 31 2.1.7. Automat hữu hạn không đơn định - NFA (Nondeterministic Finite Automata) ........................................................................................................ 31 2.1.8. Automat hữu hạn không đơn định với ε-dịch chuyển (NFAε) .............. 32 2.2. Giai đoạn phân tích từ vựng ......................................................................... 34 2.2.1. Thẻ từ, mẫu từ vựng và trị từ vựng (từ vị)............................................. 35 2.2.2. Nhận biết thẻ từ (token) ......................................................................... 40 2.3. Kỹ thuật đọc chƣơng trình nguồn ................................................................. 43 2.3.1. Cặp bộ đệm (Buffer Pairs) ..................................................................... 43 2.3.2. Khóa cầm canh (Sentinel) ..................................................................... 44 2.4. Kỹ thuật sử dụng Automat để phân tích từ vựng .......................................... 45 2.4.1. Giải thuật sử dụng DFA ......................................................................... 45 2.4.2. Giải thuật sử dụng NFA ......................................................................... 48 2.4.3. Giải thuật sử dụng NFA ....................................................................... 49 2.5. Kỹ thuật biến đổi Automat ............................................................................ 50 2.6. Giải thuật Thomson ....................................................................................... 61 CÂU HỎI VÀ BÀI TẬP CHƢƠNG 2 ..................................................................... 66 Chƣơng 3. PHÂN TÍCH CÚ PHÁP ......................................................................... 76 3.1. Giai đoạn phân tích cú pháp ................................................................... ...
Tìm kiếm theo từ khóa liên quan:
Chương trình dịch Bài giảng Chương trình dịch Phân tích từ vựng Hệ thống thông dịch Ngôn ngữ lập trình Phương pháp biểu diễn thẻ từGợi ý tài liệu liên quan:
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 258 0 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 247 0 0 -
Bài thuyết trình Ngôn ngữ lập trình: Hệ điều hành Window Mobile
30 trang 247 0 0 -
Giáo trình Lập trình cơ bản với C++: Phần 1
77 trang 229 0 0 -
Bài giảng Một số hướng nghiên cứu và ứng dụng - Lê Thanh Hương
13 trang 210 0 0 -
Giáo án Tin học lớp 11 (Trọn bộ cả năm)
125 trang 200 1 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 188 0 0 -
Bài tập lập trình Windows dùng C# - Bài thực hành
13 trang 164 0 0 -
Giáo trình Lập trình C căn bản: Phần 1
64 trang 160 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 147 0 0