Pernahkan kamu mendengar apa itu compiler? Compiler merupakan program khusus, yang menerjemahkan kode asal dari bahasa pemrograman, ke bahasa mesin, kode bit, maupun bahasa pemrograman lainnya.
Compiler yang dapat menerjemahkan bahasa pemrograman tersebut, membaca file, menganalisis kode, dan menerjemahkannya ke format yang sesuai dengan platform yang diperlukan.
Beberapa compiler mampu menerjemahkan kode asal, ke bahasa pemrograman level tinggi lainnya. Compiler ini bernama transpiler, transcompiler, atau nama lainnya. Sebagai contoh, developer mungkin menggunakan transpiler untuk mengubah COBOL ke Java.
Apakah kamu ingin mengetahui lebih lanjut mengenai compiler? Berikut ulasan mengenai compiler yang perlu kamu simak!
Cara Compiler Bekerja
Compiler memiliki pendekatan yang berbeda dalam mengubah kode ke output. Namun, meskipun ada perbedaan, umumnya terdiri dari langkah-langkah berikut:
- Pertama adalah analisis leksikal, yaitu proses penandaan kode, menjadi sintaksis dan semantik.
- Selanjutnya, elama analisis sintaks berlangsung, compiler menghasilkan pohon sintaks abstrak, yang menjelaskan struktur spesifik dari kode elemen. Pohon-pohon itu bernama pohon sintaks.
- Kemudian Verifikasi kebenaran semantik, bergantung pada analisis semantik. Sebagai contoh, definisi variabel mungkin dicek untuk memastikan bahwa variabel sudah teralokasi, atau terdefinisi dengan benar.
- Lalu, hasil kode yang melewati tiga fase analisis bernama kode IR. Akan lebih mudah mengubah kode ke format lain menggunakan kode IR, daripada kode baru.
- Optimasi berjalan sebagai persiapan pembuatan kode akhir, pada kode IR yang juga telah melalui proses optimasi.
- Terakhir, kode dibuat oleh compiler menggunakan kode IR yang telah optimal.
Perbedaan Compiler dan Interpreter
Compiler mungkin terdengar mirip dengan interpreter. Namun, keduanya memiliki beberapa perbedaan.
- Sebuah compiler mampu mencari berbagai kesalahan, dalam satu waktu. Ketika kesalahan terdeteksi, program terhenti. Interpreter mengecek setiap baris kode, secara individual.
- Interpreter mengubah program tingkat tinggi menjadi kode mesin, sedangkan compiler mengubah kode sebelum program dijalankan.
- Compiler memiliki dasar metodologi linking-loading, sementara interpreter berdasarkan metode interpretasi.
Nah, itulah penjelasan mengenai compiler. Kamu dapat menggunakan compiler untuk mengubah kode program, menjadi bahasa mesin, dan menjalankan kode yang telah kamu buat.