Bài giảng chương trình dịch

176 775 4
Bài giảng chương trình dịch

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài giảng chương trình dịch

Giáo trình Kiến trúc máy tính và Hệ điều hành 1 ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN CHƯƠNG TRÌNH DỊCH Giáo trình Kiến trúc máy tính và Hệ điều hành 2 Mục tiêu giáo trình 1. Cung cấp những kiến thức cơ bản về chương trình dịch 2. Cung cấp các phương pháp phân tích từ vựng, phân tích cú pháp. 3. Cơ sở cho việc tìm hiểu các ngôn ngữ lập trình. 4. Rèn luyện kỹ năng lập trình cho sinh viên TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG Giới thiệu Giáo trình Kiến trúc máy tính và Hệ điều hành 3 Nội dung giáo trình CHƯƠNG 1. NHẬP MÔN CHƯƠNG TRÌNH DỊCH CHƯƠNG 2. PHÂN TÍCH TỪ VỰNG CHƯƠNG 3. CÁC VẤN ĐỀ CƠ BẢN VỀ PHÂN TÍCH CÚ PHÁP CHƯƠNG 4. CÁC PHƯƠNG PHÁP PHÂN TÍCH CÚ PHÁP CHƯƠNG 5. PHÂN TÍCH NGỮ NGHĨA CHƯƠNG 6. XỬ LÝ LỖI VÀ SINH MÃ TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG Giới thiệu Giáo trình Kiến trúc máy tính và Hệ điều hành 4 CHƯƠNG 1. NHẬP MÔN CHƯƠNG TRÌNH DỊCH TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG 1. Các khái niệm cơ bản 2. Đặc trưng của ngôn ngữ lập trình (NNLT) bậc cao 3. Các qui tắc từ vựng và cú pháp 4. Các chức năng của một trình biên dịch Chương 2 Giáo trình Kiến trúc máy tính và Hệ điều hành 5 CHƯƠNG 1. NHẬP MÔN CHƯƠNG TRÌNH DỊCH TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG 1. Các khái niệm cơ bản 1.1. Sự phát triển của ngôn ngữ lập trình 1.2. Khái niệm chương trình dịch 1.3. Phân loại chương trình dịch 1.4. Các ứng dụng khác của kỹ thuật dịch Chương 2 Giáo trình Kiến trúc máy tính và Hệ điều hành 6 CHƯƠNG 1. NHẬP MÔN CHƯƠNG TRÌNH DỊCH TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG 1. Các khái niệm cơ bản 1.1. Sự phát triển của ngôn ngữ lập trình Chương 2 NN máy (machine language) Hợp ngữ (Assembly) NNLT bậc cao (Higher _level language) Giáo trình Kiến trúc máy tính và Hệ điều hành 7 CHƯƠNG 1. NHẬP MÔN CHƯƠNG TRÌNH DỊCH TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG 1. Các khái niệm cơ bản 1.2. Khái niệm chương trình dịch Chương trình dịchchương trình dùng để dịch một chương trình (CT nguồn) viết trên NNLT nào đó (NN nguồn) sang một chương trình tương đương (CT đích) trên một NN khác (NN đích) Chương 2 Giáo trình Kiến trúc máy tính và Hệ điều hành 8 CHƯƠNG 1. NHẬP MÔN CHƯƠNG TRÌNH DỊCH TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG 1. Các khái niệm cơ bản 1.3. Phân loại chương trình dịchTrình biên dịch CT nguồn Trình biên dịch CT đích Máy tính thực thi Kết quả Thời gian dịch Dữ liệu Thời gian thực thi Giáo trình Kiến trúc máy tính và Hệ điều hành 9 CHƯƠNG 1. NHẬP MÔN CHƯƠNG TRÌNH DỊCH TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG 1. Các khái niệm cơ bản 1.3. Phân loại chương trình dịchTrình thông dịch CT nguồn Trình thông dịch Kết quả Dữ liệu Giáo trình Kiến trúc máy tính và Hệ điều hành 10 CHƯƠNG 1. NHẬP MÔN CHƯƠNG TRÌNH DỊCH TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG 1. Các khái niệm cơ bản 1.4. Các ứng dụng khác của kỹ thuật dịch - Trong các hệ thống: phần giao tiếp giữa người và máy thông qua các câu lệnh. - Hệ thống xử lý NN tự nhiên: dịch thuật, tóm tắt văn bản. Chương 2 [...]... KHOA ĐÀ NẴNG CHƯƠNG 1 NHẬP MÔN CHƯƠNG TRÌNH DỊCH 4 Các chức năng của một chương trình biên dịch - Phân tích từ vựng - Phân tích cú pháp - Phân tích ngữ nghĩa - Xử lý lỗi - Sinh mã trung gian - Tối ưu mã trung gian - Sinh mãGiáo trìnhtượng tính và Hệ đối Kiến trúc máy điều hành 18 TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG CHƯƠNG 1 NHẬP MÔN CHƯƠNG TRÌNH DỊCH 4 Các chức năng của một chương trình biên dịch 4.1 Phân... NẴNG CHƯƠNG 1 NHẬP MÔN CHƯƠNG TRÌNH DỊCH 4 Các chức năng của một chương trình biên dịch 4.6 Tối ưu mã trung gian - Bỏ bớt các lệnh thừa - Cải tiến lại mã trung gian để khi sinh mã đối tượng thì thời gian thực thi mã đối tượng sẽ ngắn hơn Giáo trình Kiến trúc máy tính và Hệ điều hành 25 TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG CHƯƠNG 1 NHẬP MÔN CHƯƠNG TRÌNH DỊCH 4 Các chức năng của một chương trình biên dịch. .. NẴNG CHƯƠNG 1 NHẬP MÔN CHƯƠNG TRÌNH DỊCH 4 Các chức năng của một chương trình biên dịch 4.3 Phân tích ngữ nghĩa - Kiểm tra tính hợp lệ của các phép toán và các phép xử lý - Ví dụ: • Biến phải khai báo trước khi sử dụng (Pascal) • Kiểm tra tính tương thích kiểu dữ liệu của biến và trình Kiến trúc máy tính và Hệ biểu thức Giáo 21 điều hành TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG CHƯƠNG 1 NHẬP MÔN CHƯƠNG TRÌNH DỊCH... HỌC BÁCH KHOA ĐÀ NẴNG CHƯƠNG 1 NHẬP MÔN CHƯƠNG TRÌNH DỊCH 2 Đặc trưng của NNLT bậc cao - Tính tự nhiên - Tính thích nghi - Tính hiệu quả - Tính đa dạng Giáo trình Kiến trúc máy tính và Hệ điều hành 11 Chương 2 TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG CHƯƠNG 1 NHẬP MÔN CHƯƠNG TRÌNH DỊCH 3 Các qui tắc từ vựng và cú pháp 3.1 Bản chữ cái - Gồm những ký hiệu được phép sử dụng để viết chương trình - Số lượng, ý nghĩa... NHẬP MÔN CHƯƠNG TRÌNH DỊCH 4 Các chức năng của một chương trình biên dịch 4.4 Xử lý lỗi - CT nguồn vẫn có thể xảy ra lỗi - Phần xử lý lỗi sẽ thông báo lỗi cho NSD - Lỗi ở phần nào báo ở phần đó Giáo trình Kiến trúc máy tính và Hệ điều hành 22 TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG CHƯƠNG 1 NHẬP MÔN CHƯƠNG TRÌNH DỊCH 4 Các chức năng của một chương trình biên dịch 4.4 Xử lý lỗi - Có các loại lỗi: • Lỗi từ vựng... Lỗi thực hiện (phép chia 0) Giáo trình Kiến trúc máy tính và Hệ điều hành 23 TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG CHƯƠNG 1 NHẬP MÔN CHƯƠNG TRÌNH DỊCH 4 Các chức năng của một chương trình biên dịch 4.5 sinh mã trung gian - Sau giai đoạn phân tích ngữ nghĩa - Mã trung gian là một dạng trung gian của CT nguồn có 2 đặc điểm: • Dễ được sinh ra • Dễ dịch sang ngôn ngữ đích Giáo trình Kiến trúc máy tính và Hệ điều... KHOA ĐÀ NẴNG CHƯƠNG 1 NHẬP MÔN CHƯƠNG TRÌNH DỊCH 3 Các qui tắc từ vựng và cú pháp 3.3 Phạm trù cú pháp - Phạm trù cú pháp là một dãy từ tố kết hợp theo một qui luật nào đó - Các cách biểu diễn cú pháp thông thường + BNF(Backus Naus Form): ::=:= Giáo trình Kiến trúc máy tính và Hệ điều hành 14 TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG CHƯƠNG 1 NHẬP MÔN CHƯƠNG TRÌNH DỊCH 3 Các qui... liệu đầu vào của phân tích cú pháp Giáo trình Kiến trúc máy tính và Hệ điều hành 19 TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG CHƯƠNG 1 NHẬP MÔN CHƯƠNG TRÌNH DỊCH 4 Các chức năng của một chương trình biên dịch 4.2 Phân tích cú pháp - Đầu vào sẽ là dãy các Token nối nhau bằng một qui tắc nào đó - Phân tích xem các Token có tuân theo qui tắc cú pháp của ngôn ngữ không Giáo trình Kiến trúc máy tính và Hệ điều hành... pháp 3.3 Phạm trù cú pháp + Biểu đồ cú pháp: Chương trình Program Danh biểu Khối Khối - var… - procedure  Danh biểu Khối - begin lệnh  end  - Mục tiêu của phạm trù cú pháp là việc định nghĩa được khái niệm Hệ mức Giáo trình Kiến trúc máy tính và chương trình đến 15 độ tựđiều hành có TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG CHƯƠNG 1 NHẬP MÔN CHƯƠNG TRÌNH DỊCH 3 Các qui tắc từ vựng và cú pháp 3.4 Các... chữ số: 0 9 Giáo trình Kiến trúc máy tính và Hệ điều hành + Các ký hiệu khác:*, /, +, -, … 12 TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG CHƯƠNG 1 NHẬP MÔN CHƯƠNG TRÌNH DỊCH 3 Các qui tắc từ vựng và cú pháp 3.2 Từ tố (Token) - Từ tố là đơn vị nhỏ nhất có nghĩa - Từ tố được xây dựng từ bản chữ cái - Ví dụ: hằng, biến, từ khoá, các phép toán,… Giáo trình Kiến trúc máy tính và Hệ điều hành 13 Chương 2 TRƯỜNG ĐẠI . niệm chương trình dịch Chương trình dịch là chương trình dùng để dịch một chương trình (CT nguồn) viết trên NNLT nào đó (NN nguồn) sang một chương trình. ngôn ngữ lập trình 1.2. Khái niệm chương trình dịch 1.3. Phân loại chương trình dịch 1.4. Các ứng dụng khác của kỹ thuật dịch Chương 2 Giáo trình Kiến

