Fel LearnIffy

my Binusian Blog

Tahapan Proses kompilasi

March17

TAHAPAN KOMPILASI

Tahap-tahap kompiler adalah sebagai berikut :

pic1

  • SYMBOL TABLE

Struktur data yang berisi record untuk setiap identifier yang berisi field-field/ atribut-atribut dari identifier.

  • ERROR HANDLER

Fungsi yang menangani dan melapor- kan setiap error / kesalahan yang ditemukan (pada setiap tahapan)

Dua bagian utama proses kompilasi :

1.  Analysis :

  • Membagi program ke dalam bagian-bagian kecil
  • Membuat “intermediate representation” dari source program
  • Proses Analisis terdiri dari 3 fase :

–          lexical analyzer

Membaca source program (stream of chars) dari kiri ke kanan dan mengelompokkannya ke dalam token-token (Scanner).

–          syntax analyzer

  • Menghasilkan struktur hirarki dari token-token. (Parser)
  • Biasanya direpresentasikan dalam bentuk parse tree atau syntax tree.

–          semantic analyzer

Memeriksa komponen tertentu bagian program secara bersama mengandung suatu arti yang benar.

2.  Synthesis :

  • Membangun target  program dari  intermediate representation
  • Proses Synthesis terdiri dari 3 fase :

–          intermediate code generator

Merepresentasi suatu program dalam coding sebagai mesin abstract dengan memperhatikan sifat berikut :

  • mudah menghasilkan
  • mudah mentranslasi target program

–          code optimizer

Melakukan optimasi/ reduce terhadap code tanpa mengganggu sikuens eksistensi proses sehingga running dapat lebih cepat

–          code generator

Menghasilkan target code dari inter-mediate code yang telah dioptimasi.

Contoh Translation :

Contoh Translation Contoh Advance Trasnlation

ALAT BANTU KONSTRUKSI KOMPILER

  •  Parser Generator

Menghasilkan pohon sintaks oleh Syntax Analyzer (parser) dari input yang berdasarkan context free grammar.

  • Scanner Generator

Menghasilkan input stream oleh Lexical Analyzer (scanner) dari spesifikasi input data berdasarkan regular expression.

  • Automatic Code Generator

Mengambil kumpulan rules yang akan mendefinisikan penerjemahan setiap operasi dari intermediate language ke dalam machine language dari target machine

  • Data Flow Engine

Mengumpulkan informasi tentang bagaimana nilai-nilai ditranslasikan dari suatu bagian program ke bagian lainnya, untuk keperluan “data flow analysis” pada tahap optimasi code.

 

www.binus.ac.id

Hello world!

March6

Welcome to Binusian blog.
This is the first post of any blog.binusian.org member blog. Edit or delete it, then start blogging!
Happy Blogging 🙂