Slide Chương trình dịch - C6 Sinh mã trung gian - GV Hoàng Anh Việt
Slide bài giảng về Bài 6 - Sinh mã trung gian trong môn Chương trình dịch, trình bày các bước dịch, định nghĩa ngôn ngữ trung gian IR và mô tả chi tiết các nút biểu thức và nút lệnh của IR.
プレビューを生成中...
Bài 6. SINH MÃ TRUNG GIAN Hoàng Anh Việt Viện CNTT&TT - ĐHBKHN 1 fb.com/groups/ Mô tả các bước dịch (1) Mã nguồn (dãy các kí tự) Phân tích từ vựng If (a == 0) min = a; Dãy các từ tố (token) If ( Id:a == 0 ) Id:min = Id:a ; if Cây cú pháp == a = 0 min Cây cú pháp điều khiển boolean == int a Phân tích cú pháp ; a Phân tích ngữ nghĩa if = int int 0 int min lvalue a ; int fb.com/groups/ Mô tả các bước dịch (2) if boolean == = int Sinh mã trung gian ; int int 0 int min a lvalue SEQ(CJUMP(TEMP(a) == 0, L1, L2), LABEL(L1), TEMP(min) = TEMP(a) LABEL(L2)) int a cmp rb, 0 jnz L2 L1: mov ra, rb L2: Sinh mã assembly Tối ưu mã cmp ecx, 0 cmovz edx,ecx fb.com/groups/ Ngô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ật sự Pentium Cây cú pháp + thông tin điều khiển Java bytecode AMD fb.com/groups/ Ngô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ác Cây cú pháp (>40 nút) Mã trung gian (13 nút) Pentium (>200 lệnh) fb.com/groups/ Ngôn ngữ trung gian Một dạng thể hiện của chương trình nằm giữa cây cú pháp điều khiển và mã máy Sử dụng Lệnh nhảy Thanh ghi Vị trí trên bộ nhớ Tối ưu mã Cây cú pháp Mã trung + gian thông tin điều khiển Pentium Java bytecod AMD fb.com/groups/ Một ngôn ngữ trung gian IR (Intermediate Representation) là một cây thể hiện các lệnh của một loại máy trừu tượng Nút lệnh không trả lại giá trị, được thực hiện theo thứ tự nhất định Ví dụ: MOVE, SEQ, CJUMP Nút biểu thức trả lại giá trị, các nút con có thể thực hiện theo thứ tự bất kì Ví dụ: ADD, SUB Cho phép tối ưu mã fb.com/groups/ Mô tả các nút biểu thức của IR CONST(i): hằng số nguyên i TEMP(t): thanh ghi t, máy trừu tượng có vô hạn
… Tải file gốc để đọc toàn bộ tài liệu.
- ドキュメント名
- Slide Chương trình dịch - C6 Sinh mã trung gian - GV Hoàng Anh Việt
- 学校 / コース
- Đại học Bách khoa Hà Nội · Chương trình dịch
- 著者(ドキュメント内)
- Hoàng Anh Việt
- 内容
- Tài liệu này trình bày về mã trung gian trong chương trình dịch, là bước trung gian giữa cây cú pháp và mã máy, giúp tách biệt máy đích và tối ưu hóa. Nó định nghĩa các thành phần của mã trung gian như nút lệnh và nút biểu thức.
- 目次
- Bài 6.
- SINH MÃ TRUNG GIAN
- Mô tả các bước dịch (1)
- Mô tả các bước dịch (2)
- Ngôn ngữ trung gian
- Ngôn ngữ trung gian
- Ngôn ngữ trung gian
- Một ngôn ngữ trung gian
- Mô tả các nút biểu thức của IR
- CONST
- TEMP
- Toán tử
- MEM
- CALL
- NAME
- ESEQ
- Mô tả các nút lệnh của IR
- Doc.pages
- 27 ページ
- アップロード者
- lienhejb
よくある質問
Tài liệu này có miễn phí không?
Có. “Slide Chương trình dịch - C6 Sinh mã trung gian - GV Hoàng Anh Việt” miễn phí — bạn chỉ cần đăng nhập rồi bấm Tải xuống để lấy file gốc.
Tài liệu dài bao nhiêu trang?
Tài liệu gồm 27 trang, thuộc môn Chương trình dịch. Bạn có thể xem trước online trước khi tải.
Tôi có thể xem trước trước khi tải không?
Có. Bạn xem trước tài liệu ngay trên trang này bằng trình đọc online, rồi quyết định tải về.

コメント (0)
まだコメントはありません。最初のコメントを書きましょう!