Ngày đăng: 18/03/2013, 17:15

Hình ảnh liên quan

- Bảng danh biểu - Bài giảng chương trình dịch

Bảng danh.

biểu Xem tại trang 28 của tài liệu.
Bảng danh biểu - Bài giảng chương trình dịch

Bảng danh.

biểu Xem tại trang 31 của tài liệu.
 Dùng bảng: sử dụng ma trận δ có: - Bài giảng chương trình dịch

ng.

bảng: sử dụng ma trận δ có: Xem tại trang 33 của tài liệu.
 Dùng bảng: - Bài giảng chương trình dịch

ng.

bảng: Xem tại trang 34 của tài liệu.
 Hình vẽ: - Bài giảng chương trình dịch

Hình v.

ẽ: Xem tại trang 35 của tài liệu.
3.2. Biểu diễn các hàm chuyển trạng thái - Bài giảng chương trình dịch

3.2..

Biểu diễn các hàm chuyển trạng thái Xem tại trang 36 của tài liệu.
 Hình vẽ: - Bài giảng chương trình dịch

Hình v.

ẽ: Xem tại trang 36 của tài liệu.
hình vẽ có ưu điểm hơn. Trong hình vẽ ta xác định đầy đủ tất cả các thành phần  - Bài giảng chương trình dịch

