Anda di halaman 1dari 3

Fase fase proses proses kompilasi

Tahapan Teknik Kompilasi


Tahapan kompilasi dibagi menjadi 2 bagian besar , yaitu :

 Phase Analysis

 Lexical Analyzer

 Syntax Analyzer

 Semantic Analyzer

 Phase Synthesis

 Intermediate Code Generator

 Code Optimizer

 Code Generator

Fase – fase tersebut digambarkan dalam diagram berikut :


Phase Analysis

1. Lexical Analyzer

Lexical analyzer merupakan tahapan awal yang dilakukan di compiler. Biasa suka disebut juga
sebagai scanner.

Proses utama yang dilakukan dalam Lexical Analyzer adalah : mengubah suatu baris kalimat
input menjadi ‘token’ lalu mengelompokkan ke dalam urutan ( lexemes ) , penghilangan
whitespace , konversi konstanta numerik menjadi tipe data yang spesifik / tertentu

Barisan token tersebut merupakan kumpulan string yang memiliki jenis pola tertentu dgn
bentuk <token-name , attribute-value> . Lalu selanjutnya , token tersebut akan dikirimkan ke
tahapan selanjutnya , yaitu Syntax Analysis

2. Syntax Analyzer

Syntax analyzer biasa disebut juga analisis parser karena proses yang dilakukan dalam
tahapan ini adalah hasil dari lexical analysis (token) akan disusun serta dikelompokkan dalam
suatu struktur tertentu yang memiliki definisi secara spesifik.

Dari struktur tersebut , program yang dibangun dari struktur tersebut dapat diidentifikasi ( di
dalamnya terdapat variable-variable yang dibutuhkan seperti statement , expression , dll ).

Tahapan syntax analyzer yaitu :

1. Pengurutan token yg merupakan hasil lexical analysis

2. Melanjutkan dengan memanggil proses selanjutnya , yaitu Semantic Analyzer

3. Semantic Analyzer

Tahapan ini adalah pusat dari tahapan kompilasi karena dari struktur syntaktik dari proses-
proses sebelumnya diproses dan struktur objek executable sudah mulai dibentuk.

Tahapan ini menjadi jembatan antara analysis dan synthesis dari suatu kompilasi.

Hasil akhir dari tahapan ini adalah suatu kode yang executable dalam kompilasi yang
sederhana yang kemudian dimanipulasi dengan berbagai optimization dari translator
sebelum akhirnya benar-benar executable dihasilkan.

Phase Synthesis

4. Intermediate Code Generator

Proses untuk me-generate code berdasarkan parsing tree (sesuai dengan rumus / syntax yang
berhubungan ).

Hasil dari proses ini adalah suatu perintah yang merupakan 3-address-
code ataupun quadruples.
5. Code Optimizer

Proses untuk mengoptimisasi code yang telah mengalami proses-proses sebelum akhirnya
dibentuk suatu code executable.

Dalam tahapan ini , salah satunya yaitu dilakukan proses pengurangan redundancy dalam
code sehingga lebih efficient dan effective.

6. Code Generator

Proses untuk membuat code yang dikenal oleh bahasa mesin yang merupakan suatu bahasa
assembler.

Biasanya , code tersebut terdiri dari suatu perintah dengan address dan akumulator yang
masing-masing terdiri dari 1 komponen.

Anda mungkin juga menyukai