Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehSudirman Lesmana Telah diubah "6 tahun yang lalu
1
MATERI PERKULIAHAN TEKNIK KOMPILASI
KODE ANTARA & PEMBANGKITAN KODE 9 Ken Kinanti Purnamasari
2
Tahapan kompilasi yang dibuat untuk menerjemahkan program
Kode Antara & Pembangkitan Kode Tahapan kompilasi yang dibuat untuk menerjemahkan program dari bahasa tingkat tinggi.
3
Kode Antara
4
Kode yang dibuat sebelum bahasa tingkat tinggi diterjemahkan ke dalam
Kode Antara Kode yang dibuat sebelum bahasa tingkat tinggi diterjemahkan ke dalam bahasa assembly
5
Jenis Kode Antara Notasi Postfix N-Tuple
6
Keuntungan Kode Antara
meringankan proses penerjemahan beberapa bahasa tingkat tinggi ke bahasa mesin meringankan proses optimasi meringankan proses pembacaan kode internal
7
Kerugian Kode Antara Butuh waktu yang lebih lama karena melakukan penerjemahan dua kali.
8
Notasi Postfix Notasi Sufix atau Reverse Polish Posisi operator di paling akhir Format: <operan><operan><operator> (a+b)*(c+d) ab+cd+*
9
IF <exp> THEN <stmt1> ELSE <stmt2>
Notasi Postfix IF <exp> THEN <stmt1> ELSE <stmt2> <exp> <label1> BZ <stmt1> <label2> BR <stmt2> label1 label2 Keterangan : BZ : branch if zero (zero = salah ) {bercabang/meloncat jika kondisi yang dites salah} BR : branch {bercabang/meloncat tanpa ada kondisi yang dites}
10
Notasi Postfix Contoh : IF a > b THEN c := d ELSE c := e; Notasi Postfixnya : 1 a 2 b 3 > BR c 5 BZ e 6 c := 7 d 8 :=
11
WHILE <exp> DO <stmt>
Notasi Postfix WHILE <exp> DO <stmt> <exp> <label2> BZ <stmt> <label1> BR label label2
12
Notasi Postfix Contoh : a:=1; WHILE a < 5 DO a:= a + 1; Notasi Postfixnya : 1 a a a 3 := 4 a := 6 < BR 8 BZ
14
N-Tuple Setiap baris boleh terdiri dari beberapa tupel Format : operator ... N-1 operan
15
N-Tuple Triples Notation Format : <operator><operan><operan>
16
N-Tuple Contoh : IF a > b THEN c := d ELSE c := e; Notasi Triples Notation-nya : >, a, b BZ, (1), (5) :=, c, d BR, ,(6) :=, c, e
17
N-Tuple Quadraples Notation Format : <operator><operan><operan><hasil>
18
N-Tuple Contoh : A := D * C + B / E Notasi Quadraples Notation-nya : *, D, C, T1 / , B, E, T2 +, T1, T2, A
19
Pembangkitan Kode
20
Penerjemahan ke bahasa assembly
Pembangkitan Kode Penerjemahan ke bahasa assembly
21
(A+B) * (C+D) Pembangkitan Kode Contoh :
Notasi Quadraples Notation-nya : +, A, B, T1 +, C, D, T2 *, T1, T2, T3
22
Pembangkitan Kode Ditranslasikan ke dalam bahasa Assembly menjadi: LDA A {muat isi A ke akumulator} ADD B {tambahkan isi akumulator dengan B} STO T1 {simpan isi akumulator ke T1} LDA C ADD D STO T2 LDA T1 MUL T2 STO T3
23
Pembangkitan Kode Kode assembly tersebut dapat dioptimasi menjadi : LDA A {muat isi A ke akumulator} ADD B {tambahkan isi akumulator dengan B} STO T1 {simpan isi akumulator ke T1} LDA C ADD D MUL T1 STO T3
24
Pembangkitan Kode Alur tahapan kompilasi hingga pembangkitan kode
25
REFERENSI . . . Firrar U., Teknik Kompilasi, J&J Learning Yogyakarta, 2001 Alfred v. a. & ullman J.D., Compilers Principles Technique and Tools, Addison Wesley, 1988
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.