Mutu Kompilator
Beberapa
faktor yang mempengaruhi mutu dari sebuah kompilator , antara lain :
1.
Kecepatan dan Waktu proses kompilasi
Waktu proses kompilasi
adalah waktu yang di butuhkan pada saat kita menunggu hasil kompilasi. Mutu ini
di pengaruhi oleh:
·
Penulisan Algoritma
Kompilator
Adalah algoritma yang di
gunakan untuk menuliskan program kompilator itu. Misalnya sebuah kompilator
lebih cepat melakukan kompilasi di bandingkan lainnya, hal ini di sebabkan
karena pembuatan algoritma oleh para pemrogramannya lebih baik saat membuat
kompilator tersebut.
·
Kompilator Pengkompilasi
Adalah sebuah program
khusus yang menghasilkan kompilator tersebut. Contoh pembuatan Turbo Basic
tentu saja tidak menggunakan bahasa Basic tetapi menggunakan bahasa lain dan di
kompilasi dengan kompilator lain.
Gambar pembuatan
kompilator menggunakan Kompilator Pengkompilasi.
2.
Mutu Program Objek ( Program hasil dari proses kompilasi )
Mutu suatu program objek
ditentukan oleh ukuran dan kecepatan eksekusi dari program objek.
Contoh : Perbandingan
antara Turbo Pascal 5 dan Turbo Pascal 6, di mana Turbo Pascal 6 lebih baik
dari pada Turbo Pascal 5 bila program objek ( exe ) yang di hasilkan berukuran
lebih kecil dan lebih cepat di eksekusi. Hal ini di pengaruhi oleh fungsi
translasi yang di gunakan oleh kompilator tersebut ( cara untuk melakukan
perubahan dari source kode ke object kode ).
3.
Intregated Environment
Merupakan fasilitas –
fasilitas terintegrasi yang di miliki oleh kompilator tersebut. Misalnya untuk
melakukan editing, debugging, testing. Intregated Enviroment biasa di sebut
juga IDE ( Integraterd Development Environment ).
Contoh : Dengan menggunakan
CLIPPER ( CLIPPER.EXE ) kita harus melakukan penyuntingan dengan menggunakan
suatu program editor (PE.EXE) yang terpisah dari kompilatornya, sedangkan pada
Turbo Pascal ( TURBO.EXE ) kita bisa melakukan penyuntingan sekaligus kompilasi
dan debug dalam satu lingkungan pemrograman.
Pembuatan
Kompilator
Pembuatan suatu
kompilator dapat dilakukan dengan :
1.
Bahasa mesin
Tingkat kesulitannya sangat
tinggi, karena bahasa mesin ini sangat dekat dengan mesin sehingga sangat tidak
manusiawi, dan tingkat ketergantungannya pada mesin sangat tinggi. Pembuatan
kompilator dengan bahasa mesin hampir mustahil dilakukan. Bahasa mesin mungkin
digunakan saat membuat assembler.
2. Bahasa assembly
Bahasa assembly bisa dan biasa digunakan sebagai tahap
awal pada proses pembuatan sebuah kompilator.
Keuntungan
pengguna bahasa assembly adalah program hasil (object
code) yang memiliki ukuran kecil.
Kerugiannya memerlukan usaha yang besar, karena instruksi assembly pendek-pendek
(sulit dimengerti) dan memiliki fasilitas yang terbatas. Sehingga masih
terdapat kesulitan untuk mengembangkan sebuah kompilator yang secara
keseluruhan dibuat dengan bahasa assembly.
3. Bahasa
tingkat tinggi lain pada mesin yang sama
Keuntungannya
adalah proses pembuatan kompilator akan lebih mudah, karena menggunakan bahasa
tingkat tinggi yang lebih mudah dimengerti dan fasilitasnya lebih baik
dibandingkan assembly.
Kerugiannya
kompilator yang dihasilkan akan memiliki ukuran yang besar. Bisa
dibayangkan kalau kita akan mengembangkan kompilator untuk bahasa BASIC dengan
mengunakan Turbo Pascal.
4. Bahasa
tingkat tinggi yang sama pada mesin yang berbeda
Keuntungan
dan kerugiannya sama dengan no ( 3 ), hanya disini memerlukan beberapa tahapan
proses kompilasi sebelum didapat kompilator yang diinginkan pada mesin tujuan.
Contoh: pembuatan kompilator C untuk DOS, berdasarkan kompilator C yang ada di
UNIX.
5. Bootstrap
Gagasan
dari bootstrap adalah kita bisa membangun sesuatu yang besar
dengan lebih dahulu membuat bagian intinya. Cara ini diperkenalkan oleh Niklaus
Wirth saat membuat kompilator untuk bahasa Pascal.
P0 dibangun dengan assembly, P1 dibangun oleh P0, P2 dibangun oleh P1, dan P3
dibangun oleh P2. Jadi kompilator bahasa P dibuat tanpa harus secara
keseluruhan menggunakan assembly.
No comments:
Post a Comment