Sự khác biệt giữa Trình lắp ráp và Trình biên dịch

Sự khác biệt giữa Trình lắp ráp và Trình biên dịch
Sự khác biệt giữa Trình lắp ráp và Trình biên dịch

Video: Sự khác biệt giữa Trình lắp ráp và Trình biên dịch

Video: Sự khác biệt giữa Trình lắp ráp và Trình biên dịch
Video: Khám phá Hong Kong Disneyland vlog 2022 p1 |Những nơi đáng tham quan ở Hồng Công🇭🇰| 2024, Tháng mười một
Anonim

Assembler vs Compiler

Nói chung, trình biên dịch là một chương trình máy tính đọc một chương trình được viết bằng một ngôn ngữ, được gọi là ngôn ngữ nguồn và dịch nó sang một ngôn ngữ khác, được gọi là ngôn ngữ đích. Theo truyền thống, ngôn ngữ nguồn là ngôn ngữ cấp cao như C ++ và ngôn ngữ đích là ngôn ngữ cấp thấp như hợp ngữ. Tuy nhiên, có những trình biên dịch có thể chuyển đổi một chương trình nguồn được viết bằng ngôn ngữ Assembly và chuyển nó sang mã máy hoặc mã đối tượng. Nhà lắp ráp là những công cụ như vậy. Vì vậy, cả trình lắp ráp và trình biên dịch cuối cùng đều tạo ra mã có thể được thực thi trực tiếp trên máy.

Trình biên dịch là gì?

Trình biên dịch là một chương trình máy tính đọc một chương trình được viết bằng một ngôn ngữ, được gọi là ngôn ngữ nguồn và dịch nó sang một ngôn ngữ khác, được gọi là ngôn ngữ đích. Thông thường, ngôn ngữ nguồn là ngôn ngữ cấp cao và ngôn ngữ đích là ngôn ngữ cấp thấp. Vì vậy, nói chung các trình biên dịch có thể được xem như những người dịch chuyển từ ngôn ngữ này sang ngôn ngữ khác. Ngoài ra, trình biên dịch thực hiện một số tối ưu hóa mã. Một trình biên dịch điển hình được tạo thành từ một số thành phần chính. Thành phần đầu tiên là máy quét (còn được gọi là máy phân tích từ vựng). Máy quét đọc chương trình và chuyển đổi nó thành một chuỗi mã thông báo. Thành phần thứ hai là trình phân tích cú pháp. Nó chuyển đổi chuỗi mã thông báo thành cây phân tích cú pháp (hoặc cây cú pháp trừu tượng), nó nắm bắt cấu trúc cú pháp của chương trình. Thành phần tiếp theo là các thủ tục ngữ nghĩa diễn giải ngữ nghĩa của cấu trúc cú pháp. Tối ưu hóa mã và tạo mã cuối cùng tuân theo điều này.

Trình lắp ráp là gì?

Assembler là một phần mềm hoặc một công cụ dịch ngôn ngữ Assembly sang mã máy. Vì vậy, trình hợp dịch là một loại trình biên dịch và mã nguồn được viết bằng ngôn ngữ Assembly. Assembly là một ngôn ngữ có thể đọc được của con người nhưng nó thường có mối quan hệ 1-1 với mã máy tương ứng. Do đó, một trình hợp ngữ được cho là thực hiện phép dịch đẳng hình (ánh xạ một đến một). Trình lắp ráp nâng cao cung cấp các tính năng bổ sung hỗ trợ quá trình phát triển chương trình và gỡ lỗi. Ví dụ: loại trình lắp ráp được gọi là trình lắp ráp macro cung cấp cơ sở macro.

Sự khác biệt giữa Trình lắp ráp và Trình biên dịch là gì?

Trình biên dịch là một chương trình máy tính đọc một chương trình được viết bằng một ngôn ngữ và dịch nó sang một ngôn ngữ khác, trong khi trình hợp dịch có thể được coi là một loại trình biên dịch đặc biệt chỉ dịch ngôn ngữ hợp ngữ sang mã máy. Các trình biên dịch thường tạo ra mã thực thi máy trực tiếp từ một ngôn ngữ cấp cao, nhưng trình biên dịch tạo ra một mã đối tượng có thể phải được liên kết bằng cách sử dụng các chương trình trình liên kết để chạy trên máy. Bởi vì ngôn ngữ hợp ngữ có ánh xạ 1-1 với mã máy, trình hợp dịch có thể được sử dụng để tạo mã chạy rất hiệu quả cho những trường hợp mà hiệu suất là rất quan trọng (ví dụ: công cụ đồ họa, hệ thống nhúng có tài nguyên phần cứng hạn chế so với máy tính cá nhân như lò vi sóng, máy giặt, v.v.).

Đề xuất: