Pengayaan Software/Hardware dan Pengantarmukaan

Slides:



Advertisements
Presentasi serupa
Produksi dan Aturan Semantik
Advertisements

CARA PENANGAN KESALAHAN
Teknik Kompilasi Febuari 2013.
Pengantar Teknik Kompilasi
TEKNIK KOMPILASI.
Analisis Semantik.
KONSEP dan NOTASI BAHASA
KOMPILASI KOMPILATOR (COMPILER) adalah :
SOFTWARE PENDUKUNG DAN PENGOPERASIAN SISTEM INFORMASI
Bahasa Pemrograman Tingkat Tinggi
Komponen sebuah Kompilator
Lexical Analyzer (Scanner)
ANALISIS SEMANTIK, KODE ANTARA, DAN PEMBANGKITAN KODE
ANALISIS LEKSIKAL.
STRUKTUR COMPILLER.
Pengantar Teknik Kompilasi
Pertemuan 13 Code Genarator
Komponen sebuah Kompilator
Pertemuan 1 & 2 Pendahuluan
MATERI PERKULIAHAN TEKNIK KOMPILASI
Pengantar Teknik Kompilasi
MODEL KOMPILATOR FUNGSI UMUM BAGIAN KOMPILATOR Dosen Pengampu:
FUNGSI UMUM BAGIAN KOMPILATOR Dosen Pengampu: Istiqomah, s.kom
PENGANTAR TEKNIK KOMPILASI
Teknik Kompilasi “Translator”
Pengantar Teknologi Informasi (Teori)
Cara Penanganan Kesalahan
KONSEP dan NOTASI BAHASA
Analisa Semantik, Kode Antara,
Analisis semantik, kode antara dan pembangkitan kode
Pesan-pesan kesalahan
Pengantar Teknik Kompilasi
SEMANTIKS Pertemuan Ke-3.
Analisis leksikal (Scanner)
Pengantar Teknik Kompilasi
MODEL KOMPILATOR FUNGSI UMUM BAGIAN KOMPILATOR Dosen Pengampu:
Pengantar Teknik Kompilasi
Semantics Analyser Contoh : A := ( A+B) * (C+D)
Analisis Sintaks (Parsing)
Teknik Kompilasi Dosen: Utami Dewi W.,S.Kom
ANALISIS LEKSIKAL (Scanner)
Analisis leksikal ( SCANNER )
Analisa Semantik, Kode Antara,
Cara Penanganan Kesalahan
ASSEMBLER #2 MK. PEMROGRAMAN SISTEM
Teknik Kompilasi “Translator”
ANALISIS SEMANTIK, KODE ANTARA, DAN PEMBANGKITAN KODE
TEORI BAHASA & OTOMATA (PENGENALAN KOMPILASI)
ANALISIS LEKSIKAL.
Proses kompilasi COMPILATOR.
Lecturer Note II Turbo Pascal & Pemrograman
CARA PENANGAN KESALAHAN
ANALISIS SEMANTIK, KODE ANTARA, DAN PEMBANGKITAN KODE
Pengantar Teknologi Informasi
Pengantar Teknologi Informasi
TEKNIK KOMPILASI PERTEMUAN II.
Pengantar Teknologi Informasi
Teknik Kompilasi Abdul Wahid, ST, M.Kom
Pengenalan Kompilasi & Klasifikasi Tatabahasa Formal menurut Chomsky
Pengantar Teknik Kompilasi
Ilustrasi Proses Kompilasi
Pengantar Teknik Kompilasi
ANALISIS SEMANTIK, KODE ANTARA, DAN PEMBANGKITAN KODE
Automata Hingga Deterministik (AHD)
ANALISIS SEMANTIK, KODE ANTARA, DAN PEMBANGKITAN KODE
Semantics Analyser by Kustanto
CARA PENANGAN KESALAHAN
Pengantar Teknologi Informasi
ANALISIS SEMANTIK, KODE ANTARA, DAN PEMBANGKITAN KODE
KODE ANTARA,PEMBANGKITAN KODE,PENANGANAN
Transcript presentasi:

Pengayaan Software/Hardware dan Pengantarmukaan

Teknik Dasar Kompiler Kompilator (compiler) adalah sebuah program yang membaca suatu program dari source code dan menterjemahkannya kedalam object code. Pengayaan Sw & Hw

bahasa tingkat tinggi (misal Pascal, C). Object code : Source code : bahasa tingkat tinggi (misal Pascal, C). Object code : bahasa mesin/bahasa assembly. Source code dan data diproses pada saat yang berbeda, contoh : Turbo Pascal, Turbo C Pengayaan Sw & Hw

