TEORI BAHASA & OTOMATA (PENGENALAN KOMPILASI)

Slides:



Advertisements
Presentasi serupa
Pengayaan Software/Hardware dan Pengantarmukaan
Advertisements

Teori Bahasa dan Automata
Teknik Kompilasi Febuari 2013.
Chapter 20 Pembentukan Kode.
PEMROGRAMAN TERSTRUKTUR
DASAR-DASAR PEMROGRAMAN
Pengantar Teknik Kompilasi
TEKNIK KOMPILASI.
Perkembangan Bahasa.
Analisis Semantik.
KONSEP dan NOTASI BAHASA
KOMPILASI KOMPILATOR (COMPILER) adalah :
Konsep dan Notasi Bahasa
SOFTWARE PENDUKUNG DAN PENGOPERASIAN SISTEM INFORMASI
Bahasa Pemrograman Tingkat Tinggi
Komponen sebuah Kompilator
PENERAPAN KOMPUTER BAGIAN 1. POKOK BAHASAN 1. PENGENALAN KOMPUTER 2. BAHASA BASIC DAN DIAGRAM ALIR 3. VARIABEL DAN KONSTANTA A. STATEMEN MENAMPILKAN DATA.
ANALISIS SEMANTIK, KODE ANTARA, DAN PEMBANGKITAN KODE
PENDAHULUAN.
STRUKTUR COMPILLER.
PERTEMUAN 4 TAHAP PEMROGRAMAN.
Pengantar Teknik Kompilasi
Cara Penanganan Kesalahan
Pengenalan Java.
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”
BAB 1 BAHASA PEMROGRAMAN
ALGORITMA & PEMROGRAMAN
BAHASA PEMROGRAMAN.
Analisa Semantik, Kode Antara,
Analisis semantik, kode antara dan pembangkitan kode
Pesan-pesan kesalahan
SEMANTIKS Pertemuan Ke-3.
Pengantar Teknik Kompilasi
MODEL KOMPILATOR FUNGSI UMUM BAGIAN KOMPILATOR Dosen Pengampu:
Pengantar Teknik Kompilasi
Semantics Analyser Contoh : A := ( A+B) * (C+D)
kode antara dan pembangkit kode
DASAR PEMROGRAMAN KOMPUTER
Analisis Sintaks (Parsing)
ANALISIS LEKSIKAL (Scanner)
Minggu 5 Imam Fahrur Rozi
Analisa Semantik, Kode Antara,
kode antara dan pembangkit kode
Teknik Kompilasi “Translator”
Pengantar Teknik Kompilasi
ANALISIS SEMANTIK, KODE ANTARA, DAN PEMBANGKITAN KODE
DASAR PEMROGRAMAN KOMPUTER
KODE ANTARA & PEMBANGKITAN KODE Ken Kinanti Purnamasari
MATERI PERKULIAHAN TEKNIK KOMPILASI
Proses kompilasi COMPILATOR.
Keterampilan komputer 1AB
ANALISIS SEMANTIK, KODE ANTARA, DAN PEMBANGKITAN KODE
Bahasa Pemrograman Pascal
TEKNIK KOMPILASI PERTEMUAN II.
Teknik Kompilasi Abdul Wahid, ST, M.Kom
TEKNIK KOMPILASI Pertemuan III.
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
ANALISIS SEMANTIK, KODE ANTARA, DAN PEMBANGKITAN KODE
KODE ANTARA,PEMBANGKITAN KODE,PENANGANAN
Transcript presentasi:

TEORI BAHASA & OTOMATA (PENGENALAN KOMPILASI) PERTEMUAN V & VI Y A N I S U G I Y A N I

MATERI PERTEMUAN V & VI PENGENALAN KOMPILASI PERTEMUAN V BAHASA PEMROGRAMAN TRANSLATOR MODEL KOMPILATOR PERTEMUAN VI ANALISIS LEKSIKAL ANALISIS SINTAKS

BAHASA PEMROGRAMAN Berfungsi untuk melayani, sebagai suatu alat komunikasi antara kita dengan masalah yang akan kita selesaikan.

