Danh mục

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    
Hoai.2512

Phí tải xuống: 6,000 VND Tải xuống file đầy đủ (27 trang) 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)

Tài liệu được xem nhiều: