Skip to main content

Ngôn ngữ trung gian là gì?

Trong lập trình máy tính, khi mã nguồn có thể đọc được của con người được phân tích cú pháp bởi trình biên dịch, trình biên dịch thường dịch các lệnh nguồn thành một chuỗi các hướng dẫn không hoàn toàn là mã máy gốc nhưng có thể được xử lý, tối ưu hóa hoặc biên dịch bởi trình biên dịch hoặc khácCông cụ phần mềm.Các tệp được sản xuất chứa các hướng dẫn được cho là bằng ngôn ngữ trung gian, bởi vì ngôn ngữ được trình biên dịch sử dụng không có ý nghĩa đối với hệ điều hành lớn hơn cũng như ngôn ngữ được lập trình viên sử dụng để viết mã ở nơi đầu tiên, mà thay vào đólà một ngôn ngữ hoạt động như một cầu nối giữa việc viết và thực hiện chương trình.Một ngôn ngữ trung gian đôi khi được sử dụng để cho phép trình biên dịch thực hiện các tối ưu hóa rất chính xác để chương trình chạy hiệu quả hơn, nhưng nó cũng có thể được sử dụng để tạo các tệp đầu ra có thể di động giữa các hệ thống không tương thích khác nhau.Cú pháp thực của ngôn ngữ có thể giống mã máy hoặc các loại mã byte không thể đọc được khác hoặc ngôn ngữ khác có thể chỉ là ngôn ngữ lập trình máy tính đa nền tảng hiện có.Một tệp mã nguồn và chia lệnh xuống ngôn ngữ trung gian.Một câu lệnh lập trình có thể đọc được của con người có thể chia thành hàng tá hướng dẫn ngôn ngữ máy, do đó ngôn ngữ trung gian tạo ra một mức độ trừu tượngbất kỳ triển khai hoặc thư viện bản địa.Sau khi hoàn thành, tệp mã trung gian sau đó có thể được biên dịch thêm để tạo tệp nhị phân gốc hoặc nó có thể được chạy qua một chương trình khác, được gọi là trình thông dịch, sẽ thực thi mã bằng cách biên dịch nó thành các hướng dẫn gốc khi cần.Các ngôn ngữ, chẳng hạn như Java reg ;, sử dụng ngôn ngữ trung gian để tạo các tệp được biên dịch được tối ưu hóa nhưng cũng có thể di động cho các hệ thống máy tính khác.Loại mã này đôi khi được gọi là mã byte và giống như mã máy hoặc ngôn ngữ lắp ráp.Bytecode được lưu trữ trong các tệp theo cách độc lập với nền tảng, có nghĩa là nó có thể được chuyển sang bất kỳ hệ thống máy tính hoặc thiết bị nào có thể chạy trình thông dịch.Khi mã byte nằm trên một hệ thống, nó có thể được chạy như một chương trình được giải thích hoặc nó có thể được biên dịch để chạy tự nhiên trên hệ thống đích. Trong một số trường hợp, ngôn ngữ máy tính được thiết kế để dễ dàng lập trình hướng tới mộtKết thúc, chẳng hạn như một ứng dụng web tương tác, nhưng các nhà thiết kế không muốn bao gồm các trình biên dịch, phiên dịch viên hoặc trình cắm tùy chỉnh cho các hệ thống khác nhau.Trong những trường hợp này, ngôn ngữ trung gian của trình biên dịch có thể là một ngôn ngữ hiện có đã thiết lập các phiên dịch viên đa nền tảng.Ngôn ngữ trung gian kết quả trong trường hợp này là người có thể đọc được.Một ví dụ về ngôn ngữ lập trình máy tính cũng được sử dụng làm ngôn ngữ trung gian là JavaScript reg ;, có lợi thế là có thể chạy trong gần như bất kỳ trình duyệt web nào trên bất kỳ nền tảng nào, kể từ năm 2011.