Hay teman – teman semua..
Kali ini saya akan membahas mengenai “Proses Kompilasi
Program”... Tetapi sebelum saya membahas tentang Proses Kompilasi,, saya akan menjelaskan apa itu teknik
kompilasi..
Teknik Kompilasi merupakan teknik pembacaan suatu
program yang di tulis dalam bahasa sumber, kemudian diterjemahkan ke bahasa
lain yang disebut bahasa sasaran. Dalam melakukan proses terjemahan tersebut,
kompilator akan melaporkan adanya kesalahan – kesalahan yang mungkin
ditemukannya. Proses penerjemahan yang dilakukan oleh kompilator ini yang
disebut dengan Proses Kompilasi (compiling).
Kalau dipandang sepintas lalu,
maka akan muncul macam – macam kompilator yang dapat dibuat antara lain sebagai
berikut :


Proses Kompilasi dari suatu
Kompilator pada dasarnya dibagi ke dalam
2 bagian utama, yaitu :

Tahap Analisis program yang
ditulis dalam bahasa sumber dibagi dan dipecah ke dalam beberapa bagian yang
kemudian akan dipresentasikan ke dalam suatu bentuk antara dari program sumber. Operasi – operasi yang dilakukan
oleh program sumber ditentukan dan dicatat dalam suatu struktur pohon (tree)
yang disebut dengan nama pohon sintaks (sintax tree) Dalam hal ini setiap nodal
pada tree tersebut menyatakan suatu operasi, sedangkan anak dari nodal (titik)
tersebut memberikan argumen yang diperlukan.
Secara umum
proses dalam tahap analis terdiri dari 3 bagian utama, yaitu :
·
Proses analisis leksikal
·
Proses analisis sintaktik
·
Proses analisis semantic
·
Proses yang menghasilkan kode (code generator)
·
Proses optimasi kode (code optimizer)
Bagian Tahap Sintetis yang
berikutnya program sasaran dibentuk berdasarkan representasi antara yang
dihasilkan pada tahap analisis.
Sebelum
Bahasa sasaran dapat dihasilkan, dalam melakukan ini tiap bagian utama akan
berhubungan dan berkomunikasi dengan suatu berkas tabel yang disebut tabel
simbol (symbol table) yaitu suatu tabel yang berisi semua simbol yang digunakan
dalam bahasa sumber. Selain kompilator masih diperlukan beberapa program
lainnya sebelum dapat dibentuk bahasa sasaran yang dapat dijalankan. Seperti
suatu bahasa sumber dapat dituliskan dalam beberapa modul yang terpisah dan
disimpan dalam beberapa file yang terpisah.
Untuk
menanggulangi hal ini, maka suatu program khusus yang disebut dengan praprosesor
digunakan untuk mengumpulkan modul-modul yang saling lepas ini ke dalam suatu
program baru. Praposesor dapat pula melengkapi singkatan-singkatan atau
ungkapan-ungkapan maupun kependekan-kependekan yang digunakan dalam bahasa
sumber seperti pendef.