Intermediate representation là gì?
- ★
- ★
- ★
- ★
- ★
Intermediate representation (IR) là cấu trúc dữ liệu (data structure) hoặc code được sử dụng nội bộ bởi trình biên dịch (compiler) hoặc máy ảo (virtual machine) để biểu diễn mã nguồn (source code). IR được thiết kế để có lợi cho quá trình xử lý tiếp theo, chẳng hạn như tối ưu (optimization) và translation. IR "tốt" phải chính xác nghĩa có khả năng đại diện cho mã nguồn mà không làm mất thông tin và độc lập với bất kỳ ngôn ngữ nguồn (source language) hoặc ngôn ngữ đích (target language) cụ thể nào.
Một ví dụ kinh điển được tìm thấy trong hầu hết các trình biên dịch hiện đại. Ví dụ trình thông dịch CPython chuyển văn bản mà con người có thể đọc được đại diện cho một chương trình thành một cấu trúc đồ thị trung gian (graph structure) cho phép phân tích luồng (flow analysis) và sắp xếp lại trước khi thực thi. Việc sử dụng một intermediate representation như vậy cho phép các hệ thống biên dịch như GNU Compiler Collection và LLVM được sử dụng bởi nhiều ngôn ngữ nguồn khác nhau để tạo code cho nhiều kiến trúc đích khác nhau.
Learning English Everyday