hình v.

ẽ có ưu điểm hơn. Trong hình vẽ ta xác định đầy đủ tất cả các thành phần Xem tại trang 37 của tài liệu.
Ngoài các hình qui ước của Otomat thông thường lại có thêm: - Bài giảng chương trình dịch

go.

ài các hình qui ước của Otomat thông thường lại có thêm: Xem tại trang 42 của tài liệu.
4.1. Phương pháp điều khiển bằng bảng - Bài giảng chương trình dịch

4.1..

Phương pháp điều khiển bằng bảng Xem tại trang 47 của tài liệu.
6. Các cấu trúc dữ liệu cho bảng các danh biểu - Bài giảng chương trình dịch

6..

Các cấu trúc dữ liệu cho bảng các danh biểu Xem tại trang 49 của tài liệu.
- Bộ chữ (bảng chữ) là tập hợp hữu hạn các - Bài giảng chương trình dịch

ch.

ữ (bảng chữ) là tập hợp hữu hạn các Xem tại trang 51 của tài liệu.
Bảng S_R - Bài giảng chương trình dịch

ng.

S_R Xem tại trang 121 của tài liệu.
 Xây dựng bảng S_R - Bài giảng chương trình dịch

y.

dựng bảng S_R Xem tại trang 135 của tài liệu.
Bảng SLR Action           Goto - Bài giảng chương trình dịch

