Assembler vs Compiler
Secara umum, 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. 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 mengonversi program sumber yang ditulis dalam bahasa Assembly dan mengubahnya menjadi kode mesin atau kode objek. Assembler adalah alat semacam itu. Jadi, baik assembler maupun compiler pada akhirnya menghasilkan kode yang dapat langsung dieksekusi pada mesin.
Apa itu Kompilator?
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 compiler dapat dilihat sebagai penerjemah yang menerjemahkan dari satu bahasa ke bahasa lain. Selain itu, kompiler melakukan beberapa optimasi pada kode. Kompiler tipikal terdiri dari beberapa komponen utama. Komponen pertama adalah pemindai (juga dikenal sebagai penganalisis leksikal). Pemindai membaca program dan mengubahnya menjadi serangkaian token. Komponen kedua adalah parser. Ini mengubah string token menjadi pohon parse (atau pohon sintaksis abstrak), yang menangkap struktur sintaksis program. Komponen selanjutnya adalah semantic routines yang menginterpretasikan semantik dari struktur sintaksis. Pengoptimalan kode dan pembuatan kode akhir mengikuti ini.
Apa itu Assembler?
Assembler adalah perangkat lunak atau alat yang menerjemahkan bahasa Majelis ke kode mesin. Jadi, assembler adalah jenis kompiler dan kode sumbernya ditulis dalam bahasa Assembly. Majelis adalah bahasa yang dapat dibaca manusia tetapi biasanya memiliki hubungan satu-ke-satu dengan kode mesin yang sesuai. Oleh karena itu assembler dikatakan melakukan translasi 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 macro.
Apa perbedaan antara Assembler dan Compiler?
Compiler adalah program komputer yang membaca program yang ditulis dalam satu bahasa dan menerjemahkannya ke dalam bahasa lain, sedangkan assembler dapat dianggap sebagai jenis kompiler khusus yang hanya menerjemahkan bahasa Assembly ke kode mesin. Kompilator biasanya menghasilkan kode yang dapat dieksekusi mesin langsung dari bahasa tingkat tinggi, tetapi assembler menghasilkan kode objek yang mungkin harus ditautkan menggunakan program tautan agar dapat berjalan di mesin. Karena bahasa Assembly memiliki pemetaan satu-ke-satu dengan kode mesin, assembler dapat digunakan untuk menghasilkan kode yang berjalan sangat efisien untuk acara-acara di mana kinerja sangat penting (misalnya mesin grafis, sistem tertanam dengan sumber daya perangkat keras yang terbatas dibandingkan dengan komputer pribadi). seperti microwave, mesin cuci, dll.).