Bài giảng Nhập môn chương trình dịch: Chương 6 - Hoàng Anh Việt
Số trang: 27
Loại file: pdf
Dung lượng: 297.44 KB
Lượt xem: 13
Lượt tải: 0
Xem trước 3 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng "Nhập môn chương trình dịch - Chương 6: Sinh mã trung gian" giới thiệu tới sinh viên các kiến thức: Ngôn ngữ trung gian, một số ngôn ngữ trung gian, mô tả các nút biểu thức của IR, toán tử, mô tả các nút lệnh của IR, cây sinh IR,... Đây là một tài liệu hữu ích dành cho các bạn sinh viên công nghệ thông tin dùn làm tài liệu học tập và nghiên cứu.
Nội dung trích xuất từ tài liệu:
Bài giảng Nhập môn chương trình dịch: Chương 6 - Hoàng Anh ViệtBài 6.SINH MÃ TRUNG GIANHoàng Anh ViệtViện CNTT&TT - ĐHBKHN1Mô tả các bước dịch (1)Mã nguồn (dãy các kí tự)Phân tích từ vựngIf (a == 0) min = a;Dãy các từ tố (token)If ( Id:a == 0 ) Id:min = Id:a ;ifCây cú pháp==a=0 minCây cú pháp điều khiểnboolean ==int aPhân tích cú pháp;aPhân tích ngữ nghĩaif= intint 0 intminlvaluea;intMô tả các bước dịch (2)ifboolean === intSinh mã trung gian;intint 0 intminalvalueSEQ(CJUMP(TEMP(a) == 0, L1, L2),LABEL(L1),TEMP(min) = TEMP(a)LABEL(L2))int acmp rb, 0jnz L2L1: mov ra, rbL2:Sinh mã assemblyTối ưu mãcmp ecx, 0cmovz edx,ecxNgôn ngữ trung gian• Là ngôn ngữ cho một loại máy trừu tượng• Cho phép sinh mã không phụ thuộc vào máyđích• Cho phép tối ưu mã trước khi sinh mã máy thậtsựPentiumCây cú pháp+thông tin điều khiểnJava bytecodeAMDNgôn ngữ trung gian• Dễ sinh ra từ cây cú pháp• Dễ sinh mã máy• Số lượng lệnh nhỏ, gọn– Dễ tối ưu mã– Dễ chuyển sang loại mã máy khácCây cú pháp (>40 nút)Mã trung gian (13 nút)Pentium (>200 lệnh)
Nội dung trích xuất từ tài liệu:
Bài giảng Nhập môn chương trình dịch: Chương 6 - Hoàng Anh ViệtBài 6.SINH MÃ TRUNG GIANHoàng Anh ViệtViện CNTT&TT - ĐHBKHN1Mô tả các bước dịch (1)Mã nguồn (dãy các kí tự)Phân tích từ vựngIf (a == 0) min = a;Dãy các từ tố (token)If ( Id:a == 0 ) Id:min = Id:a ;ifCây cú pháp==a=0 minCây cú pháp điều khiểnboolean ==int aPhân tích cú pháp;aPhân tích ngữ nghĩaif= intint 0 intminlvaluea;intMô tả các bước dịch (2)ifboolean === intSinh mã trung gian;intint 0 intminalvalueSEQ(CJUMP(TEMP(a) == 0, L1, L2),LABEL(L1),TEMP(min) = TEMP(a)LABEL(L2))int acmp rb, 0jnz L2L1: mov ra, rbL2:Sinh mã assemblyTối ưu mãcmp ecx, 0cmovz edx,ecxNgôn ngữ trung gian• Là ngôn ngữ cho một loại máy trừu tượng• Cho phép sinh mã không phụ thuộc vào máyđích• Cho phép tối ưu mã trước khi sinh mã máy thậtsựPentiumCây cú pháp+thông tin điều khiểnJava bytecodeAMDNgôn ngữ trung gian• Dễ sinh ra từ cây cú pháp• Dễ sinh mã máy• Số lượng lệnh nhỏ, gọn– Dễ tối ưu mã– Dễ chuyển sang loại mã máy khácCây cú pháp (>40 nút)Mã trung gian (13 nút)Pentium (>200 lệnh)
Tìm kiếm theo từ khóa liên quan:
Bài giảng Nhập môn chương trình dịch Nhập môn chương trình dịch Kỹ thuật dịch Sinh mã trung gian Ngôn ngữ trung gian Cây sinh IRGợi ý tài liệu liên quan:
-
Phân tích lỗi sử dụng cấu trúc 'yue A yue B' (越 A 越 B) của sinh viên Việt Nam
8 trang 89 0 0 -
Tình hình sử dụng động từ hình thức trong tiếng Trung Quốc của sinh viên Việt Nam
10 trang 81 0 0 -
Lý thuyết automata và ngôn ngữ hình thức
48 trang 21 0 0 -
Bài giảng Xây dựng chương trình dịch: Bài 11 - Nguyễn Thị Thu Hương
10 trang 21 0 0 -
6 trang 19 0 0
-
Bài giảng Xây dựng chương trình dịch: Bài 11 - Sinh mã trung gian
38 trang 19 0 0 -
Bài giảng Nhập môn chương trình dịch: Chương 3 - Hoàng Anh Việt
104 trang 17 0 0 -
Bài giảng Nhập môn Tin học: Chương 3 - Từ Thị Xuân Hiền
50 trang 17 0 0 -
Bài giảng Nhập môn chương trình dịch: Chương 4 (tt) - Hoàng Anh Việt
47 trang 16 0 0 -
Bài giảng Xây dựng chương trình dịch: Bài 2 - Nguyễn Thị Thu Hương
6 trang 16 0 0