teori bahasa & otomata ( pengenalan kompilasi )
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: TEORI BAHASA & OTOMATA ( PENGENALAN KOMPILASI )](https://reader033.vdocuments.pub/reader033/viewer/2022061417/56813324550346895d9a063f/html5/thumbnails/1.jpg)
TEORI BAHASA & OTOMATA
(PENGENALAN KOMPILASI)
PERTEMUAN V & VIY A N I S U G I Y A N I
![Page 2: TEORI BAHASA & OTOMATA ( PENGENALAN KOMPILASI )](https://reader033.vdocuments.pub/reader033/viewer/2022061417/56813324550346895d9a063f/html5/thumbnails/2.jpg)
MATERI PERTEMUAN V & VIPENGENALAN KOMPILASIPERTEMUAN V- BAHASA PEMROGRAMAN- TRANSLATOR- MODEL KOMPILATORPERTEMUAN VI- ANALISIS LEKSIKAL- ANALISIS SINTAKS
![Page 3: TEORI BAHASA & OTOMATA ( PENGENALAN KOMPILASI )](https://reader033.vdocuments.pub/reader033/viewer/2022061417/56813324550346895d9a063f/html5/thumbnails/3.jpg)
BAHASA PEMROGRAMAN
Berfungsi untuk melayani, sebagai suatu alat komunikasi antara kita dengan masalah yang akan kita selesaikan.
![Page 4: TEORI BAHASA & OTOMATA ( PENGENALAN KOMPILASI )](https://reader033.vdocuments.pub/reader033/viewer/2022061417/56813324550346895d9a063f/html5/thumbnails/4.jpg)
BAHASA PEMROGRAMANHirarki 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)
![Page 5: TEORI BAHASA & OTOMATA ( PENGENALAN KOMPILASI )](https://reader033.vdocuments.pub/reader033/viewer/2022061417/56813324550346895d9a063f/html5/thumbnails/5.jpg)
TRANSLATOR
Program Sumber (Source Program)
Translator Program Objek (Target Program)
Bahasa Rakitan Assembly Bahasa Mesin
Source Languages Objek Languages
![Page 6: TEORI BAHASA & OTOMATA ( PENGENALAN KOMPILASI )](https://reader033.vdocuments.pub/reader033/viewer/2022061417/56813324550346895d9a063f/html5/thumbnails/6.jpg)
TRANSLATORWaktu 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
![Page 7: TEORI BAHASA & OTOMATA ( PENGENALAN KOMPILASI )](https://reader033.vdocuments.pub/reader033/viewer/2022061417/56813324550346895d9a063f/html5/thumbnails/7.jpg)
TRANSLATOR
Program Sumber
Program Objek
Hasil
Kompilator
Komputer pelaksana
Data
Waktu kompilasi
Waktu pelaksanaan
![Page 8: TEORI BAHASA & OTOMATA ( PENGENALAN KOMPILASI )](https://reader033.vdocuments.pub/reader033/viewer/2022061417/56813324550346895d9a063f/html5/thumbnails/8.jpg)
TRANSLATOR
Translator yang mentransformasikan suatu bahasa tingkat tinggi ke dalam bahasa mesin komputer atau ke bahasa rakitan adalah Kompilator / compileInterpreter
![Page 9: TEORI BAHASA & OTOMATA ( PENGENALAN KOMPILASI )](https://reader033.vdocuments.pub/reader033/viewer/2022061417/56813324550346895d9a063f/html5/thumbnails/9.jpg)
MODEL KOMPILATOR
Analisis
Program Sumber
Scanner Parser Semantik Pembentuk Kode
Pengoptimal Kode
Program Objek
Sintesis
Tabel
![Page 10: TEORI BAHASA & OTOMATA ( PENGENALAN KOMPILASI )](https://reader033.vdocuments.pub/reader033/viewer/2022061417/56813324550346895d9a063f/html5/thumbnails/10.jpg)
SCANNER / ANALISIS LEKSIKAL
Memisahkan naskah program sumber yang masuk, menjadi bagian leksikografis terkecil atau token, misal : konstanta, nama variabel, kata kunci dan operator.
![Page 11: TEORI BAHASA & OTOMATA ( PENGENALAN KOMPILASI )](https://reader033.vdocuments.pub/reader033/viewer/2022061417/56813324550346895d9a063f/html5/thumbnails/11.jpg)
PARSER / ANALISIS SINTAKSBerfungsi 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.
![Page 12: TEORI BAHASA & OTOMATA ( PENGENALAN KOMPILASI )](https://reader033.vdocuments.pub/reader033/viewer/2022061417/56813324550346895d9a063f/html5/thumbnails/12.jpg)
PARSER / ANALISIS SINTAKSDalam 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
![Page 13: TEORI BAHASA & OTOMATA ( PENGENALAN KOMPILASI )](https://reader033.vdocuments.pub/reader033/viewer/2022061417/56813324550346895d9a063f/html5/thumbnails/13.jpg)
ANALISIS SEMANTIKBerfungsi memberi arti dari
program sumberPenganalisis 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
![Page 14: TEORI BAHASA & OTOMATA ( PENGENALAN KOMPILASI )](https://reader033.vdocuments.pub/reader033/viewer/2022061417/56813324550346895d9a063f/html5/thumbnails/14.jpg)
Contoh :Ekspresi : (A+B) * (C+D)Bentuk intermediate dari kode
sumber berbentuk kuadrupel seperti ( + , A, B, T1)( + , C, D, T2)( * , T1, T2, T3)
![Page 15: TEORI BAHASA & OTOMATA ( PENGENALAN KOMPILASI )](https://reader033.vdocuments.pub/reader033/viewer/2022061417/56813324550346895d9a063f/html5/thumbnails/15.jpg)
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
![Page 16: TEORI BAHASA & OTOMATA ( PENGENALAN KOMPILASI )](https://reader033.vdocuments.pub/reader033/viewer/2022061417/56813324550346895d9a063f/html5/thumbnails/16.jpg)
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+*.
![Page 17: TEORI BAHASA & OTOMATA ( PENGENALAN KOMPILASI )](https://reader033.vdocuments.pub/reader033/viewer/2022061417/56813324550346895d9a063f/html5/thumbnails/17.jpg)
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)
![Page 18: TEORI BAHASA & OTOMATA ( PENGENALAN KOMPILASI )](https://reader033.vdocuments.pub/reader033/viewer/2022061417/56813324550346895d9a063f/html5/thumbnails/18.jpg)
Contoh :Bentuk kuadrupel diatas, dapat menghasilkan barisan alamat-tunggal (sinle address), intruksi akumulator-tunggal bahasa rakitan (single-accumulator assembly language) berikut :
![Page 19: TEORI BAHASA & OTOMATA ( PENGENALAN KOMPILASI )](https://reader033.vdocuments.pub/reader033/viewer/2022061417/56813324550346895d9a063f/html5/thumbnails/19.jpg)
LDA A Panggil (LOAD) isi A, masukkan ke dalam
akumulatorADD B Tambahkan (ADD) isi B
ke dalam AkumulatorSTO T1 Simpan (STORE) isi
akumulator ke dalam penyimpanan sementara T1
![Page 20: TEORI BAHASA & OTOMATA ( PENGENALAN KOMPILASI )](https://reader033.vdocuments.pub/reader033/viewer/2022061417/56813324550346895d9a063f/html5/thumbnails/20.jpg)
LDA C Panggil (LOAD) isi C, masukkan ke dalam
akumulatorADD D Tambahkan (ADD) isi D
ke dalam AkumulatorSTO T2 Simpan (STORE) isi
akumulator ke dalam penyimpanan sementara T2
![Page 21: TEORI BAHASA & OTOMATA ( PENGENALAN KOMPILASI )](https://reader033.vdocuments.pub/reader033/viewer/2022061417/56813324550346895d9a063f/html5/thumbnails/21.jpg)
LDA T1 Panggil (LOAD) isi T1, masukkan ke dlm
akumulatorMUL T2 Kalikan (MULTIPLY) isi T2
dengan isi akumulatorSTO T3 Simpan (STORE) isi
akumulator ke dlm penyimpan
sementara T3