Full width home advertisement

Teknik Informatika Semester 6

Teknik Informatika Semester 5

Teknik Informatika Semester 4

Post Page Advertisement [Top]




 Tahap–tahap Kompilasi

Kompilator (compiler) adalah sebuah program yang membaca suatu program yang ditulis dalam suatu bahasa sumber (source language) dan menterjemah-kannya ke dalam suatu bahasa sasaran (target language).
Proses kompilasi dikelompokan ke dalam dua kelompok besar:
1.      Tahap Analisa (Front-end)
Menganalisis source code dan memecahnya menjadi bagian-bagian dasarnya. Menghasilkan kode level menengah dari source code input yang ada.
2.        Tahap Sintesa (Back-end)           
Membangun program sasaran yang diinginkan dari bentuk antara.
Tahap-tahap yang harus dilalui pada saat mengkompilasi program, yaitu:
1.  Analisa Leksikal                                          
2.  Analisa Sintaks                                          Tahap analisa (front-end)
3.  Analisa Semantik                                      
4.  Pembangkit Kode Antara
5.  Code optimization                                                                 Tahap sintesa (back-end)
6. Object code generation      

Keterangan :
-            Analisa Leksikal (scanner)
Berfungsi memecah teks program sumber menjadi bagian-bagian kecil yang mempunyai satu arti yang disebut token, seperti : konstanta, nama variabel, keyword, operator.
-            Analisa Sintaks(parser)
Berfungsi mengambil program sumber (sudah dalam bentuk barisan token) dan menentukan kedudukan masing-masing token berdasarkan aturan sintaksnya dan memeriksa kebenaran dan urutan kemunculan token.
-             Analisa Semantik
Berfungsi menentukan validitas semantiks/keberartian program sumber. Biasanya bagian ini digabung dengan Pembangkit kode antara (intermediate code generator).
-            Pembangkit Kode Antara
Berfungsi membangkitkan kode antara.
-            Code optimation
Berfungsi mengefisienkan kode antara yang dibentuk.
-            Code generator
Berfungsi membangkitkan kode program target dalam bahasa target yang ekivalen dengan bahasa sumber .
-            Symbol table management
Berfungsi mengelola tabel simbol selama proses kompilasi. Tabel simbol adalah struktur data yang memuat record untuk tiap identifier dengan atribut-atribut identifier itu.
-            Penangan Kesalahan (Error handler)
Berfungsi menangani kesalahan yang berlangsung selama proses kompilasi.

Contoh :
pernyataan pemberian nilai (assignment) :
position := initial + rate * 60
Lexical analysis
Mengelompokkan pernyataan tersebut menjadi token-token sebagai berikut :
                     1. Token identifier position
                     2. Token simbol assignment :=
                     3. Token identifier initial
                     4. Token tanda plus +
                     5. Token identifier rate
                     6. Token tanda perkalian *
                     7. Token konstanta angka 60
Ketika identifier pada program sumber ditemukan lexical analyzer, identifier dimasukkan ke tabel simbol.
position := initial + rate * 60
diubah menjadi
id1 := id2 + id3 * 60

No comments:

Post a Comment

Bottom Ad [Post Page]