ng.

SLR Action Goto Xem tại trang 140 của tài liệu.
- Bảng SLR gồm 2 phần: action và goto •Chỉ số hàng: trạng thái S t - Bài giảng chương trình dịch

ng.

SLR gồm 2 phần: action và goto •Chỉ số hàng: trạng thái S t Xem tại trang 141 của tài liệu.
Sử dụng: 1 stack ,1 buffer, bảng SLR Khởi tạo:  - stack: $0 - Bài giảng chương trình dịch

d.

ụng: 1 stack ,1 buffer, bảng SLR Khởi tạo: - stack: $0 Xem tại trang 147 của tài liệu.
 Xây dựng bảng SLR - Bài giảng chương trình dịch

y.

dựng bảng SLR Xem tại trang 153 của tài liệu.
 Xây dựng bảng SLR - Bài giảng chương trình dịch

y.

dựng bảng SLR Xem tại trang 155 của tài liệu.
 Xây dựng bảng SLR - Bài giảng chương trình dịch

y.

dựng bảng SLR Xem tại trang 156 của tài liệu.
 Xây dựng bảng SLR - Bài giảng chương trình dịch

y.

dựng bảng SLR Xem tại trang 157 của tài liệu.
 Xây dựng bảng SLR - Bài giảng chương trình dịch

y.

dựng bảng SLR Xem tại trang 158 của tài liệu.
 Xây dựng bảng SLR - Bài giảng chương trình dịch

y.

dựng bảng SLR Xem tại trang 159 của tài liệu.
Xây dựng bảng SLR cho VPG? - Bài giảng chương trình dịch

y.

dựng bảng SLR cho VPG? Xem tại trang 166 của tài liệu.
 Xây dựng bảng Canonical LR - Bài giảng chương trình dịch

y.

dựng bảng Canonical LR Xem tại trang 169 của tài liệu.
 Xây dựng bảng Canonical LR - Bài giảng chương trình dịch

y.

dựng bảng Canonical LR Xem tại trang 170 của tài liệu.
 Xây dựng bảng Canonical LR - Bài giảng chương trình dịch

y.

dựng bảng Canonical LR Xem tại trang 172 của tài liệu.
 Xây dựng bảng Canonical LR - Bài giảng chương trình dịch

y.

dựng bảng Canonical LR Xem tại trang 173 của tài liệu.
 Xây dựng bảng Canonical LR - Bài giảng chương trình dịch

y.

dựng bảng Canonical LR Xem tại trang 174 của tài liệu.
 Xây dựng bảng Canonical LR Ví dụ: S  CC - Bài giảng chương trình dịch

y.

dựng bảng Canonical LR Ví dụ: S  CC Xem tại trang 175 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan