Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehAgus Hamdani Sasmita Telah diubah "6 tahun yang lalu
1
KODE ANTARA & PEMBANGKITAN KODE Ken Kinanti Purnamasari
MATERI PERKULIAHAN TEKNIK KOMPILASI KODE ANTARA & PEMBANGKITAN KODE 12 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
Kode Antara Kode yang dibuat sebelum bahasa tingkat tinggi diterjemahkan ke dalam bahasa assembly
5
Keuntungan Kode Antara
meringankan proses penerjemahan dari bahasa tingkat tinggi ke bahasa mesin meringankan proses optimasi meringankan proses pembacaan kode internal
6
Butuh waktu yang lebih lama karena melakukan penerjemahan dua kali.
Kerugian Kode Antara Butuh waktu yang lebih lama karena melakukan penerjemahan dua kali.
7
Jenis Kode Antara Notasi Postfix N-Tuple
8
Notasi Postfix Notasi Suffix 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>
<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
IF a > b THEN c := d ELSE c := e; Notasi Postfixnya :
<exp> <label1> BZ <stmt1> <label2> BR <stmt2> label1 label2 Contoh : IF a > b THEN c := d ELSE c := e; Notasi Postfixnya : 1. a 6. c 11. 2. b 7. d 12. e 3. > 8. := 13. 4. 11 9. 14 14. 5. BZ 10. BR
11
WHILE <exp> DO <stmt>
Notasi Postfix WHILE <exp> DO <stmt> <exp> <label2> BZ <stmt> <label1> BR label label2
12
a:=1; WHILE a < 5 DO a:= a + 1; Notasi Postfixnya :
<exp> <label2> BZ <stmt> <label1> BR label label2 Contoh : a:=1; WHILE a < 5 DO a:= a + 1; Notasi Postfixnya : 1. a 5. 5 9. 13. := 2. 1 6. < 10. 14. 4 3. 7. 16 11. 15. BR 4. 8. BZ 12. + 16.
13
N-Tuple Setiap baris boleh terdiri dari beberapa tupel Format : operator ... N-1 operan
14
N-Tuple Triples Notation Format : <operator><operan><operan>
15
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
16
N-Tuple Quadraples Notation Format : <operator><operan><operan><hasil>
17
N-Tuple Contoh : A := D * C + B / E Notasi Quadraples Notation-nya : *, D, C, T1 / , B, E, T2 +, T1, T2, A
18
Pembangkitan Kode
19
Penerjemahan ke bahasa assembly
Pembangkitan Kode Penerjemahan ke bahasa assembly
20
(A+B) * (C+D) Pembangkitan Kode Contoh : Quadraples Notation:
+, A, B, T1 +, C, D, T2 *, T1, T2, T3
21
Pembangkitan Kode Ditranslasikan ke dalam bahasa Assembly menjadi: {muat isi A ke akumulator} LDA A {tambahkan isi akumulator dengan B} ADD B {simpan isi akumulator ke T1} STO T1 LDA C ADD D STO T2 LDA T1 MUL T2 STO T3
22
Pembangkitan Kode Kode assembly tersebut dapat dioptimasi menjadi : {muat isi A ke akumulator} LDA A {tambahkan isi akumulator dengan B} ADD B {simpan isi akumulator ke T1} STO T1 LDA C ADD D MUL T1 STO T3
23
(A+B) * (C+D) +, A, B, T1 +, C, D, T2 *, T1, T2, T3 LDA A ADD B STO T1
ASSEMBLY 1 ASSEMBLY 2 LDA A ADD B STO T1 LDA C ADD D STO T2 LDA T1 MUL T2 STO T3 MUL T1
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.