Pengantar Teori Kompilasi

View previous topic View next topic Go down

Pengantar Teori Kompilasi

Post  Admin on Thu Jan 28, 2010 11:08 pm

Introduction
Untuk melakukan komputasi pada komputer dibutuhkan sebuah bahasa pemrograman. Bahasa pemrograman dalam hal ini adalah bahasa pemrograman tingkat tinggi yang digunakan untuk mempermudah manusia melakukan komputasi pada komputer. Bahasa pemrograman tingkat tinggi ini harus diterjemahkan kedalam bahasa mesin agar supaya program yang dibuat dapat berjalan sesuai keinginan. Penterjemahan bahasa tingkat tinggi ke target program dalam bahasa mesin adalah sebuah teknik kompilasi.
Dalam kompilasi secara hybrid, program sumber di translate kedalam program intermediate oleh sebuah penterjemah. Kemudian program intermediate dan input ditranslate lagi menggunakan mesin virtual sehingga menghasilkan output yang diinginkan.
Untuk memproses suatu bahasa dibutuhkan sebuah sistem yang khusus untuk pemrosesan bahasa. Dalam sistem ini program sumber dimasukan kedalam preprocessor kemudian dihasilkan kode sumber yang telah dimodifikasi. Kode sumber yang telah dimodifikasi ini kemudian dikompilasi menggunakan sebuah compiler sehingga menghasilkan target program dalam bahasa assembly. Target program dalam bahasa assembly ini diassembler sehingga menghasilkan kode mesin yang relocatable. Untuk menghasilkan kode mesin target dibutuhkan suatu loader/linker dengan berkas-berkas library yang mendukung kode mesin relocatable.
Suatu kompilasi mempunyai struktur dalam mengkompilasi kode sumber. Kode sumber ini terdiri atas karakter-karakter yang tersusun berdasarkan tatabahasa bahasa pemrograman yang digunakan. Tahap pertama dalam proses kompilasi adalah analisa leksikal atau bisa juga disebut sebagai scanning, dalam analisa karakter dibaca disetiap statement sehingga menghasilkan kumpulan dari suatu karakter yang di sebut lexemes. Dimana di setiap lexemes terdapat token yang terdiri atas nama token dan nilai attribute dari token tersebut.
Tahap kedua dalam proses kompilasi adalah analisa sintaks atau biasa disebut juga dengan teknik parsing. Didalam teknik ini terdapat urutan operasi yang dibuat berupa pohon sintaks. Hasil dari analisa ini adalah intermediate representation berupa struktur tatabahasa dari setiap token yang dihasilkan.
Tahap ketiga adalah analisa semantik. Dalam analisa ini dilakukan pengecekan dari grammar yang telah dihasilkan. Juga dilakukan pengecekan tipe data dari setiap variabel serta konversi atau pengubahan tipe data.
Tahap keempat adalah intermediate code generator. Tahap ini merupkan representasi dari kode sumber yang paling terakhir. Bentuk intermediate pada tahap ini adalah three-address code yang menyerupai bahasa assembly. Di dalam three-address code terdapat tiga operand untuk setiap operasi dan satu operand disebelah bagian kanan simbol sama dengan.
Tahap kelima adalah code optimizer dimana dalam tahap ini kode di optimalkan agar bisa lebih menghemat memori, misalnya ada kode yang dihasilkan sebelumnya yang tidak diperlukan bisa dikeluarkan. Code optimizer ini merupakan tahap yang bersifat optional. Tahap selanjutnya adalah code generator dimana pada tahap ini kode dalam bahasa assembly yang telah dihasilkan dijalankan sehingga menghasilkan target program dalam bahasa mesin.
Untuk membangun compiler dibutuhkan tools atau alat-alat berupa:
1. Parser generator yang secara otomatis menghasilkan analisis sintaks dari deskripsi gramatikal bahasa pemrograman.
2. Scanner generator yang menghasilkan analisis leksikal dari ekspresi reguler yang menguraikan tentang tanda-tanda dari sebuah bahasa.
3. Syntax-directed translation mesin yang menghasilkan koleksi rutin untuk menjalankan pohon penguraian/penurunan dan menghasilkan kode intermediate.
4. Kode-generator generator yang menghasilkan kode generator dari kumpulan aturan untuk menerjemahkan setiap operasi dari bahasa menengah ke bahasa mesin untuk mesin target.
5. Analisis aliran data-mesin yang memfasilitasi pengumpulan informasi tentang bagaimana nilai-nilai yang disalurkan dari satu bagian program untuk masing-masing bagian lain. Analisis aliran data adalah kunci kode bagian dari optimasi.
6. Compiler-konstruksi toolkit yang menyediakan seperangkat terpadu rutin untuk membangun berbagai fase dari kompilator.

Admin
Admin

Posts : 14
Join date : 2010-01-27

View user profile http://catatan-ti.forumotion.com

Back to top Go down

View previous topic View next topic Back to top


 
Permissions in this forum:
You cannot reply to topics in this forum