Jumat, 20 Mei 2011

Translator pada Teknik Kompilasi


Translator
Melakukan pengubahan source code/program sumber ke dalam target code/object code. Source code ditulis dalam sumber sedangkan object code bisa dalam bahasa pemrograman lain atau bahasa mesin pada suatu komputer.
Macam – macam Translator
1.      Assembler
Source code adalah bahasa assembly, object code adalah bahasa mesin contoh : Turbo Assembler dan Macro Assembler

2.      Kompilator ( Compiler)
Source code adalah bahasa tingkat tinggi, object code adalah bahasa mesin atau bahasa assembly. Source code dan data diproses pada waktu yang berbeda. Contoh ; Turbo Pascal. Compile time adalah saat pengubahan dari source code ke object code sedangkan Run Time adalah saat eksekusi object code.

3.      Interpreter
Interpreter tidak membangkitkan object code, hasil translasi hanya dalam bentuk internal. Contoh: BASICA/GW-BASIC,LIPS,SMALLTALK.
Source code dan data diproses pada saat yang sama.

Model Kompilator
Kompilator umumnya mempunyai dua tugas pokok :
1.      Fungsi Analisis, biasa disebut Front-end à melakukan dekomposisi program sumber menjadi bagian-bagian dasarnya.
2.      Fungsi Sintesis, biasa disebut Back-end àmelakukan pembangkitan dan optimasi program objek.

è Scanner                       : Memecah program sumber menjadi besaran Leksik/Token
è Parser                          : memeriksa kebenaran dan urutan kemunculan Token
è Analisis Semantik       : melakukan analisis semantik,biasanya dalam realisasi kan digabungkan dengan Intermediate code generator (bagian yang berfungsi membangkitkan kode antara
è Code Generator          : membangkitkan kode objek
è Code Optimizer          : memperkecil hasil dan mempercepat proses
è Tabel Simbol               : menyimpan semua informasi yang berhubungan dengan proses kompilasi
Mutu Kompilator
Mutu dari suatu kompilator tergantung dari beberapa faktor :
1.      Kecepatan dan waktu proses
Tergantung dari :
è Penulisan Algoritma Kompilator
è Kompilator pengkompilasi

2.      Mutu program objek
è mutu suatu program objek ditentukan oleh ukuran dan kecepatan eksekusi dari program objek.

3.      Integrated Environment
Merupakan fasilitas terintegrasi yang dimiliki oleh kompilator.

Pembuatan Kompilator
Dapat dilakukan dengan cara :
1.      Mempergunakan bahasa mesin
2.      Mempergunakan bahasa tingkat tinggi
3.      Mempergunakan bahasa tingkat tinggi lain pada mesin yang sama
4.      Mempergunakan bahasa tingkat tinggi yg sama pada mesin yang berbeda.
5.      Bootstrap ( gagasan dari Nirklaus Wirth : membangun suatu yang besar dengan terlebih dahulu membuat bagian intinya).

Tidak ada komentar: