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.
Vorschau wird generiert...
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
… Laden Sie die Originaldatei herunter, um das vollständige Dokument zu lesen.
- Dokumentenname
- Slide Chương trình dịch - C6 Sinh mã trung gian - GV Hoàng Anh Việt
- Schule / Kurs
- Đại học Bách khoa Hà Nội · Chương trình dịch
- Autor (im Dokument)
- Hoàng Anh Việt
- Inhalt
- 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.
- Inhaltsverzeichnis
- 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
- Seiten
- 27 Seiten
- Hochgeladen von
- lienhejb
Häufig gestellte Fragen
Ist dieses Dokument kostenlos?
Ja. „Slide Chương trình dịch - C6 Sinh mã trung gian - GV Hoàng Anh Việt“ ist kostenlos — melden Sie sich einfach an und klicken Sie auf Herunterladen, um die Originaldatei zu erhalten.
Wie viele Seiten hat dieses Dokument?
Das Dokument hat 27 Seiten, für den Kurs Chương trình dịch. Sie können es vor dem Herunterladen online in der Vorschau ansehen.
Kann ich vor dem Herunterladen eine Vorschau ansehen?
Ja. Sie können sich dieses Dokument direkt auf dieser Seite im Online-Reader ansehen und dann entscheiden, ob Sie es herunterladen möchten.

Kommentare (0)
Noch keine Kommentare. Seien Sie der Erste!