
IT4073:NGÔN NGỮ và
PHƢƠNG PHÁP DỊCH
Phạm Đăng Hải
haipd@soict.hut.edu.vn
THÀNH CÔNG

11/18/2012 2
Chƣơng 5: Sinh mã
1. Sinh mã trung gian
2. Sinh mã đích
3. Tối ƣu mã

11/18/2012 3
• Bộ sinh mã trung gian chuyển chƣơng trình
nguồn sang chƣơng trình tƣơng đƣơng trong
ngôn ngữ trung gian
– Chƣơng trình trung gian là một chƣơng trình
cho một máy trừu tƣợng
• Ngôn ngữ trung gian đƣợc ngƣời thiết kế
trình biên dịch quyết định, có thể là:
–Cây cú pháp
– Ký pháp Ba Lan sau (hậu tố)
– Mã 3 địa chỉ …
Giới thiệu
1. Sinh mã trung gian

11/18/2012 4
• Chƣơng trình dịch định hƣớng cú pháp
•Cây cú pháp
•Ký pháp Ba lan sau
• Mã 3 địa chỉ
– Các dạng mã
– Dịch trực tiếp cú pháp thành mã 3 địa chỉ
–Sinh mã cho khai báo
– Sinh mã cho lệnh gán
– Sinh mã cho các biểu thức logic
– Sinh mã cho các cấu trúc lập trình
Nội dung
1. Sinh mã trung gian

11/18/2012 5
Mỗi ký hiệu VP liên kết với một tập thuộc tính:
–Thuộc tính tổng hợp:
• Giá trị của thuộc tính tại một nút trong cây đƣợc xác
định từ giá trị của các nút con của nó.
–Thuộc tính kế thừa:
• Giá trị của thuộc tính đƣợc định nghĩa dựa vào giá trị
nút cha và/hoặc các nút anh em của nó.
• Tồn tại một tập luật ngữ nghĩa dùng để tính
giá trị thuộc tính
Chƣơng trình dịch định hƣớng cú pháp
1. Sinh mã trung gian

