Kompilator: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
Leledumbo (bicara | kontrib)
kTidak ada ringkasan suntingan
Leledumbo (bicara | kontrib)
Penambahan informasi arsitektur alternatif dari Profesor Niklaus Wirth
Baris 10:
 
Beberapa ''kompilator'' tidak menggunakan arsitektur di atas secara gamblang, dikarenakan komunikasi antar program jauh lebih lambat dibandingkan jika komunikasi dilakukan secara internal di dalam satu program. Sehingga ''kompilator-kompilator'' tersebut mengintegrasikan ''assembler'' dan ''linker'' di dalam ''kompilator''. Namun demikian, biasanya arsitektur yang digunakan pun tidak kaku dan mengizinkan penggunaan ''assembler'' maupun ''linker'' eksternal (berguna jika ''assembler'' dan ''linker'' internal bermasalah atau memiliki galat). Kompilator yang menggunakan arsitektur ini salah satunya adalah [[Free Pascal]].
 
Profesor [[Niklaus Wirth]] dalam bukunya Compiler Construction (''update'' Juni 2011) <ref name="cbe">[www.inf.ethz.ch/personal/wirth/books/CompilerConstruction/CBE.pdf]</ref> menyatakan bahwa penggunaan ''assembler'' sebagai bahasa perantara seringkali tidak memberikan keuntungan yang signifikan, sehingga beliau menyarankan agar kompilator langsung menghasilkan bahasa mesin. Kompilator dengan arsitektur seperti ini dapat berjalan dengan sangat cepat, seperti yang ditunjukkan pada kompilator orisinil [[Pascal]], [[Modula-2]] dan [[Oberon]] yang dibuat oleh sang profesor.
 
''Kompilator'' melakukan proses kompilasi dengan cara menganalisis kode sumber secara keseluruhan, sehingga waktu yang dibutuhkan untuk melakukan kompilasi lebih lama, namun hasilnya lebih cepat dalam proses eksekusi daripada program yang dibuat dengan menggunakan teknik interpretasi dengan [[penerjemah (komputasi)|interpreter]].