Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

1 Pertemuan 1 & 2 Pendahuluan Matakuliah: T0174 / Teknik Kompilasi Tahun: 2005 Versi: 1/6.

Presentasi serupa


Presentasi berjudul: "1 Pertemuan 1 & 2 Pendahuluan Matakuliah: T0174 / Teknik Kompilasi Tahun: 2005 Versi: 1/6."— Transcript presentasi:

1 1 Pertemuan 1 & 2 Pendahuluan Matakuliah: T0174 / Teknik Kompilasi Tahun: 2005 Versi: 1/6

2 2 Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : Menjelaskan pentingnya penggunaan kompiler dalam pembuatan program komputer Memahami tahapan-tahapan proses kompilasi dan elemen-elemen yang digunakan dalam kompilasi

3 3 Outline Materi Pengertian kompilasi Grouping of phases Cousins of the compiler Language Processing System Tahapan kompilasi Contoh penerjemahan Compiler construction tools

4 4 Pengertian dasar Proses penterjemahan dalam kehidupan sehari-hari Proses kompilasi komputer Compiler merupakan program yang membaca suatu program yang ditulis dalam suatu bahasa- source language - dan menterjemahkannya ke dalam bahasa yang lain – target language. Bahasa sendiri Translator Bahasa lain Source Language Compiler Target language

5 5 Pengertian dasar Source language berupa high level language seperti PASCAL, C, C++, FORTRAN, COBOL dan lain-lain Target language dapat berupa bahasa Assembly, Bahasa mesin, ataupun bahasa yang lain dari source language. Contoh, penterjemahan dari bahasa FORTRAN ke bahasa C, bahasa PASCAL ke Assembly, atau kombinasi yang mungkin terjadi dari bahasa-bahasa tersebut di atas.

6 6 Klasifikasi kompiler single pass multi pass load-and-go Debugging optimizing.

7 7 Gambaran umum kompiler

8 8 Cousins of the compiler Preprocessor –Untuk menggabungkan skeletal program yang menjadi input untuk compiler, dan melakukan fungsi-fungsi macro processing, file inclusion, rational preprocessor, dan language extensions. Assembler –melakukan pemrosesan terhadap output dari compiler yang menghasilkan kode-kode biner yang belum memiliki alamat memory (memory addressing) Loader and link-editor –melakukan penggabungan antara relocatable machine code dengan library ataupun relocatable object files untuk mendapatkan absolut machine code.

9 9 Language Processing System Compiler Preprocessor Assembler Loader / Link-editor skeletal souce program souce program target assembly program relocatable machine code absolute machine code Library, relocatable Object files

10 10 Fungsi-fungsi preprocessor Macro processing –Pemrosesan macro yang didefinisikan programmer File inclusion –preprocessor akan meng-include header file ke dalam program Rational preprocessor –preprocessor dapat meningkatkan kemampuan/menambah fasilitas dari bahasa yang telah lama (older language) Language extensions –menggabungkan perintah yang ditulis dalam bahasa lain ke dalam program dalam bentuk built-in macro.

11 11 Tahapan kompilasi lexical analyzer semantic analyzer code optimizer code generator intermediate code generator syntax analyzer error handler Target program symbol-table manager Source program

12 12 Tahapan kompilasi Tahap analisis: –lexical analyzer –syntax analyzer –semantic analyzer. Tahap sintesis: –intermediate code generator –code optimizer –code generator. Symbol table manager –untuk membuat record dari identifier yang digunakan dalam source program dan mengumpulkan atribut yang menyangkut setiap identifier Error Handler –bagian kompiler yang menangani dan melaporkan kesalahan yang ditemukan.

13 13 Contoh penerjemahan position := initial +rate * 60 lexical analyzer syntax analyzer id 1 := id 2 + id 3 * 60 Symbol Table 1 position…….. 2 initial…….. 3 rate…….. 4 id 1 := * 60 + id 2 id 3 60 id 1 := * inttoreal + id 2 semantic analyzer intermediate code generator

14 14 Lanjutan contoh.. code generator temp 1 := inttoreal(60) temp 2 := id 3 * temp 1 temp 3 := id 2 + temp 2 id 1 := temp 3 temp 1 := id 3 * 60.0 id 1 := id 2 + temp 1 MOVF id 3, R 2 MULF #60.0, R 2 MOVF id 2,R 1 MOVF R 2, R 1 MOVF R 1, id 1 intermediate code generator code optimizer

15 15 Compiler construction tools Parser Generator –tools yang menghasilkan Syntax Analyzer (parser), dari input yang berdasarkan Context Free Grammar. Scanner Generator –tools menghasilkan lexical Analyzer (scanner), dari spesifikasi yang berdasarkan regular expression. Syntax Directed translation Engine –tools yang dapat menghasilkan sekumpulan routine yang dapat ‘berjalan’ (run) di parse tree dan menghasilkan intermediate code.

16 16 Compiler construction tools Automatic Code Generator –tools untuk mengambil kumpulan rules yang mendefinisikan penerjemahan dari setiap operasi dari intermediate language ke dalam machine language dari target machine. Data Flow Engine –tools untuk mengumpulkan informasi tentang bagaimana values ditransmisikan dari suatu bagian program ke bagian program lainnya, untuk keperluan “data flow analysis” pada tahap optimasi code.


Download ppt "1 Pertemuan 1 & 2 Pendahuluan Matakuliah: T0174 / Teknik Kompilasi Tahun: 2005 Versi: 1/6."

Presentasi serupa


Iklan oleh Google