1 compiler là 1 computer program thực hiện việc chuyển 1 Source từ 2-level-lang (HLL) sang machine language - Low-level-lang (LLL) mà vẫn giữ nguyên ý nghĩa của source.
Có nhiều loại compiler và dưới đây là vài ví dụ phổ biến
Source-to-source compiler
Quá trình compiler này sẽ dịch source code từ ngôn ngữ này sang 1 ngôn ngữ khác.
Ví dụ: CoffeeScript và Haxe
Cross compiler
Trong compiler này, mã nguồn có thể viết ở 1 máy và thực thi ở 1 máy khác.
Ví dụ: GNU Compiler Collection (GCC) is a good example of a cross compiler.
JIT (just in time) compiler
Quá trình compiler diễn ra tại thời điểm runtime.
Nó được áp dụng trong các ngôn ngữ lập trình hiện đại như: Java, Python, Javascript...
Hardware compiler
Sử dụng phần cứng để tạo ra đầu ra thay vì 1 chuỗi instructions.