syntax teknik kompilasi

11
7/26/2019 Syntax Teknik Kompilasi http://slidepdf.com/reader/full/syntax-teknik-kompilasi 1/11 . Syntax-Directed Translation Kode antara (Intermadiate Code) adalah sebuah representasi yang disiapkan untuk mesin abstrak tertentu. Dua sifat yang harus dipenuhi oleh kode antara adalah : 1. dapat dihasilkan dengan mudah 2. mudah ditranslasikan menjadi program sasaran (target program) epresentasi kode antara biasanya terbentuk tiga alamat (three!address "ode)# baik  berbentuk $uadruples ataupun triples. Kode antara (intermediate "ode) dibentuk dari sebuah kalimat % dalam bahasa "onte%t free. Kalimat % ini adalah keluaran dari parser. Kalimat ini tentu saja dapat dinyatakan dalam representasi pohon parsing (parse tree). &ynta%!dire"ted translation adalah suatu urutan proses yang mentranslasikan parse tree menjadi kode antara. 'ahap pertama dari pembentukan kode antara adalah ealuasi atribut setiap token dalam kalimat %. ang dapat menjadi atribut setiap token adalah semua informasi yang dapat disimpan di dalam tabel simbol. *aluasi dimulai dari parse tree. +andang sebuah node n yang ditandai sebuah token % pada parse tree. Kita tuliskan %.a untuk menyatakan atribut a untuk token % pada node n tersebut. ,ilai

Upload: khaerul-sang-duelist

Post on 02-Mar-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Syntax Teknik Kompilasi

7/26/2019 Syntax Teknik Kompilasi

http://slidepdf.com/reader/full/syntax-teknik-kompilasi 1/11

.

Syntax-Directed Translation

Kode antara (Intermadiate Code) adalah sebuah representasi yang disiapkan untuk

mesin abstrak tertentu. Dua sifat yang harus dipenuhi oleh kode antara adalah :

1. dapat dihasilkan dengan mudah

2. mudah ditranslasikan menjadi program sasaran (target program)

