• Tidak ada hasil yang ditemukan

Pemrograman Berorientasi Objek <PBO> - Kuliah Online

N/A
N/A
Protected

Academic year: 2023

Membagikan "Pemrograman Berorientasi Objek <PBO> - Kuliah Online"

Copied!
17
0
0

Teks penuh

(1)

MATERI PERKULIAHAN

TEKNIK KOMPILASI

Ken Kinanti Purnamasari

2

ANALISIS LEKSIKAL / Scanner

(2)

Proses Kompilasi

(3)

Komponen Kompilator

(4)

Analisis Leksikal

- Membaca input karakter dari source-code

- Mengelompokkan ke dalam leksem-leksem (token-

token)

(5)

Analisis Leksikal

(6)

Finite Automata

FA  Tools/model pendukung Scanner Deterministik FA (DFA)

setiap input punya 1 alternatif

Non-Deterministik FA (NFA)

setiap input punya > 1 alternatif

(7)

DFA

A = (Q , 𝞢 , 𝝳 , q

0

, F)

Keterangan :

Q : Kumpulan Status 𝞢 : Kumpulan String 𝝳 : Fungsi Transisi

q0 : Status Awal (harus 1) F : Status Final (boleh > 1)

(8)

Contoh Status

BELAJAR

Status 1 Status 2 Status 3

MAKAN TIDUR

BANGUN

TIDUR MAKAN TIDURTIDUR

Contoh DFA :

q0 F

(9)

Regular Expression

a

n

 a sebanyak n

a*  a sebanyak 0 sampai tak hingga a

+

 a sebanyak 1 sampai tak hingga

111 | 222  ada sebanyak 2 pilihan, 111 atau

222

(10)

Regular Expression

𝞢

k

= kumpulan string 𝞢* = 𝞢

0

⋃ 𝞢

1

⋃ 𝞢

2

....

𝞢

+

= 𝞢

1

𝞢

2

𝞢

3

....

𝞢* = 𝞢

+

Ɛ

(11)

Regular Expression

{a,b}* =

Ɛ

, a, b, ab, aa, ba, bb, … {ab}* =

Ɛ

, ab, abab, ababab, …

{ac, bd}* =

Ɛ

, ac, bd, acbd, bdac, … {ab*c} = ac, abc, abbc, abbbc, …

{(ab)*c} = c, abc, ababc, abababc, …

(12)

Regular Expression

V = {a}

K = {b}

{V ⋃ K} = {a, b}

(13)

Contoh DFA

q0 1 1 0*

q1 qq22

1 1

0

q0 1 1* 0

q1 qq22

1

1

0

(14)

Contoh DFA

A

Token Operator <

Mengenali Token <

<

Mengenali

>

Token

<

Mengenali Token <

Mengenali Token

<=

Mengenali Token <

Mengenali Token

<>

=

(15)

Contoh DFA

A

Bahasa Pemrograman

q1

qC2

<

=

Operator

<

B

qD2

>

Operator

<=

Operator

<>

= E

qF2 Operator

==

=

….

(16)

REFERENSI . . .

Firrar U., Teknik Kompilasi, J&J Learning Yogyakarta, 2001

Alfred v. a. & ullman J.D., Compilers Principles Technique and Tools, Addison Wesley, 1988

(17)

TUGAS PERORANGAN

Buat DFA untuk mengenali simbol-simbol berikut dalam bahasa C atau Pascal:

intcon, realcon, charcon, stringt,notsy, plus, minus, times, idiv, rdiv, imod, andsy, orsy, egl, neg, gtr,

geg, lss, leg, lparent, rparent, lbrack, rbrack, comma, semicolon, period, colon, becomes, constsy, typesy, varsy, functionsy, proceduresy, arraysy, recordsy, programsy, ident, beginsy, ifsy, casesy, repeatsy, whilesy, forsy, endsy, elsesy, untilsy, ofsy, dosy, tosy, downtosy, thensy, typeint, typechar, typereal

Referensi

Dokumen terkait

MATERI PERKULIAHAN AGAMA KRISTEN PROTESTAN Ken Kinanti Purnamasari 0 PERKENALAN & ATURAN PERKULIAHAN... Dosen Ken Kinanti Purnamasari Chat FB / Messenger Ken Kinanti Purnamasari

- Inductive Learning belajar dari pasangan input-output yang spesifik mungkin menghasilkan model yang salah - Deductive / Analytical Learning belajar dari aturan umum yang akan

Proses Kompilasi INTERPRETER COMPILER Translate statement satu per satu Translate statement keseluruhan Waktu Analisis Kode singkat, Waktu Eksekusi keseluruhan lama Waktu Analisis

Error Recovery Mengembalikan compiler ke kondisi stabil supaya dapat melanjutkan proses Beberapa strategi yang digunakan : - Mekanisme Ad Hoc - Syntax Directed Recovery - Secondary

Reaksi Kompilator - Reaksi yang dapat diterima  Recovery/Memulihkan suatu kesalahan, kemudian menemukan error lainnya jika ada  Repair/Memperbaiki kesalahan, kemudian

Error Recovery Mengembalikan compiler ke kondisi stabil supaya dapat melanjutkan proses Beberapa strategi yang digunakan : - Mekanisme Ad Hoc - Syntax Directed Recovery - Secondary

Error Recovery Mengembalikan compiler ke kondisi stabil supaya dapat melanjutkan proses Beberapa strategi yang digunakan : - Mekanisme Ad Hoc - Syntax Directed Recovery - Secondary

WAKTU & RUANG Time Efficiency => Time Complexity Tn = Jumlah Waktu pengerjaan suatu Algoritma Space Efficiency => Space Complexity Sn = Jumlah ruang Memori yang dibutuhkan suatu