Materi Kompiler 1
-
Upload
muri-mukhrianto -
Category
Documents
-
view
233 -
download
0
description
Transcript of Materi Kompiler 1
![Page 1: Materi Kompiler 1](https://reader033.fdocument.pub/reader033/viewer/2022050806/568c48d61a28ab491691c606/html5/thumbnails/1.jpg)
DOSEN PENGAMPU :
KONSTRUKSI KOMPILER
SekolahTinggiTeknologi Bontang
DOSEN PENGAMPU :MURI MUKHRIANTO, S.KOM
081280693816EMAIL : [email protected]
![Page 2: Materi Kompiler 1](https://reader033.fdocument.pub/reader033/viewer/2022050806/568c48d61a28ab491691c606/html5/thumbnails/2.jpg)
![Page 3: Materi Kompiler 1](https://reader033.fdocument.pub/reader033/viewer/2022050806/568c48d61a28ab491691c606/html5/thumbnails/3.jpg)
DISTRIBUSI PENILAIAN
PenilaianPenilaian ::
85 - 100 A
70 – 84 B
55 – 69 C
40 – 54 D
0 – 39 E
![Page 4: Materi Kompiler 1](https://reader033.fdocument.pub/reader033/viewer/2022050806/568c48d61a28ab491691c606/html5/thumbnails/4.jpg)
Silabus 1 Pengantar Kompiler secara umum
Teori Kompilasi
Bahasa Pemrograman, Translator, Model Kompilator, danMutu Kompilator
Struktur dan Fase Kompiler
Perancangan Bahasa Pemrograman Perancangan Bahasa Pemrograman
Regular Expression 1
Sintaks Regex
Regular Expression 2
Sintaks Regex (lanjutan)
Regex dalam penggunaan (PHP&.NET) dan Contoh
kasus
![Page 5: Materi Kompiler 1](https://reader033.fdocument.pub/reader033/viewer/2022050806/568c48d61a28ab491691c606/html5/thumbnails/5.jpg)
Silabus (2) Notasi Bahasa & Analisis Leksikal
Grammar
Hirarki Chomsky
Automata - Finite State Automata
DFA dan NFA
Token, dan Lexem
Diagram Transisi Diagram Transisi
Analisis Sintaks
Sintaks
Tata Bahasa Bebas Konteks
NFA ke TBBK
Parsing : Top-down dan Bottom-Up
TBBK Rekursif kiri dan kanan dan solusinya
![Page 6: Materi Kompiler 1](https://reader033.fdocument.pub/reader033/viewer/2022050806/568c48d61a28ab491691c606/html5/thumbnails/6.jpg)
Silabus (3) Transformasi TBBK:
Penghilangan TBBK useless, produksi unit, dan produksi epsilon Chomsky Normal Form (CNF) dan Algortima
Chocke,Youger, Kasami (CYK) Analisis Semantik Analisis Semantik
LL(1) dan Push Down Automata
Recursive Descent Parsing Translasi Berdasarkan Sintaks Tabel Simbol & Hashing
![Page 7: Materi Kompiler 1](https://reader033.fdocument.pub/reader033/viewer/2022050806/568c48d61a28ab491691c606/html5/thumbnails/7.jpg)
Silabus (4) Pengecekan Tipe & Intermediate Code
Type Checking
Tupple
Translasi Intermediate Code
Linking & Loading
Memory Allocations & Runtime Environments
Storage
Runtime Environment
Activation Record
Procedure & Function Call / Return
![Page 8: Materi Kompiler 1](https://reader033.fdocument.pub/reader033/viewer/2022050806/568c48d61a28ab491691c606/html5/thumbnails/8.jpg)
Silabus (5) Code Optimization
Optimasi Lokal dan Global
Code Generation
Result Result
Error Recovery
![Page 9: Materi Kompiler 1](https://reader033.fdocument.pub/reader033/viewer/2022050806/568c48d61a28ab491691c606/html5/thumbnails/9.jpg)
![Page 10: Materi Kompiler 1](https://reader033.fdocument.pub/reader033/viewer/2022050806/568c48d61a28ab491691c606/html5/thumbnails/10.jpg)
Tujuan MempelajariKontruksi Kompiler
Mempelajari teori-teori kompilasi,struktur mesin kompiler, dan padastruktur mesin kompiler, dan pada
akhirnya mahasiswa mampu
menerapkan teori tersebut untukmembuat aplikasi suatu kompiler.
![Page 11: Materi Kompiler 1](https://reader033.fdocument.pub/reader033/viewer/2022050806/568c48d61a28ab491691c606/html5/thumbnails/11.jpg)
PENDAHULUANPENDAHULUAN
Compiler :Adalah sebuah program yang menerima input berupa sourceprogram (source language), kemudian ditranslasikan menjadibentuk bahasa lain (target language) .
Source language biasanya merupakan bahasa pemrogramantingkat menengah atau tinggi, contoh : FORTRAN, PASCAL, C
Target language biasanya berupa bahasa level rendah ataubahasa mesin
Melaporkan error dan warning untuk membantu programmer
![Page 12: Materi Kompiler 1](https://reader033.fdocument.pub/reader033/viewer/2022050806/568c48d61a28ab491691c606/html5/thumbnails/12.jpg)
ContohContoh kompilerkompiler selainselain untukuntukprogramming:programming:
1. Mentranslasikan javadoc ke html1. Mentranslasikan javadoc ke html2. Mendapatkan hasil dari SQL query (query
optimization)3. Printer parsing PostScript file4. Screen Scrapping5. Konversi LaTeX ke PDF
![Page 13: Materi Kompiler 1](https://reader033.fdocument.pub/reader033/viewer/2022050806/568c48d61a28ab491691c606/html5/thumbnails/13.jpg)
![Page 14: Materi Kompiler 1](https://reader033.fdocument.pub/reader033/viewer/2022050806/568c48d61a28ab491691c606/html5/thumbnails/14.jpg)
Merupakan Teknik dalam melakukanpembacaan suatu program yang ditulisdalam bahasa sumber, kemudianditerjemahkan ke dalam suatu bahasaditerjemahkan ke dalam suatu bahasalain yang disebut bahasa sasaran.
Dalam melakukan proses penerjemahan tersebut, sudahbarang tentu kompilator akan melaporkan adanyakeanehan-keanehan atau kesalahan yang mungkinditemukannya. Proses penerjemahan yang dilakukan olehkompilator ini disebut proses kompilasi (compiling).
![Page 15: Materi Kompiler 1](https://reader033.fdocument.pub/reader033/viewer/2022050806/568c48d61a28ab491691c606/html5/thumbnails/15.jpg)
![Page 16: Materi Kompiler 1](https://reader033.fdocument.pub/reader033/viewer/2022050806/568c48d61a28ab491691c606/html5/thumbnails/16.jpg)
![Page 17: Materi Kompiler 1](https://reader033.fdocument.pub/reader033/viewer/2022050806/568c48d61a28ab491691c606/html5/thumbnails/17.jpg)
![Page 18: Materi Kompiler 1](https://reader033.fdocument.pub/reader033/viewer/2022050806/568c48d61a28ab491691c606/html5/thumbnails/18.jpg)
Proses kompilasi dari suatu kompilator padadasarnya dapat dibagi ke dalam 2 bagian utamayaitu : bagian analisis dan bagian sintesis.
FaseFase KompilerKompiler ::1. Analisis (front-end)1. Analisis (front-end)
- Memecah source code dan menciptakan intermediaterepresentation
- language independent2. Sintesis (back-end)
- Membuat target program dari intermediaterepresentation yang dihasilkan oleh tahap analisis
- language dependent
![Page 19: Materi Kompiler 1](https://reader033.fdocument.pub/reader033/viewer/2022050806/568c48d61a28ab491691c606/html5/thumbnails/19.jpg)
ILUSTRASI PENERJEMAH SOURCE CODEMENJADI OBJECT FILE
![Page 20: Materi Kompiler 1](https://reader033.fdocument.pub/reader033/viewer/2022050806/568c48d61a28ab491691c606/html5/thumbnails/20.jpg)
![Page 21: Materi Kompiler 1](https://reader033.fdocument.pub/reader033/viewer/2022050806/568c48d61a28ab491691c606/html5/thumbnails/21.jpg)
![Page 22: Materi Kompiler 1](https://reader033.fdocument.pub/reader033/viewer/2022050806/568c48d61a28ab491691c606/html5/thumbnails/22.jpg)
Analisys Stage1. Scanning / Lexical Analysis : memecah source
program ke dalam token dan lexem
![Page 23: Materi Kompiler 1](https://reader033.fdocument.pub/reader033/viewer/2022050806/568c48d61a28ab491691c606/html5/thumbnails/23.jpg)
2.2. Parsing / Syntax AnalysisParsing / Syntax AnalysisMengelompokkanMengelompokkan daftardaftar hasilhasil scanningscanning keke dalamdalamaturanaturan grammar Tatagrammar Tata BahasaBahasa BebasBebas KonteksKonteks dandandivalidasidivalidasi
![Page 24: Materi Kompiler 1](https://reader033.fdocument.pub/reader033/viewer/2022050806/568c48d61a28ab491691c606/html5/thumbnails/24.jpg)
3. Semantic Analysis: pemeriksaan arti semantikbahasa, termasuk pengecekan tipe, deklarasivariabel dll.
4. Intermediate Code Generation: menghasilkanbahasa level menengah.
![Page 25: Materi Kompiler 1](https://reader033.fdocument.pub/reader033/viewer/2022050806/568c48d61a28ab491691c606/html5/thumbnails/25.jpg)
5. Intermediate Code Optimization
Synthesis Stage
6. Object Code Generation: menjadi bahasa mesin7. Object Code Optimization
![Page 26: Materi Kompiler 1](https://reader033.fdocument.pub/reader033/viewer/2022050806/568c48d61a28ab491691c606/html5/thumbnails/26.jpg)
LANJUT KE PERTEMUANBERIKUTNYABERIKUTNYA