Pertemuan 1 & 2 Pendahuluan

Slides:



Advertisements
Presentasi serupa
Oleh : Suparno Blog : Penterjemahan Data (Compiler – Interpreter) Pengenalan Pengelolahan Data Elektronik.
Advertisements

TEKNIK KOMPILASI By Kustanto, S.T.,M.Eng.
Pengayaan Software/Hardware dan Pengantarmukaan
TUGAS BU RATNA #PERTEMUAN 4
KOMPONEN DASAR KOMPUTER
Teknik Kompilasi Febuari 2013.
Pengantar Teknologi Informasi
Pengantar Teknik Kompilasi
TEKNIK KOMPILASI.
PENGEMBANGAN PERANGKAT LUNAK DAN BAHASA-BAHASA PEMROGRAMAN
Perkembangan Bahasa.
KONSEP dan NOTASI BAHASA
KOMPILASI KOMPILATOR (COMPILER) adalah :
Perangkat Lunak Software. Perangkat Lunak merupakan sekumpulan aturan yang digunakan untuk menjalankan perangkat keras terdiri dari kumpulan istruksi.
SOFTWARE PENDUKUNG DAN PENGOPERASIAN SISTEM INFORMASI
Lexical Analyzer (Scanner)
Pertemuan 1 Mengapa Belajar Bahasa Rakitan ??
Dasar Pemrograman Pendahuluan.
TEKNIK PEMROGRAMAN TERSTRUKTUR 1
Pengantar Teknik Kompilasi
PERANGKAT LUNAK (SOFTWARE)
4 SOFTWARE Oleh : Elly Lestari
Pertemuan 13 Code Genarator
1 Pertemuan 7 FINITE AUTOMATA DENGAN OUTPUT Matakuliah: T0162/Teori Bahasa dan Automata Tahun: 2005 Versi: 1/0.
Rifky Kurniawan, S.Kom, MTI
Pengantar Teknik Kompilasi
Algoritma & PEMROGRAMAN 2B (Visual basic)
TEKNIK KOMPILASI.
Algoritme dan Pemrograman
MODEL KOMPILATOR FUNGSI UMUM BAGIAN KOMPILATOR Dosen Pengampu:
FUNGSI UMUM BAGIAN KOMPILATOR Dosen Pengampu: Istiqomah, s.kom
PERANGKAT LUNAK KOMPUTER
PENGANTAR TEKNIK KOMPILASI
Teknik Kompilasi “Translator”
KONSEP dan NOTASI BAHASA
BAHASA PEMROGRAMAN TERSTRUKTUR
PENGANTAR LOGIKA & TEKNIKPEMROGRAMAN
BAHASA PEMROGRAMAN.
Pesan-pesan kesalahan
Pengantar Teknik Kompilasi
Java Fundamentals Eko Hari Rachmawanto.
MODEL KOMPILATOR FUNGSI UMUM BAGIAN KOMPILATOR Dosen Pengampu:
Pengantar Teknik Kompilasi
DASAR PEMROGRAMAN KOMPUTER
Pemrograman Terstruktur Menggunakan Bahasa C++
Pertemuan 1.
ASSEMBLER #2 MK. PEMROGRAMAN SISTEM
PENDAHULUAN PEMROGRAMAN SISTEM
Teknik Kompilasi “Translator”
Slide 6 Mikroprosesor Sub. Assembly Language___
DASAR PEMROGRAMAN KOMPUTER
TEORI BAHASA & OTOMATA (PENGENALAN KOMPILASI)
Proses kompilasi COMPILATOR.
PENGANTAR LOGIKA & TEKNIK PEMROGRAMAN
Lecturer Note II Turbo Pascal & Pemrograman
INTRODUCTION TO C++
Pengantar Teknologi Informasi
Pengantar Pemrograman
TEKNIK KOMPILASI PERTEMUAN II.
Teknik Kompilasi Abdul Wahid, ST, M.Kom
TEKNIK KOMPILASI Pertemuan III.
Pengantar Pemrograman
Pengantar teknologi informasi
Pengenalan Kompilasi & Klasifikasi Tatabahasa Formal menurut Chomsky
Pemrograman Terstruktur Menggunakan Bahasa C++
Pengantar Teknik Kompilasi
Ilustrasi Proses Kompilasi
Pengantar Teknik Kompilasi
Pengantar Pemrograman
Dasar Pemrograman Pengenalan Nurul Anisa Sri Winarsih, M. CS
Transcript presentasi:

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

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

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

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 Bahasa lain Translator Source Language Target language Compiler

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.

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

Gambaran umum kompiler

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.

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

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.

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

Tahapan kompilasi Tahap analisis: Tahap sintesis: Symbol table manager 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.

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

intermediate code generator Lanjutan contoh .. code generator temp1 := inttoreal(60) temp2 := id3 * temp1 temp3 := id2 + temp2 id1 := temp3 temp1 := id3 * 60.0 id1 := id2 + temp1 MOVF id3, R2 MULF #60.0, R2 MOVF id2 ,R1 MOVF R2, R1 MOVF R1, id1 intermediate code generator code optimizer

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.

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.