Perbedaan antara assembler dan kompiler

Perbedaan antara assembler dan kompiler

Assembler vs Compiler

Secara umum, Compiler adalah program komputer yang membaca program yang ditulis dalam satu bahasa, yang disebut bahasa sumber, dan menerjemahkannya ke 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 perakitan. Namun, ada kompiler yang dapat mengonversi program sumber yang ditulis dalam bahasa perakitan dan mengubahnya menjadi kode mesin atau kode objek. Perakit adalah alat seperti itu. Jadi, baik perakit dan kompiler pada akhirnya menghasilkan kode yang dapat dieksekusi secara langsung pada mesin.

Apa itu kompiler?

Compiler adalah program komputer yang membaca program yang ditulis dalam satu bahasa, yang disebut bahasa sumber, dan menerjemahkannya ke bahasa lain, yang disebut bahasa target. Paling sering, bahasa sumber adalah bahasa tingkat tinggi dan bahasa target adalah bahasa tingkat rendah. Jadi, secara umum kompiler dapat dilihat sebagai penerjemah yang diterjemahkan dari satu bahasa ke bahasa lain. Selain itu, kompiler melakukan beberapa optimasi pada kode. Kompiler khas terdiri dari beberapa komponen utama. Komponen pertama adalah pemindai (juga dikenal sebagai Lexical Analyzer). Pemindai membaca program dan mengubahnya menjadi serangkaian token. Komponen kedua adalah parser. Itu mengubah string token ke dalam pohon parse (atau pohon sintaks abstrak), yang menangkap struktur sintaksis program. Komponen berikutnya adalah rutinitas semantik yang menafsirkan semantik struktur sintaksis. Optimalisasi kode dan pembuatan kode akhir mengikuti ini.

Apa itu Assembler?

Assembler adalah perangkat lunak atau alat yang menerjemahkan bahasa perakitan ke kode mesin. Jadi, assembler adalah jenis kompiler dan kode sumber ditulis dalam bahasa perakitan. Perakitan adalah bahasa yang dapat dibaca manusia tetapi biasanya memiliki hubungan satu -satu dengan satu hubungan dengan kode mesin yang sesuai. Oleh karena itu assembler dikatakan melakukan terjemahan isomorfik (satu ke satu pemetaan). Assemblers Lanjutan menyediakan fitur tambahan yang mendukung pengembangan program dan proses debugging. Misalnya, jenis perakit yang disebut perakit makro menyediakan fasilitas makro.

Apa perbedaan antara assembler dan kompiler?

Compiler adalah program komputer yang membaca program yang ditulis dalam satu bahasa dan menerjemahkannya ke bahasa lain, sementara assembler dapat dianggap sebagai jenis kompiler khusus yang hanya menerjemahkan bahasa perakitan ke kode mesin. Kompiler biasanya menghasilkan kode yang dapat dieksekusi mesin langsung dari bahasa tingkat tinggi, tetapi perakit menghasilkan kode objek yang mungkin harus ditautkan menggunakan program linker untuk menjalankan pada mesin. Karena bahasa perakitan memiliki pemetaan satu ke satu dengan kode mesin, assembler dapat digunakan untuk memproduksi kode yang berjalan sangat efisien untuk kesempatan di mana kinerja sangat penting (untuk e.G. mesin grafis, sistem tertanam dengan sumber daya perangkat keras terbatas dibandingkan dengan komputer pribadi seperti gelombang mikro, mesin cuci, dll.).