epresentasi kode antara biasanya terbentuk tiga alamat (three!address "ode)# baik

 berbentuk $uadruples ataupun triples.

Kode antara (intermediate "ode) dibentuk dari sebuah kalimat % dalam bahasa

"onte%t free. Kalimat % ini adalah keluaran dari parser. Kalimat ini tentu saja dapat

dinyatakan dalam representasi pohon parsing (parse tree).

&ynta%!dire"ted translation adalah suatu urutan proses yang mentranslasikan parse

tree menjadi kode antara. 'ahap pertama dari pembentukan kode antara adalahealuasi atribut setiap token dalam kalimat %. ang dapat menjadi atribut setiap

token adalah semua informasi yang dapat disimpan di dalam tabel simbol.

*aluasi dimulai dari parse tree.

+andang sebuah node n yang ditandai sebuah token % pada parse tree. Kita

tuliskan %.a untuk menyatakan atribut a untuk token % pada node n tersebut. ,ilai

Page 2: Syntax Teknik Kompilasi

7/26/2019 Syntax Teknik Kompilasi

http://slidepdf.com/reader/full/syntax-teknik-kompilasi 2/11

%.a pada node n tersebut diealuasi dengan menggunakan aturan semantik

(semanti" rule) untuk atribut a. -turan semantik ini ditetapkan untuk setiap produksi dimana % adalah ruas kiri produksi. &ebuah parse tree yang menyertakan

nilai!nilai atribut pada setiap nodenya dinamakan -nnonated parse tree.

Kumpulan aturan yang menetapkan aturan!aturan semantik untuk setiap

 produksinya dinamakan synta%!dire"ted definition.

ntuk jelasnya berikut ini adalah sebuah synta%!dire"ted translation yang

mentransasikan ekspresi infi% menjadi ekspresi postfi%. *kspresi infi% ini dapat

dipandang sebagai sebuah kalimat yang dihasilkan oleh parser.

Contoh :

Diketahui :

1. Kalimat % : / 0 2

2. 3rammar 4 5 6 * 7 * ' 8 * 0 ' 8 '# ' 7 9818288/;

<. &ynta%!dire"ted definition :

Page 3: Syntax Teknik Kompilasi

7/26/2019 Syntax Teknik Kompilasi

http://slidepdf.com/reader/full/syntax-teknik-kompilasi 3/11

Catatan :

= lambang >88? menyatakan "on"atenation

= aturan semantik kedus produksi pertama adalah "on"ate dua operand diikuti

sebuah operator 

@angkah!langkah translasi

1. +embentukan +arse 'ree

Page 4: Syntax Teknik Kompilasi

7/26/2019 Syntax Teknik Kompilasi

http://slidepdf.com/reader/full/syntax-teknik-kompilasi 4/11

2. +embentukan -nnonated +arse 'ree

Teknik-teknik Pendeskripsian Semantik Bahasa Pemrograman

Page 5: Syntax Teknik Kompilasi

7/26/2019 Syntax Teknik Kompilasi

http://slidepdf.com/reader/full/syntax-teknik-kompilasi 5/11

a.  Operational Semantic

+endekatan ini mendefinisikan suatu mesin buatan (-bstra"t) dengan instruksi!

instruksi primitif# tidak perlu realistik# tetapi "ukup sederhana supaya tidak

mun"ul kesalahpahaman. Deskripsi semantik dari bahasa pemrograman

menentukan suatu translasi ke kode.

Operational semanti"s for +eano arithmeti"

Abstarct Syntax :

 , in ,at (the natural numbers)

 , ::59 A &(,) A (, ,) A (, B ,)

Interpreter :

I : , - ,

I ( n 9 ) 55E n

I ( n % 9 ) 55 E 9

Fhere m#n in nat

Gperational *%amples

&ta"k

@ist

4ueue

Hinary &ear"h tree

Page 6: Syntax Teknik Kompilasi

7/26/2019 Syntax Teknik Kompilasi

http://slidepdf.com/reader/full/syntax-teknik-kompilasi 6/11

3raph

Comple% numbers

ational numbers

loating point numbers

b.  Denotational Semantic

+ada pendekatan ini# diberikan suatu fungsi yang memetakan program!program

komputer yang ditunjuk ke dalam bentuk nilai!nilai abstrak se"ara matematika

(angka# nilai# kebenaran# fungsi matematika# dsb).

Denotational definitioan of +eano arithmeti"

Abstract Syntax :

 , in ,at (the natural numbers)

 , ::59 A &(,) A (, ,) A (, B ,)

Semantic Algebra :

!at (the ,atural ,umbers (9# 1# ))

" : !at - !at - !at

#al$ation %$nction :

D : ,at !E !at

Page 7: Syntax Teknik Kompilasi

7/26/2019 Syntax Teknik Kompilasi

http://slidepdf.com/reader/full/syntax-teknik-kompilasi 7/11

D ( n 9 ) 5 Dn

D ( n % 9 ) 5 &

Fhere m#n in ,at

Denotational

&hoF that the folloFing "ode denotes the same folloFing

int ' (int n) *

I' n + then n,'(n-+)

else +

int ' (int n) *

int t +/

0hile n + do *

t : t,n

n : n-+

Denotational *%amples

&ta"k

@ist

Page 8: Syntax Teknik Kompilasi

7/26/2019 Syntax Teknik Kompilasi

http://slidepdf.com/reader/full/syntax-teknik-kompilasi 8/11

4ueue

Hinary &ear"h tree

3raph

Comple% numbers

ational numbers

loating point numbers

c.  Axiomatic Semantic

+ada pendekatan ini didefinisikan suatu tindakan program yang dibangun dengan

 properti logika yang menyimpan status komputer sebelum dan sesudah eksekusi.

S1I : &1&

0hile I 2 n do S1I : S"A3I"+41I"+

end

--------------------------

S&

i&

DO 56I78 i2n

ii"+

Page 9: Syntax Teknik Kompilasi

7/26/2019 Syntax Teknik Kompilasi

http://slidepdf.com/reader/full/syntax-teknik-kompilasi 9/11

SS"A3i4

7OOP

--------------------------

S&

i&

DO 56I78 i2n

SS"A3i4

ii"+

7OOP

-%iomati" *%amples

@inear &ear"h

Integer diison implemented by repeated subtra"tion

a"torial fun"tion

n the n!th ibona""i number Fhere

9 5 9# 1 5 1# and i2 5 i1 i for i E5 9. Hinary &ear"h

4ui"k &ort

d.  Algebraic Semantic

Page 10: Syntax Teknik Kompilasi

7/26/2019 Syntax Teknik Kompilasi

http://slidepdf.com/reader/full/syntax-teknik-kompilasi 10/11

+ada pendekatan ini dipertimbangkan suatu objek komputasi yang menjadi syarat!syarat dalam aljabar multi!sorted. +rogram mengimplementasikan fungsi yang

dapat diFujudkan dengan suatu persamaan diantara syarat!syarat tersebut.

Domains:

Hool 5 6true# false; (Hoolean alues)

 , in ,at (the natural numbers)

 , ::5 9 A &(,)

%$nctions:

5 : (,at# ,at) !E Hool

: (,at# ,at) !E ,at

J : (,at# ,at) !E ,atAxioms and e9$ations:

not &(,) 5 9

if &() 5 &(,) then 5 ,

( n 9 ) 5 n

( n J 9 ) 5 9

-lgebrai" *%amples

Page 11: Syntax Teknik Kompilasi

7/26/2019 Syntax Teknik Kompilasi

http://slidepdf.com/reader/full/syntax-teknik-kompilasi 11/11

&ta"k

@ist

4ueue

Hinary &ear"h tree

3raph

Comple% numbers

ational numbers

loating point numbers

e.  Str$ct$red Operational ata$ !at$ral Semantic

&eperti dalam pengambilan keputusan se"ara alamiah dengan logika. +rogram

diberi suatu arti dari aturan yang diturunkan yang menggambarkan penilaian

gagasan suatu bahasa.