Cara Membedakan Kompilator Single Pass dan Multipass?

Perbedaan yang menonjol antara kompiler single pass dan multipass adalah kompiler single pass adalah kompiler yang melewatkan kode sumber melalui setiap unit kompilasi hanya sekali sementara kompiler multipass memisahkan kompilasi menjadi beberapa pass, di mana setiap pass akan melanjutkan dengan hasil sebelumnya. lulus.

Program komputer adalah seperangkat instruksi bagi komputer untuk melakukan tugas tertentu. Biasanya, programmer menulis program menggunakan bahasa pemrograman tingkat tinggi. Namun, komputer tidak memahami instruksi ini. Maka dari itu, perlu untuk mengubah kode sumber menjadi kode mesin yang dapat dimengerti mesin . Kompiler adalah perangkat lunak yang mengubah kode sumber menjadi kode mesin, dan kompiler single pass dan multipass adalah dua jenis kompiler.

Topik bahasan kami tentang:

  1. Apa itu Kompilator Single Pass – Definisi, Fungsi 2. Apa itu Kompilator Multipass – Definisi, Fungsi 3. Apa Perbedaan Antara Kompilator Single Pass dan Multipass – Perbandingan Perbedaan Kunci

Istilah Utama

Kompiler Single Pass, kompiler Multipass

Yang perlu anda ketahui tentang Kompilator Single Pass?

Ada beberapa tahapan dalam proses kompilasi. Kompiler single pass membuat single pass melalui teks sumber, mengurai, menganalisis, dan menghasilkan kode hanya sekali. Dengan kata lain, ini memungkinkan kode sumber melewati setiap unit kompilasi hanya sekali. Ini segera menerjemahkan setiap bagian kode ke dalam kode mesin terakhirnya.

Gambar 1: Kompiler

Tahapan utama dari single pass compiler adalah analisis leksikal, analisis sintaksis dan pembuat kode. Pertama, analisis leksikal memindai kode sumber dan membaginya menjadi token. Setiap bahasa pemrograman memiliki tata bahasa. Ini mewakili sintaks dan pernyataan hukum bahasa. Kemudian, analisis sintaksis menentukan konstruksi bahasa yang dijelaskan oleh tata bahasa. Akhirnya, pembuat kode menghasilkan kode target. Secara keseluruhan, kompiler single pass tidak mengoptimalkan kode. Selain itu, tidak ada generasi kode perantara.

Yang perlu anda ketahui tentang Kompilator Multipass

Kompilator multipass membuat kode sumber melalui penguraian, analisis, pembuatan, dll. beberapa kali sambil menghasilkan kode perantara setelah setiap tahap. Ini mengubah program menjadi satu atau lebih representasi perantara dalam langkah-langkah antara kode sumber dan kode mesin. Ini memproses ulang seluruh unit kompilasi di setiap pass berurutan.

Setiap lintasan mengambil hasil lintasan sebelumnya sebagai input dan menghasilkan keluaran perantara. Demikian juga, di setiap pass, kode meningkat hingga pass terakhir menghasilkan kode akhir. Kompiler multipass melakukan tugas tambahan seperti pembuatan kode perantara, pengoptimalan kode yang bergantung pada mesin, dan pengoptimalan kode yang tidak bergantung pada mesin.

Gambar 2: Kompilator Multipass

Ada banyak keuntungan dari kompiler multipass. Mereka adalah mesin independen dan termasuk struktur modular. Pembuatan kode dipisahkan dari langkah kompilasi lainnya. Maka dari itu, pass dapat digunakan kembali untuk mesin atau perangkat keras yang berbeda. Selain itu, ini mewakili bahasa yang lebih kompleks dan ekspresif.

Perbedaan Antara Kompilator Single Pass dan Multipass

Definisi

Kompilator single pass adalah jenis kompiler yang melewati bagian-bagian dari setiap unit kompilasi hanya sekali, segera menerjemahkan setiap bagian kode ke dalam kode mesin terakhirnya. Kompiler multipass adalah jenis kompiler yang memproses kode sumber atau pohon sintaksis abstrak dari suatu program beberapa kali. Maka dari itu, definisi ini menjelaskan Perbedaan yang menonjol antara kompiler single pass dan multipass.

Kecepatan

Kecepatan adalah Perbedaan yang menonjol antara kompiler single pass dan multipass. Kompiler multipass lebih lambat daripada kompiler single pass karena setiap pass membaca dan menulis file perantara.

Sinonim

Kompiler single pass juga disebut kompiler sempit sedangkan kompiler multipass disebut kompiler lebar.

Cakupan

Selain itu, kompiler single pass memiliki cakupan terbatas sedangkan kompiler multipass memiliki cakupan yang lebih besar.

Optimasi Kode

Perbedaan lain antara kompiler single pass dan multipass adalah tidak ada optimasi kode dalam kompiler single pass, tidak seperti di kompiler multipass, yang memiliki optimasi kode.

Kode Menengah

Kode perantara juga membuat perbedaan antara kompiler single pass dan multipass. Tidak ada pembuatan kode perantara dalam kompiler single pass. Namun, ada generasi kode perantara di kompiler multipass.

Waktu kompilasi

Selanjutnya, kompiler single pass membutuhkan waktu minimum untuk dikompilasi jika dibandingkan dengan kompiler multipass.

Konsumsi Memori

Juga, konsumsi memori dalam kompiler multipass lebih tinggi daripada kompiler single pass. Jadi, ini adalah perbedaan lain antara kompiler single pass dan multipass.

Bahasa pemrograman

Bahasa pemrograman seperti Pascal dapat diimplementasikan menggunakan kompiler single pass sedangkan bahasa pemrograman seperti Java dapat diimplementasikan menggunakan kompiler multipass. Maka dari itu, ini adalah perbedaan lain antara kompiler single pass dan multipass.

Kata terakhir

Kompiler single pass dan multipass adalah dua jenis kompiler. Perbedaan antara kompiler single pass dan multipass adalah kompiler single pass adalah kompiler yang melewatkan kode sumber melalui setiap unit kompilasi hanya sekali sedangkan kompiler multipass memisahkan kompilasi menjadi beberapa pass, di mana setiap pass akan melanjutkan dengan hasil dari pass sebelumnya .

Sumber bacaan:
  1. “pass1 Dan 2 Kompilator.” Scribd, Scribd, Tersedia di sini . 2. “Kompiler Satu-Pass.” Wikipedia, Wikimedia Foundation, 23 Maret 2018, Tersedia di sini . 3. “Kompiler Multi-Pass.” Wikipedia, Wikimedia Foundation, 8 Februari 2018, Tersedia di sini .
Sumber gambar:
  1. “Compiler” Oleh I, Surachit (CC BY-SA 3.0) melalui Commons Wikimedia 2. “Multi-passcompiler” Oleh Kenstruys – Karya sendiri (Domain Publik) melalui Commons Wikimedia

Related Posts