1. Trang chủ
  2. » Thể loại khác

CHƯƠNG TRÌNH DỊCH ĐHBK ĐÀ NẴNG

213 122 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 213
Dung lượng 1,74 MB

Nội dung

Nội dung giáo trìnhCHƢƠNG 1. NHẬP MÔN CHƢƠNG TRÌNH DỊCHCHƢƠNG 2. PHÂN TÍCH TỪ VỰNGCHƢƠ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ÃCác khái niệm cơ bản1.1. Sự phát triển của ngôn ngữ lập trình1.2. Khái niệm chƣơng trình dịch1.3. Phân loại chương trình dịch1.4. Các ứng dụng khác của kỹ thuật dịchCác khái niệm cơ bản1.4. Các ứng dụng khác của kỹ thuật dịchTrong 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.Các qui tắc từ vựng và cú pháp3.1. Bản chữ cáiGồm những ký hiệu đƣợc phép sử dụng để viết chƣơng trìnhSố lƣợng, ý nghĩa sử dụng của các ký tự trong bản chữ cái của các NN là khác nhau.Nhìn chung bản chữ cái của các NNLT:52 chữ cái: A Z, az10 chữ số: 0 9Cá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ĩaTừ tố đƣợc xây dựng từ bản chữ cáiVí dụ: hằng, biến, từ khoá, các phép toán,…

