Assembler vs Compiler
Secara umum compiler adalah program komputer yang membaca suatu program yang ditulis dalam satu bahasa, yang disebut bahasa sumber, dan menerjemahkannya ke dalam bahasa lain, yang disebut bahasa target. Secara tradisional, bahasa sumber adalah bahasa tingkat tinggi seperti C ++ dan bahasa target adalah bahasa tingkat rendah seperti bahasa Assembly. Namun, ada kompiler yang dapat mengubah program sumber yang ditulis dalam bahasa Assembly dan mengubahnya menjadi kode mesin atau kode objek. Perakit adalah alat seperti itu. Jadi, assembler dan compiler pada akhirnya menghasilkan kode yang bisa langsung dieksekusi di mesin.
Apa itu Compiler?
Compiler adalah program komputer yang membaca program yang ditulis dalam satu bahasa, yang disebut bahasa sumber, dan menerjemahkannya ke dalam bahasa lain, yang disebut bahasa target. Paling sering, bahasa sumber adalah bahasa tingkat tinggi dan bahasa target adalah bahasa tingkat rendah. Jadi, secara umum penyusun bisa dipandang sebagai penerjemah yang menerjemahkan dari satu bahasa ke bahasa lain. Selain itu, penyusun melakukan beberapa pengoptimalan pada kode. Kompiler tipikal terdiri dari beberapa komponen utama. Komponen pertama adalah pemindai (juga dikenal sebagai penganalisis leksikal). Scanner membaca program dan mengubahnya menjadi string token. Komponen kedua adalah parser. Ini mengubah string token menjadi pohon parse (atau pohon sintaks abstrak), yang menangkap struktur sintaksis program. Komponen berikutnya adalah rutinitas semantik yang menafsirkan semantik dari struktur sintaksis. Pengoptimalan kode dan pembuatan kode akhir mengikuti ini.
Apa itu Assembler?
Assembler adalah perangkat lunak atau alat yang menerjemahkan bahasa Assembly ke kode mesin. Jadi, assembler adalah jenis kompiler dan kode sumbernya ditulis dalam bahasa Assembly. Rakitan adalah bahasa yang dapat dibaca manusia tetapi biasanya memiliki hubungan satu lawan satu dengan kode mesin yang sesuai. Oleh karena itu assembler dikatakan melakukan terjemahan isomorfik (pemetaan satu ke satu). Assembler tingkat lanjut menyediakan fitur tambahan yang mendukung pengembangan program dan proses debugging. Misalnya, tipe assembler yang disebut macro assembler menyediakan fasilitas makro.
Apa perbedaan antara Assembler dan Compiler?
Compiler adalah program komputer yang membaca program yang ditulis dalam satu bahasa dan menerjemahkannya ke bahasa lain, sedangkan assembler dapat dianggap sebagai jenis compiler khusus yang hanya menerjemahkan bahasa Assembly ke kode mesin. Kompiler biasanya menghasilkan kode yang dapat dieksekusi mesin secara langsung dari bahasa tingkat tinggi, tetapi assembler menghasilkan kode objek yang mungkin harus ditautkan menggunakan program penaut agar dapat dijalankan pada mesin. Karena bahasa Assembly memiliki pemetaan satu ke satu dengan kode mesin, assembler dapat digunakan untuk menghasilkan kode yang berjalan sangat efisien untuk saat-saat di mana kinerja sangat penting (misalnya untuk mesin grafis, sistem tertanam dengan sumber daya perangkat keras terbatas dibandingkan dengan komputer pribadi seperti microwave, mesin cuci, dll.).