Perbedaan Antara Assembler dan Interpreter

Anonim

Assembler vs. Interpreter

Secara umum, kompiler adalah program komputer yang membaca sebuah program yang ditulis dalam satu bahasa, yaitu disebut bahasa sumber, dan menerjemahkannya ke bahasa lain, yang disebut bahasa target. Secara tradisional, bahasa sumber adalah bahasa tingkat tinggi seperti bahasa C ++ dan bahasa target adalah bahasa tingkat rendah seperti bahasa Assembly. Namun, ada kompiler yang bisa mengkonversikan sebuah program sumber yang ditulis dalam bahasa assembly dan mengkonversikannya ke kode mesin atau kode objek. Perakit adalah alat semacam itu. Di sisi lain, Interpreter adalah alat yang menjalankan instruksi yang ditulis dalam beberapa bahasa pemrograman. Interpreter dapat langsung mengeksekusi kode sumber tingkat tinggi atau menerjemahkannya ke kode perantara dan kemudian menafsirkannya atau menjalankan kode yang telah dikompilasi.

Apa itu Assembler?

Assembler adalah perangkat lunak atau alat yang menerjemahkan bahasa Assembly ke kode mesin. Jadi, assembler adalah sejenis compiler dan kode sumbernya ditulis dalam bahasa assembly. Majelis adalah bahasa yang mudah dibaca manusia namun biasanya memiliki hubungan satu lawan satu dengan kode mesin yang sesuai. Oleh karena itu, assembler dikatakan melakukan terjemahan isomorfik (satu lawan satu pemetaan). Perakit tingkat lanjut menyediakan fitur tambahan yang mendukung pengembangan program dan proses debugging. Misalnya, jenis perakit yang disebut perakit makro menyediakan fasilitas makro.

Apa itu Interpreter?

Penerjemah adalah program komputer atau alat yang menjalankan instruksi pemrograman. Seorang penafsir dapat mengeksekusi kode sumber secara langsung atau mengubah sumbernya menjadi kode perantara dan menjalankannya secara langsung atau menjalankan kode precompiled yang dihasilkan oleh kompilator (beberapa sistem penafsir menyertakan kompilator untuk tugas ini). Bahasa seperti Perl, Python, MATLAB dan Ruby adalah contoh bahasa pemrograman yang menggunakan kode perantara. UCSD Pascal menafsirkan kode yang telah dikompilasi. Bahasa seperti Java, BASIC dan Samlltalk pertama-tama mengkompilasi source ke kode perantara yang disebut bytecode dan kemudian menafsirkannya.

Apa perbedaan antara Assembler dan Interpreter?

Perakit dapat dianggap sebagai kompiler jenis khusus, yang hanya menerjemahkan bahasa Assembly ke kode mesin. Penerjemah adalah alat yang mengeksekusi instruksi yang ditulis dalam beberapa bahasa. Sistem interpreter mungkin termasuk compiler untuk mengkompilasi kode pra sebelum interpretasi, namun seorang penerjemah tidak dapat disebut tipe khusus kompilator. Perakit menghasilkan kode objek, yang mungkin harus dihubungkan menggunakan program linker agar bisa berjalan di mesin, namun sebagian besar juru bahasa dapat menyelesaikan pelaksanaan program sendiri.Perakit biasanya akan melakukan terjemahan satu lawan satu, tapi ini tidak benar bagi sebagian besar penafsir. Karena bahasa Assembly memiliki pemetaan satu dengan satu kode mesin, assembler dapat digunakan untuk memproduksi kode yang berjalan sangat efisien untuk kejadian dimana kinerja sangat penting (misalnya mesin grafis, sistem embedded dengan sumber daya perangkat keras terbatas dibandingkan dengan komputer pribadi. seperti microwave, mesin cuci, dll.). Di sisi lain, juru bahasa digunakan saat Anda membutuhkan portabilitas tinggi. Misalnya, bytecode Java yang sama dapat dijalankan di platform yang berbeda dengan menggunakan juru bahasa yang sesuai (JVM).