Perbedaan antara assembler dan interpreter

Perbedaan antara assembler dan interpreter

Assembler vs Interpreter

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. Di sisi lain, penerjemah adalah alat yang menjalankan instruksi yang ditulis dalam beberapa bahasa pemrograman. Interpreter dapat secara langsung menjalankan kode sumber tingkat tinggi atau menerjemahkannya ke kode perantara dan kemudian menafsirkannya atau menjalankan kode yang sudah dikompilasi.

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 itu penerjemah?

Interpreter adalah program komputer atau alat yang menjalankan instruksi pemrograman. Seorang juru bahasa dapat menjalankan kode sumber secara langsung atau mengubah sumbernya ke kode perantara dan menjalankannya secara langsung atau menjalankan kode yang dikompilasi sebelumnya yang dihasilkan oleh kompiler (beberapa sistem interpreter menyertakan kompiler untuk tugas ini). Bahasa seperti Perl, Python, Matlab dan Ruby adalah contoh bahasa pemrograman yang menggunakan kode perantara. UCSD Pascal menafsirkan kode yang sudah dikompilasi. Bahasa seperti java, dasar dan samlltalk pertama kali menyusun sumber ke kode perantara yang disebut bytecode dan kemudian menafsirkannya.

Apa perbedaan antara assembler dan juru bahasa?

Assembler dapat dianggap sebagai jenis kompiler khusus, yang hanya menerjemahkan bahasa perakitan ke kode mesin. Penerjemah adalah alat yang menjalankan instruksi yang ditulis dalam beberapa bahasa. Sistem penerjemah dapat mencakup kompiler untuk kode pra-kompil sebelum interpretasi, tetapi juru bahasa tidak dapat disebut jenis khusus dari kompiler. Assemblers menghasilkan kode objek, yang mungkin harus ditautkan menggunakan program linker untuk menjalankan pada mesin, tetapi sebagian besar penafsir dapat menyelesaikan pelaksanaan program sendiri. Seorang assembler biasanya akan melakukan terjemahan satu ke satu, tetapi ini tidak benar untuk sebagian besar penafsir. 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.). Di sisi lain, penerjemah digunakan saat Anda membutuhkan portabilitas tinggi. Misalnya, bytecode Java yang sama dapat dijalankan pada platform yang berbeda dengan menggunakan interpreter yang sesuai (JVM).