materi kompiler 1

Post on 24-Mar-2016

238 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Materi Pendahuluan Kompiler

TRANSCRIPT

DOSEN PENGAMPU :

KONSTRUKSI KOMPILER

SekolahTinggiTeknologi Bontang

DOSEN PENGAMPU :MURI MUKHRIANTO, S.KOM

081280693816EMAIL : murimukhrianto@yahoo.com

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

top related