Kompilator (Inggris: compiler) adalah sebuah
program komputer yang berguna untuk menerjemahkan program komputer yang ditulis
dalam bahasa pemrograman tertentu menjadi program yang ditulis dalam bahasa
pemrograman lain.
Terlepas dari pengertiannya yang
demikian relatif luas, istilah kompilator biasa digunakan untuk program
komputer yang menerjemahkan program yang ditulis dalam bahasa pemrograman tingkat tinggi (semacam bahasa Pascal, C++, BASIC, FORTRAN, Visual Basic, Visual C#, Java, xBase, atau COBOL) menjadi bahasa mesin, biasanya
dengan bahasa Assembly sebagai perantara.
Arsitektur kompilator modern
biasanya bukan lagi merupakan program tunggal namun merupakan rangkaian
komunikasi antar program dengan tugas spesifik masing-masing. Program-program
tersebut beserta tugasnya secara umum terdiri dari:
- Kompilator itu sendiri, yang menerima
kode sumber dan menghasilkan bahasa tingkat rendah (assembly)
- Assembler, yang menerima keluaran kompilator
dan menghasilkan berkas objek dalam bahasa mesin
- Linker, yang menerima berkas objek keluaran
assembler untuk kemudian digabungkan dengan pustaka-pustaka yang
diperlukan dan menghasilkan program yang dapat dieksekusi (executable)
Beberapa kompilator tidak
menggunakan arsitektur di atas secara gamblang, dikarenakan komunikasi antar
program jauh lebih lambat dibandingkan jika komunikasi dilakukan secara
internal di dalam satu program. Sehingga kompilator-kompilator tersebut
mengintegrasikan assembler dan linker di dalam kompilator.
Namun demikian, biasanya arsitektur yang digunakan pun tidak kaku dan
mengizinkan penggunaan assembler maupun linker eksternal (berguna
jika assembler dan linker internal bermasalah atau memiliki
galat). Kompilator yang menggunakan arsitektur ini salah satunya adalah Free Pascal.
Tidak ada komentar:
Posting Komentar