syntax teknik kompilasi
TRANSCRIPT
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
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 :
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
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
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
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
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
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"+
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
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
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.