Intermediate code generation là gì?

Noun Complier
Tạo mã trung gian

Khi giai đoạn phân tích ngữ nghĩa (semantic analysis) kết thúc trình biên dịch tạo mã trung gian (intermediate code) cho máy đích (target machine). Nó đại diện một chương trình cho một số máy trừu tượng (abstract machine).

Mã trung gian nằm giữa ngôn ngữ cấp cao (high-level language) và ngôn ngữ máy (machine chode). Mã trung gian này cần được tạo theo cách giúp dễ dàng dịch nó thành mã máy đích.

Các chức năng về giai đoạn tạo mã trung gian (intermediate code generation)

  • Nó phải được tạo ra từ biểu diễn ngữ nghĩa (semantic representation) của chương trình nguồn (source program).
  • Chứa các giá trị được tính toán trong quá trình dịch.
  • Giúp bạn dịch mã trung gian sang ngôn ngữ đích (target language),
  • Cho phép bạn duy trì thứ tự ưu tiên của ngôn ngữ nguồn (source language)
  • Nó chứa đúng số toán hạng (operand) của lệnh (instruction)

Ví dụ:


total = count + rate * 5

Mã trung gian với sự hổ trợ của mã ba địa chỉ (three-address code) là:


t1 := int_to_float(5) 
t2 := rate * t1 
t3 := count + t2
total := t3

Learning English Everyday