Materi Kompiler 1

26
DOSEN PENGAMPU : KONSTRUKSI KOMPILER Sekolah Tinggi Teknologi Bontang DOSEN PENGAMPU : MURI MUKHRIANTO , S.KOM 081280693816 EMAIL : [email protected]

description

Materi Pendahuluan Kompiler

Transcript of Materi Kompiler 1

Page 1: Materi Kompiler 1

DOSEN PENGAMPU :

KONSTRUKSI KOMPILER

SekolahTinggiTeknologi Bontang

DOSEN PENGAMPU :MURI MUKHRIANTO, S.KOM

081280693816EMAIL : [email protected]

Page 2: Materi Kompiler 1
Page 3: Materi Kompiler 1

DISTRIBUSI PENILAIAN

PenilaianPenilaian ::

85 - 100 A

70 – 84 B

55 – 69 C

40 – 54 D

0 – 39 E

Page 4: Materi Kompiler 1

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

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

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

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

Silabus (5) Code Optimization

Optimasi Lokal dan Global

Code Generation

Result Result

Error Recovery

Page 9: Materi Kompiler 1
Page 10: Materi Kompiler 1

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

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

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
Page 14: Materi Kompiler 1

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
Page 16: Materi Kompiler 1
Page 17: Materi Kompiler 1
Page 18: Materi Kompiler 1

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

ILUSTRASI PENERJEMAH SOURCE CODEMENJADI OBJECT FILE

Page 20: Materi Kompiler 1
Page 21: Materi Kompiler 1
Page 22: Materi Kompiler 1

Analisys Stage1. Scanning / Lexical Analysis : memecah source

program ke dalam token dan lexem

Page 23: Materi Kompiler 1

2.2. Parsing / Syntax AnalysisParsing / Syntax AnalysisMengelompokkanMengelompokkan daftardaftar hasilhasil scanningscanning keke dalamdalamaturanaturan grammar Tatagrammar Tata BahasaBahasa BebasBebas KonteksKonteks dandandivalidasidivalidasi

Page 24: Materi Kompiler 1

3. Semantic Analysis: pemeriksaan arti semantikbahasa, termasuk pengecekan tipe, deklarasivariabel dll.

4. Intermediate Code Generation: menghasilkanbahasa level menengah.

Page 25: Materi Kompiler 1

5. Intermediate Code Optimization

Synthesis Stage

6. Object Code Generation: menjadi bahasa mesin7. Object Code Optimization

Page 26: Materi Kompiler 1

LANJUT KE PERTEMUANBERIKUTNYABERIKUTNYA