Tahap-tahap Kompilasi Tahap analisis (front end) Bertugas melakukan dekomposisi program sumber menjadi bagian-bagian dasarnya. Tahap analisa terdiri dari : Lexical analysis Syntactic analysis Semantic analysis Intermediate code generation Pengayaan Sw & Hw

Tahap sintesis terdiri dari : Code optimization Object code generation 2. Tahap sintesis (back end) Bertugas melakukan pembangkitan dan optimasi program objek. Tahap sintesis terdiri dari : Code optimization Object code generation Pengayaan Sw & Hw

1. Lexical analyzer (scanner) Berfungsi memecah teks program sumber menjadi bagian-bagian kecil yang mempunyai satu arti yang disebut token, seperti : konstanta, nama variabel, keyword, operator Pengayaan Sw & Hw

2. Syntax analyzer (parser) Berfungsi mengambil program sumber (sudah dalam bentuk barisan token) dan menentukan kedudukan masing-masing token berdasarkan aturan sintaksnya memeriksa kebenaran dan urutan kemunculan token 3. Semantic analyzer Berfungsi menentukan validitas semantiks/keberartian program sumber. Biasanya bagian ini digabung dengan intermediate code generator. 4. Intermediate code generator Berfungsi membangkitkan kode antara sintaks dengan code table. Pengayaan Sw & Hw

5. Code optimation Berfungsi mengefisienkan kode yang dibentuk 6 5. Code optimation Berfungsi mengefisienkan kode yang dibentuk 6. Code generator Berfungsi membangkitkan kode program target dalam bahasa target yang ekivalen dengan bahasa sumber 7. Symbol table management Berfungsi mengelola tabel simbol selama proses kompilasi. Tabel simbol adalah struktur data yang memuat rekord untuk tiap identifier dengan atribut-atribut identifier itu. 8. Error handler Berfungsi menangani kesalahan yang berlangsung selama proses kompilasi Pengayaan Sw & Hw

position := initial + rate * 60 Penyelesaian dengan tahapan kompilasi Contoh: operasi position := initial + rate * 60 Penyelesaian dengan tahapan kompilasi 1. Lexical analysis Mengelompokkan pernyataan tersebut menjadi token-token sebagai berikut : Token identifier position Token simbol assignment := Token identifier initial Token tanda plus + Token identifier rate Token tanda perkalian * Token konstanta angka 60 Pengayaan Sw & Hw

Ketika identifier pada program sumber ditemukan lexical analyzer, maka identifier dimasukkan ke tabel simbol. position := initial + rate * 60 diubah menjadi id1 := id2 + id3 * 60 2. Syntax analysis Memparsing atau membentuk pohon sintaks pernyataan, yaitu : Pengayaan Sw & Hw

Memeriksa kebenaran arti program sumber 3. Semantic analysis Memeriksa kebenaran arti program sumber Mengumpulkan informasi tipe bagi tahap berikutnya. Menggunakan pohon sintaks tahap syntax analysis untuk identifikasi operator dan operand suatu ekspresi dan kalimat. Pengayaan Sw & Hw

position, initial, rate : real Komponen penting analisis semantik adalah pemeriksaan tipe, memeriksa operator yang harus mempunyai operand yang diijinkan oleh spesifikasi bahasa sumber. Contoh : var position, initial, rate : real Konstanta 60 dikonversi menjadi real dengan fungsi inttoreal(60) menjadi konstanta bilangan real Pengayaan Sw & Hw

4. Intermediate Code Generator Merupakan representasi perantara antara bentuk bahasa tingkat tinggi dengan bahasa mesin. temp1 := inttoreal(60) temp2 := id3 * temp1 temp3 := id2 + temp2 id1 := temp3 Pengayaan Sw & Hw

Kode-kode tersebut dioptimasi menjadi : temp1 := id3 * 60.0 5. Code Optimization Melakukan proses identifikasi dan membuang operasi-operasi yang tidak perlu dari intermediate code generation untuk penyederhanaan sehingga nantinya kode mesin hasil menjadi lebih cepat. Kode-kode tersebut dioptimasi menjadi : temp1 := id3 * 60.0 Id1 := id2 + temp1 Pengayaan Sw & Hw

6. Code Generator Merupakan tahap pembangkitan kode target/objek. Biasanya yang dapat direlokasi adalah kode mesin atau assembly. Pembangkitan kode sangat bergantung pada mesin yang dipakai, misal : MOVF id3, R2 MULF #60.0, R2 MOVF id2, R1 ADDF R2, R1 MOVF R1, id1   Pengayaan Sw & Hw