Assembler vs Compiler
Secara umum, penyusun adalah program komputer yang membaca program yang ditulis dalam satu bahasa, yang disebut bahasa sumber, dan menerjemahkannya ke bahasa lain, yang disebut bahasa sasaran. Secara tradisinya, bahasa sumber adalah bahasa peringkat tinggi seperti C ++ dan bahasa sasaran adalah bahasa tahap rendah seperti bahasa Perhimpunan. Namun, ada penyusun yang dapat menukar program sumber yang ditulis dalam bahasa Assembly dan menukarnya menjadi kod mesin atau kod objek. Penyusun adalah alat seperti itu. Oleh itu, kedua-dua penghimpun dan penyusun akhirnya menghasilkan kod yang dapat dilaksanakan secara langsung pada mesin.
Apa itu Penyusun?
Compiler adalah program komputer yang membaca program yang ditulis dalam satu bahasa, yang disebut bahasa sumber, dan menerjemahkannya ke bahasa lain, yang disebut bahasa sasaran. Selalunya, bahasa sumber adalah bahasa tahap tinggi dan bahasa sasaran adalah bahasa tahap rendah. Jadi, secara umum penyusun dapat dilihat sebagai penterjemah yang menterjemahkan dari satu bahasa ke bahasa lain. Sebagai tambahan, penyusun melakukan beberapa pengoptimuman terhadap kod tersebut. Penyusun khas terdiri daripada beberapa komponen utama. Komponen pertama adalah pengimbas (juga dikenali sebagai penganalisis leksikal). Pengimbas membaca program dan menukarnya menjadi rentetan token. Komponen kedua adalah penghurai. Ia menukar rentetan token menjadi pohon parse (atau pohon sintaks abstrak), yang menangkap struktur sintaksis program. Komponen seterusnya adalah rutin semantik yang menafsirkan semantik struktur sintaksis. Pengoptimuman kod dan penghasilan kod akhir mengikuti ini.
Apa itu Assembler?
Assembler adalah perisian atau alat yang menterjemahkan bahasa Assembly ke kod mesin. Jadi, assembler adalah jenis penyusun dan kod sumber ditulis dalam bahasa Assembly. Perhimpunan adalah bahasa yang dapat dibaca manusia tetapi biasanya mempunyai hubungan satu lawan satu dengan kod mesin yang sesuai. Oleh itu, assembler dikatakan melakukan terjemahan isomorfik (pemetaan satu hingga satu). Pengumpul lanjutan menyediakan ciri tambahan yang menyokong proses pengembangan dan proses penyahpepijatan. Sebagai contoh, jenis assembler yang disebut makro assembler menyediakan kemudahan makro.
Apakah perbezaan antara Assembler dan Compiler?
Compiler adalah program komputer yang membaca program yang ditulis dalam satu bahasa dan menerjemahkannya ke bahasa lain, sementara assembler dapat dianggap sebagai jenis penyusun khas yang hanya menerjemahkan bahasa Assembly ke kod mesin. Kompilator biasanya menghasilkan kod yang dapat dieksekusi mesin secara langsung dari bahasa tingkat tinggi, tetapi penghimpun menghasilkan kod objek yang mungkin harus dihubungkan menggunakan program penghubung agar dapat berjalan di mesin. Oleh kerana bahasa Assembly mempunyai pemetaan satu lawan satu dengan kod mesin, assembler dapat digunakan untuk menghasilkan kod yang berjalan dengan sangat efisien untuk saat-saat di mana prestasi sangat penting (misalnya mesin grafik, sistem tertanam dengan sumber perkakasan yang terhad berbanding komputer peribadi seperti gelombang mikro, mesin basuh, dan lain-lain).