Kompilator: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
DamenaKo (bicara | kontrib)
k memperbaiki letak referensi
DamenaKo (bicara | kontrib)
menambahkan informasi tentang kompilator single-pass dan multi-pass; definisinya dan perbandingannya
Tag: kemungkinan perlu pemeriksaan terjemahan VisualEditor
Baris 37:
 
Pada fase ini, kompilator menggunakan semua informasi mengenai kode asal yang telah dikumpulkan dalam fase-fase sebelumnya, untuk menghasilkan kode target<ref name=":1" />. Kode target dapat berupa [[Intermediate representation|representasi perantara]], yang nanti dapat diproses oleh komponen lain (seperti assembler, LLVM, Java, dsb.), atau bisa jadi langsung berupa kode mesin.<ref name="cbe" />
 
== Kompilator ''single pass'' dan kompilator ''multi-pass'' ==
Metode yang digunakan kompilator dalam menggunakan fase-fasenya terbagi menjadi dua. Kompilator dapat memproses kode asal secara keseluruhan dalam suatu fase lalu mengopor hasil dari proses tersebut ke fase berikutnya, di mana fase berikutnya kembali memproses kode asal secara keseluruhan, inilah yang dinamakan kompilator ''multi-pass,'' yaitu kompilator tersebut memproses kode asal dalam dua kali jalan atau lebih.
 
Sedangkan, kompilator ''single pass'' memproses hanya sebagian dari kode asal dalam setiap fase lalu mengopor hasil dari proses tersebut kepada fase berikutnya. Dengan begini, kompilator ''single pass'' memproses kode asal hanya dalam satu kali jalan.<ref name=":0" />
 
Sering diinterpretasikan melalui definisi ini, bahwa kompilator ''single-pass'' lebih cepat daripada kompilator ''multi-pass''. Interpretasi ini tidaklah benar.<ref name=":0" /> Selama fase-fase dalam kedua jenis kompilator itu sama, dan kode asal yang diproses juga sama, maka kedua jenis kompilator tersebut tetap saja mengerjakan jumlah pekerjaan yang sama. Sehingga kecepatan dari keduanya juga sama.
 
== Lihat pula ==