BAHASA PEMROGRAMAN Hirarki atau tingkatan dari bahasa pemrograman berdasarkan pada peningkatan kebebasan mesin adalah sebagai berikut : Bahasa mesin (machine – level languages) Bahasa rakitan (Assembly languages) Bahasa tingkat tinggi atau bahasa user oriented (higher level languages atau user oriented languages) Bahasa berorientasi masalah (problem – oriented languages)

TRANSLATOR

TRANSLATOR Waktu yang digunakan untuk mengkonversikan suatu program sumber ke program objek disebut waktu kompilasi (compile time) Program objek dijalankan dalam waktu yang disebut waktu pelaksanaan atau run time

TRANSLATOR Waktu kompilasi Waktu pelaksanaan

TRANSLATOR Translator yang mentransformasikan suatu bahasa tingkat tinggi ke dalam bahasa mesin komputer atau ke bahasa rakitan adalah Kompilator / compile Interpreter

MODEL KOMPILATOR

SCANNER / ANALISIS LEKSIKAL Memisahkan naskah program sumber yang masuk, menjadi bagian leksikografis terkecil atau token, misal : konstanta, nama variabel, kata kunci dan operator.

PARSER / ANALISIS SINTAKS Berfungsi menerima program sumber (dalam bentuk barisan token) dari penganalisis leksikal dan selanjutnya penganalisis sintaks ini akan menentukan struktur secara keseluruhan dari program sumber. Proses terakhir ini analog dengan menentukan struktur dari suatu kalimat dalam bahasa inggris.

PARSER / ANALISIS SINTAKS Dalam analisis sintaks kita memandang kelompok token sebagai kelas sintaks yang lebih besar seperti ekspresi, statemen dan prosedur Penganalisis sintaks akan menganalisis pohon sintaks atau sejenisnya Simpul daun merupakan token dan setiap simpul yang bukan daun mewakili suatu tipe kelas sintaks yang dikenal sebagai simbol non terminal atau variabel

ANALISIS SEMANTIK Berfungsi memberi arti dari program sumber Penganalisis semantik harus menentukan aksi apa yang dilakukan oleh operator aritmatika ketika parser mengenali sebuah operator, parser memanggil rutin semantik – routine yang akan menggolongkan aksi yang akan dikerjakan

Contoh : Ekspresi : (A+B) Contoh : Ekspresi : (A+B) * (C+D) Bentuk intermediate dari kode sumber berbentuk kuadrupel seperti ( + , A, B, T1) ( + , C, D, T2) ( * , T1, T2, T3)

dapat diartikan : ( + , A, B, T1) Menambah A dengan B dan menempatkan hasilnya sementara sebagai T1 ( + , C, D, T2) Menambah C dengan D dan menempatkan hasilnya sementara sebagai T2 ( * , T1, T2, T3) Mengalikan T1 dengan T2 dan menempatkan hasilnya di T3

Sebuah ekspresi Infix dapat dikonversikan ke bentuk intermediate yang disebut notasi polish. Sebuah ekspresi infix (A+B)*(C+D) dapat dikonversikan sehingga ekivalen dengan suffix-polish (postfix-polish) AB+CD+*.

Output dari penganalisis semantik dikirim ke pembentuk kode (code generator). Pada saat itu bentuk intermediate program sumber, biasanya diterjemahkan ke dalam bahasa rakitan (assembly language) ataupun ke dalam bahasa mesin (machine language)

Contoh : Bentuk kuadrupel diatas, dapat menghasilkan barisan alamat-tunggal (sinle address), intruksi akumulator-tunggal bahasa rakitan (single-accumulator assembly language) berikut :

LDA A Panggil (LOAD) isi A, masukkan ke dalam akumulator ADD B Tambahkan (ADD) isi B ke dalam Akumulator STO T1 Simpan (STORE) isi akumulator ke dalam penyimpanan sementara T1

LDA C Panggil (LOAD) isi C, masukkan ke dalam akumulator ADD D Tambahkan (ADD) isi D ke dalam Akumulator STO T2 Simpan (STORE) isi akumulator ke dalam penyimpanan sementara T2

LDA T1 Panggil (LOAD) isi T1, masukkan ke dlm akumulator MUL T2 Kalikan (MULTIPLY) isi T2 dengan isi akumulator STO T3 Simpan (STORE) isi akumulator ke dlm penyimpan sementara T3