Materi Kompiler 1
-
Upload
muri-mukhrianto -
Category
Documents
-
view
236 -
download
0
description
Transcript of Materi Kompiler 1
DOSEN PENGAMPU :
KONSTRUKSI KOMPILER
SekolahTinggiTeknologi Bontang
DOSEN PENGAMPU :MURI MUKHRIANTO, S.KOM
081280693816EMAIL : [email protected]
DISTRIBUSI PENILAIAN
PenilaianPenilaian ::
85 - 100 A
70 – 84 B
55 – 69 C
40 – 54 D
0 – 39 E
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
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
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
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
Silabus (5) Code Optimization
Optimasi Lokal dan Global
Code Generation
Result Result
Error Recovery
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.
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
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
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).
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
ILUSTRASI PENERJEMAH SOURCE CODEMENJADI OBJECT FILE
Analisys Stage1. Scanning / Lexical Analysis : memecah source
program ke dalam token dan lexem
2.2. Parsing / Syntax AnalysisParsing / Syntax AnalysisMengelompokkanMengelompokkan daftardaftar hasilhasil scanningscanning keke dalamdalamaturanaturan grammar Tatagrammar Tata BahasaBahasa BebasBebas KonteksKonteks dandandivalidasidivalidasi
3. Semantic Analysis: pemeriksaan arti semantikbahasa, termasuk pengecekan tipe, deklarasivariabel dll.
4. Intermediate Code Generation: menghasilkanbahasa level menengah.
5. Intermediate Code Optimization
Synthesis Stage
6. Object Code Generation: menjadi bahasa mesin7. Object Code Optimization
LANJUT KE PERTEMUANBERIKUTNYABERIKUTNYA