2016-11-15 16 views

Trả lời

12

Về cơ bản chúng giống nhau: lấy mã nguồn và chuyển đổi nó thành một thứ khác.

Sự khác biệt là trình biên dịch thường tạo ra một tạo phẩm trực tiếp có thể sử dụng (nhị phân thực thi của một số loại). Ví dụ: C (sản xuất nhị phân), C# (sản xuất bytecode).

Trong khi đó trình thu thập sản xuất một dạng mã nguồn khác (ví dụ: ngôn ngữ khác), không trực tiếp chạy được và cần được biên dịch/giải thích. Ví dụ: CoffeeScript transpiler, sản xuất javascript. Opal (chuyển đổi ruby ​​thành javascript)

0

Trình biên dịch - biên dịch mã thành mã mức thấp hơn.

Ví dụ:

  • "Developer code" ->"Machine code"
  • PHP ->C
  • Java ->bytecode

Transpiler - biên dịch mã để cùng cấp mã/trừu tượng.

Ví dụ:

  • "Developer code" ->"Another developer code or version"
  • JavaScript ES2015+ ->JavaScript ES5
Các vấn đề liên quan