Tập bài giảng “Chương trình dịch” được biên soạn theo chương trình chi tiết môn học “Chương trình dịch” của trường Đại học Sư phạm Kỹ thuật Nam Định. Mục tiêu của tập đề cương bài giảng nhằm cung cấp các kiến thức cơ bản, tổng quan về chương trình dịch. Giúp sinh viên hiểu được các kiến thức cơ bản, tổng quan về chương trình dịch nói chung và các kỹ thuật cơ bản trong xây dựng các bộ phân tích từ vựng và phân tích cú pháp của các chương trình dịch của các ngôn ngữ lập trình bậc cao. Mời các bạn cùng tham khảo. | Môc lôc LỜI NÓI ĐẦU . 7 Chƣơng 1. TỔNG QUAN VỀ CHƢƠNG TRÌNH DỊCH . 9 . Mở đầu . 9 . Chƣơng trình dịch . 11 . Các khái niệm . 11 . Mô hình phân tích - tổng hợp của một chƣơng trình dịch . 12 . Môi trƣờng của chƣơng trình dịch . 13 . Phân tích chƣơng trình nguồn . 14 . Phân tích từ vựng Lexical Analysis . 14 . Phân tích cú pháp Syntax Analysis . 16 . Phân tích ngữ nghĩa Semantic Analysis . 17 . Các giai đoạn của chƣơng trình dịch . 18 . Quản lý bảng ký hiệu . 19 . Xử lý lỗi . 19 . Các giai đoạn phân tích . 20 . Sinh mã trung gian . 20 . Tối ƣu mã . 21 . Sinh mã đích . 21 . Nhóm các giai đoạn . 21 . Kỳ đầu Front End . 22 . Kỳ sau Back End . 22 . Các đặc trƣng của ngôn ngữ lập trình bậc cao . 22 . Từ vựng . 22 . Cú pháp . 23 . 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 . Nhắc lại một số kiến thức về văn phạm ngôn ngữ - Automat. 25 . Một số khái niệm cơ sở . 25 . Biểu diễn ngôn ngữ . 26 . Văn phạm . 27 . Văn phạm phi ngữ cảnh . 28 1 . Biểu thức chính quy Regular Expression . 29 . Automat hữu hạn đơn định . 31 . Automat hữu hạn không đơn định - NFA Nondeterministic Finite Automata . 31 . Automat hữu hạn không đơn định với ε-dịch chuyển NFAε . 32 . Giai đoạn phân tích từ vựng . 34 . Thẻ từ mẫu từ vựng và trị từ vựng từ vị . 35 . Nhận biết thẻ từ token . 40 . Kỹ thuật đọc chƣơng trình nguồn . 43 . Cặp bộ đệm Buffer Pairs . 43 . Khóa cầm canh Sentinel . 44 . Kỹ thuật sử dụng Automat để phân tích từ vựng . 45 . Giải thuật sử dụng DFA . 45 . Giải thuật sử dụng NFA . 48 . Giải thuật sử dụng NFA . 49 . Kỹ thuật biến đổi Automat . 50 . 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 . Giai đoạn phân tích cú pháp . 76 . Vị trí chức năng nhiệm vụ của giai đoạn phân tích cú pháp . 76 . Xử lý lỗi .