ĐẠ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 CuuDuongThanCong.com Giáo trình Kiến trúc máy tính Hệ điều hành https://fb.com/tailieudientucntt TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG Giới thiệu Mục tiêu giáo trình Cung cấp kiến thức chƣơng trình dịch Cung cấp phƣơng pháp phân tích từ vựng, phân tích cú pháp Cơ sở cho việc tìm hiểu ngơn ngữ lập trình Rèn luyện kỹ lập trình cho sinh viên Giáo trình Kiến trúc máy tính Hệ CuuDuongThanCong.com điều hành https://fb.com/tailieudientucntt TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG Giới thiệu Nội dung giáo trình CHƢƠNG NHẬP MƠN CHƢƠNG TRÌNH DỊCH CHƢƠNG PHÂN TÍCH TỪ VỰNG CHƢƠNG CÁC VẤN ĐỀ CƠ BẢN VỀ PHÂN TÍCH CÚ PHÁP CHƢƠNG CÁC PHƢƠNG PHÁP PHÂN TÍCH CÚ PHÁP CHƢƠNG PHÂN TÍCH NGỮ NGHĨA CHƢƠNG XỬ LÝ LỖI VÀ SINH MÃ CuuDuongThanCong.com Giáo trình Kiến trúc máy tính Hệ điều hành https://fb.com/tailieudientucntt TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG CHƢƠNG NHẬP MÔN CHƢƠNG TRÌNH DỊCH Các khái niệm Đặc trƣng ngơn ngữ lập trình (NNLT) bậc cao Các qui tắc từ vựng cú pháp Các chức trình biên dịch CuuDuongThanCong.com Giáo trình Kiến trúc máy tính Hệ điều hành https://fb.com/tailieudientucntt Chương TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG CHƢƠNG NHẬP MƠN CHƢƠNG TRÌNH DỊCH Các khái niệm 1.1 Sự phát triển 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 kỹ thuật dịch CuuDuongThanCong.com Giáo trình Kiến trúc máy tính Hệ điều hành https://fb.com/tailieudientucntt Chương TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG CHƢƠNG NHẬP MƠN CHƢƠNG TRÌNH DỊCH Các khái niệm 1.1 Sự phát triển ngơn ngữ lập trình NN máy (machine language) CuuDuongThanCong.com Hợp ngữ (Assembly) Giáo trình Kiến trúc máy tính Hệ điều hành NNLT bậc cao (Higher _level language) https://fb.com/tailieudientucntt Chương TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG CHƢƠNG NHẬP MƠN CHƢƠNG TRÌNH DỊCH Các khái niệm 1.2 Khái niệm chƣơng trình dịch Chƣơng trình dịch chƣơng trình dùng để dịch chƣơng trình (CT nguồn) viết NNLT (NN nguồn) sang chƣơng trình tƣơng đƣơng (CT đích) NN khác (NN đích) CuuDuongThanCong.com Giáo trình Kiến trúc máy tính Hệ điều hành https://fb.com/tailieudientucntt Chương TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG CHƢƠNG NHẬP MƠN CHƢƠNG TRÌNH DỊCH Các khái niệm 1.3 Phân loại chƣơng trình dịch  Trình biên dịch Dữ liệu CT nguồn Trình biên dịch CT đích Thời gian dịch CuuDuongThanCong.com Giáo trình Kiến trúc máy tính Hệ điều hành Máy tính thực thi Kết Thời gian thực thi https://fb.com/tailieudientucntt TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG CHƢƠNG NHẬP MƠN CHƢƠNG TRÌNH DỊCH Các khái niệm 1.3 Phân loại chƣơng trình dịch  Trình thơng dịch Dữ liệu CT nguồn CuuDuongThanCong.com Trình thơng dịch Giáo trình Kiến trúc máy tính Hệ điều hành Kết https://fb.com/tailieudientucntt TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG CHƢƠNG NHẬP MƠN CHƢƠNG TRÌNH DỊCH Các khái niệm 1.4 Các ứng dụng khác kỹ thuật dịch - Trong hệ thống: phần giao tiếp ngƣời máy thông qua câu lệnh - Hệ thống xử lý NN tự nhiên: dịch thuật, tóm tắt văn CuuDuongThanCong.com Giáo trình Kiến trúc máy tính Hệ điều hành 10 https://fb.com/tailieudientucntt Chương TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG CHƢƠNG CÁC PHƢƠNG PHÁP PHÂN TÍCH CÚ PHÁP Phƣơng pháp phân tích cú pháp xuống 2.3 Phƣơng pháp tiên đoán  Giải thuật: Else if (aΣ đỉnh stack buffer) then đối sánh a đỉnh stack buffer Else if (AΔ đỉnh stack) (a Σ đỉnh buffer) then if (M[A,a]=A) then triển khai A đỉnh stack trúc máy tính Hệ 199 ElseGiáoxtrình k0Kiến điều hành CP VPG, dừng vòng lặp CuuDuongThanCong.com https://fb.com/tailieudientucntt TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG CHƢƠNG CÁC PHƢƠNG PHÁP PHÂN TÍCH CÚ PHÁP Phƣơng pháp phân tích cú pháp xuống 2.3 Phƣơng pháp tiên đốn  Ví dụ: SaA AbA | c Xâu x: abbc có CP VP ? CuuDuongThanCong.com Giáo trình Kiến trúc máy tính Hệ điều hành 200 https://fb.com/tailieudientucntt TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG CHƢƠNG CÁC PHƢƠNG PHÁP PHÂN TÍCH CÚ PHÁP Phƣơng pháp phân tích cú pháp xuống 2.3 Phƣơng pháp tiên đốn  Ví dụ: a S A CuuDuongThanCong.com b c AbA Ac $ SaA Giáo trình Kiến trúc máy tính Hệ điều hành 201 https://fb.com/tailieudientucntt TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG CHƢƠNG CÁC PHƢƠNG PHÁP PHÂN TÍCH CÚ PHÁP Phƣơng pháp phân tích cú pháp xuống 2.3 Phƣơng pháp tiên đốn  Ví dụ: STT Stack Buffer Hành động (0) S$ abbc$ Triển khai SaA (1) aA$ abbc$ Đối sánh (2) A$ bbc$ Triển khai AbA (3) bA$ bbc$ Đối sánh A$ bc$ Triển khai AbA 202 (4) CuuDuongThanCong.com Giáo trình Kiến trúc máy tính Hệ điều hành https://fb.com/tailieudientucntt TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG CHƢƠNG CÁC PHƢƠNG PHÁP PHÂN TÍCH CÚ PHÁP Phƣơng pháp phân tích cú pháp xuống 2.3 Phƣơng pháp tiên đốn  Ví dụ: STT Stack Hành động Buffer (5) bA$ bc$ Đối sánh (6) A$ c$ Triển khai Ac (7) c$ c$ Đối sánh (8) $ $ Chấp nhận x cp CuuDuongThanCong.com Giáo trình Kiến trúc máy tính Hệ điều hành 203 https://fb.com/tailieudientucntt TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG CHƢƠNG CÁC PHƢƠNG PHÁP PHÂN TÍCH CÚ PHÁP Phƣơng pháp phân tích cú pháp xuống 2.3 Phƣơng pháp tiên đoán  Xây dựng bảng tiên đoán M: qui tắc (1)  sx A M[A,a]=A với afirst()  (2)  sx A M[A,a]=A với a follow(A) CuuDuongThanCong.com Giáo trình Kiến trúc máy tính Hệ điều hành 204 https://fb.com/tailieudientucntt TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG CHƢƠNG CÁC PHƢƠNG PHÁP PHÂN TÍCH CÚ PHÁP Phƣơng pháp phân tích cú pháp xuống 2.3 Phƣơng pháp tiên đốn  Xây dựng bảng tiên đốn M: Ví dụ: xây dựng bảng tiên đoán M cho vp: (1) E  TE’ (2) (3) E’+TE’ |  (4) T  FT’ (5) (6) T’*FT’ |  CuuDuongThanCong.com Giáo trình Kiến trúc máy tính Hệ (7) (8) điều hành F(E) | id 205 https://fb.com/tailieudientucntt TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG CHƢƠNG CÁC PHƢƠNG PHÁP PHÂN TÍCH CÚ PHÁP Phƣơng pháp phân tích cú pháp xuống 2.4 Phƣơng pháp đệ qui không quay lui - Về mặt nguyên lý giống pp tiên đoán - Khác lập trình: khơng tra bảng tiên đốn M mà mơ trực tiếp - Thay stack đệ qui chƣơng trình - Một k/h chƣa kết thúc: bdiễn biểu đồ cú pháp Giáo trình Kiến trúc máy tính Hệ điều hành 206 - Một biểu đồ cú pháp: bdiễn CT CuuDuongThanCong.com https://fb.com/tailieudientucntt TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG CHƢƠNG CÁC PHƢƠNG PHÁP PHÂN TÍCH CÚ PHÁP Phƣơng pháp phân tích cú pháp xuống 2.4 Phƣơng pháp đệ qui khơng quay lui  Biểu đồ cú pháp: • K/h kết thúc đặt: • K/h chƣa kết thúc đặt: - Ví dụ: ETE’ E: CuuDuongThanCong.com T E’ Giáo trình Kiến trúc máy tính Hệ điều hành 207 https://fb.com/tailieudientucntt TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG CHƢƠNG CÁC PHƢƠNG PHÁP PHÂN TÍCH CÚ PHÁP Phƣơng pháp phân tích cú pháp xuống 2.4 Phƣơng pháp đệ qui không quay lui  CT biểu diễn cho biểu đồ cú pháp: (1) Sự kết tiếp nút: kết tiếp đoạn ctcon (2) Sự rẽ nhánh tạo thành cấu trúc chọn 1 A: CuuDuongThanCong.com 2 Giáo trình Kiến trúc máy tính Hệ điều hành  208 https://fb.com/tailieudientucntt TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG CHƢƠNG CÁC PHƢƠNG PHÁP PHÂN TÍCH CÚ PHÁP Phƣơng pháp phân tích cú pháp xuống 2.4 Phƣơng pháp đệ qui không quay lui  CT biểu diễn cho biểu đồ cú pháp: (3) Lặp kiểm tra đk sau  (4) Lặp kiểm tra đk trƣớc  (5) Nếu k/h tiếp=a Đọcký tự Giáo trình Kiến trúc máy tính Hệ điều hành Ngƣợc lại báo lỗi CuuDuongThanCong.com a 209 https://fb.com/tailieudientucntt TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG CHƢƠNG CÁC PHƢƠNG PHÁP PHÂN TÍCH CÚ PHÁP Phƣơng pháp phân tích cú pháp xuống 2.4 Phƣơng pháp đệ qui không quay lui  CT biểu diễn cho biểu đồ cú pháp: (6) Gọi ctcon B CuuDuongThanCong.com Giáo trình Kiến trúc máy tính Hệ điều hành B 210 https://fb.com/tailieudientucntt TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG CHƢƠNG CÁC PHƢƠNG PHÁP PHÂN TÍCH CÚ PHÁP Phƣơng pháp phân tích cú pháp xuống 2.4 Phƣơng pháp đệ qui không quay lui  Thuật toán: k/htiep: ký hiệu kết thúc; function Dockh:ký hiệu kết thúc; {đọc k/hiệu tiếp x} Procedure Baoloi; {đƣa thông báo lỗi} Procedure I;{các Ctcon biểu diễn AΔ} CuuDuongThanCong.com Giáo trình Kiến trúc máy tính Hệ điều hành 211 https://fb.com/tailieudientucntt TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG CHƢƠNG CÁC PHƢƠNG PHÁP PHÂN TÍCH CÚ PHÁP Phƣơng pháp phân tích cú pháp xuống 2.4 Phƣơng pháp đệ qui khơng quay lui  Thuật tốn: Procedure PTCP; Begin k/htiep:=Dockh; S; if k/htiep=$ then x CP else baoloi; End CuuDuongThanCong.com Giáo trình Kiến trúc máy tính Hệ điều hành 212 https://fb.com/tailieudientucntt TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG CHƢƠNG CÁC PHƢƠNG PHÁP PHÂN TÍCH CÚ PHÁP Phƣơng pháp phân tích cú pháp xuống 2.4 Phƣơng pháp đệ qui không quay lui  Ví dụ: CuuDuongThanCong.com Giáo trình Kiến trúc máy tính Hệ điều hành 213 https://fb.com/tailieudientucntt ... DỊCH Các chức 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 đối trìnhtƣợng Kiến trúc... TRƢỜNG ĐẠI HỌC BÁCH KHOA ĐÀ NẴNG CHƢƠNG PHÂN TÍCH TỪ VỰNG - Mục đích - Nội dung - Otomat hữu hạn đơn định - Bộ phân tích từ vựng - Bảng danh biểu CuuDuongThanCong.com Giáo trình Kiến trúc máy tí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  CuuDuongThanCong.com Mục tiêu phạm trù cú pháp

Ngày đăng: 28/08/2019, 19:14

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w